| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 | using Aitex.Core.RT.Device;using Aitex.Core.Util;using CyberX8_RT.Devices.AXIS;using MECF.Framework.Common.Equipment;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CyberX8_RT.Devices.TransPorter{    public class TransporterDeviceTimer : BaseDevice, IDevice    {        #region 常量        private const string TRANSPORTER = "Transporter";        #endregion        #region 内部变量        private PeriodicJob _periodicJob;        private JetAxisBase _loaderTransporterGantryAxis;        private JetAxisBase _loaderTransporterElevatorAxis;        private JetAxisBase _processTransporterGantryAxis;        private JetAxisBase _processTransporterElevatorAxis;        private TransporterCommon _loaderTransporterCommon;        private TransporterCommon _processTransporterCommon;        #endregion        /// <summary>        /// 构造函数        /// </summary>        public TransporterDeviceTimer() : base(TRANSPORTER, TRANSPORTER, TRANSPORTER, TRANSPORTER)        {            _periodicJob = new PeriodicJob(20, OnTimer, $"{TRANSPORTER}.OnTimer", false);        }        /// <summary>        /// 初始化        /// </summary>        /// <returns></returns>        public bool Initialize()        {            _loaderTransporterGantryAxis = DEVICE.GetDevice<JetAxisBase>($"{ModuleName.Transporter2}.Gantry");            _loaderTransporterElevatorAxis = DEVICE.GetDevice<JetAxisBase>($"{ModuleName.Transporter2}.Elevator");            _loaderTransporterCommon = DEVICE.GetDevice<TransporterCommon>($"{ModuleName.Transporter2}.Common");            _processTransporterGantryAxis = DEVICE.GetDevice<JetAxisBase>($"{ModuleName.Transporter1}.Gantry");            _processTransporterElevatorAxis = DEVICE.GetDevice<JetAxisBase>($"{ModuleName.Transporter1}.Elevator");            _processTransporterCommon = DEVICE.GetDevice<TransporterCommon>($"{ModuleName.Transporter1}.Common");            _periodicJob.Start();            return true;        }        public void Monitor()        {        }        public void Reset()        {        }        /// <summary>        /// 中止        /// </summary>        public void Terminate()        {            _periodicJob.Stop();        }        /// <summary>        /// 定时器执行        /// </summary>        /// <returns></returns>        private bool OnTimer()        {            if (_loaderTransporterGantryAxis != null)            {                _loaderTransporterGantryAxis.OnTimer();            }            if (_loaderTransporterElevatorAxis != null)            {                _loaderTransporterElevatorAxis.OnTimer();            }            if (_processTransporterGantryAxis != null)            {                _processTransporterGantryAxis.OnTimer();            }            if (_processTransporterElevatorAxis != null)            {                _processTransporterElevatorAxis.OnTimer();            }            if (_loaderTransporterCommon != null)            {                _loaderTransporterCommon.OnTimer();            }            if(_processTransporterCommon!=null)            {                _processTransporterCommon.OnTimer();            }            return true;        }    }}
 |