[쉽고 간단한 안내서] Beckhoff 시스템을 이용한 시리얼 통신

시리얼 통신은 1960년대 이후부터 많은 산업에서 사용되는 통신 중 하나입니다. 비트 단위의 데이터를 간단한 방식으로 통신을 주고받을 수 있으며, 수신호 선의 배선이 간단하고 저렴한 비용으로 구성이 가능하다는 장점이 있습니다. 시리얼 통신은 RS232, RS422, RS485 등 여러 통신 방식이 Beckhoff 모듈과 통신하기 위해서도 여러 모듈을 구성에 맞게 사용해야합니다.   

이 글에서는 시리얼 통신이 가능한 Beckhoff 제품소개 및 사용 방법에 대해 알아보도록 하겠습니다. Beckhoff에서 사용 가능한 방법은 크게 3가지로 나눠집니다.  

첫째 - Beckhoff I/O Terminal 사용한 통신방법 (EL60xx)

둘째 - PC COM Port 통신방법

셋째 - TwinCAT Virtual COM Port를 사용한 통신방법


아래 그림은 Beckhoff에서 지원하는 3가지 방법에 대해 나타난 것입니다.




Beckhoff 시리얼 통신 설명 및 제품소개


시리얼 통신


1. Background Communication

-       SerialLinControl TwinCAT Serial통신을 하기위한 필수 조건입니다. 아래 표를 참고하면 Fast Task항목에 SerialLinControl이 포함되어 있습니다. Fast Task는 데이터 전송 속도가 빠르게 진행되야 할 경우 사용되며 SerialLineControlFast Task의 사이클 타임에 의해 동작됩니다.

-       ConBufferBeckhoff 모듈에서 전송가능한 최대 데이터 크기 (EL60xx – 22Byte, Pc Com Port – 64Byte)가 전달 크기를 넘었을 때 이후 데이터를 딜레이 시키는 Buffer의 역할을 합니다. 300Byte의 데이터를 저장할 수 있습니다.

-       Virtual Com Port (TF6360) 사용 시 PLC Task에 영향을 받지 않고, 자체 ADS를 통해 데이터 교환합니다. 다만 PLC에서 데이터를 수신할 때 PLC Task에 따라 수신되는 데이터 속도가 지정됩니다.


2. F6340 - 시리얼 통신

TF6340는 EL60xx와 PCComPort에 Serial Device를 연결할 수 있도록 지원하는 인터페이스 드라이브입니다.


3. Beckhoff EtherCAT Terminal

Serial 통신이 가능한 Beckhoff의 모듈은 EL60xx 시리즈입니다. 모듈은 총 4가지로 분류되며, Connector 사용 유/무 Serial 통신방식에 따라 분류됩니다. EL6001와 EL6002는 RS232 통신이 가능하며, EL6021와EL6022은 RS422, RS485 통신이 가능합니다. 자세한 정보는 아래 제품 소개를 통해 확인할 수 있습니다.


-제품소개




4.  Connector 배선도

EL6002EL6022시리얼 통신을 사용하려면 Connector를 연결해야 합니다.

Connector 배선은 RS232RS422, RS485의 배선방법이 달라 아래 배선도를 참고하여 배선을 진행해야 합니다.

-       RS232

-       RS422, RS485




5. EtherCAT Terminal을 이용한 시스템 구성

공통 환경: EtherCAT 통신, Beckhoff EPC CX5130 및 Beckhoff EL60xx사용

EtherCAT Terminal을 이용한 시스템 구성


EL6001
EL6021
EL6002

EL6022



TwinCAT3에서 시리얼 통신 이용하기

EtherCAT Terminal을 활용한 시리얼 통신 제어하기


1. EtherCAT Terminal을 활용한 시리얼 통신이란?

Beckhoff EtherCAT 모듈인 EL60xx 시리즈를 이용해 시리얼 신호를 송수신할 수 있는 방법입니다. PLC에서 SerialLineControl로 제어가 가능하며, EL6Data22B 변수를 이용하여 데이터를 EL60xx 모듈과 송수신합니다.

2. EL6Data22B

EL60xx Terminal과 데이터 교환을 하기위한 변수입니다. 이 유형의 변수는 Memory map의 고정주소에 배치되며, TwinCAT System Manager로 하드웨어에 연결됩니다.

EL6DataIn22B


EL6DataOut22B

3.  ComBuffer

ComBuffer는 하드웨어 종속 통신을 분리하기위한 데이터 버퍼입니다.

ComBuffer 유형의 데이터 버퍼는 사용자가 직접 쓰거나 읽기가 가능하지만 통신을 위한 중간 저장소로만 사용됩니다.






