먼저 한가지를 묻겠습니다.
MOXA Protocol Converter는 Serial Data를 변형 없이 TCPIP 소켓으로 바꾸어만 주는 역할을 하는 것이죠?
그렇다면 통신 설정은 위에 하신 것이 맞습니다.
하위 Device가 MODBUS를 사용할 것이기 때문에 [입출력 장치]에서 프로토콜은 'Modbus'를 설정하는 것이 맞습니다.
아마 192.168.1.55로 ping도 잘 될 것이구요...
알려 주신 내용을 봐서는 당연히 통신이 되어야만 합니다.
전 이런 경우에 다음과 같은 3가지 방법으로 문제가 무엇인지 진단합니다.
첫번째, Wireshark로 통신을 덤프하여 송수신 내용을 분석합니다.
이 방법은 다음의 내용을 확인하게 됩니다.
- Citect과 MOXA 장비와 TCP 소켓 접속이 확립되었는가?
- 만약 TCP 소켓 접속이 되지 않는다면 MOXA와 Citect간의 TCP 설정이 맞지 않는 것이 있는 것입니다.
- 만약 TCP 접속에 이상이 없다면 Citect에서는 10001 번지에 대한 요구 프레임이 나가는가 확인합니다.
(아마 통신이 안되는 상황이면 30초마다 재시도가 될 것입니다.)
- 10001 번지의 요구 프레임에 대한 응답은 어떠한가?
- 만약 응답이 없다면 두번째 방법으로 테스트를 합니다.
- 만약 응답이 있지만 에러 응답을 한다면 에러 코드를 보고 조치합니다.
물론 위에서 설명한 것 외에 다른 현상 또는 문제점이 있을 수 있는데, 그것도 송수신 데이터를 보고 판단할 수가 있습니다.
두번째 방법은 Serial로 직접 연결하여 보는 것입니다.
만약 첫번째 방법으로 분석한 결과에서 전혀 응답이 없는 경우에는 하위 Device와 Serial로 직접 연결하여 그 원인을 찾습니다.
Baud rate, Stop bit, parity bit, flow control 등 다양한 설정을 확인해 보셔야 할 것입니다.
그리고 직접 연결하여 확인된 설정 내용을 MOXA converter의 Serial Port 설정을 맞추어 줍니다.
이 테스트가 필요한 것은, 심한 경우에 매뉴얼과 다르게 설정해야 통신이 되는 장비도 있습니다. 보통은 Stop Bit를 1로 설정하며, 또한 매뉴얼에도 1로 설정하게끔 되어 있는데, 장비의 제작년도(롬 버전이 구 버전인 경우)에 따라 Stop Bit를 2로 설정해야 되는 장비도 있었습니다. 이 것은 단지 한 예인데, 중요한 것은 그 485 라인으로 Serial 통신이 잘 되는지가 확인이 되어야 합니다.
세번째 방법은 하위 Device 대신 Modbus Serial Server Simulator로 테스트를 합니다.
보통은 첫번째 또는 두번째 단계에서 문제의 원인이 파악되고 해결할 수가 있습니다.
세번째는 모든 설정이 맞음에도 불구하고 통신이 안되는 경우 마지막으로 라인은 이상이 없는지를 검증하기 위해서 하는 테스트 입니다.
하위 Device 대신 노트북에 Modbus Server Simulator를 설치하고, 485 converter를 사용하여 485 라인에 접속합니다.
물론 Simulator 설정은 하위Device와 동일하게 설정합니다.
두번째 방법에 의한 485 serial 통신은 잘 되는지 확인하고, 통신이 잘 되면 MOXA converter를 붙여서 Ethernet 통신 테스트를 합니다.
만약 이 방법이 잘 되면 그대로 노트북을 떼어내고 하위 Device를 접속합니다.
이렇게 했으면 당연히 잘 되어야만 하겠지요.
그런데 안된다면 이젠 하위 Device 메이커 지원을 받는 수 밖에 없습니다.
하위 Device 메이커 지원을 받으실 때, 위의 시스템 구성도와 통신 설정 내용, 테스트 내용, Wireshark 캡쳐 파일 및 설명, Serial 직접 접속하여 테스트한 내용, 그리고 Simulator를 통한 테스트 결과와 하위 Device로 대체했을 때의 결과를 정리하여 보내주시면 100% 현장 지원을 해 줄 것입니다.