internal ModbusTcpSession(IModbusProtocol modbusProtocol)
 {
     _modbusProtocol    = modbusProtocol;
     this._slaveAddress = Constants.UndefinedSlaveAddress;
     _transactionId     = 0;
     State = SessionState.Unidentified;
 }
Exemple #2
0
        public ModbusRtuSession(IModbusProtocol modbusProtocol, int slaveAddress)
        {
            _modbusProtocol    = modbusProtocol;
            this._slaveAddress = slaveAddress;

            State = slaveAddress != Constants.UndefinedSlaveAddress
                ? SessionState.Identified
                : SessionState.Unidentified;
        }
Exemple #3
0
        void Test(IModbusScanner scanner, IModbusProtocol protocol, IModbusCommand cmd)
        {
            const int offset  = 2;
            var       wrap    = protocol.Wrap(cmd);
            var       request = new byte[offset + wrap.RequestLength];

            wrap.FillRequest(request, offset);
            scanner.Append(request, offset, wrap.RequestLength);
            Assert.AreEqual(wrap.ToString(), scanner.Scan().ToString());
        }
Exemple #4
0
 void Test(IModbusScanner scanner, IModbusProtocol protocol)
 {
     Test(scanner, protocol, new ModbusF01ReadCoils(0x01, 0x0203, 0x0405));
     Test(scanner, protocol, new ModbusF02ReadInputs(0x01, 0x0203, 0x0405));
     Test(scanner, protocol, new ModbusF03ReadHoldingRegisters(0x01, 0x0203, 0x0405));
     Test(scanner, protocol, new ModbusF04ReadInputRegisters(0x01, 0x0203, 0x0405));
     Test(scanner, protocol, new ModbusF05WriteCoil(0x01, 0x0203, true));
     Test(scanner, protocol, new ModbusF05WriteCoil(0x01, 0x0203, false));
     Test(scanner, protocol, new ModbusF06WriteRegister(0x01, 0x0203, 0x0405));
     Test(scanner, protocol, new ModbusF15WriteCoils(0x01, 0x0203, bo()));
     Test(scanner, protocol, new ModbusF15WriteCoils(0x01, 0x0203, bo(true)));
     Test(scanner, protocol, new ModbusF15WriteCoils(0x01, 0x0203, bo(false)));
     Test(scanner, protocol, new ModbusF15WriteCoils(0x01, 0x0203, bo(true, false, true, false, true, false, true)));
     Test(scanner, protocol, new ModbusF15WriteCoils(0x01, 0x0203, bo(true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false)));
     Test(scanner, protocol, new ModbusF16WriteRegisters(0x01, 0x0203, us()));
     Test(scanner, protocol, new ModbusF16WriteRegisters(0x01, 0x0203, us(0x0405, 0x0607, 0x0809, 0x0A0B)));
     Test(scanner, protocol, new ModbusF16WriteRegisters(0x01, 0x0203, us(0x0405, 0x0607, 0x0809, 0x0A0B, 0x0405, 0x0607, 0x0809, 0x0A0B, 0x0405, 0x0607, 0x0809, 0x0A0B)));
 }
 public ModbusMaster(IModbusStream stream, IModbusProtocol protocol)
 {
     this.stream   = stream;
     this.protocol = protocol;
 }
 public ModbusFwdSession(IModbusProtocol modbusProtocol, Settings settings)
 {
     _modbusSession = new ModbusTcpSession(modbusProtocol, settings.ParentSlaveAddress);
     _settings      = settings;
     ApplySettings();
 }