Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
25f6a1f43f
|
|||
|
a5f9527f4d
|
@@ -11,7 +11,7 @@ ARG CONF_DIR="${APP_DIR}/config"
|
||||
RUN \
|
||||
apt update && \
|
||||
pip3 install loguru && \
|
||||
pip3 install pymodbus && \
|
||||
pip3 install pymodbus==3.6.3 && \
|
||||
pip3 install paho-mqtt
|
||||
|
||||
RUN \
|
||||
|
||||
@@ -39,17 +39,17 @@ class ModbusHandler(threading.Thread):
|
||||
|
||||
self.processImage.init(digitalOutputBits, digitalInputBits, analogInputBits)
|
||||
|
||||
reg = client.read_coils(0, digitalOutputBits)
|
||||
if isinstance(reg, ModbusIOException):
|
||||
raise Exception(reg)
|
||||
with self.processImage:
|
||||
self.processImage.setCoils(reg.bits)
|
||||
|
||||
while not self.killBill:
|
||||
try:
|
||||
if not client.is_socket_open():
|
||||
client.connect()
|
||||
|
||||
reg = client.read_coils(0, digitalOutputBits)
|
||||
if isinstance(reg, ModbusIOException):
|
||||
raise Exception(reg)
|
||||
readCoils = reg.bits
|
||||
|
||||
reg = client.read_input_registers(0, analogInputBits // 8)
|
||||
if isinstance(reg, ModbusIOException):
|
||||
raise Exception(reg)
|
||||
@@ -64,6 +64,7 @@ class ModbusHandler(threading.Thread):
|
||||
with self.processImage:
|
||||
self.processImage.setAnalogsInputs(analogInputs)
|
||||
self.processImage.setDiscreteInputs(discreteInputs)
|
||||
self.processImage.setCoils(readCoils)
|
||||
if self.processImage.hasPendingInputChanges():
|
||||
self.processImage.notify()
|
||||
if self.processImage.hasPendingOutputChanges():
|
||||
|
||||
Reference in New Issue
Block a user