zxx
2025-05-30 77f9799304c059996d38914b1adc5c9c965e070e
RGVS7写入修改
2个文件已修改
15 ■■■■ 已修改文件
HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/device/S7Helper.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/device/S7Helper.cs
@@ -978,7 +978,7 @@
            var linkplc = Settings.SafeInteractions.First();
            var plc = new Plc(CpuType.S71200, linkplc.ip, 0, 1);
            Link(plc);
            S7Helper.WriteInt(50, 0, (short)(offsetAddr.S_STATUS * 10 + int.Parse(offsetAddr.S_TYPE)));
            S7Helper.WriteInt(50, offsetAddr.S_STATUS*2-2, (short)(offsetAddr.S_STATUS * 10 + int.Parse(offsetAddr.S_TYPE)));
            //plc.WriteBit(DataType.DataBlock, 9, 182, offsetAddr, false);
            return new Results() { Code = "0", Message = $"写入成功", Data = null };
        }
HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs
@@ -1762,7 +1762,7 @@
                    {
                        LogHelper.Info($"RGV安全交互  请求点位:{model.STATION_NAME}请求码:{model.APPLY_CODE}");
                        //处理信号
                        var res =int.Parse(plcDeviceTable.RGVAllowUnload[reservoirs.code].ToString().Substring(1, 1));
                        var res = int.Parse(plcDeviceTable.RGVAllowUnload[reservoirs.code].ToString().Substring(1, 1));
                        //根据ip读状态
                        LogHelper.Info($"RGV安全交互缓存信号{res},{JsonConvert.SerializeObject(plcDeviceTable.RGVAllowUnload)}");
                        //卸货请求进入
@@ -1779,7 +1779,7 @@
                        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" };
                        }
@@ -1862,18 +1862,19 @@
            }
        }
        //循环发送信号
        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));
            }
        }