Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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();
        }