| 1234567891011121314151617181920212223242526272829303132333435363738394041 | 
							- using System.Collections.Generic;
 
- using PLC.Siemens.Protocol.Common;
 
- using PLC.Siemens.Protocol.Negotiate;
 
- using PLC.Siemens.O;
 
- namespace PLC.Siemens.ProtocolHandle
 
- {
 
-     public class NegotiateHandle : IPacketHandle
 
-     {
 
-         public ushort PduRequest { get; set; }
 
-         public IList<NegotiateRequest> Requests { get; set; }
 
-         public IList<NegotiateResponse> Responses { get; set; }
 
-         public ResultCode ResultCode { get; set; }
 
-         public NegotiateHandle()
 
-         {
 
-             ResultCode = ResultCode.Unknown;
 
-             PduRequest = 480;
 
-             Requests = new List<NegotiateRequest>();
 
-             Responses = new List<NegotiateResponse>();
 
-         }
 
-         public void Handle(IIsoSender sender)
 
-         {
 
-             var negotiateRequest = new NegotiateRequest();
 
-             negotiateRequest.PduRequestLength = PduRequest;
 
-             Requests.Add(negotiateRequest);
 
-             var response = sender.IsoSend<NegotiateRequest, NegotiateResponse>(negotiateRequest);
 
-             if (response == null)
 
-             {
 
-                 ResultCode = ResultCode.PduConfirmFault;
 
-                 return;
 
-             }
 
-             ResultCode = response.Header.Error;
 
-             if(ResultCode==ResultCode.OK)
 
-                 Responses.Add(response);
 
-         }
 
-         
 
-     }
 
- }
 
 
  |