diff --git a/revpimodio2/__init__.py b/revpimodio2/__init__.py index 3e2ec10..b668d20 100644 --- a/revpimodio2/__init__.py +++ b/revpimodio2/__init__.py @@ -96,7 +96,7 @@ def consttostr(value) -> str: # Benötigte Klassen importieren -from .pictory import AIO, COMPACT, DI, DO, DIO, FLAT +from .pictory import ProductType, AIO, COMPACT, DI, DO, DIO, FLAT from .helper import Cycletools, EventCallback from .modio import RevPiModIO, RevPiModIODriver, RevPiModIOSelected, run_plc from .netio import RevPiNetIO, RevPiNetIODriver, RevPiNetIOSelected diff --git a/revpimodio2/device.py b/revpimodio2/device.py index 12ac290..e61dacc 100644 --- a/revpimodio2/device.py +++ b/revpimodio2/device.py @@ -8,6 +8,8 @@ __author__ = "Sven Sager" __copyright__ = "Copyright (C) 2020 Sven Sager" __license__ = "LGPLv3" +from .pictory import ProductType + class DeviceList(object): """Basisklasse fuer direkten Zugriff auf Device Objekte.""" @@ -340,7 +342,7 @@ class Device(object): iotype, "little", # Bei AIO (103) signed auf True setzen - self._producttype == 103 + self._producttype == ProductType.AIO ) # IO registrieren diff --git a/revpimodio2/modio.py b/revpimodio2/modio.py index c6e6d93..c3a9d54 100644 --- a/revpimodio2/modio.py +++ b/revpimodio2/modio.py @@ -18,6 +18,8 @@ __author__ = "Sven Sager" __copyright__ = "Copyright (C) 2020 Sven Sager" __license__ = "LGPLv3" +from .pictory import ProductType + class RevPiModIO(object): """ @@ -236,25 +238,25 @@ class RevPiModIO(object): if device["type"] == "BASE": # Basedevices pt = int(device["productType"]) - if pt == 95: + if pt == ProductType.REVPI_CORE: # RevPi Core dev_new = devicemodule.Core( self, device, simulator=self._simulator ) self.core = dev_new - elif pt == 105: + elif pt == ProductType.REVPI_CONNECT: # RevPi Connect dev_new = devicemodule.Connect( self, device, simulator=self._simulator ) self.core = dev_new - elif pt == 104: + elif pt == ProductType.REVPI_COMPACT: # RevPi Compact dev_new = devicemodule.Compact( self, device, simulator=self._simulator ) self.core = dev_new - elif pt == 135: + elif pt == ProductType.REVPI_FLAT: # RevPi Flat dev_new = devicemodule.Flat( self, device, simulator=self._simulator @@ -268,7 +270,7 @@ class RevPiModIO(object): elif device["type"] == "LEFT_RIGHT": # IOs pt = int(device["productType"]) - if pt == 96 or pt == 97 or pt == 98: + if pt == ProductType.DIO or pt == ProductType.DI or pt == ProductType.DO: # DIO / DI / DO dev_new = devicemodule.DioModule( self, device, simulator=self._simulator diff --git a/revpimodio2/pictory.py b/revpimodio2/pictory.py index 145af7d..ca07a5b 100644 --- a/revpimodio2/pictory.py +++ b/revpimodio2/pictory.py @@ -14,6 +14,37 @@ __license__ = "LGPLv3" # - RevPiConCan_20180425_1_0.rap # - RevPiGateCANopen_20161102_1_0.rap +class ProductType: + GATEWAY_CAN_OPEN = 71 + GATEWAY_CCLINK = 72 + GATEWAY_DEV_NET = 73 + GATEWAY_ETHERCAT = 74 + GATEWAY_ETHERNET_IP = 75 + GATEWAY_POWERLINK = 76 + GATEWAY_PROFIBUS = 77 + GATEWAY_PROFINET_RT = 78 + GATEWAY_PROFINET_IRT = 79 + GATEWAY_CAN_OPEN_MASTER = 80 + GATEWAY_SERCOS3 = 81 + GATEWAY_SERIAL = 82 + GATEWAY_PROFINET_SITARA = 83 + GATEWAY_PROFINET_IRT_MASTER = 84 + GATEWAY_ETHERCAT_MASTER = 85 + GATEWAY_MODBUS_RTU = 92 + GATEWAY_MODBUS_TCP = 83 + GATEWAY_DMX = 199 + + DIO = 96 + DI = 97 + DO = 98 + AIO = 103 + MIO = 118 + + REVPI_CORE = 95 + REVPI_COMPACT = 104 + REVPI_CONNECT = 105 + REVPI_FLAT = 135 + class AIO: """Memory value mappings for RevPi AIO 1.0 (RevPiAIO_20170301_1_0.rap)."""