12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- using ProjectManagementSystem.Device.Core;
- using ProjectManagementSystem.Device.Extenions;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ProjectManagementSystem.Device.Command
- {
- public class CommandRoller : IDeviceCommand
- {
- private byte[] buffer = new byte[40] { 0x50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x53 };
- public byte TargetID { get; set; }
- public byte Function { get; set; } = 0x11;
- public ushort Operate { get; set; } = 0x0150;
- public ushort ActionCode { get; set; }
- public byte[] Serialization()
- {
- var operateBytes = BitConverter.GetBytes(Operate);
- var actionBytes = BitConverter.GetBytes(ActionCode);
- buffer[0] = 0x50;
- buffer[1] = 0x01;//请求序号
- buffer[2] = 0x15;//本机ID
- buffer[3] = TargetID; //目标ID
- buffer[4] = Function;//功能码
- buffer[5] = 0x20;//数据长度
- buffer[6] = 0x00;//端口输出
- buffer[7] = 0x00;//端口输出
- buffer[8] = 0x00;//端口输出
- buffer[9] = 0x00;//端口输出
- buffer[10] = 0x00;//操作参数2
- buffer[11] = 0x00;//操作参数2
- buffer[12] = 0x00;//操作参数3
- buffer[13] = 0x00;//操作参数3
- buffer[14] = operateBytes[1];//操作码 高位
- buffer[15] = operateBytes[0];//操作码 低位
- buffer[16] = actionBytes[1];//操作内容 高位
- buffer[17] = actionBytes[0];//操作内容 低位
- buffer[18] = 0x01;//操作执行标志 0-停止 1-执行
- buffer[19] = 0x01;//操作中断标志 1-正常 2-暂停
- buffer[20] = 0x00;//备用
- buffer[21] = 0x00;//备用
- //buffer[22] = 0x75;//滚筒超时
- //buffer[23] = 0x30;//滚筒超时 1-30000单位0.1s (0对应PLC的默认值,>30000屏蔽)
- //buffer[24] = 0x00;//滚筒速度
- //buffer[25] = 0x32;//滚筒速度 0-不选择 全0则使用PLC默认值单位:r / min 0--60
- buffer[22] = 0x00;//滚筒超时
- buffer[23] = 0x00;//滚筒超时 1-30000单位0.1s (0对应PLC的默认值,>30000屏蔽)
- buffer[24] = 0x00;//滚筒速度
- buffer[25] = 0x00;//滚筒速度 0-不选择 全0则使用PLC默认值单位:r / min 0--60
- buffer[26] = 0x00;//备用
- buffer[27] = 0x00;//备用
- buffer[28] = 0x00;//备用
- buffer[29] = 0x00;//备用
- buffer[30] = 0x00;//备用
- buffer[31] = 0x00;//备用
- buffer[32] = 0x00;//备用
- buffer[33] = 0x00;//备用
- buffer[34] = 0x00;//备用
- buffer[35] = 0x00;//备用
- buffer[36] = 0x00;//备用
- buffer[37] = 0x00;//备用
- buffer[38] = buffer.XOR_Check(38);//异或
- return buffer;
- }
- }
- }
|