DataBlockInfoHandle.cs 956 B

12345678910111213141516171819202122232425262728293031323334
  1. using System;
  2. using PLC.Siemens.Protocol.Common;
  3. using PLC.Siemens.Protocol.ListBlocks;
  4. using PLC.Siemens.O;
  5. namespace PLC.Siemens.ProtocolHandle
  6. {
  7. public class DataBlockInfoHandle:IPacketHandle
  8. {
  9. public DataBlockInfoRequest Request { get; set; }
  10. public DataBlockInfoResponse Response { get; set; }
  11. public BlockType BlockType { get; set; }
  12. public ushort DB { get; set; }
  13. public ResultCode ResultCode { get; set; }
  14. public DataBlockInfoHandle()
  15. {
  16. ResultCode = ResultCode.Unknown;
  17. Request = new DataBlockInfoRequest();
  18. }
  19. public void Handle(IIsoSender sender)
  20. {
  21. Request.BlockType = BlockType;
  22. Request.DB = DB;
  23. Response = sender.IsoSend<DataBlockInfoRequest, DataBlockInfoResponse> (Request);
  24. if(Response==null) return;
  25. ResultCode = Response.Params.Err;
  26. }
  27. }
  28. }