namespace SHJX.Service.PortClient.Commands { public class ReadPortCommand : IPortCommand { private static readonly object obj_locker = new(); public override object Execute(PortEventArgs args) { lock (obj_locker) { string writeData = $"{args.NodeId}IS\r"; string res = SendDataReturnString(writeData); char[] chars; //if (args.NodeId == 7) //{ // chars = res.Replace($"{args.NodeId}IS=", string.Empty).Replace("{68", string.Empty).Replace("\r", string.Empty).Reverse().ToArray(); //} //else chars = res.Replace($"{args.NodeId}IS=", string.Empty).Replace("\r", string.Empty).Reverse().ToArray(); //if (chars.Length > 8) //{ // char[] charsret = new char[8]; // int i = 0; // foreach (var item in chars) // { // if (item == '0' || item == '1') // { // charsret[i++] = item; // } // } // return charsret; //} return chars; } } } }