안녕하세요?
이번에 PLC - PC 데이터 연동 프로그램 개발을 처음으로 진행하게 되었습니다.
연동내용은 간단하게 PLC D60번지에 있는 데이터를 주기적으로 가져오면 되는 간단한 프로그램입니다.
PLC란 장비도 처음접하는거라 매뉴얼 및 예제소스를 보면서 개발을 하고 있는데 해결이 되지 않아서 이렇게 도움글을
올립니다.
일단 PLC업체에서 셋팅한 내용은 아래와 같습니다.
일단 PC에서 QJ71E71-100 쪽으로 7000(1B58)번 포트로 연결되는 것 까지는 telnet명령어로 확인했습니다.
그리고 개발언어는 C#이구요 소스상에서 MelsecPLC.dll을 사용해서 소켓연결까지는 이루어 지는것 같습니다. 연결 소스는 아래와 같습니다.
그리고 READ 명령을 아래와 같이 전송하습니다. D60번지의 데이터를 읽어오는 명령어입니다.
위와 같이 명령어를 보냈는데 응답받는 쪽에서는 아래와 같은 응답만 계속 받아옵니다.
D00001040020000016C050010400020004010010
매뉴얼에는 위와같은 응답은 이상종료시에 나타난다고 하는데 어떤 부분에서 잘못한건지를 찾지를 못하겠습니다.
PLC 셋팅이나 소스상에서 어떤 부분이 잘못되어있는건지 고수님들 도움을 부탁드리겠습니다.
이상입니다. 읽어주셔서 감사합니다.
다음검색
댓글
댓글 리스트-
작성자올빼미 작성시간 15.09.05 통신드라이버 전체를 개발할려면 시간이 많이 걸릴겁니다. 신뢰성보증도 문제이구요.
(나중에 되었다 안되었다하여 생산손실이 발생한다면 그게 훨씬 큰 손실입니다.)
mx-component 를 사용하세요. 그게 훨씬 이득입니다
많은 plc가 접속되어야 한다면 opc-server 사용하구요.
많은 사용자들이 그렇게 사용합니다. 그들이 돈이 남아돌아서 구입하는 것 아닙니다. -
작성자해탈 작성시간 19.08.12 많이 늦은 답변이지만 device code가 틀린것 같습니다. 매뉴얼에 보면 D레지스터는 A8 , W REGISTER = B4 , M REGISTER= 90 , B REGISTER = A0 등으로 달라집니다. 사진상으로는 D*이라는 내용은 등록된 DEVICE가 아니므로 오류가 난 것입니다.