| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | 
							- using System;
 
- using PLC.Siemens.Protocol.Common;
 
- using PLC.Siemens.Protocol.Upload;
 
- using ByteBuffer = Core.Communication.Transport.ByteBuffer;
 
- using PLC.Siemens.O;
 
- namespace PLC.Siemens.ProtocolHandle
 
- {
 
-     public class UploadHandle:IPacketHandle
 
-     {
 
-         public UploadRequest Request { get; set; }
 
-         public UploadResponse Response { get; set; }
 
-         public byte UploadID { get; set; }
 
-         public ResultCode ResultCode { get; set; }
 
-         public UploadHandle()
 
-         {
 
-             Request = new UploadRequest();
 
-         }
 
-         public void Handle(IIsoSender sender)
 
-         {
 
-             Request.UploadID = UploadID;
 
-             
 
-             Response = sender.IsoSend<UploadRequest, UploadResponse>(Request);
 
-             
 
-             ResultCode = Response.Header.Error;
 
-             bool done = Response.Params.EoU == 0;
 
-             ByteBuffer byteBuffer = ByteBuffer.Allocate();
 
-             byteBuffer.Push(Response.Data.Datas);
 
-             while (!done && ResultCode == ResultCode.OK)
 
-             {
 
-                 Response = sender.IsoSend<UploadRequest, UploadResponse>(Request);
 
-                 ResultCode = Response.Header.Error;
 
-                 byteBuffer.Push(Response.Data.Datas);
 
-                 done = Response.Params.EoU == 0;
 
-             }
 
-             Request.UploadID = UploadID;
 
-             Request.PduType = PduType.PduEndUpload;
 
-             Response = sender.IsoSend<UploadRequest, UploadResponse>(Request);
 
-             ResultCode = Response.Header.Error;
 
-             done = Response.Params.EoU == 0;
 
-         }
 
-     }
 
- }
 
 
  |