통신연결하기 - Modbus!
통신 연결하기 - Modbus
설치 시 제공되는 ModbusSlave 프로그램을 활용하여 Modbus 통신으로 데이터를 불러오고 수정한다.
1. Modbus 개요
Modbus는 자동화 디바이스 간 통신을 위해 1979년 Modicon사에서 개발한 산업용 프로토콜이다.
원래는 시리얼 통신을 위한 프로토콜이었으나, 현재 TCP/IP, UDP에서도 구현 가능하도록 확대되었다.
간단하고 효율적이며 안정적인 통신을 구현하기 위해 현재까지도 널리 사용되는 포로토콜이다.
메모리 블록 | 데이터 타입 | 마스터 접근 | Address |
Coil Output | Boolean | 읽기 / 쓰기 | 000001--065536 |
Digital Input | Boolean | 읽기 | 100001--165536 |
Analog Input | 16bit Word | 읽기 | 300001--365536 |
Holding Register | 16bit Word | 읽기 / 쓰기 | 400001--465536 |
2. ModbusSlave 실행하기
1) X-SCADA 설치 폴더로 이동한 뒤 ModbusSlave.exe를 실행한다.
2) 좌측 상단의 Start Server를 클릭하면 작동한다. (ModbusSlave는 Slave가 될 PC 1대에서만 실행가능)
3. 태그 생성하기
1) 태그 탐색기(Tag Explorer)에서 마우스 우측 클릭 후 2개의 아날로그 태그(Analog Tag)와 2개의 디지털 태그(Digital Tag), 1개의 문자열 태그(String Tag)를 생성한다.
4. 장치 연결하기
1) 장치 탐색기(Device Explorer)에서 마우스 우측 클릭 후 장치 추가(New Device)를 한 뒤 우측 속성(Properties)에서 이름을 “Modbus”로 변경한다.
2) 추가된 Modbus 장치를 마우스 우측 클릭하여 네트워크 연결 추가(New Network)를 클릭한다.
3) 속성(Properties)에서 통신 프로토콜(Protocol) 선택 창에 진입한 뒤 Modbus TCP를 선택한다.
4) 프로토콜 선택을 한 뒤 속성(Properties)에서 Modbus에 대한 각종 설정을 한다. 원격지 주소(RemoteAddress)는 127.0.0.1로 설정한다.
5) 태그 탐색기(Tag Explorer)에서 태그 선택 후 속성(Properties)에서 장치(Device)를 Modbus로 설정하고 장치내 주소(DeviceAddress)에는
아래 표를 참고하여 입력한다.
태그 | analog_1 | analog_2 | digital_1 | digital_2 | string_1 |
장치 | Modbus | Modbus | Modbus | Modbus | Modbus |
장치내 주소 | 400001 | 300001 | 000001 | 100001 | 400002 |
5. 화면 구성하기
1) 배경화면을 설정한 뒤 도구모음의 텍스트(Text)를 활용하여 아래와 같이 작화한다.
· 텍스트(Text) 객체 생성 후 속성(Properties)에서 텍스트를 변경할 수 있다.
2) 도구모음에서 레이블(Label) 생성 후 속성(Properties)에서 텍스트 이름에 맞게 태그 바인딩(Binding Tag)을 설정한다.
3) 입출력 항목의 analog_1 레이블(Label)을 더블클릭 한 뒤 클릭 – 태그값 설정(Click – Tag Value) 체크선택 후 아래와 같이 설정한다.
· 방식 : Input
· 태그(Tag) : analog_1
4) 입출력 항목의 digital_1 레이블(Label)을 더블클릭 한 뒤 클릭 – 태그값 설정(Click – Tag Value) 체크선택 후 아래와 같이 설정한다.
· 방식 : Toggle
· 태그(Tag) : digital_1
5) 입출력 항목의 string_1 레이블(Label)을 더블클릭 한 뒤 클릭 – 태그값 설정(Click – Tag Value) 체크선택 후 아래와 같이 설정한다.
· 방식 : Input
· 태그(Tag) : string_1
6. 실행하기
1) 저장 후 시작 버튼 또는 F5를 눌러 뷰어를 실행한 뒤 입출력 항목의 레이블(Label)을 클릭하여 값을 변경시킨다.
2) 태그 값 변경이 잘 반영되었는지 ModbusSlave 프로그램을 이용해 확인한다.
3) 입력 항목의 레이블에도 값을 표현하도록 ModbusSlave에서 값을 변경시킨 뒤 확인한다.