| | |
| | | using Newtonsoft.Json; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using WIDESEA_Common; |
| | | using WIDESEA_Common.Tools; |
| | | using WIDESEA_Core.Utilities; |
| | | using WIDESEA_Services.Services; |
| | | using WIDESEA_WCS.WCSClient; |
| | | using static FreeSql.Internal.GlobalFilter; |
| | | |
| | | namespace WIDESEA_WCS.SchedulerExecute.AGV |
| | | { |
| | |
| | | public static void AgvAndEquiWork_JLM() |
| | | { |
| | | PLCClient agvjrplc = WCSService.Clients.Find(v => v.PLCName == "组装AGV调度"); |
| | | PLCClient oiplc1F = WCSService.Clients.Find(v => v.PLCName == PLCConst.PLCName1FLKHCJ); |
| | | |
| | | #region 无线io模块 104卷绕中控 开门信号传递 |
| | | int comErr = 0;//自动门掉线 "拆包间卷帘门139", "涂布正负极卷帘门142", |
| | | double doorCode = 2.0; //自动门ID |
| | | double doorState = 24.0;//自动门状态,1门关到位,2 门开到位,3门未到位 |
| | | double doorOpen = 26.0; //自动门控制开 |
| | | |
| | | int RKErr = 450;//自动门掉线 |
| | | double RKCode = 452.0; //自动门ID |
| | | double RKState = 474.0;//自动门状态,1门关到位,2 门开到位,3门未到位 |
| | | double RKOpen = 476.0; //自动门控制开 |
| | | try |
| | | { |
| | | if (agvjrplc == null) |
| | |
| | | doorState += 30; |
| | | doorOpen += 30; |
| | | } |
| | | //入壳卷帘门 24/12/12新增 |
| | | OperateResult<bool> R_RKOpen = agvjrplc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1004." + RKOpen); |
| | | if (!R_RKOpen.IsSuccess) |
| | | { |
| | | return; |
| | | } |
| | | //AGV请求开门 |
| | | if (R_RKOpen.Content) |
| | | { |
| | | OperateResult RKOpenJLM = oiplc1F.ModbusPLCClient.ModbusTcpNetClient.Write("s=2;12",true); |
| | | if (RKOpenJLM.IsSuccess) |
| | | { |
| | | OperateResult<bool> JLMOpen = oiplc1F.ModbusPLCClient.ModbusTcpNetClient.ReadBool("x=2;8612"); |
| | | if (JLMOpen.Content)//开门到位 |
| | | { |
| | | OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), 2); |
| | | } |
| | | else//门未到位 |
| | | { |
| | | OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), 3); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKErr), true); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //AGV不给开门信号的时候 断开开门信号 |
| | | OperateResult RKOpenJLM = oiplc1F.ModbusPLCClient.ModbusTcpNetClient.Write("s=2;12", false); |
| | | if (RKOpenJLM.IsSuccess) |
| | | { |
| | | OperateResult<bool> JLMOpen = oiplc1F.ModbusPLCClient.ModbusTcpNetClient.ReadBool("x=2;8613"); |
| | | if (JLMOpen.Content)//关门到位 |
| | | { |
| | | OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), 1); |
| | | } |
| | | else//门未到位 |
| | | { |
| | | OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), 3); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKErr), true); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |