| | |
| | | using WIDESEAWCS_Communicator; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_ISystemServices; |
| | | using WIDESEAWCS_ITaskInfoService; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob; |
| | |
| | | public class OHTJob : JobBase, IJob |
| | | { |
| | | public static string InorOut = "In"; |
| | | public static OHTReadData oHTReadData = new OHTReadData(); |
| | | private readonly ITaskService _taskService; |
| | | private readonly Idt_ErrormsginfoService _ErrormsginfoService; |
| | | WebSocketServer _webSocketServer; |
| | | public OHTJob(ITaskService taskService, WebSocketServer webSocketServer) |
| | | public OHTJob(ITaskService taskService, WebSocketServer webSocketServer,Idt_ErrormsginfoService errormsginfoService) |
| | | { |
| | | _taskService = taskService;//注å
¥ |
| | | _webSocketServer = webSocketServer; |
| | | _ErrormsginfoService = errormsginfoService; |
| | | } |
| | | public Task Execute(IJobExecutionContext context) |
| | | { |
| | |
| | | bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value); |
| | | if (flag && value != null) |
| | | { |
| | | //天车PLC对象 |
| | | OtherDevice device = (OtherDevice)value; |
| | | //æ´å½¢æºPLC对象 |
| | | var ZXJdevice = Storage.Devices.Find(v => v.DeviceName == "鳿æ´å½¢æº"); |
| | | //è§æ´æºPLC对象 |
| | | var GZJevice = Storage.Devices.Find(v => v.DeviceName == "é³æè§æ´æº"); |
| | | if (!device.Communicator.IsConnected || !ZXJdevice.Communicator.IsConnected || !GZJevice.Communicator.IsConnected) |
| | | { |
| | | return Task.CompletedTask; |
| | | } |
| | | try |
| | | { |
| | | //Example |
| | | //device.GetValue 读å |
| | | //device.SetValue åå
¥ |
| | | //_taskService.Repository; //ä»å¨å±ï¼è¿è¡æ°æ®åºè®¿é® |
| | | OHTReadData oHTReadData = new OHTReadData(); |
| | | |
| | | #region 读åå¤©è½¦è®¾å¤æ°æ® |
| | | oHTReadData.R_HeartBeat = device.GetValue<DeviceDBName, bool>(DeviceDBName.R_HeartBeat); |
| | | oHTReadData.R_RunMode = device.GetValue<DeviceDBName, short>(DeviceDBName.R_RunMode); |
| | | oHTReadData.R_RunState = device.GetValue<DeviceDBName, short>(DeviceDBName.R_RunState); |
| | | oHTReadData.R_AlarmCode = device.GetValue<DeviceDBName, short>(DeviceDBName.R_AlarmCode); |
| | | oHTReadData.R_TaskState = device.GetValue<DeviceDBName, short>(DeviceDBName.R_TaskState); |
| | | oHTReadData.R_CurrentLine = device.GetValue<DeviceDBName, int>(DeviceDBName.R_CurrentLine); |
| | | oHTReadData.R_CurrentColumn = device.GetValue<DeviceDBName, int>(DeviceDBName.R_CurrentColumn); |
| | | oHTReadData.R_RiseUp_Position = device.GetValue<DeviceDBName, int>(DeviceDBName.R_RiseUp_Position); |
| | | oHTReadData.R_TaskNumber = device.GetValue<DeviceDBName, int>(DeviceDBName.R_TaskNumber); |
| | | oHTReadData.R_Loaded_1 = device.GetValue<DeviceDBName, short>(DeviceDBName.R_Loaded_1); |
| | | oHTReadData.R_Loaded_2 = device.GetValue<DeviceDBName, short>(DeviceDBName.R_Loaded_2); |
| | | oHTReadData.weight = device.GetValue<DeviceDBName, float>(DeviceDBName.weight); |
| | | |
| | | #region æµè¯ç¨ |
| | | //oHTReadData.R_HeartBeat = 1; |
| | | //oHTReadData.R_RunMode = 2; |
| | | //oHTReadData.R_RunState = 3; |
| | | //oHTReadData.R_AlarmCode = 4; |
| | | //oHTReadData.R_TaskState = 5; |
| | | //oHTReadData.R_CurrentLine = 6; |
| | | //oHTReadData.R_CurrentColumn = 7; |
| | | //oHTReadData.R_RiseUp_Position = 8; |
| | | //oHTReadData.R_TaskNumber = 9; |
| | | //oHTReadData.R_Loaded_1 =10; |
| | | //oHTReadData.R_Loaded_2 = 11; |
| | | //oHTReadData.R_Code_1 = "12"; |
| | | //oHTReadData.R_Code_2 = "13"; |
| | | //oHTReadData.R_Load_Requst_1 =true; |
| | | //oHTReadData.R_Load_Requst_2 = false; |
| | | #endregion |
| | | |
| | | #endregion |
| | | |
| | | //ç¶ææ°æ®åéç»å端 |
| | | string ohtData = JsonConvert.SerializeObject(oHTReadData); |
| | | _webSocketServer.PublishAllClientPayload(ohtData); |
| | | |
| | | #region å¤©è½¦å®æä»»å¡é»è¾ |
| | | //å 为天çä»»å¡éè¦å段åéï¼æä»¥åè´§å®æä¸æ¾è´§å®æéè¦åç¬åé»è¾æ§å¶ |
| | | //å¤æå¤©è½¦å½åææ²¡æåè´§å®æä»»å¡ä¿¡å· |
| | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | WriteError(device.DeviceName, "é误", ex); |
| | | _ErrormsginfoService.UpdateErrorMsg(ex.Message,1); |
| | | } |
| | | } |
| | | return Task.CompletedTask; |