modbustcp 5

Raspberry Pi CM4에 ModbusTCP Server 실행해 보기 - 4편(ModbusTCP server와 유량센서와 연동)

안녕하세요.  실제로 연동하는 프로그램을 만들어 보려고 합니다.  이전 ModbusTCP내용과 PulseCount를 잘 조합하면 될 것으로 생각했습니다.그런데 가상환경에서 RPi.GPIO의 add_event_detect() 함수를 사용하면 이벤트를 받아서 처리할 수가 없었습니다.    이전 내용을 참고하시면 pigpio 라이브러리 사용하는 방법을 다시 찾아서 확인하였습니다.최종적로 ModbusTCP와 pigpio를 이용해서 작업을 마무리할 수 있었습니다.  1. 코드 구성 확인 소스코드를 보기 전게 간단하게 맥락을 설명하면 아래와 같습니다.  1) 필요한 라이브러리 및 모듈 pyModbusTCP: ModbusTCP 서버를 구현하기 위한 라이브러리pigpio: GPIO 핀에서 센서 데이터를 안정적으로 읽어..

Raspberry Pi 가상환경(-m venv)에서 add_event_detect 에러 발생 시 차선책(?)

안녕하세요.   ModbusTCP는 가상환경에서 동작하는 것을 이전 글에서 확인했습니다. 그러나 가상환경에서 GPIO 엣지 검출(Pulse)을 하려고 하는데 생각과 달리 잘 되지 않아서 차선책으로 찾은 방법을 남겨두려고 합니다.   그냥 폴링(Polling)으로 하기에는 정확도와 비효율적이라는 생각이 들어서 해결방법은 없을지 찾아보았습니다.  1. 기본 가상환경 생성 및 설정  Python 표준 라이브러리의 venv 모듈을 사용하여 가상 환경(virtual environment)을 생성합니다. 가상 환경은 Python 프로젝트마다 독립적인 패키지와 Python 인터프리터를 사용할 수 있게 해 줍니다.  아래와 같이 가상환경을 생성 후 RPi 라이브러리 설치 (이전 ModbusTCP 확인 때문에, 설치했다..

Raspberry Pi CM4에 ModbusTCP Server 실행해 보기 - 3편(ModbusTCP server 수정된 함수사용)

안녕하세요.  이전 글에서 deprecated 된 get_words() 함수 관한 부분을 완료하지 못하고 마무리했습니다.이 부분을 다시 확인하고 정리해보려고 합니다. 기본 자료형과 구조는 동일합니다.  1. DataBank Class 최신 함수  최신 버전에서는 DataBank를 직접 호출하는 대신, ModbusServer 객체의 data_bank 속성을 통해 접근합니다 1) DataBank의 메모리 구조 DataBank는 Modbus 표준 메모리 구조를 관리하며, 아래 4가지 메모리 타입을 제공합니다: Coils (1-bit): 읽기/쓰기 가능한 디지털 값Discrete Inputs (1-bit): 읽기 전용 디지털 값Holding Registers (16-bit): 읽기/쓰기 가능한 16비트 값Inp..

Raspberry Pi CM4에 ModbusTCP Server 실행해 보기 - 2편(pyModbusTCP 설치)

안녕하세요.   1편에 이어 ModbusTCP에 대해서 확인해 보겠습니다.테스트 환경은 라즈베리파이 CM4에서 진행했습니다. 이번 글의 목표는 간단하게  pyModbusTCP를 설치해 보고 작동하는 되는 것을 확인하는 것입니다.   1. pymodbusTCP 설치      # install the last available release (stable)$ pip install pyModbusTCP    설치하려고 하면 아래와 같이 에러가 발생할 수 있습니다. 그래서 가상의 환경을 만들어 진행합니다.    가상 환경을 만들더라도 네트워크 환경은 동일하게 유지되며, 가상 환경은 Python 패키지와 종속성만을 격리할 뿐, 네트워크 설정이나 시스템 자원에는 영향을 주지 않습니다. 1) 가상 환경 생성 $ py..

Raspberry Pi CM4에 ModbusTCP Server 설치해 보기 - 1편(ModbusTCP 기본지식)

안녕하세요.   ModbusTCP Server 샘플을 만들어 보기 전에 간단하게 ModbusTCP 이해가 필요할 것 같아서 자료를 찾아보았습니다. 다음 시간에 실제적으로 설치하고 프로그래밍하는 내용을 남겨보려고 합니다.  1. Modbus 프로토콜 개요  Modbus는 산업용 통신 프로토콜로, 공정 자동화에서 주로 사용되며 특히 장비 간의 간단하고 신뢰성 있는 데이터 교환을 위해 설계되었습니다. Modbus는 Master-Slave 방식으로 동작하며, 주로 센서, PLC(Programmable Logic Controller), SCADA(Supervisory Control and Data Acquisition) 시스템과 같은 장치들이 Modbus를 통해 서로 데이터를 주고받습니다.     통신 구조: M..