ReadPortCommand.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. namespace SHJX.Service.PortClient.Commands
  2. {
  3. public class ReadPortCommand : IPortCommand
  4. {
  5. private static readonly object obj_locker = new();
  6. public override object Execute(PortEventArgs args)
  7. {
  8. lock (obj_locker)
  9. {
  10. string writeData = $"{args.NodeId}IS\r";
  11. string res = SendDataReturnString(writeData);
  12. char[] chars;
  13. //if (args.NodeId == 7)
  14. //{
  15. // chars = res.Replace($"{args.NodeId}IS=", string.Empty).Replace("{68", string.Empty).Replace("\r", string.Empty).Reverse().ToArray();
  16. //}
  17. //else
  18. chars = res.Replace($"{args.NodeId}IS=", string.Empty).Replace("\r", string.Empty).Reverse().ToArray();
  19. //if (chars.Length > 8)
  20. //{
  21. // char[] charsret = new char[8];
  22. // int i = 0;
  23. // foreach (var item in chars)
  24. // {
  25. // if (item == '0' || item == '1')
  26. // {
  27. // charsret[i++] = item;
  28. // }
  29. // }
  30. // return charsret;
  31. //}
  32. return chars;
  33. }
  34. }
  35. }
  36. }