Esempio n. 1
0
 /// <summary>
 /// 通过“消息ID”和“参数结构体对象”执行操作
 /// </summary>
 /// <param name="msgId">消息ID的枚举值</param>
 /// <param name="parameter">参数结构体对象</param>
 /// <returns></returns>
 public Byte[] OperateCommand(MessageId msgId, Parameter parameter)
 {
     return GetDatagram(msgId,
         new List<Parameter> {
             parameter
         }
     );
 }
Esempio n. 2
0
        /// <summary>
        /// 获取参数对象列表
        /// </summary>
        /// <param name="byteArray">消息报文字节数组</param>
        /// <param name="index">数组索引</param>
        /// <param name="pmtList">参数对象列表</param>
        private static void GetParameterList(Byte[] byteArray, int index, ref List<Parameter> pmtList)
        {
            if (byteArray.Length > index + 2)
            {
                Parameter parameter = new Parameter(); ;
                List<Byte> byteList = new List<Byte>();

                parameter.Type = (ParameterType)((byteArray[index] << 8) + byteArray[index + 1]);
                parameter.Length = byteArray[index + 2];

                for (int j = index + 3; j < index + parameter.Length + 3; j++)
                {
                    byteList.Add(byteArray[j]);
                }

                parameter.Value = byteList;
                pmtList.Add(parameter);

                GetParameterList(byteArray, index + parameter.Length + 3, ref pmtList);
            }
        }
Esempio n. 3
0
 /// <summary>
 /// 通过“消息ID”和“参数结构体对象”获取消息报文字节数组
 /// </summary>
 /// <param name="msgId">
 /// 消息ID
 ///     <para>UInt16类型,长度为2个字节</para>
 /// </param>
 /// <param name="parameter">参数结构体对象</param>
 /// <returns></returns>
 protected Byte[] GetDatagram(MessageId msgId, Parameter parameter)
 {
     List<Parameter> pmtList = new List<Parameter>();
     pmtList.Add(parameter);
     return GetDatagram(msgId, pmtList);
 }