| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- using System;
- using SHJX.Service.Model.Control;
- using SHJX.Service.Common.ReadXML;
- using SHJX.Service.Common.UserTimer;
- using SHJX.Service.Common.UserDelegate;
- using SHJX.Service.Control.TimerControl.ChangeTaskState;
- using SHJX.Service.Control.TimerControl.WriteTaskToEquipment;
- using SHJX.Service.ServerClient;
- using SHJX.Service.Common.Logging;
- using Microsoft.Extensions.Logging;
- namespace SHJX.Service.Control
- {
- /// <summary>
- /// 任务控制
- /// </summary>
- public sealed class TimerController
- {
- private static readonly ILogger logger = LogFactory.BuildLogger(typeof(TimerController));
- /// <summary>
- /// 日志
- /// </summary>
- private readonly ReadConfigUtil _config;
- private readonly WriteTaskFactory _writeTaskFactory;
- private readonly ChangeStateFactory _changeStateFactory;
- #region 定时器
- private static TimerProcessor _changeTaskStateProcessor;
- private static TimerProcessor _writeTaskProcessor;
- private static TimerProcessor _changeWashTaskStateProcessor;
- private static TimerProcessor _writeWashTaskProcessor;
- private static TimerProcessor _changeBdTaskStateProcessor;
- private static TimerProcessor _writeBdTaskProcessor;
- private static TimerProcessor _writeSpTaskProcessor;
- private static TimerProcessor _readTemperatureProcessor;
- #endregion
- public TimerController( ReadConfigUtil config)
- {
- try
- {
- _config = config;
- var operateController = new FlowContent( config);
- _writeTaskFactory = new WriteTaskFactory( config, operateController);
- _changeStateFactory = new ChangeStateFactory( config);
- }
- catch (Exception ex)
- {
- logger.LogError(ex.ToString());
- }
- }
- public void Start()
- {
- try
- {
- _changeTaskStateProcessor = new TimerProcessor("Change_TaskState", 1000);
- _changeTaskStateProcessor.OnTimer += _changeStateFactory.Get("Sample").ChangeEquipmentTaskStateEvent;
- _changeTaskStateProcessor.Start();
- _writeTaskProcessor = new TimerProcessor("WriteTask", 1000);
- _writeTaskProcessor.OnTimer += _writeTaskFactory.Get("Sample").WriteTaskToEquipmentEvent;
- _writeTaskProcessor.Start();
- _changeWashTaskStateProcessor = new TimerProcessor("ChangeWashTaskState", 1000);
- _changeWashTaskStateProcessor.OnTimer += _changeStateFactory.Get("Wash").ChangeEquipmentTaskStateEvent;
- _changeWashTaskStateProcessor.Start();
- _writeWashTaskProcessor = new TimerProcessor("WriteWashTask", 1000);
- _writeWashTaskProcessor.OnTimer += _writeTaskFactory.Get("Wash").WriteTaskToEquipmentEvent;
- _writeWashTaskProcessor.Start();
- _changeBdTaskStateProcessor = new TimerProcessor("ChangeBDTaskState", 1000);
- _changeBdTaskStateProcessor.OnTimer += _changeStateFactory.Get("Calibration").ChangeEquipmentTaskStateEvent;
- _changeBdTaskStateProcessor.Start();
- _writeBdTaskProcessor = new TimerProcessor("WriteBDTask", 1000);
- _writeBdTaskProcessor.OnTimer += _writeTaskFactory.Get("Calibration").WriteTaskToEquipmentEvent;
- _writeBdTaskProcessor.Start();
- _writeSpTaskProcessor = new TimerProcessor("WriteSPTask", 1000);
- _writeSpTaskProcessor.OnTimer += _writeTaskFactory.Get("SinglePoint").WriteTaskToEquipmentEvent;
- _writeSpTaskProcessor.Start();
- _readTemperatureProcessor = new TimerProcessor("ReadTemperature", 2000);
- _readTemperatureProcessor.OnTimer += ReadTemperatureProcessor_OnTimer;
- _readTemperatureProcessor.Start();
- }
- catch (Exception ex)
- {
- logger.LogError(ex.Message);
- }
- }
- private OptClient _client;
- private OptClient Client
- {
- get
- {
- if (_client is null)
- {
- _client = new OptClient( _config);
- }
- return _client;
- }
- }
- public void ReadTemperatureProcessor_OnTimer()
- {
- try
- {
- var portArgs = new PortArgs
- {
- TypeName = "Heat"
- };
- var currentTemperature = Client.Factory("Heat").Read(portArgs);
- Messager.Send("ChangeTemperature", currentTemperature);
- }
- catch (Exception)
- {
- throw;
- }
- }
- }
- }
|