이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
Modbus 연결 만들기
Industrial Communication Toolbox™는 TCP/IP 또는 직렬 RTU를 통해 Modbus® 인터페이스를 지원합니다. 이를 사용하여 PLC와 같은 Modbus 서버와 통신할 수 있습니다. 일반적인 작업 흐름은 다음과 같습니다.
서버 또는 하드웨어와의 Modbus 연결을 생성합니다.
필요한 경우, 연결을 구성합니다.
온도 조절기와의 통신 같은 읽기 및 쓰기 작업을 수행합니다.
연결을 지우고 닫습니다.
Modbus 인터페이스를 통해 통신하려면 먼저 modbus 함수를 사용하여 Modbus 객체를 생성해야 합니다. 객체를 생성하는 것은 연결을 만드는 것과 같습니다. 구문은 다음과 같습니다.
<objname> = modbus('Transport','DeviceAddress')또는
<objname> = modbus('Transport','Port')사용할 프로토콜을 지정하려면 전송 유형을 'tcpip' 또는 'serialrtu'로 설정해야 합니다. 그 뒤에, 다음 섹션에 나와 있는 대로 주소와 포트를 설정하십시오. 객체 생성 시에 인수를 사용하여 Timeout 및 ByteOrder와 같은 속성을 설정할 수도 있습니다.
Modbus 객체를 생성하면 서버 또는 하드웨어에 연결됩니다. 전송 방식이 'tcpip'인 경우, DeviceAddress를 지정해야 합니다. 포트 번호는 선택 사항이며 디폴트 값은 502(Modbus용으로 예약된 포트)입니다. 전송 방식이 'serialrtu'인 경우, 'Port'를 지정해야 합니다.
TCP/IP 전송을 사용하여 객체 만들기
전송 방식이 'tcpip'인 경우, DeviceAddress를 지정해야 합니다. 이것은 Modbus 서버의 IP 주소 또는 호스트 이름입니다. Port는 Modbus 서버에서 사용하는 원격 포트입니다. 포트는 선택 사항이며 디폴트 값은 502입니다. 이는 Modbus용으로 예약된 포트입니다.
이 예제는 아래에 표시된 장치 주소와 port 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'직렬 RTU 전송을 사용하여 객체 만들기
전송 방식이 'serialrtu'인 경우, 'Port'를 지정해야 합니다. 이것은 Modbus 서버에 연결된 직렬 포트입니다.
이 예제는 port 'COM3'을 사용하여 Modbus 객체 m을 생성합니다.
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입니다. 객체 생성 중에 또는 객체 생성 후에 값을 변경할 수 있습니다.
두 가지 전송 유형에 대해 설정할 수 있는 속성 목록 및 설명은 modbus 함수 페이지의 이름-값 인수 섹션을 참조하십시오.
이 예제는 더 높은 Timeout 값인 20초에서 직렬 RTU를 사용하여 Modbus 객체를 생성합니다.
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 속성값이 나타납니다.