4. CoE

CoE-Online은 Beckhoff에서 지원하는 모듈이 지원하는 Parameter 정보를 표시하며, 값을 읽기 또는 쓰기가 가능합니다. 아래 Parameter는 EL6022의 CoE 값입니다. 해당 값에서 8000:0은 Channel에 대한 전체적인 설정을 할 수 있는 부분이며, 이 부분을 통해 통신의 설정 값을 변경할 수 있습니다.



-       EL6022에서 Enable transfer rate optimizationEnable half duplexParameter를 사용해 시리얼 통신방식을 변경할 수 있습니다.


-       Baudrate CoE Parameter를 이용해 사용하는 모듈의 Baudrate 속도를 지정할 수 있습니다.



5. Mapping

EL60xx의 COM TxPDO-Map Inputs Channel1의 Status를 EL6DataIn22B에 포함되어 있는 Status와 Mapping 시켜줍니다.


EL60xx COM TxPDO-Map Inputs Channel1Data In 0~21EL6DataIn22B에 포함되어 있는 22ByteMapping 시켜줍니다.


EL60xx COM TxPDO-Map Outputs Channel1StatusEL6DataOut22B에 포함되어 있는 StatusMapping 시켜줍니다.


EL60xx COM TxPDO-Map Outputs Channel1Data In 0~21EL6DataOut22B에 포함되어 있는 22ByteMapping 시켜줍니다.

6. SerialLineControl

SerialLineControlSerial 통신 장치와 데이터를 송수신하기위한 필수 조건입니다.


-       SerialLineControlEL60xx시리즈 및 PC COM Port등에서 Serial 통신을 하기위한 필수조건으로 사용되어 사용하는 모듈의 Mode를 지정해 주어야합니다.

EtherCAT Terminal을 사용 시 SERIALLINEMODE_EL6_22BSerialLineControl Mode에 지정해야 합니다.


7. SendString

입력 변수 TxBuffer에 해당하는 인터페이스에 문자열을 보냅니다.



8. ReceiveString

ReceiveString은 입력 변수 RxBuffer에 해당하는 인터페이스에서 문자열을 수신합니다.



PC COM Port를 이용한 Serial 통신

 

1.  PC COM Port ?

Beckhoff PC에 옵션으로 장착된 Port에서 직접적으로 하드웨어를 연결하여 시리얼 통신을 할 수 있습니다. 시리얼 통신방식은 RS232, RS485 두가지를 지원합니다. PC COM PortPLC에서 SerialLineControl로 제어가 가능하며, PcComData라는 인터페이스 변수를 이용하여 데이터를 송수신합니다.



2. PC COM Port 생성 및 설정

TwinCAT에서 시리얼 통신을 하기위해서는 시리얼 통신 Port를 생성해주어야 연결 및 설정이 가능합니다

생성 후 Port번호 및 Baudrate, Parity 등 여러 중요 설정들이 가능합니다.



3.  PcComData

시리얼 통신과 Beckhoff PC에서 데이터를 교환하기 위해서는 PcComData가 필요합니다. PcComDataMemory map의 고정 주소에 배치되며, TwinCAT System Manager를 사용하여 하드웨어와 연결합니다.

PcComInData


PcComOutData


4. SerialLineControl

SerialLineControl시리얼 통신 장치와 데이터를 송수신하기 위한 필수 조건입니다.


-       위에서 설명한 바와 같이 SerialLineControlEL60xx 시리즈 및 PC COM Port등에서 Serial 통신을 하기 위한 필수조건으로 사용되어 사용하는 모듈의 Mode를 지정해주어야 합니다.

PC COM Port를 사용하기 위해서 SERIALLINEMODE_PC_COM_PORTSerialLineControl Mode에 지정해야 합니다.



5. SendString

입력 변수 TxBuffer에 해당하는 인터페이스에 문자열을 보냅니다.



6. ReceiveString

ReceiveString은 입력 변수 RxBuffer에 해당하는 인터페이스에서 문자열을 수신합니다.


7. Mapping

Device(COM Port) Inputs의 Status와 PcComInData에 포함되어 있는 SerStatus와 Mapping 시켜줍니다.




Device(COM Port) Inputs의 Data In 0~63 PcComInData에 포함되어 있는 64Byte와 Mapping 시켜줍니다.

Device(COM Port) InputsStatus PcComOutData에 포함되어 있는 CtrlMapping 시켜줍니다.

Device(COM Port) OutputsData In 0~63 PcComOutData에 포함되어 있는 64ByteMapping 시켜줍니다.




Virtual Serial COM Port를 이용한 시리얼 통신

