본문 바로가기
Program/PLC

[LS PLC / C#] XGB/XGT FEnet Socket 통신 (4) - XGT Socket dll

by 냠만 2024. 3. 12.

[XGT DLL]


통신 뚫기에 급급해서 나중에 안 사실이지만 LS 산전에서는 Ethernet Client Software를 제공한다.
참 얼탱이 없는 사실에 이 이후로 뭔갈 하기 전에 좀 더 자세히 써치 하는 습관이 들었다.
우선 구현해 놓은 로직은 그대로 사용하고 추가로 개발하는 경우 사용하였다.

예상대로 너무너무 편했다. 알아서 enum구현도 해주고 에러도 뱉어주며 바이트 뒤집기를 일일이 신경 쓰지 않아도 된다.
크리티컬 섹션도 구현되어있으며 디폴트로 연결 종류에 따라 헤더도 자동 구성된다.

[Download 경로 및 주의사항]

다운로드 경로는 여기 있다.


주의할점은 XGK와 XGI CPU 소켓통신은 지원하지만 소형 PLC인 XBM-DN323H2, XBC 등은 지원하지 않는다.
소형 PLC의 경우에는 라이브러리를 사용하지 않고 이전 글에 소개한 방법인 별도로 헤더를 구성해서 통신을 뚫어야 될 것 같다.

구현된 언어는 VB, C#, C++ 이 존재한다.

 


해당 dll을 사용하려면 위 링크에 존재하는 설명서를 참고하면 되지만 반드시 재 배포 패키지(vcredist.exe)를 설치해야 한다. 설치하지 않으면 레지스트리 등록이 정상적으로 진행되지 않을 것이다.

XG5000을 설치하면 되겠지만 디버깅을 해야 되는 상태라면 무거운 소프트웨어보다 패키지 설치파일을 들고 다니는 게 현명하다고 생각한다. (XG5000은 약 350MB / 재배포 패키지는 약 7MB)


통신 방법도 문서에 잘 설명되어있으니 참고하면 된다.

심지어 샘플코드도 제공되며 샘플코드에 대한 통신프로그램도 제공한다. 다 퍼주니 아등바등 열심히 허튼짓 하며 고생한 시간이 아깝긴 하다. 그래도 헤더와 메시지 구조를 공부하면 다른 변이센서나 COM통신에 있어 유리한 점이 있으니 공부는 해야겠다.



[결론]

다음 포스팅에서는 dll에 이미 구현되어있지만 막상 사용하면 필자는 데이터가 이상하게 들어오거나 읽어지지 않았기 때문에 별도의 방법으로 비트정보를 파악할 수 있는 방법을 소개하겠다.