public void FuncReadHoldingRegistersDataTest() { List <byte> expected = new List <byte>(); expected.Add(0xAA); expected.Add(0xBB); expected.Add(0xCC); expected.Add(0xDD); MemoryMap memory = new MemoryMap(); memory.AddHoldingRegister(new Register(0) { Value = 100 }); memory.AddHoldingRegister(new Register(1) { Value = 100 }); memory.SetHoldingRegister(0, 0xAABB); memory.SetHoldingRegister(1, 0xCCDD); FunctionsImplementation imp = new FunctionsImplementation(memory); List <byte> response = imp.FuncReadHoldingRegisters(0, 2); for (int i = 2; i < response.Count; i++) { Assert.AreEqual(expected[i - 2], response[i]); } }
public void FuncReadHoldingRegistersByteCountTest() { byte expected = 0x04; MemoryMap memory = new MemoryMap(); memory.AddHoldingRegister(new Register(0) { Value = 100 }); memory.AddHoldingRegister(new Register(1) { Value = 100 }); memory.SetHoldingRegister(0, 0xAABB); memory.SetHoldingRegister(1, 0xCCDD); FunctionsImplementation imp = new FunctionsImplementation(memory); List <byte> response = imp.FuncReadHoldingRegisters(1, 2); Assert.AreEqual(expected, response[1]); }
public void ReadWriteRegTest() { byte func = 0x03; byte byteCount = 0x04; byte reg1ValHi = 0xAA; byte reg1ValLo = 0xBB; byte reg2ValHi = 0xCC; byte reg2ValLo = 0xDD; List <byte> response; List <byte> expected = new List <byte>(); expected.Add(func); expected.Add(byteCount); expected.Add(reg1ValHi); expected.Add(reg1ValLo); expected.Add(reg2ValHi); expected.Add(reg2ValLo); MemoryMap memory = new MemoryMap(); memory.AddHoldingRegister(new Register(0) { Value = 100 }); memory.AddHoldingRegister(new Register(1) { Value = 100 }); FunctionsImplementation imp = new FunctionsImplementation(memory); imp.FuncWriteSingleRegister(0, 0xAABB); imp.FuncWriteSingleRegister(1, 0xCCDD); response = imp.FuncReadHoldingRegisters(0, 2); for (int i = 0; i < response.Count; i++) { Assert.AreEqual(expected[i], response[i]); } }