frappy-psi.logo: fix IO.communicate reply

This commit is contained in:
zolliker 2025-05-27 15:41:33 +02:00
parent 0dd13d7ef9
commit f9880f1473
2 changed files with 18 additions and 8 deletions

View File

@ -1,6 +1,14 @@
turbo_uri = '/dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.1:1.0-port0'
press_uri = '/dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2:1.0-port0'
itc_uri = '/dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0-port0'
# by ID (independent of plug location)
turbo_uri = '/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A601PCGF-if00-port0'
press_uri = '/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH07445U-if00-port0'
itc_uri = '/dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller_D-if00-port0'
lsc_uri = '192.168.1.2:7777'
# by plug location:
#turbo_uri='/dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.1:1.0-port0'
#press_uri = '/dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2:1.0-port0'
#itc_uri = '/dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0-port0'
# over USB (does not work anymore)
#lsc_uri='serial:///dev/ttyACM1?baudrate=57600+parity=odd+bytesize=7+stopbits=1',
Node('dil5.psi.ch',
@ -133,6 +141,7 @@ Mod('p2max',
'frappy_psi.logo.safetyfeatureParam',
'Safety Feature Param',
io = 'io',
target = 2000,
vm_address ="VW8",
)
@ -140,6 +149,7 @@ Mod('pcond',
'frappy_psi.logo.safetyfeatureParam',
'Safety Feature Param',
io = 'io',
target = 1800,
vm_address ="VW10",
)
@ -147,7 +157,7 @@ Mod('p5min',
'frappy_psi.logo.safetyfeatureParam',
'Safety Feature Param',
io = 'io',
target = 200,
target = 0,
vm_address ="VW12",
)
@ -163,7 +173,7 @@ Mod('p5max',
Mod('io_ls273',
'frappy_psi.ls372.StringIO',
'io for Ls372',
uri='serial:///dev/ttyACM1?baudrate=57600+parity=odd+bytesize=7+stopbits=1',
uri=lsc_uri,
)
Mod('sw',
'frappy_psi.ls372.Switcher',

View File

@ -70,7 +70,7 @@ class IO(Communicator):
self.comLog('> %s', cmd[0])
reply = self._plc.read(cmd[0])
self.comLog('< %s', reply)
return reply
return str(reply)
except Exception as e:
if self._plc:
self.comLog('? %r', e)
@ -84,11 +84,11 @@ class Snap7Mixin(HasIO):
ioclass = IO
def get_vm_value(self, vm_address):
return self.io.communicate(vm_address)
return literal_eval(self.io.communicate(vm_address))
def set_vm_value(self, vm_address, value):
return self.io.communicate(f'{vm_address} {value}')
return literal_eval(self.io.communicate(f'{vm_address} {value}'))
class Pressure(Snap7Mixin, Readable):
vm_address = Property('VM address', datatype= StringType())