DataBlockInfoHandle.cs 931 B

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