안녕하세요.

PLC 읽어보기 작업 후 오랫만에 다시 포스팅 합니다.

Mitsubishi, Omron PLC 읽어보기가 마무리 안됐는데 시간되면 작업해서 포스팅할 예정입니다. 

이번에 작업한 내용은 위즈네트 W5500 칩과 ESP32-WROOM 모듈을 이용하여 이더넷 연결을 해 보았습니다.

W5500 칩을 MACRAW 모드로 사용했기에 ESPRESSIF사의 개발플랫폼인 IDF(IoT Development Framework)에 있는 다양한 프로토콜 예제들을 모두 Reuse할 수 있다는 장점이 있으니 한번씩 살펴보시기 바랍니다.

Device Type : IoT Gateway

Spe                                                   Specificationcification
Processor Tensilica dual-core Xtensa® 32-bit LX6 MCU
Crystal 40 MHz
ROM 448 KB
RAM 520 KB
QSPI flash/SRAM 4 MB
Ethernet WIZnet W5500
10/100 Ethernet MACRAW Mode
User Input Boot Button / Reset Button
Connectivity WiFi, BLE
IO GPIO 20 pins connector with all ESP32 ports
Protocol Built-in programmer for ESP-IDF and Arduino
Operating Voltage 3.3V
Input Voltage 2.7~5.5V
Dimension(mm)/Weight TBD

Result :

W5500+ESP32 SDK

다음 회부터 IDF 개발환경 셋업, 보드 구성, 소스 작업의 순으로 포스팅할 예정이니 기대해 주시기 바랍니다.

전 회를 다시 보면 하기의 전송 내용을 볼 수 있습니다.

Send data(binary):[39]
4c5349532d58475400000000003301001300000054000200000001000900254d57303030303030
Received data(binary):[34]
4c5349532d58475400001202a01101000e0001305500020000010000010002000100
2020-05-19 12:38:23.786288  [0]1 0x1

Request Format을 보면

4c5349532d584754 : "LSIS-XGT" string

0000 : 예약영역

0000 : don't care

00 : PLC side

33 : client -> PLC

0100 : 순서 ID

1300 : Application Instruction byte 크기 예, 19(0x13) bytes

00 : PLC side

00 : 예약영역

5400 : Read Request

0200 : Data Type 예, 0x02 = WORD

0000 : dont' care

0100 : read variable 개수 예, 1(0x01) 개

0900 : 직접변수 길이 예, 9(0x09) length

254d57 : "%MW"

303030303030 : 어드레스 예, 000000 또는 0

 

Response Format을 보면

4c5349532d584754 : "LSIS-XGT" string

0000 : 예약영역

1202 : CPU TYPE, 상태 예, 1번 bit가 1인 것으로 보아 XGK/R-CPUH 모델 확인가능

a0 : CPU info 예, 0xa0 = XGK

11 : PLC->client

0100 : 순서 ID

0e00 : Application Instruction byte 크기 예, 14(0x0e) bytes

01 : 모듈의 Slot, Base 번호

30 : 체크섬

5500 : Read Response

0200 : Data Type 예, 0x02 = WORD

0001 : don't care

0000 : 0값은 정상, 아니면 에러

0100 : read variable 개수 예, 1(0x01) 개

0200 : 직접변수 길이 예, 2(0x02) length

0100 : read data 예, 1(0x01)

 

LS산전 PLC M0 셋팅 화면
client<->PLC data 교환 화면

다음 회에는 Mitsubishi PLC의 전송 Format을 살펴보도록 하겠습니다.

'PLC' 카테고리의 다른 글

PLC Data 읽어보기 단계3  (0) 2020.06.03
PLC Data 읽어보기 단계2  (0) 2020.05.19
PLC Data 읽어보기 단계1  (0) 2020.05.14
PLC Data 읽어보기 단계0  (0) 2020.05.12

Host Device로는 BeagleboneBlack을 사용했습니다.

Host Device으로 사용한 Beaglebone Black

현장에서 Smart Factory 네트워크 구성도를 보면 하기 Case1이나 Case2로 이루어져 있습니다. Host Device에서 PLC의 Data를 읽은 후 Server나 DB에 전송하는 과정을 반복하게 됩니다.

Case1 네트워크 구성도
Case2 네트워크 구성도

첨언을 좀 하자면 저는 개인적으로 Case2처럼 구성을 추천 드립니다.

하기의 이미지가 Host Device에서 LS산전 PLC로 Request Format을 보낸 후 받은 Response Format을 디버깅할 수 있게 Hex값을 String으로 출력한 내용입니다. 맨 마지막 줄에 최종적으로 받은 값 1(0x1)을 보여주고 있습니다.

Host Device<->LS산전 PLC 연동 화면

Format에 대한 분석은 다음 회에 진행해 보도록 하겠습니다.

'PLC' 카테고리의 다른 글

PLC Data 읽어보기 단계3  (0) 2020.06.03
PLC Data 읽어보기 단계2  (0) 2020.05.19
PLC Data 읽어보기 단계1  (0) 2020.05.14
PLC Data 읽어보기 단계0  (0) 2020.05.12

+ Recent posts