이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
modbus
Modbus 객체 만들기
구문
설명
TCP/IP
m = modbus(는 지정된 transport,deviceAddress)deviceAddress를 사용하여 전송 유형 'tcpip'를 통해 Modbus 객체 m을 구성합니다. deviceAddress는 Modbus 서버의 IP 주소 또는 호스트 이름입니다.
m = modbus(는 transport,deviceAddress,tcpipPort)tcpipPort를 추가로 지정합니다. tcpipPort는 Modbus 서버에서 사용하는 원격 포트입니다. tcpipPort는 선택적 인수이며 디폴트 값은 Modbus용으로 예약된 포트인 502입니다.
m = modbus(___,Name=Value)는 선택적 이름-값 인수를 사용하여 TCP/IP 전송 속성을 지정합니다.
직렬
m = modbus(는 지정된 transport,serialPort)serialPort를 사용하여 전송 유형 'serialrtu'를 통해 Modbus 객체 m을 구성합니다.
예제
전송 방식이 TCP/IP인 경우 Modbus 서버의 IP 주소 또는 호스트 이름을 지정해야 합니다. 선택적으로 Modbus 서버에서 사용하는 원격 포트를 지정할 수 있습니다. 포트는 기본적으로 Modbus용으로 예약된 포트인 502로 설정됩니다.
아래 표시된 호스트 주소와 308 포트를 사용하여 Modbus 객체 m을 생성합니다.
m = modbus('tcpip', '192.168.2.1', 308)
m =
Modbus TCPIP with properties:
DeviceAddress: '192.168.2.1'
Port: 308
Status: 'Connected'
NumRetries: 1
Timeout: 10 (seconds)
ByteOrder: 'big-endian'
WordOrder: 'big-endian'사용자가 설정한 인수와 디폴트 값이 객체 출력에 모두 표시됩니다.
전송 방식이 'serialrtu'인 경우 Port 인수를 지정해야 합니다. 이 포트는 Modbus 서버가 연결되는 직렬 포트입니다.
Modbus 객체 m을 생성할 때 Port 값을 'COM3'으로 지정합니다.
m = modbus('serialrtu','COM3')
m =
Modbus Serial RTU with properties:
Port: 'COM3'
BaudRate: 9600
DataBits: 8
Parity: 'none'
StopBits: 1
Status: 'Connected'
NumRetries: 1
Timeout: 10 (seconds)
ByteOrder: 'big-endian'
WordOrder: 'big-endian'사용자가 설정한 인수와 자동으로 사용되는 디폴트 값이 객체 출력에 표시됩니다.
Timeout과 같은 속성을 설정하기 위해 이름-값 쌍을 사용하여 객체를 생성할 수 있습니다. Timeout 속성은 Modbus 서버로부터 응답을 기다리는 최대 시간을 초 단위로 지정하며, 디폴트 값은 10입니다. 객체 생성 중에 또는 객체 생성 후에 값을 변경할 수 있습니다. 속성 목록은 이름-값 인수 항목을 참조하십시오.
직렬 RTU를 사용하여 Modbus 객체를 생성하되, Timeout 값을 20초로 늘립니다.
m = modbus('serialrtu','COM3',Timeout = 20)
m =
Modbus Serial RTU with properties:
Port: 'COM3'
BaudRate: 9600
DataBits: 8
Parity: 'none'
StopBits: 1
Status: 'Connected'
NumRetries: 1
Timeout: 20 (seconds)
ByteOrder: 'big-endian'
WordOrder: 'big-endian'객체 출력은 Timeout 속성의 변경 내용을 반영합니다.
Timeout 값을 20초로 변경합니다. 객체 생성 후 속성 값을 변경하기 위해 점 표기법을 사용할 수 있습니다.
m.Timeout = 30
m =
Modbus Serial RTU with properties:
Port: 'COM3'
BaudRate: 9600
DataBits: 8
Parity: 'none'
StopBits: 1
Status: 'Connected'
NumRetries: 1
Timeout: 30 (seconds)
ByteOrder: 'big-endian'
WordOrder: 'big-endian'입력 인수
장치 통신을 위한 물리적 전송 계층으로, 문자형 벡터 또는 string형으로 지정됩니다. modbus 객체를 생성할 때 첫 번째 인수로 전송 유형을 지정하십시오. 사용할 프로토콜을 지정하려면 전송 유형을 'tcpip' 또는 'serialrtu'로 설정해야 합니다.
예: m = modbus('tcpip','192.168.2.1')
데이터형: char | string
Modbus 서버의 IP 주소 또는 호스트 이름을 문자형 벡터 또는 string형으로 지정합니다. 전송 프로토콜이 TCP/IP인 경우, 객체 생성 시 두 번째 인수로 이 인수를 반드시 지정해야 합니다.
예: m = modbus('tcpip','192.168.2.1')
데이터형: char | string
Modbus 서버에서 사용하는 원격 포트로, double형으로 지정됩니다. 전송 방식이 TCP/IP인 경우 객체 생성 시 이 인수를 세 번째 인수로 선택적으로 지정할 수 있습니다. 지정하지 않으면 디폴트 값인 502가 사용됩니다.
예: m = modbus('tcpip','192.168.2.1',308)
데이터형: double
Modbus 서버가 예를 들어 문자형 벡터 또는 string형으로 지정된 'COM1'에 연결됩니다. 전송 방식이 직렬 RTU인 경우, 객체 생성 시 이 인수를 두 번째 인수로 지정해야 합니다.
예: m = modbus('serialrtu','COM3')
데이터형: char | string
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.
예: m = modbus('serialrtu','COM3','Timeout',20)
TCP/IP 전송 속성
Modbus 서버로부터 응답을 기다리는 최대 시간(초)으로, double형의 양수 값으로 지정됩니다. 디폴트 값은 10입니다. 객체 생성 중에 또는 객체 생성 후에 값을 변경할 수 있습니다.
예: m = modbus('tcpip','192.168.2.1',Timeout = 20)
데이터형: double
제한 시간이 지나도 서버에서 응답이 없을 경우 수행할 재시도 횟수입니다. 이 값은 쉼표로 구분된 'NumRetries'와 double형의 양수 값으로 구성됩니다. TCP/IP 전송의 경우 연결이 닫혔다가 다시 열립니다. 객체 생성 중에 또는 객체 생성 후에 값을 변경할 수 있습니다.
예: m = modbus('tcpip','192.168.2.1',NumRetries = 5)
데이터형: double
16비트 레지스터에 쓰거나 읽는 값의 바이트 순서로, 'big-endian' 및 'little-endian'으로 지정됩니다. 디폴트 값은 Modbus® 표준에 명시된 대로 'big-endian'입니다.
예: m = modbus('tcpip','192.168.2.1',ByteOrder = 'little-endian')
데이터형: char | string
여러 16비트 레지스터에서 레지스터를 읽거나 쓸 때의 워드 순서로, 'big-endian' 및 'little-endian'으로 지정됩니다. 디폴트 값은 'big-endian'이며, 장치에 따라 다릅니다.
예: m = modbus('tcpip','192.168.2.1',WordOrder = 'little-endian')
데이터형: char | string
직렬 전송 속성
Modbus 서버로부터 응답을 기다리는 최대 시간(초)으로, double형의 양수 값으로 지정됩니다. 디폴트 값은 10입니다. 객체 생성 중에 또는 객체 생성 후에 값을 변경할 수 있습니다.
예: m = modbus('serialrtu','COM3',Timeout = 20)
데이터형: double
제한 시간이 지나도 서버에서 응답이 없을 경우 수행할 재시도 횟수입니다. 이 값은 쉼표로 구분된 'NumRetries'와 double형의 양수 값으로 구성됩니다. 직렬 RTU 전송의 경우 메시지가 다시 전송됩니다. 객체 생성 중에 또는 객체 생성 후에 값을 변경할 수 있습니다.
예: m = modbus('serialrtu','COM3',NumRetries = 5)
데이터형: double
16비트 레지스터에 쓰거나 읽는 값의 바이트 순서로, 'big-endian' 및 'little-endian'으로 지정됩니다. 디폴트 값은 Modbus 표준에 명시된 대로 'big-endian'입니다.
예: m = modbus('serialrtu','COM3',ByteOrder = 'little-endian')
데이터형: char | string
여러 16비트 레지스터에서 레지스터를 읽거나 쓸 때의 워드 순서로, 'big-endian' 및 'little-endian'으로 지정됩니다. 디폴트 값은 'big-endian'이며, 장치에 따라 다릅니다.
예: m = modbus('serialrtu','COM3',WordOrder = 'little-endian')
데이터형: char | string
직렬 포트 통신의 비트 전송 속도로, double형의 양수 값으로 지정됩니다. 디폴트 값은 초당 9600 비트이지만, 실제로 필요한 값은 장치에 따라 다릅니다.
예: m = modbus('serialrtu','COM3',Baudrate = 28800)
데이터형: double
전송할 데이터 비트 수로, 5, 6, 7 또는 8 중 하나로 지정됩니다. 디폴트 값은 8이며, 이는 직렬 RTU에 대한 Modbus 표준의 값입니다.
예: m = modbus('serialrtu','COM3',DataBits = 6)
데이터형: double
패리티 검사 유형으로, 'none', 'even', 'odd', 'mark', 'space'로 지정됩니다. 실제로 필요한 값은 장치에 따라 다릅니다. 디폴트 값인 none으로 설정하면 패리티 검사가 수행되지 않으며 패리티 비트가 전송되지 않습니다.
예: m = modbus('serialrtu','COM3',Parity = 'odd')
데이터형: char | string
데이터 전송 종료를 나타내는 비트 수로, 1(디폴트 값) 또는 2로 지정합니다. 실제로 필요한 값은 장치에 따라 다르지만, 일반적으로 짝수/홀수 패리티의 경우 1이고 패리티가 없는 경우 2입니다.
예: m = modbus('serialrtu','COM3',StopBits = 2)
데이터형: double
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
버전 내역
R2017a에 개발됨R2022a 이전에는 이 함수를 비롯한 Modbus 기능이 Instrument Control Toolbox™ 제품의 일부였습니다.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)