[쉽고 간단한 안내서] ADS Interface를 이용한 외부 언어 사용하기
많은 기업에서는 기술의 확장성과 최고의 성능을 원하고 있습니다. 이 확장성과 고성능을 위한 방법들 중 하나는 각기 다른 소프트웨어를 연결하여 각각의 장점만을 사용하는 것입니다. 소프트웨어들은 서로 다른 통신 방법을 가지고 있지만, 이를 연결시켜주는 Interface 접근 방법을 안다면 확장성에 대한 접근은 쉬워집니다. 우리가 사용하는 Beckhoff 사의 TwinCAT에서는 어떤 통신을 사용하는지, 어떻게 Interface 접근이 가능한지를 알아보도록 하겠습니다.
TwinCAT 통신
ADS 통신
TwinCAT 시스템에서는
ADS통신을 사용하고 있습니다. ADS통신의 Protocol은 TCP/IP를 사용하고 있어
EtherCAT으로 연결된 장치와 통신이
가능합니다. 또한 UDP/IP 와 통신이 가능하기 때문에 다양한 방식으로
접근이 가능합니다.
AMSNetID
TwinCAT은 TCP/IP
주소를 통해 네트워크를 명확하게 식별이 가능합니다.
AMSNetID는 TwinCAT
ADS통신의 Message Router는 식별자 역할을 합니다.
TwinCAT ADS
TwinCAT의 ADS구성은 각각의 객체들이 고유 Port 번호를 가지며, 독립적인 장치로 취급됩니다.
독립적인 장치들은 "Message
Router"를 통해 ADS Interface와 데이터를 교환하며,
ADS Interface는 TCP/IP와 신호를 교환합니다.
ADS-PortNr
TwinCAT ADS통신에는 각각의 기능마다 고유 Port 번호가 지정되어 있습니다. 이 고유 번호를 사용해 PLC, NC, I/O등에 접근이 가능해 TwinCAT에서 지원하는 모든 기능을 사용할 수 있습니다.
ADS-OCX
ADS-OCX는 TwinCAT Router를
통해 다른 ADS 장치와 정보를 교환할 수 있도록 속성을 제공하며, ActiveX 컨트롤을 지원하는 모든 프로그램에서 ADS-OCX를 사용할 수 있습니다.
ADS
OCX Semple Program - Delphi
Beckhoff 홈페이지에서
제공되는 샘플프로그램 입니다. 글 하단에 Delphi Sample 링크를
참조해주시길 바랍니다.
Server와 Client의 TCP/IP
AMSNetID를 지정해 TwinCAT의 주소를 식별합니다.
TwinCAT에서 선언된 변수 Test_bit0~10가 Delphi에서 만들어진 exe파일에서 정상적으로
스캔이 되는 것을 확인할 수 있습니다.
ADS.NET
.NET 파일을 지원하는 모든 소프트웨어에서 TwinCAT Interface 접근이 가능하며, TwinCATAds.Dll 파일에 TwinCAT ADS Interface
접근을 위한 기능이 지원됩니다.
ADS
.Net Semple Program – C#
Beckhoff 홈페이지에서
제공되는 샘플프로그램 입니다. 글 하단에 C# Sample 링크를 참조해주시길
바랍니다.
C#과 TwinCAT3를 사용하기 위해선 ADS.NET 라이브러리인 TwinCAT.ADS 추가해야 합니다.
TCP/IP
Server에 접근하는 Client를 선언합니다.
ADS-DLL
DLL 파일을 지원하는 모든 소프트웨어에서 TwinCAT Interface 접근이 가능하며, TcAdsDll.Dll 파일에 TwinCAT ADS
Interface 접근을 위한 기능이 지원됩니다.
ADS
DLL Semple Program – C++
Beckhoff 홈페이지에서
제공되는 샘플프로그램 입니다. 글 하단에 C++ Sample 링크를
참조해주시길 바랍니다.
TwinCAT에서 지원하는 C++ Header 파일을 C++프로그램에
선언해야 합니다.
TwinCAT ADS와의 통신 이후 접근하려는 Port Number를 선언해야 합니다.
마치며
TwinCAT과 타사 소프트웨어를 통신하는 방법에 대해 알아보았습니다. ADS Interface와 통신은
ADS 라이브러리를 이용해 접근이
쉽게 가능했고, ADS Interface를 통해 각 Port별 가능을
사용할 수 있었습니다. 라이브러리를 지원한다면, TwinCAT과 추가적인
확장이 가능합니다.
위 내용에 대해 심화 내용이 필요하신 경우, 해당 내용을 댓글로 적어 주시면 다음 연재 시 반영하도록 하겠습니다. 문의사항은 아래 연락처로 연락 부탁드립니다. 전화 : 02-2107-3242 (대표전화, 내선번호 1번: 영업 및 마케팅, 내선번호 2번: 기술) 홈페이지 : https://www.beckhoff.com/kr/ 제품문의 : Info-KR@beckhoff.com 기술문의 : support-kr@beckhoff.com |
참고자료
TwinCAT ADS introduction : https://infosys.beckhoff.com/english.php?content=../content/1033/tcadscommon/html/tcadscommon_intro.htm&id=
TwinCAT ADS Router PortNr : https://infosys.beckhoff.com/english.php?content=../content/1033/tc3_ads_intro/18014398625641867.html&id=
TwinCAT ADS OCX Delphi Sample : https://infosys.beckhoff.com/english.php?content=../content/1033/tcsample_bdelphi/html/tcadsocx_delphi_sample02.htm&id=4368149075799736509
TwinCAT ADS.NET C# Sample : https://infosys.beckhoff.com/english.php?content=../content/1033/tcsample_net/html/twincat.ads.sample01.html&id=4295133992096281420
TwinCAT ADSDLL C++ Sample : https://infosys.beckhoff.com/english.php?content=../content/1033/tcsample_vc/html/tcadsdll_api_cpp_sample06.htm&id=72640986115571697
본 문서의 무단전재 및 재배포를 금지합니다
본 문서는 공식 매뉴얼이 아닌, 교육용 참고자료임을 명시합니다
2020. 12. 16
작성자: Beckhoff Korea / Dan Lee
댓글
댓글 쓰기