/// <summary> /// Write Data To PLC /// </summary> /// <param name="Data"></param> /// <param name="dataList"></param> /// <returns>Error Code</returns> public override int WriteData(TransferMsg Data, List <TagMessagePLC> dataList) { int returncode = -1; foreach (TagMessagePLC taginfo in dataList) { if (taginfo.IsBit) { returncode = WriteBitVal(taginfo.Offset, taginfo.Size, taginfo.RawData, taginfo.DeviceName); } else { returncode = WriteWordVal(taginfo.Offset, taginfo.Size, taginfo.RawData, taginfo.DeviceName); } if (returncode == 0) { DMLogMessage _DM = new DMLogMessage(new List <TagMessagePLC> { taginfo }.ToArray(), Data, nameof(MCProtocol)) { Direct = emDirect.H2E }; _DMLog.Info(_DM); } else { string[] arValueHex = Enumerable.Range(0, taginfo.RawData.Length).Select(x => taginfo.RawData[x].ToString("X4")).ToArray(); LogMessage LM = new LogMessage(Data, nameof(MCProtocol)) { EqpID = Data.EqpID, Direct = emDirect.H2E }; LM.Message = $"Write Data Error! code:0x{returncode.ToString("X")} Device={taginfo.DeviceName },Size={taginfo.Size},DeviceValue={string.Join(" ", arValueHex)}"; _Logger.Error(LM); } } return(returncode); }
public override long SetData(TransferMsg Msg) { throw new NotImplementedException(); }