Modbus는 1979년 발표 이래 Serial(Modbus RTU, ASCII)과 TCP/IP(Modbus TCP)를 기반으로 Slave/Master 형태로 간편한 데이터 어드레스 설정과 유연한 데이터 타입 방식으로 현재까지 자동화에서 가장 범용적으로 사용되는 시스템 표준 프로토콜 중 하나로 자리 잡고 있다.
Modbus역시 일반 자동화에서 사용되는 Server/Client 구조이며, Modbus에서는 Slave(Server)/Master(Client)라는 용어로 더 많이 사용된다.
보통 PLC와 같은 하드웨어 컨트롤러가 Slave로 설정되는 경우가 많으며, Modbus Master로부터의 데이터 요청으로 통신이 시작된다. Modbus Master는 대부분 KEPServer와 같은 OPC Server, HMI/SCADA 소프트웨어, MES등이 일반적이다.
Modbus Client (Master)
- Modbus Server에 데이터 요청을 함으로써 Modbus 통신을 개시하는 주체로서,
- 어떤 액션을 취할 지를 Read 혹은 Write에 해당하는 통신 코드를 Server에 전송한다 (Modbus 통신 코드에 대한 내용은 추후에 다루기로 한)
- KEPServer는 Modbus TCP/IP Ethernet Driver와 다양한 Modbus serial driver 형태로 제공된다.
- HMI/SCADA같은 경우에는 Modbus Client Driver 형태로 제공되는 것이 일반적이다.
Modbus Server (Slave)
- 오직 Modbus Client의 답변에만 응답하며
- Modbus Client나 다른 Modbus Server에 먼저 통신을 개시할 수 없다
- Server에서 연결 가능한 Client 개수를 제한하기도 한다
- 보통 컨트롤러, 하드웨어 컨트롤러가 Server가 되는 것이 일반적이지만
- 가끔 다른 어플리케이션이나 서비스 개체에게 데이터를 전달하기 위해 KEPServer를 Modbus Server로 구성해야 하는 경우가 있다.
위에서 설명했 듯, KEPServer를 Modbus Client로 사용하는 것은 Modbus TCP/IP Ethernet Driver나 Modbus serial driver들을 사용하면 되며, 여기서는 KEPServer를 Modbus Server로 설정하는 방법에 대해 간단하게 설명하고자 한다.
KEPServer Modbus Server 설정 방법
1. Channel 생성 :
- KEPServer 설정에서 새로운 Channel을 추가한 후 Modbus TCP/IP Ethernet Driver를 선택
- Channel 이름 설정
- 모든 설정은 디폴트로 두고 Channel 설정 완료
2. Device 생성:
- 생성된 Modbus TCP/IP Channel에 새로운 Device 추가
- Device 이름 지정 후 디폴트 파라미터로 설정 진행
- Device IP 설정 단계에서 IP를 현재 설정 중인 KEPServer 머신의 IP를 입력 (KEPServer자신의 IP)
- IP 입력의 <> 괄호는 지워서는 안 되며, <>다음에 오는 Bridge Index 파라미터는 0으로 설정
예 : KEPServer 머신의 IP가 192.168.80.128인 경우
- 통신에 사용될 Modbus Port 지정 (디폴트 502)
3. Tag 생성
- Modbus 어드레스 형식의 Tag들을 생성
- Input Coils, Output Coils, Internal Registers, Holding/Output Registers
Coil/Register Numbers | Data Addresses | Type | Table Name |
1-9999 | 0000 to 270E | Read-Write | Discrete Output Coils |
10001-19999 | 0000 to 270E | Read-Only | Discrete Input Contacts |
30001-39999 | 0000 to 270E | Read-Only | Analog Input Registers |
40001-49999 | 0000 to 270E | Read-Write | Analog Output Holding Registers |
4. KEPServer Modbus Server와 Modbus Client 연결 테스트
Modbus Client를 실행하여 KEPServer와 연결하여 값을 확인
- 만일, KEPServer에서 다른 Driver에서 받아 오는 Tag 값을 Modbus Tag로 설정하고자 하는 경우, KEPServer의 Advanced Tag의 Link Tag기능을 사용하면 된다. 이 기능은 KEPServer의 Tag값을 다른 Tag로 실시간으로 연결하기 위한 태그로 태그간의 값을 실시간으로 연결하여 전달하기에 유용한 기능이다. 가령 Siemens PLC로부터의 값을 읽어 이 값을 Modbus Tag에 연결하고자 할 때 Link Tag로 이 두 태그 연결을 설정해 주면 실시간으로 두 태그의 값이 전달된다.
KEPServer Link Tag 설정 화면
기타 문의 사항은 031-346-1981~2 혹은 support@opchub.com으로 문의 주시기 바랍니다.
Modbus는 1979년 발표 이래 Serial(Modbus RTU, ASCII)과 TCP/IP(Modbus TCP)를 기반으로 Slave/Master 형태로 간편한 데이터 어드레스 설정과 유연한 데이터 타입 방식으로 현재까지 자동화에서 가장 범용적으로 사용되는 시스템 표준 프로토콜 중 하나로 자리 잡고 있다.
Modbus역시 일반 자동화에서 사용되는 Server/Client 구조이며, Modbus에서는 Slave(Server)/Master(Client)라는 용어로 더 많이 사용된다.
보통 PLC와 같은 하드웨어 컨트롤러가 Slave로 설정되는 경우가 많으며, Modbus Master로부터의 데이터 요청으로 통신이 시작된다. Modbus Master는 대부분 KEPServer와 같은 OPC Server, HMI/SCADA 소프트웨어, MES등이 일반적이다.
Modbus Client (Master)
Modbus Server (Slave)
위에서 설명했 듯, KEPServer를 Modbus Client로 사용하는 것은 Modbus TCP/IP Ethernet Driver나 Modbus serial driver들을 사용하면 되며, 여기서는 KEPServer를 Modbus Server로 설정하는 방법에 대해 간단하게 설명하고자 한다.
KEPServer Modbus Server 설정 방법
1. Channel 생성 :
2. Device 생성:
예 : KEPServer 머신의 IP가 192.168.80.128인 경우
3. Tag 생성
Coil/Register Numbers
Data Addresses
Type
Table Name
1-9999
0000 to 270E
Read-Write
Discrete Output Coils
10001-19999
0000 to 270E
Read-Only
Discrete Input Contacts
30001-39999
0000 to 270E
Read-Only
Analog Input Registers
40001-49999
0000 to 270E
Read-Write
Analog Output Holding Registers
4. KEPServer Modbus Server와 Modbus Client 연결 테스트
Modbus Client를 실행하여 KEPServer와 연결하여 값을 확인
KEPServer Link Tag 설정 화면
기타 문의 사항은 031-346-1981~2 혹은 support@opchub.com으로 문의 주시기 바랍니다.