1. Virtual Serial Com Port 란?

이 기능은 Window OS에서 TwinCAT Virtual COM Port를 사용할 수 있도록 설정해주는 기능입니다.

Window OS에서 다른 Serial Device와 TwinCAT Virtual COM Port를 연결하여 데이터를 송수신할 수 있습니다. 해당 기능은 EL60xx시리즈를 통해서 생성이 가능합니다.

2. TF6360 – Virtual 시리얼 통신 드라이브

TF6360 TC3 Virtual 시리얼 통신은 Virtual COM Port를 사용하기 위한 드라이브입니다.

ADS Sever를 생성해 Virtual Port를 사용해 시리얼 통신을 할 수 있습니다. 다운로드

3. TwinCAT을 사용한 Virtual Serial COM Port 생성

EL60xx 시리즈의 설정 창에서 Port 생성 및 Baudrate, Parity등을 설정할 수 있습니다.



-       Virtual Serial Com Port 추가를 완료하면 장치 관리자 목록에서 TwinCAT Virtual Serial COM이 추가된 것을 확인할 수 있습니다.


4. TwinCAT Virtual Serial COM와 연결하기

웹상에서 지원하는 Serial 통신 테스트 프로그램을 사용해 TwinCAT Virtual Serial COM과 연결을 진행합니다. 해당 설정을 TwinCAT에서 설정한 것과 동일하게 맞춘 후 연결을 진행합니다.

Sample

 

EL60x2

EL60x2 SampleRS232(EL6002) RS485(EL6022) 2가지 통신으로 작성되었습니다.

 

-       RS232통신은 일반적으로 장치의 오류를 확인할 수 있는 Loopback을 구성해 작성하였습니다.

1Channel Tx에서 String 데이터를 보내면 1Channel Rx에서 String 데이터를 수신하는 방법입니다.

수신되는 신호는 fbReceiveString을 통해 확인할 수 있습니다.

 



-       RS485통신은 1 ChannelString 데이터를 2 Channel로 전달되는 프로그램을 구성하였습니다.

1 Channel Tx에서 String 데이터를 보내면 2 Channel Rx에서 String 데이터를 수신하는 방법입니다.

수신되는 신호는 fbReceiveString을 통해 확인할 수 있습니다.


PC Com Port

PC COM Port가 지원하는 시리얼 통신 방식은 크게 RS232, RS485입니다. 두 방식 모두 Loopback이 가능하므로 Sample프로그램은 Loopback을 진행할 수 있는 방향으로 작성하였습니다.

-       PCComPort SampleRS232 Loopback으로 작성되었으며, 해당 Port의 설정을 변경하여 RS485통신의 방법으로 변경이 가능합니다.



 

마치며

TwinCAT3에서 시리얼 통신하는 방법에 대해 알아보았습니다. 사용하는 시리얼 통신 방식 및 사용하는 환경에 따라 많은 조건 및 설정이 달라지지만 위 문서에 포함된 Sample을 참고하면 쉽게 접근이 가능할 것입니다




위 내용에 대해 심화 내용이 필요하신 경우, 해당 내용을 댓글로 적어 주시면 다음 연재 시 반영하도록 하겠습니다.

 

문의사항은 아래 연락처로 연락 부탁드립니다.

전화 : 02-2107-3242 (대표전화, 내선번호 1: 영업 및 마케팅, 내선번호 2: 기술)

홈페이지 : https://www.beckhoff.com/kr/

제품문의 : Info-KR@beckhoff.com

기술문의 : support-kr@beckhoff.com








참고자료

Beckhoff EL60xx [https://download.beckhoff.com/download/Document/io/ethercat-terminals/el600x_el602xen.pdf]

Beckhoff Serial Communication TF6340 [https://www.beckhoff.com/en-en/products/automation/twincat/tfxxxx-twincat-3-functions/tf6xxx-tc3-connectivity/tf6340.html]

Beckhoff Virtual Serial Communication TF6360 [https://www.beckhoff.com/ko-kr/products/automation/twincat/tfxxxx-twincat-3-functions/tf6xxx-tc3-connectivity/tf6340.html]




본 문서의 무단전재 및 재배포를 금지합니다

본 문서는 공식 매뉴얼이 아닌, 교육용 참고자료임을 명시합니다





2021.04.15

작성자: Beckhoff Korea / Dan Lee






댓글

이 블로그의 인기 게시물

[IPC 메뉴얼] BECKHOFF PC 기본 설정 방법

트라이텍, EtherCAT과 DeviceNet [월간CONTROL 2013/11]

[쉽고 간단한 안내서] TwinCAT PLC HMI와 TwinCAT HMI