12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- using Aitex.Core.RT.Device;
- using Aitex.Core.Util;
- using CyberX8_RT.Devices.AXIS;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Reflection;
- using System.Text;
- using System.Threading.Tasks;
- namespace CyberX8_RT.Devices.Loader
- {
- public class LoaderDeviceTimer : BaseDevice, IDevice
- {
- #region 内部变量
- private PeriodicJob _periodicJob;
- private JetAxisBase _shuttleAAxis;
- private JetAxisBase _shuttleBAxis;
- private JetAxisBase _crsAAxis;
- private JetAxisBase _crsBAxis;
- private JetAxisBase _tiltAAxis;
- private JetAxisBase _tiltBAxis;
- private JetAxisBase _rotationAxis;
- private LoaderCommonDevice _commonDevice;
- private LoaderSideDevice _sideADevice;
- private LoaderSideDevice _sideBDevice;
- #endregion
- /// <summary>
- /// 构造函数
- /// </summary>
- public LoaderDeviceTimer(string module) : base(module,module,module,module)
- {
- _periodicJob = new PeriodicJob(20, OnTimer, $"{module}.OnTimer", false);
- }
- /// <summary>
- /// 初始化
- /// </summary>
- /// <returns></returns>
- public bool Initialize()
- {
- _shuttleAAxis = DEVICE.GetDevice<JetAxisBase>($"{Module}.ShuttleA");
- _shuttleBAxis = DEVICE.GetDevice<JetAxisBase>($"{Module}.ShuttleB");
- _tiltAAxis = DEVICE.GetDevice<JetAxisBase>($"{Module}.TiltA");
- _tiltBAxis = DEVICE.GetDevice<JetAxisBase>($"{Module}.TiltB");
- _crsAAxis = DEVICE.GetDevice<JetAxisBase>($"{Module}.LSA");
- _crsBAxis = DEVICE.GetDevice<JetAxisBase>($"{Module}.LSB");
- _rotationAxis = DEVICE.GetDevice<JetAxisBase>($"{Module}.Rotation");
- _commonDevice = DEVICE.GetDevice<LoaderCommonDevice>($"{Module}.Common");
- _sideADevice = DEVICE.GetDevice<LoaderSideDevice>($"{Module}.SideA");
- _sideBDevice = DEVICE.GetDevice<LoaderSideDevice>($"{Module}.SideB");
- _periodicJob.Start();
- return true;
- }
- public void Monitor()
- {
- }
- public void Reset()
- {
- }
- public void Terminate()
- {
- _periodicJob.Stop();
- }
- /// <summary>
- /// 定时器执行
- /// </summary>
- /// <returns></returns>
- private bool OnTimer()
- {
- _shuttleAAxis.OnTimer();
- _shuttleBAxis.OnTimer();
- _crsAAxis.OnTimer();
- _crsBAxis.OnTimer();
- _tiltAAxis.OnTimer();
- _tiltBAxis.OnTimer();
- _rotationAxis.OnTimer();
- _commonDevice.OnTimer();
- _sideADevice.OnTimer();
- _sideBDevice.OnTimer();
- return true;
- }
- }
- }
|