12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- 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.PUF
- {
- public class PufDeviceTimer : BaseDevice, IDevice
- {
- #region 内部变量
- private PeriodicJob _periodicJob;
- private JetAxisBase _puf1FlipAxis;
- private JetAxisBase _puf1RotationAxis;
- private JetAxisBase _puf1VerticalAxis;
- private JetAxisBase _puf2FlipAxis;
- private JetAxisBase _puf2RotationAxis;
- private JetAxisBase _puf2VerticalAxis;
- #endregion
- /// <summary>
- /// 构造函数
- /// </summary>
- public PufDeviceTimer():base("DualPuf", "DualPuf", "DualPuf", "DualPuf")
- {
- _periodicJob = new PeriodicJob(20, OnTimer, "DualPuf.OnTimer", false);
- }
- /// <summary>
- /// 初始化
- /// </summary>
- /// <returns></returns>
- public bool Initialize()
- {
- _puf1FlipAxis = DEVICE.GetDevice<JetAxisBase>($"{ModuleName.PUF1}.Flip");
- _puf1RotationAxis = DEVICE.GetDevice<JetAxisBase>($"{ModuleName.PUF1}.Rotation");
- _puf1VerticalAxis = DEVICE.GetDevice<JetAxisBase>($"{ModuleName.PUF1}.Vertical");
- _puf2FlipAxis = DEVICE.GetDevice<JetAxisBase>($"{ModuleName.PUF2}.Flip");
- _puf2RotationAxis = DEVICE.GetDevice<JetAxisBase>($"{ModuleName.PUF2}.Rotation");
- _puf2VerticalAxis = DEVICE.GetDevice<JetAxisBase>($"{ModuleName.PUF2}.Vertical");
- _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 (_puf1FlipAxis != null)
- {
- _puf1FlipAxis.OnTimer();
- }
- if (_puf1RotationAxis != null)
- {
- _puf1RotationAxis.OnTimer();
- }
- if (_puf1VerticalAxis != null)
- {
- _puf1VerticalAxis.OnTimer();
- }
- if (_puf2FlipAxis != null)
- {
- _puf2FlipAxis.OnTimer();
- }
- if (_puf2RotationAxis != null)
- {
- _puf2RotationAxis.OnTimer();
- }
- if (_puf2VerticalAxis != null)
- {
- _puf2VerticalAxis.OnTimer();
- }
- return true;
- }
- }
- }
|