| 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;                }            }        }    }}
 |