본문 바로가기
반응형

LS PLC6

[ FA ] LS XGT(XGB등) PLC 와 PC 이더넷 통신하기 (feat. 분석 편) 새로운 버전의 매뉴얼 입수로 LS 통신 분석자료를 추가합니다. 소스코드와 연계된 설명도 좋지만 좀 더 세부내용을 알 수 있게 작성하였습니다. 엑설로 아래 내용을 정리해보았습니다. 새로 접수된 통신 매뉴얼의 내용이 시각적으로 분석이 용이하게 작성되어 있어 새로이 업데이트하게 되었습니다. 통신 연결 방식 LS PLC에서는 고정으로 TCP / UDP에 따라 포트번호가 고정되어 있습니다. 변수 개별 읽기 하나의 영역에 PLC의 기본 헤더 파일 + 데이터 주소를 입력하여 PLC로부터 응답을 받는 내용입니다. 변수 연속 읽기 여러 영역을 PLC의 기본 헤더 파일 + 데이터 주소를 입력하여 PLC로부터 응답을 받는 내용입니다. 읽기 동작 위주로 매뉴얼이 작성되어 있어 해당되는 부분만 발취하였습니다. 쓰기 동작은 헤더.. 2022. 11. 9.
[ 파이썬 ] LS 산전 XGT PLC 시리얼 통신(C-NET) 하기 LS 산전의 PLC와 시리얼(RS232) 통신을 위해 간단한 프로그램을 구현해 보았습니다. C# 코드에서 사용해본 방법을 사이트 참고를 통해 기본 코드를 받아 좀 더 직관적으로 코드를 수정해 보았습니다. 통신 프로토콜( 연속 읽기) 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 ''' pip install pyserial ''' from dataclasses import dataclass, field import serial # 통신용 클래.. 2022. 1. 14.
[ C# ] LS 산전 PLC 이더넷 통신하기-응답 데이터 분석 PLC로부터 명령을 전송한 후 공통점을 비교하여 통신의 속도 향상을 위해 비동기적으로 처리하려고 하거나 코드의 량을 줄이기 위해 데이터 분석을 통해 데이터 처리 효율을 높일 수 있습니다. 아래 가장 많이 쓰는 읽기/ 쓰기 명령들을 비교를 먼저 해보고자 명령 내용들을 캡처해보았습니다. 직접 변수 연속 읽기 응답 직접 변수 개별 쓰기 응답 직접 변수 연속 쓰기 응답 정상 응답일 때 공통점 헤더 명령어(0x55 연속 읽기, 0x59 쓰기) 0x55/59로 읽은 것인지 쓴 것인지를 판단 데이터 타입(0x14블록 타입) 예약 영역(0x00 고정) 에러 상태 없으므로 0x00 블록수 명령 상의 블록 보통 1개 사용 읽은 데이터 개수(읽기 전송) 읽은 데이터(읽기 전용) 에러 응답일 때 공통점 헤더 명령어(0x55 .. 2021. 12. 7.
[ FA ] LS산전 PLC와 PC와 이더넷 통신 설정 LS 이더넷 타입 PLC는 자체 적으로 통신 기능을 가지고 있어 설정에서 변경만 해주면 PC와 통신이 가능합니다. 아래 설정을 따라가시면 통신 설정을 할 수 있습니다. 장치 소개 XGB / XGP 등 이더넷 통신을 지원하는 LS산전의 PLC를 준비합니다. 배선 전원부 전원 모듈에 AC 220V로 전원을 연결합니다. 통신부 이더넷 케이블을 PC와 연결하고 통신을 위한 세팅을 해야 합니다. 허브에 연결할 경우 추가적으로 터치 및 각종 컨트롤러와 통신이 가능합니다. 통신 설정 기본 네트워크에서 [ 내장 FEnet ]를 누르면 기본 설정 창이 띄워집니다. 국번 : 0 IP 주소 서버 모드 : XGT 서버 통신 테스트 테스트를 목적으로 직접 제작한 프로그램입니다. 주소는 192.168.1.10을 기본값으로 두었고.. 2021. 12. 7.
[ C# ] LS 산전 PLC 이더넷 통신하기 - 연속 읽기 앞서 만든 헤드 프레임 뒤에 전송 명령용 프레임 명령을 만들어야 합니다. 읽기 명령은 두 가지 방법이 있는데 개별과 연속의 차이는 개별은 여려 변수를 변경하면서 읽을 수 있고 읽을 데이터의 분포가 크고 데이터의 주소가 다른 경우에 유용 연속은 시작 번지를 지정하고 읽을 개수를 입력하면 연속으로 읽어 올 수 있습니다. 읽을 데이터의 량이 많고 번지가 고정인 경우 유용 일반적으로 한 개씩 읽는 개별 방식을 선호 하지만 데이터의 개수가 많았지만 통신도 많이 해야 되어 속도가 느려지는 단점이 있어 연속으로 바이트 형을 읽은 후 버퍼에 저장해두었다고 비트/워드/더블 워드로 형 변환해서 사용하게 되면 한 번의 통신으로 여러 정보를 한 번에 확인할 수 있습니다. 연속 읽기 명령 확인 고정되는 부분만 적색으로 표시하고.. 2021. 12. 7.
[ C# ] LS 산전 PLC 이더넷 통신-헤더 프레임 만들기 LS PLC의 데이터의 전송은 헤더 + 프레임(읽기/쓰기 명령)을 합쳐서 데이터를 전송하는 방식으로 데이터의 구조를 알아야 정상적으로 통신이 가능합니다, 읽기와 쓰기 명령에 공통적으로 들어가야 할 헤더를 만드는 법을 먼저 확인하고 읽기/쓰기 명령을 만들어 보도록 하겠습니다. 헤더 구조 데이터 헤더는 아래와 같으며 고정은 적색으로 표시하겠습니다. Compay ID(8): 고정값으로 "LSIS-XGT"를 입력합니다. Reserved(2) : 예약 영역으로 0x00 고정입니다 PLC Info(2) : 클라이언트로 접속할 것이므로 0x0000 고정입니다. CPU Info(1) : PLC 모델에 따라 다르나 XGK와 XGB는 0xA0를 쓰면 됩니다. Source of Frame(1) : 클라이언트 이므로 0x33.. 2021. 12. 7.
반응형