/// <summary> /// 夹件|松件 /// </summary> /// <param name="state"></param> /// <returns></returns> public IDevice Placing(bool enable = true) { byte[] result; lock (_port) { _option = enable ? Bit.Set(_option, eWrapOption.Placing) : Bit.Clr(_option, eWrapOption.Placing); _port.Write(_serialize.Serialize(new WriteRandomCommand(eElementCode.M, 2 * 16, (ushort)_option))); _port.Read(out result); } #if DEBUG var res = _serialize.Deserialize <WriteRandomResult>(result); Logger.LogInfo($"Wrap:Placing, code:{res.Code.ToString()}"); #endif return(this); }
public WrapDevice(IPort port, ISerialize serialize) : base(port, serialize) { try { _port.Write(_serialize.Serialize(new ReadRandomCommand(eElementCode.M, 2 * 16))) .Read(out byte[] result); var res = _serialize.Deserialize <ReadRandomResult>(result); if (res.Code == ePlcResultCode.OK) { _option = (eWrapOption)res.WordData; } } catch (Exception ex) { Logger.ErrorInfo("WrapDevice", ex); } _isOnline = true; EStop(true); Thread.Sleep(1000); EStop(false); Update(); }