public override void Write(MCDataProcessor target) { var data = this.Data; var count = data.Length; if (target.DataCode == CommunicationDataCode.BINARY) { target.WriteUShort(this.Offset); target.WriteByte(0); DeviceCodeSerializer.Write(this.DeviceCode, target); } else if (target.DataCode == CommunicationDataCode.ASCII) { DeviceCodeSerializer.Write(this.DeviceCode, target); target.WriteUShort(this.Offset); target.WriteByte(0); } target.WriteUShort((ushort)count); for (int i = 0; i < count; i++) { target.WriteUShort(data[i]); } }
public override void Write(MCDataProcessor target) { target.WriteByte(this.NetworkNumber); target.WriteByte(this.PLCNumber); target.WriteUShort(this.IONumber); target.WriteByte(this.StationNumber); target.WriteUShort(this.CommandCode); target.WriteUShort(this.SubCommandCode); }
public override void Write(MCDataProcessor target) { if (target.DataCode == CommunicationDataCode.BINARY) { target.WriteUShort(this.Offset); target.WriteByte(0); DeviceCodeSerializer.Write(this.DeviceCode, target); } else if (target.DataCode == CommunicationDataCode.ASCII) { DeviceCodeSerializer.Write(this.DeviceCode, target); target.WriteByte(0); target.WriteUShort(this.Offset); } target.WriteUShort(this.Count); }
public static void Write(DeviceCode code, MCDataProcessor target) { if (target.DataCode == CommunicationDataCode.BINARY) { target.WriteByte((byte)code); } else if (target.DataCode == CommunicationDataCode.ASCII) { bool prev = target.IgnoreConvert; try { target.IgnoreConvert = true; var bytes = Encoding.Default.GetBytes(code.ToString().PadRight(2, '*')); target.WriteBytes(bytes); } finally { target.IgnoreConvert = prev; } } }