def _GetInputRegistersOverlay(self, addr, qty): """Same as GetInputRegisters, except for register overlay option. The discrete inputs appear to be packed into input registers 0 to 4095. """ if addr > 4095: return self._GetInputRegisters(addr, qty) else: binstr = ModbusDataLib.boollist2bin(self._DiscInputs[addr * 16 : (addr + qty) * 16]) return ModbusDataLib.swapbytes(binstr)
def _GetHoldingRegistersOverlay(self, addr, qty): """Same as GetHoldingRegisters, except for register overlay option. The coils appear to be packed into holding registers 0 to 4095. """ if addr > 4095: return self._GetHoldingRegisters(addr, qty) else: binstr = ModbusDataLib.boollist2bin(self._Coils[addr * 16 : (addr + qty) * 16]) return ModbusDataLib.swapbytes(binstr)
def _SetHoldingRegistersOverlay(self, addr, qty, data): """Same as SetHoldingRegisters, except for register overlay option. The coils appear to be packed into holding registers 0 to 4095. """ if addr > 4095: self._SetHoldingRegisters(addr, qty, data) else: binstr = ModbusDataLib.swapbytes(data) self._Coils[addr * 16 : (addr + qty) * 16] = ModbusDataLib.bin2boollist(binstr)[: qty * 16]
def _SetInputRegistersOverlay(self, addr, qty, data): """Same as SetInputRegisters, except for register overlay option. The discrete inputs appear to be packed into input registers 0 to 4095. """ if addr > 4095: self._SetInputRegisters(addr, qty, data) else: binstr = ModbusDataLib.swapbytes(data) self._DiscInputs[addr * 16 : (addr + qty) * 16] = ModbusDataLib.bin2boollist(binstr)[: qty * 16]
def _GetHoldingRegistersOverlay(self, addr, qty): """Same as GetHoldingRegisters, except for register overlay option. The coils appear to be packed into holding registers 0 to 4095. """ if (addr > 4095): return self._GetHoldingRegisters(addr, qty) else: binstr = ModbusDataLib.boollist2bin( self._Coils[addr * 16:(addr + qty) * 16]) return ModbusDataLib.swapbytes(binstr)
def _SetHoldingRegistersOverlay(self, addr, qty, data): """Same as SetHoldingRegisters, except for register overlay option. The coils appear to be packed into holding registers 0 to 4095. """ if (addr > 4095): self._SetHoldingRegisters(addr, qty, data) else: binstr = ModbusDataLib.swapbytes(data) self._Coils[addr * 16:(addr + qty) * 16] = ModbusDataLib.bin2boollist(binstr)[:qty * 16]
def _GetInputRegistersOverlay(self, addr, qty): """Same as GetInputRegisters, except for register overlay option. The discrete inputs appear to be packed into input registers 0 to 4095. """ if (addr > 4095): return self._GetInputRegisters(addr, qty) else: binstr = ModbusDataLib.boollist2bin( self._DiscInputs[addr * 16:(addr + qty) * 16]) return ModbusDataLib.swapbytes(binstr)
def _SetInputRegistersOverlay(self, addr, qty, data): """Same as SetInputRegisters, except for register overlay option. The discrete inputs appear to be packed into input registers 0 to 4095. """ if (addr > 4095): self._SetInputRegisters(addr, qty, data) else: binstr = ModbusDataLib.swapbytes(data) self._DiscInputs[addr * 16:(addr + qty) * 16] = ModbusDataLib.bin2boollist(binstr)[:qty * 16]
def SetFlags(self, addr, qty, data): """Store the data in a packed binary string to the flags. addr (integer) - Flag address. qty (integer) - Number of flags to set. data (packed binary string) - Data. """ self._Flags[addr : addr + qty] = ModbusDataLib.bin2boollist(data)[:qty]
def SetCoils(self, addr, qty, data): """Store the data in a packed binary string to the coils. addr (integer) - Coil address. qty (integer) - Number of coils to set. data (packed binary string) - Data. """ self._Coils[addr : addr + qty] = ModbusDataLib.bin2boollist(data)[:qty]
def SetCoils(self, addr, qty, data): """Store the data in a packed binary string to the coils. addr (integer) - Coil address. qty (integer) - Number of coils to set. data (packed binary string) - Data. """ self._Coils[addr:addr + qty] = ModbusDataLib.bin2boollist(data)[:qty]
def SetFlags(self, addr, qty, data): """Store the data in a packed binary string to the flags. addr (integer) - Flag address. qty (integer) - Number of flags to set. data (packed binary string) - Data. """ self._Flags[addr:addr + qty] = ModbusDataLib.bin2boollist(data)[:qty]
def SetDiscreteInputs(self, addr, qty, data): """"Store the data in a packed binary string to the discrete inputs. addr (integer) - Discrete input address. qty (integer) - Number of discrete inputs to set. data (packed binary string) - Data. """ self._DiscInputs[addr : addr + qty] = ModbusDataLib.bin2boollist(data)[:qty]
def _SetInputRegisters(self, addr, qty, data): """Store the data in a packed binary string to the input registers. addr (integer) - Input register address. qty (integer) - Number of input registers to set. data (packed binary string) - Data. """ self._InputRegs[addr : addr + qty] = ModbusDataLib.signedbin2intlist(data)[:qty]
def _GetInputRegisters(self, addr, qty): """Return qty input register values as a packed binary string. addr (integer) - Input register address. qty (integer) - Number of input registers desired. Returns a packed binary string. """ return ModbusDataLib.signedintlist2bin(self._InputRegs[addr : addr + qty])
def _SetInputRegisters(self, addr, qty, data): """Store the data in a packed binary string to the input registers. addr (integer) - Input register address. qty (integer) - Number of input registers to set. data (packed binary string) - Data. """ self._InputRegs[addr:addr + qty] = ModbusDataLib.signedbin2intlist(data)[:qty]
def _GetInputRegisters(self, addr, qty): """Return qty input register values as a packed binary string. addr (integer) - Input register address. qty (integer) - Number of input registers desired. Returns a packed binary string. """ return ModbusDataLib.signedintlist2bin(self._InputRegs[addr:addr + qty])
def SetDiscreteInputs(self, addr, qty, data): """"Store the data in a packed binary string to the discrete inputs. addr (integer) - Discrete input address. qty (integer) - Number of discrete inputs to set. data (packed binary string) - Data. """ self._DiscInputs[addr:addr + qty] = ModbusDataLib.bin2boollist(data)[:qty]
def GetCoils(self, addr, qty): """Return qty coil values as a packed binary string. If qty is not a multiple of 8, the remainder of the string will be padded with zeros. addr (integer) - Coil address. qty (integer) - Number of coils desired. Returns a packed binary string. """ return ModbusDataLib.boollist2bin(self._Coils[addr : addr + qty])
def GetDiscreteInputs(self, addr, qty): """Return qty discrete input values as a packed binary string. If qty is not a multiple of 8, the remainder of the string will be padded with zeros. addr (integer) - Discrete input address. qty (integer) - Number of discrete inputs desired. Returns a packed binary string. """ return ModbusDataLib.boollist2bin(self._DiscInputs[addr : addr + qty])
def GetDiscreteInputs(self, addr, qty): """Return qty discrete input values as a packed binary string. If qty is not a multiple of 8, the remainder of the string will be padded with zeros. addr (integer) - Discrete input address. qty (integer) - Number of discrete inputs desired. Returns a packed binary string. """ return ModbusDataLib.boollist2bin(self._DiscInputs[addr:addr + qty])
def GetCoils(self, addr, qty): """Return qty coil values as a packed binary string. If qty is not a multiple of 8, the remainder of the string will be padded with zeros. addr (integer) - Coil address. qty (integer) - Number of coils desired. Returns a packed binary string. """ return ModbusDataLib.boollist2bin(self._Coils[addr:addr + qty])