123456789101112131415161718192021222324252627282930313233343536 |
- using System;
- using System.Collections.Generic;
- using PLC.Siemens.Protocol.Common;
- using PLC.Siemens.Protocol.ReadData;
- using PLC.Siemens.Protocol.WriteData;
- using PLC.Siemens.O;
- namespace PLC.Siemens.ProtocolHandle
- {
- public class WriteMultiHandle:IPacketHandle
- {
- public ushort PduLength { get; set; }
- public List<DataItem> DataItem { get; set; }
- public ResultCode ResultCode { get; private set; }
- public void Handle(IIsoSender sender)
- {
- WriteRequest write = new WriteRequest();
- write.DataItems = DataItem;
- var res = sender.IsoSend<WriteRequest, WriteResponse>(write);
- ResultCode = res.Header.Error;
- if (ResultCode == ResultCode.OK)
- {
- for (int i = 0; i < res.Data.Length; i++)
- {
- var reqItem = DataItem[i];
- var resItem = res.Data[i];
- reqItem.Err = (ResultCode)resItem.ReturnCode;
- if (reqItem.Err == ResultCode.OKFF)
- reqItem.Err = ResultCode.OK;
- }
- }
- }
- }
- }
|