| 123456789101112131415161718192021222324252627282930313233343536373839 | 
							- using PlcSiemens.O;
 
- using PlcSiemens.Protocol.Common;
 
- using PlcSiemens.Protocol.Negotiate;
 
- namespace PlcSiemens.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);
 
-         }
 
-     }
 
- }
 
 
  |