12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- using Edge.Core.Parser.BinaryParser.Attributes;
- using Edge.Core.Parser.BinaryParser.MessageEntity;
- using System;
- using System.Collections.Generic;
- namespace PressureGage_3051.MessageEntity
- {
- public enum FunctionCode
- {
- /// <summary>
- /// Read Holding Registers
- /// </summary>
- READ_HOLDING_REGISTERS = 0x03,
- /// <summary>
- /// Read Input Registers
- /// </summary>
- READ_INPUT_REGISTERS = 0x04,
- /// <summary>
- /// Preset Single Register
- /// </summary>
- PRESET_SINGLE_REGISTER = 0x06,
- /// <summary>
- /// Preset Multiple Registers
- /// </summary>
- PRESET_MULTIPLE_REGISTER = 0x10,
- }
- public abstract class MessageBase : MessageTemplateBase
- {
- [Format(1, EncodingType.BIN, -9990)]
- public byte Address { get; set; }
- [Format(1, EncodingType.BIN, -9980)]
- public FunctionCode FunctionCode { get; set; }
- [EnumerableFormat("%cascade", -9970)]
- public List<byte> RawDataField { get; set; }
- public static float BytesToFloat(byte[] hexBytes)
- {
- for (int i = 1; i < hexBytes.Length;)
- {
- var t = hexBytes[i - 1];
- hexBytes[i - 1] = hexBytes[i];
- hexBytes[i] = t;
- i += 2;
- }
- return BitConverter.ToSingle(hexBytes, 0);
- }
- }
- }
|