RorzeRobot751ReadHandler.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using Aitex.Core.RT.Log;
  2. using athosRT.tool;
  3. using MECF.Framework.Common.Communications;
  4. namespace athosRT.Modules.Robot
  5. {
  6. public class RorzeRobot751ReadHandler : RorzeRobot751Handler
  7. {
  8. public RorzeRobot751ReadHandler(RorzeRobot751 robot, string command, string parameter = null)
  9. : base(robot, command, parameter)
  10. {
  11. string text = (string.IsNullOrEmpty(parameter) ? parameter : "");
  12. LOG.Write(robot.Name + " execute read command " + command + " " + text + " in ASCII.", 2, "D:\\sorter\\trunk\\Efem\\Jet\\Jet_001_2P_Jet\\EfemRT\\Devices\\Rorze751\\RorzeRobot751Handler.cs", ".ctor", 87);
  13. }
  14. public override bool HandleMessage(MessageBase msg, out bool transactionComplete)
  15. {
  16. RorzeRobot751Message rorzeRobot751Message = msg as RorzeRobot751Message;
  17. LogObject.Info("Robot", $"Robot Handle Message: {rorzeRobot751Message.RawMessage}" + $"{(rorzeRobot751Message.IsError ? $",Error:{rorzeRobot751Message.ErrorCode}" : "")}");
  18. if (!rorzeRobot751Message.RawMessage.Contains(_command))
  19. {
  20. transactionComplete = false;
  21. return false;
  22. }
  23. if (rorzeRobot751Message.IsEvent)
  24. {
  25. transactionComplete = false;
  26. return false;
  27. }
  28. if (!rorzeRobot751Message.IsAck)
  29. {
  30. base.Device.OnError("GetErrorMsg:" + rorzeRobot751Message.RawMessage);
  31. transactionComplete = true;
  32. return true;
  33. }
  34. base.Device.ParseReadData(_command, rorzeRobot751Message.Data);
  35. transactionComplete = true;
  36. return true;
  37. }
  38. }
  39. }