zxx
2025-05-30 77f9799304c059996d38914b1adc5c9c965e070e
HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs
@@ -1761,10 +1761,10 @@
                    if (reservoirs.type.Equals("RGV"))
                    {
                        LogHelper.Info($"RGV安全交互  请求点位:{model.STATION_NAME}请求码:{model.APPLY_CODE}");
                        //根据ip读状态
                        LogHelper.Info($"RGV安全交互缓存信号{JsonConvert.SerializeObject(plcDeviceTable.RGVAllowUnload)}");
                        //处理信号
                        var res = plcDeviceTable.RGVAllowUnload[reservoirs.code];
                        var res = int.Parse(plcDeviceTable.RGVAllowUnload[reservoirs.code].ToString().Substring(1, 1));
                        //根据ip读状态
                        LogHelper.Info($"RGV安全交互缓存信号{res},{JsonConvert.SerializeObject(plcDeviceTable.RGVAllowUnload)}");
                        //卸货请求进入
                        if (model.APPLY_CODE.Equals("5"))
                        {
@@ -1778,7 +1778,8 @@
                        //卸货后已离开
                        else if (model.APPLY_CODE.Equals("8"))
                        {
                            safeAssistant(reservoirs.code,res);
                            //发送卸货完成、复位信号
                            safeAssistant(reservoirs.code, res);
                            LogHelper.Info($"RGV安全交互 卸货完成");
                            return new safeResult() { code = "0", msg = "success" };
                        }
@@ -1860,19 +1861,20 @@
                throw;
            }
        }
        private static void safeAssistant(int code,int res) {
        //循环发送信号
        private static void safeAssistant(int code, int res)
        {
            //2卸货完成确认
            if (res != 2)
            {
                //卸货完成信号
                S7Helper.WriteInt(50, 0, (short)(code * 10 + 1));
                S7Helper.WriteInt(50, code * 2 - 2, (short)(code * 10 + 1));
                Thread.Sleep(3000);
                safeAssistant(code,res);
                safeAssistant(code, res);
            }
            else
            {
                S7Helper.WriteInt(50, 0, (short)(code * 10));
                S7Helper.WriteInt(50, code * 2 - 2, (short)(code * 10));
            }
        }