-
PLC 통신 사양 (PROTOCOL)-1IT/IOT 2024. 11. 4. 04:35728x90반응형
목 차
1. PLC통신 개요
2. 통신 방식 및 연결 방법
3. 통신 프로토콜
4. Data의 구성
5. 통신 COMMAND
6. PLC 통신 설정
7. Read Command
8. Write Command
9. Monitoring
10. Register의 구성
1. PLC 통신 개요
PLC(Programmable Logic Controller)의 활용은 공정 자동화가 요구되는 모든 산업 분야에서 활용되고 있으며 전기ᆞ전자ᆞ기계 화공 등의 공정제어 및 계장 제어 분야에서 매우 급속하게 파급되고 있는 제어기기 중의하나이다. 현재 사용되고 있는 PLC는 각 제작사마다 H/W는 유사하지만,S/W의 명령어 조금씩 다르기 때문에 서로 다른 기종 사이에서 사용하는사람들이 호환성을 갖고 사용하기가 까다롭다고 할 수 있다.그래서 위 문서에서는 Main PLC Module은 Master-K(K7M-DR60S)이고,통신 전용 확장 모듈은 G7L-CUEC(422/485통신)을 사용하고, 외부기기로는 자사의 제품인 NX1을 사용했다.
2. 통신 방식 및 연결 방법
1) 통신 방식 (RS-422/RS-485)
위 통신 방식은 직렬 전송규격의 하나인 RS-232C에 비해 전송 거리가 길고 1:N 접속이 가능하다. 두 규격의 차이점은 RS-422가 TX(+), TX(-), RX(+), RX(-)의 4개의 신호선을 사용하는데 반해, RS-485는 (+), (-) 2개의 신호선을 가지므로 송ᆞ수신을 동일한 신호선을 통해 수행한다는점이다. 때문에 RS-422는 전이중(Full Duplex) 방식 통신을 수행하고,RS-485는 반 이중(Half Duplex) 방식 통신을 수행한다.
2) 연결 방법
RS-422/RS-485 채널을 통하여 통신을 할 경우는 가능하면 외부에서 종단저항을 연결하여 주어야만 한다. 종단 저항의 역할은 장거리 통신을 할때, 케이블의 반사파에 의한 신호 왜곡을 방지하는 역할을 하는 것으로케이블의 특성 임피던스 값과 동일값의 저항을 네트웨크의 종단에 연결해 주어야 한다. 그리고 RS-422과 RS-485의 외부 배선 방법은 아래 그림을 참조한다.
3. 통신 프로토콜
PX의 통신은 ASCII 문자열로 수행되며, 정의된 D, I Register의 내용을 읽고 쓸 수 있다. 프로토콜은 2가지가 있으며 파라메터에 의해 선택된다. 표준 프로토콜은 “STD”이며 시작문자 STX(0x02)로 시작하여 종단 문자 CR(0x0D) LF(0x0A)로 끝난다.
“SUM” 프로토콜은 “STD”에 에러 검출 코드로 Check Sum이 추가된 것이다.
4. Data의 구성
Frame중 Data는 16진수 (Hexadecimal)로 표현한다. 이때 표현하고자 하는 Data에 소수점이 포함되어 있으면 소수점의 자릿수 만큼 10n 을 곱하여 계산된 값으로 표현한다.
Data를 읽을 경우에도 읽고자 하는 Data의 소수점에 따라서 10n 을 나누어서 계산된 값으로 사용한다.
5. 통신 COMMAND
PX의 통신 Command는 D, I Register의 내용을 Read/Write할 수 있는 일반 Command와 PX 자신의 기종, Version 등을 나타내는 정보 Command가 있다.
6. PLC 통신 설정
Master-K에서의 통신 설정 방법은 Master-K용 윈도우 프로그램 수행후, 원도우 프로그램이 없다면 LG 산전 홈 페이지를 방문하여Download하여 New Project을 수행하고 파라메터를 선택하고 통신 Button을 선택한다.
기본적인 설정은 위 그림을 참조하여 설정한다. 사용자가 외부기기 즉 이기종 기가와의 통신을 사용해야 하기 때문에 통신을 금지에서 허용으로 바꾸어 주고, 통신 방식에서 자 국번을 0으로 설정하고, 통신 속도는 2400, 4800등 여러 가지가 있으나 여기서는 가장 일반적인 속도인 9600bps을 선택했다. 데이터 비트는 8비트, 정지 비트는 1 비트로 설정한다. 통신 채널은 사용할 통신 방식이 RS-422/RS-485임으로 RS232C 널모뎀 또는 RS422/485을 선택한다. 프로토콜 및 전송 모드에서는 전용 모드는 제조 회사에서 나온 동일 제품에 대한 통신을 설정하기 위한 경우이므로 여기서는 타 제조회사와 통신을 설정 해 주어야 하기 때문에 사용자정의 통신의 마스터를 선택한다. 사용자 정의 프로토콜 통신은 Master-K 기본 유닛과 이기종 기기간의 통신을 위하여 사용자가 타사 프로토콜을 PLC에서 정의할 수 있도록 한것 이다. 통신 프로토콜은 통신 기기 제조업체에 따라 매우 다양한 종류가 사용되고 있으므로 다양한 프로토콜을 전부 내장하기는 불가능하여 사용자가 응용분야에 따라 이기종 기기와의 통신을 가능하게 하여 준다. 이를 위해 직접 프로토콜 프레임을 정의 해야 한다. 사용자 정의 프로토콜 통신을 사용하기 위해서는 사용할 프로토콜의 내용을 정확히 알고 있어야 정확한 데이터 통신이 가능하다. 마스터로 설정하면 Master-K를 마스터로 설정하는 것이다. 슬레이브로 설정하면 Master-K가 슬레이브가 되고, 외부기기가 마스터가 된다. 이 기기에서는 위의 그림 6과 같이 설정한 후 등록목록 버튼을 Click한다.
프레임 리스트를 선택하고 마우스로 Double Click하여 프레임 리스트를 Open한다.
위 예제는 DRS Command를 송신하는 예제이다. 여기서 DRS Command는 D Register를 Read 할 수 있는 Command로 보내야 할 송신 프레임이 “STX01DRS,02,0001CRLF”이므로, 프레임 0번 헤더에는 [STX]을 설정한다. 그리고 “[ ]”는 삽입해 주어야 한다. “[ ]”는 Master-K 구문이다. 송수신에서는 이 프레임이 송신 프레임이므로 송신을 설정한다. 세그먼트 1번에는 타입을 CONST로 설정 및 아스키 입력을 선택하고 01DRS, 입력한다. 여기서 01은 외부기기의 국번이고, DRS는 명령이다. 세그먼트 2번에는 02, 0001을 설정한다. 02는 읽을 D Register의 개수이다. 즉 2개의 Register를 읽으라는 명령이다. 0001은 읽을 D Register의 시작 번지이다. 그래서 D0001, D0002을 읽는다. 그리고 테일에는 [CR][LF]로 설정한다.
위 예제는 수신 프레임을 설정하는 예제이다. 수신하여야 할 프레임이 “STX01DRS,OK,Data1,Data2CRLF”이므로 헤더에는 [STX], 송수신에는 수신을, 세그먼트 1에는 “01DRS,OK,”을 입력하거나 선택한다. 여기서 01은 외부 기기 국번이고, DRS는 명령, OK는 수신이 완료 되었다는 의미이다. 세그먼트 2에서는 ARRAY을 선택하고, 이 ARRAY에서 받아 들이는 데이터를 M0에 저장한다. 그리고 받아 들이는 데이터 크기가 1Word즉 2 Bytes이므로 크기에는 2Bytes로 설정 해 준다. 세크먼트 3번에는 “,”을 입력한다. 세그먼트 4번에는 Type을 ARRAY로 선택하고, 이 ARRAY에서 받아 들이는 Data2을 M1에 저장한다.테일에는 [CR][LF]을 입력한다.
송수신 프레임을 작성한 후 위의 그림과 같이 레더 다이어그램을 작성한다. SND8 Command을 사용하여 프레임 0번에 작성된 송신 프레임을 Send한다. PLC 기기마다 통신 Command가 다를 수 있으므로 각각의 PLC 기기에 맞는 통신 Command를 사용하여야 한다. 이 기기에서는 통신 Command가 SND8이기 때문에 이 명령을 사용했다. 수신 프레임에서 ARRAY을 저장한 M000과 M001을 MOV 명령을 이용하여 데이터를 읽어 온다. 여기서 M000과 M001은 내부 Relay로서, PLC의 전원이 ON되고, PLC의 Run Mode가 시작될 때 “0”으로 Setting된다. 그리고 온라인 메뉴에서 “접속+다운로드+런+모니터 시작” 메뉴를 누르면 수신되는 Data 값을 확인할 수 있다.
728x90'IT > IOT' 카테고리의 다른 글
가볍게 배우는 IOT-통신규약(PROTOCOL) (0) 2024.11.05 PLC 통신 사양 (PROTOCOL)-2 (0) 2024.11.04 Modbus Protocol (1) 2024.11.03 LS일렉트릭 XBM-DN32H2 - 5 (8) 2024.10.28 LS일렉트릭 XBM-DN32H2 - 4 (0) 2024.10.28