1
qinchulong
2025-03-02 5729bfa51a9e8a4781755233324d7e9d002295c0
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs
@@ -33,6 +33,7 @@
    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;
@@ -48,54 +49,18 @@
            bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
            if (flag && value != null)
            {
                var ohdevice =Storage.Devices.Find(v=>v.DeviceName== "阳极整形机");
                //天车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 å¤©è½¦å®Œæˆä»»åŠ¡é€»è¾‘
                    //因为天的任务需要分段发送,所以取货完成与放货完成需要单独做逻辑控制
                    //判断天车当前有没有取货完成任务信号
@@ -186,7 +151,6 @@
                catch (Exception ex)
                {
                    _ErrormsginfoService.UpdateErrorMsg(ex.Message,1);
                    //WriteError(device.DeviceName, "错误", ex);
                }
            }
            return Task.CompletedTask;