Exemplo n.º 1
0
 public void GetAsciiBytesFromBytes()
 {
     byte[] buf            = { 2, 5 };
     byte[] expectedResult = { 48, 50, 48, 53 };
     byte[] result         = ModbusUtility.GetAsciiBytes(buf);
     Assert.AreEqual(expectedResult, result);
 }
Exemplo n.º 2
0
 public void GetAsciiBytesFromUshorts()
 {
     ushort[] buf            = { 300, 400 };
     byte[]   expectedResult = { 48, 49, 50, 67, 48, 49, 57, 48 };
     byte[]   result         = ModbusUtility.GetAsciiBytes(buf);
     Assert.AreEqual(expectedResult, result);
 }
Exemplo n.º 3
0
        internal override byte[] BuildMessageFrame(IModbusMessage message)
        {
            List <byte> frame = new List <byte>();

            frame.Add((byte)':');
            frame.AddRange(ModbusUtility.GetAsciiBytes(message.SlaveAddress));
            frame.AddRange(ModbusUtility.GetAsciiBytes(message.ProtocolDataUnit));
            frame.AddRange(ModbusUtility.GetAsciiBytes(ModbusUtility.CalculateLrc(message.MessageFrame)));
            frame.AddRange(Encoding.ASCII.GetBytes(Environment.NewLine.ToCharArray()));

            return(frame.ToArray());
        }
Exemplo n.º 4
0
        public override byte[] BuildMessageFrame(IModbusMessage message)
        {
            var msgFrame = message.MessageFrame;

            var msgFrameAscii = ModbusUtility.GetAsciiBytes(msgFrame);
            var lrcAscii      = ModbusUtility.GetAsciiBytes(ModbusUtility.CalculateLrc(msgFrame));
            var nlAscii       = Encoding.UTF8.GetBytes(Modbus.NewLine.ToCharArray());

            var frame = new MemoryStream(1 + msgFrameAscii.Length + lrcAscii.Length + nlAscii.Length);

            frame.WriteByte((byte)':');
            frame.Write(msgFrameAscii, 0, msgFrameAscii.Length);
            frame.Write(lrcAscii, 0, lrcAscii.Length);
            frame.Write(nlAscii, 0, nlAscii.Length);

            return(frame.ToArray());
        }
Exemplo n.º 5
0
 public void GetAsciiBytesFromEmpty()
 {
     Assert.AreEqual(new byte[] { }, ModbusUtility.GetAsciiBytes(new byte[] { }));
     Assert.AreEqual(new byte[] { }, ModbusUtility.GetAsciiBytes(new ushort[] { }));
 }