Modbus TCP Slave(Server) 소개
지원 장비 및 권장 사양 |
내용 | 비고 | |
제조사 | MODICON | |
기기명 | MODBUS TCP를 지원하는 디바이스 | |
통신 모듈 | ||
통신 방식 | Ethernet | |
프로토콜 | MODBUS TCP | |
드라이버 설명 | MODICON Modbus TCP Slave |
MODICON MODBUS TCP SLAVE디바이스 설정 |
MODBUS의 디바이스 이름을 지정한 후에는 다음과 같은 대화상자가 화면에 표시된다. 이 화면에는 ‘설정 데이터’와 ‘통신포트’ 두 개의 편집 탭으로 구분되어 각각에 대한 설정을 진행할 수 있다.
항목 | 설명 |
설정 데이터 탭 | 이 편집 탭에서는 서버로 동작하는 CIMON-HMI의 설정과 관련된 항목들을 편집한다. |
서버 스테이션 설정 | 서버 스테이션 설정 버튼을 선택하면 다음과 같은 서버 설정을 할 수 있는 대화상자가 화면에 표시된다. |
항목 | 설명 |
스테이션 이름 | 이미 등록되어 있으며 수정 불가능한 항목이다. |
설명 | 스테이션을 설명하는 곳으로, 특별한 의미는 없다 |
Unit ID | 모드버스 프로토콜 상에서 정의하는 Unit ID를 뜻한다. 향후, 해당 CIMON-HMI로 접속하는 모든 클라이언트는 Unit ID를 정확히 맞추어야 한다. |
문자열, 정수형, 실수형 데이터 | 4바이트 크기를 갖는 데이터를 전송해야 하는 경우, SWAP 하여 전송하기 위한 방법을 나타낸다. |
IO Data 설정 |
스테이션이 선택된 상태에서 ‘IO 데이터 설정’ 버튼을 선택하면 다음과 같은 대화상자가 화면에 표시된다. 해당 대화상자에서 CIMON-HMI 태그와 클라이언트에서 요청하는 Modbus 어드레스간 매칭 작업을 수행한다.
종류 | Type | 특성 | 식별자 | 가능 주소 범위 | 사용코드 |
Coil Register(Status) | Digital | Read/Write | 0 | 1 ~ 5000 | 1(5, 15) |
Holding Register | Analog | Read/Write | 4 | 1 ~ 10000 | 3(6, 16) |
위의 표에서 ‘식별자’가 의미하는 것은 CIMON-HMI의 데이터베이스 태그에 어드레스를 지정할 때 이 식별자를 선두에 표기한 후 어드레스가 지정된다는 것이다. 즉, 어드레스가 00102인 Coil Status인 경우에는 주소를 0102로 지정하여야 하며, 어드레스가 43210인 Holding Register인 경우에는 3210으로 지정하여야 한다.
한편, ‘사용코드’는 해당 Block을 Read하기 위하여 본 드라이버가 사용하는 MODBUS Protocol 상의 명령 코드를 표시한다. (괄호안은 Write시 명령코드)
1. 데이터 추가
항목 | 설명 |
태그 이름 | 클라이언트가 해당 어드레스에 해당하는 값을 읽으면 어떤 태그의 값을 보내줄 건지를 선택한다. 단, Coil 영역에서는 문자열 태그를 사용할 수 없다(항상 0임). |
어드레스 | 식별자는 선택한 탭이 Coil인지 Holding 영역인지에 따라 자동으로 지정되며, 읽을 어드레스를 지정한다. 여기에서는 Coil인 경우 1에서 5000 사이의 값을, Holding 영역인 경우 1에서 10000 사이의 값으로 지정되어야 한다. |
데이터 크기(워드) | 읽고자 하는 어드레스로부터 연속된 데이터의 개수를 지정한다. 데이터의 단위는 워드(Word)단위 이다. 단, 이곳에 지정된 값과 어드레스에 지정된 값의 합이 어드레스 지정범위를 벗어나지 않도록 주의한다. |
2. 데이터 편집
이 버튼을 사용하여 이미 등록되어 있는 매핑 영역의 설정 내용을 편집할 수 있다. 각각의 편집 화면은 위에서 설명된 것과 동일하다.
3. 데이터 삭제
이 버튼을 사용하여 이미 등록되어 있는 매핑 영역의 설정 정보를 삭제할 수 있다.
통신 포트 설정 |
항목 | 설명 |
포트 | 네트워크 통신을 위해 지정된 소켓 포트 번호를 입력한다. 여기서는 502번으로 지정되어 있다. |
로컬 어드레스 | CIMON-HMI가 설치된 시스템의 기본 IP 어드레스를 입력한다. |
에러 코드 |
MODBUS ErrorNo | 내용 |
0x01 | 펑션코드(Function code)가 잘못됨 |
0x02 | 요청한 어드레스가 잘못됨 |
0x03 | 데이터 값이 잘못됨 |
0x04 | 응답 프레임이 잘못됨 |
CIMON-HMI 추가 정의 된 코드
| |
0x10 | 프레임의 헤더정보가 잘못됨 |
0x11 | 유닛 아이디(Unit ID)가 잘못됨 |
0x12 | 전체 프레임의 길이가 잘못됨 |
0x13 | 서버 내부 오류 |