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]
예제 #5
0
    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)
예제 #6
0
    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]
예제 #7
0
    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)
예제 #8
0
    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]
예제 #11
0
    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]
예제 #12
0
    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])
예제 #16
0
    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]
예제 #17
0
    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])
예제 #18
0
    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])
예제 #21
0
    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])
예제 #22
0
    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])