데이터 7

pymodbus

python에서 thread를 사용해서 모드버스 구동하여 LS 산전(modbus)모드를 구축해보았다. 0. 초기 설정 이미 설정되어 있는 부분은 LS 산전 PLC에서 아이피, modbus 버전, 회로이다. 간단한 회로를 구성했으며 아래에 이미지를 추가하겠다. 아래는 PLC 셋팅을 위한 XG5000의 설정부분이다. modbus server로 셋팅했고 bit단위는 PLC 메모리의 M부분에 word단위는 D부분을 통해 통신을 하겠다는 소리이다.(이말은 그 외의 메모리는 PC에서 접근할 수 없다는 소리이다.) 뭐 회로는 간단하에 온도 모듈인 XGF-RD4A가 준비가 되었다면 온도 측정을 하여서 D메모리에 10초 단위로 저장을 해주는 회로로 만들었다. -> 나중에는 회로도 바꿀 예정이지만 지금은 간단하게 구축했다..

데이터/Modbus 2021.03.18

modbus 자주쓰는 function code 정리

1, 2, 3, 4, 5, 6, 15(0F), 16(10) 1. 01 (0x01) Read Coils 이 기능 코드는 원격 장치에서 코일의 연속 상태를 1 ~ 2000까지 판독하는 데 사용됩니다. 요청 PDU는 시작 주소, 즉 지정된 첫 번째 코일의 주소 및 코일 수를 지정합니다. PDU 코일은 0부터 처리됩니다. 따라서 번호가 1-16인 코일은 0-15로 지정됩니다. 응답 메시지의 코일은 데이터 필드의 비트당 하나의 코일로 포장됩니다. 상태는 1= ON 및 0= OFF로 표시됩니다. 첫 번째 데이터 바이트의 LSB는 쿼리에서 어드레스된 출력을 포함합니다. 다른 코일은 이 바이트의 고차 종단을 향해, 저차 바이트에서 고차 바이트로 이어진다. 반환된 출력 양이 8의 배수가 아닌 경우 최종 데이터 바이트의 ..

데이터/Modbus 2021.03.08

Modbus Protocol

Modbus Protocol Modbus protocol은 데이터 전송 수단과 무관하며, 데이터를 구성하고 해석하도록 하기 위 해 정의된 응용 프로토콜이다. Master는 Modbus protocol에서 수립된 포맷에 맞추어 request packet을 slave 장치(단일 혹은 broadcast)의 address에 전송하는데 Function code의 정의에 따라 요청할 데이터와 에러 체크 코드를 전송한다. Slave 장치의 response 또한 Modbus protocol을 사용하여 구성된다. 이는 동작이 수행되었음을 확인하는 기능을 수행하며 요청된 결과에 따른 데이터와 에러 체크 코드를 포함한다. 만약 메시지 수신 시 에 러가 발생하거나 slave 장치에서 요청에 따른 동작을 수행할 수 없을 경우 ..

데이터/Modbus 2021.03.05

산전, 미쓰비시 plc IP,Port 설정 후 python 연결 (pymodbus)

Q64RD의 CH1~CH3에서 온도 변환 디지털값을 읽는 프로그램입니다. CH1은 샘플링 처리, CH2는 500회 마다 평균 처리, CH3은 1000ms 마다 평균 처리를 실 행하여, 쓰기 에러가 발생한 경우 에러 코드를 BCD로 표시합니다. 내가 공부하고 있는 내용을 차근차근 적을 것이므로 미완일 수 있다. 먼저 pdf를 한번 보자. 위의 ppt 91페이지부터 modbus에 대한 설명을 참고해서 func_code를 작성하자. pdf 밑에 modbus TCP conding 실습도 있으니 확인하자. 나의 연구실에 셋팅 되어 있는 PLC -> PC 환경은 PLC -utp-> 허브 -utp-> 허브 -utp-> PC 이다. 먼저IP, Port 설정을 해보자. 산전 산전은 기본 포트 : 502 IP설정을 위해서..

데이터/Modbus 2021.02.28

미쓰비시 PLC 데이터 교신 형태 (QnA호환3E )

부디 이것 때문에 머리 아픈 사람이 나밖에 없기를 바라며 - 미쓰비시 PLC 에서 modbus 호환 모델이 없을 경우 c에서 데이터를 받아오자 먼저 자신의 프레임 종류를 알아야 한다. 나는 Q시리즈E71를 사용하고 있다. -> QnA호환3E프레임 LRESULT CMFCApplication1Dlg::WMUSER_SEND_DATA(WPARAM wParam, LPARAM lParam) { CString SUB_HEAD; CString NETWORK_NO; CString PLC_NO; CString IO_NO; CString STATION_NO; CString DATA_LENGTHW; CString DATA_LENGTHR; CString CPU_WATCHDOG; CString W_COMMAND; CString ..

데이터/PLC 2021.02.25

PLC 개념, 기능

PLC(Programmabel Logic Controller) 자동제어반 내의 릴레이, 타이머, 카운터 등의 기능을 드랜지스터 등의 반도체소자로 대체하여 기본적인 시퀀스 제어 기능에 연산 등의 기능을 추가하여 프로그램제어가 가능하도록 한 범용 디지털 전자제어장치이다. 시퀀스 컨트롤러의 특징 1. 실시간 처리 능력이 있음 2. 취급이 용이 3. 경제성이 우수 4. 진동과 노이즈에 대한 내환경적 특성 PLC 기능 구분 기능 비고(기타 설명) Sequencing 디지털 입, 출력 제어 각종 스위치, 센서의 ON/OFF 정보 등 Logic 연산 AND, OR, NOT, XOR 등 Bit, Word 단위로 연산 산술 연산 ADD, SUB, MUL, DIV, PID 연산등 실수의 가감승제, 삼각함수 연산 등 Tim..

데이터/PLC 2021.02.02

Modbus란

사물 A와 B가 존재할 때 이 두개가 통신을 하기 위해서는 먼저 물리적 경로가 필요하다. 이 물리적 경로는 유선일수도 있고 무선일 수도 있는데 이 경로에서는 Bit 단위의 통신이 이루어진다. 이것을 시리얼통신이라고 한다. 이러한 시리얼통신은 여러가지가 존재하는데 대표적으로 RS232, RS422, RS485 등이 있다. 병렬(Parallel) 통신의 모식도 직렬(Serial) 통신의 모식도 간단하게 RS232, RS422, RS485를 살펴보자 RS232 - 1:1 통신으로 외부의 영향을 많이 받아 안좋다. 기계끼리 바로 옆에 있는 것이 아니면 사용하지말자 RS422 - 아주 좋다. 보냄과 동시에 받을 수 있다(전이중 구조). 통신 할 때 선이 4개닥 사용. 비용, 공간이 많이든다. RS485 - 가장 ..

데이터/Modbus 2021.02.02