zhangchengsong
10 小时以前 0e450768c357b45701a2e5ed162f4e93b3dd617c
ÏîÄ¿´úÂë/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/WMSTaskService.cs
@@ -234,7 +234,8 @@
        //设置光幕
        public ApiResponse setCurtain(SetCurtainRequest setCurtain)
        {
            //获取WMS调取的参数
            WriteLog.Write_Log("设置光幕接口", "设置光幕接口信息", $"库口名称:【{string.Join(",", setCurtain.Datas)}】,申请状态:【{setCurtain.Operate}】");
            ApiResponse apiResponse = new ApiResponse();
            bool HandShakeboolOPEN = false;
            bool HandShakeboolCLOSE = false;
@@ -259,20 +260,28 @@
                    if (setCurtain.Operate.Equals("OPEN"))
                    {
                        //写入plc,agv退出中打开信号
                        HandShakeboolOPEN =  conveyorLine.Communicator.Write<short>(Request.DeviceProAddress, 0);
                        WriteLog.Write_Log("设置打开光幕接口", "设置打开光幕信息", $"库口名称:【{DeStateName}】,打开光幕信号地址:【{Request.DeviceProAddress}】,读取数据:【{conveyorLine.Communicator.Read<ushort>(Request.DeviceProAddress)}】\n" +
                        $"写入打开光幕信号是否成功返回值:【{HandShakeboolOPEN}】");
                        if(DeStateName == "G01" || DeStateName == "G06" || DeStateName == "G07")
                        {
                            HandShakeboolOPEN = conveyorLine.Communicator.Write<short>(Request.DeviceProAddress, 0);
                        }
                        else
                        {
                            HandShakeboolOPEN = conveyorLine.Communicator.Write<short>(HandShake.DeviceProAddress, 0);
                        }
                    }
                    else
                    {
                        //写入plc,agv进入关闭光栅信号
                        HandShakeboolCLOSE = conveyorLine.Communicator.Write<short>(HandShake.DeviceProAddress, 1)&& conveyorLine.Communicator.Write<short>(Request.DeviceProAddress, 1);
                        if (DeStateName == "G01" || DeStateName == "G06" || DeStateName == "G07")
                        {
                            HandShakeboolCLOSE = conveyorLine.Communicator.Write<short>(HandShake.DeviceProAddress, 1) && conveyorLine.Communicator.Write<short>(Request.DeviceProAddress, 1);
                        }
                        else
                        {
                            HandShakeboolCLOSE = conveyorLine.Communicator.Write<short>(HandShake.DeviceProAddress, 1);
                        }
                        WriteLog.Write_Log("设置关闭光幕接口", "设置关闭光幕接口信息", $"库口名称:【{DeStateName}】,关闭光幕信号地址:【{HandShake.DeviceProAddress}】,读取数据:【{conveyorLine.Communicator.Read<ushort>(HandShake.DeviceProAddress)}】" +
                            $"关闭光幕信号备用地址:【{Request.DeviceProAddress}】,读取数据:【{conveyorLine.Communicator.Read<ushort>(Request.DeviceProAddress)}】\n" +
                        $"写入关闭光幕信号是否成功返回值:【{HandShakeboolCLOSE}】");
                    }
                }
                 if ((HandShakeboolOPEN && setCurtain.Operate.Equals("OPEN") )|| (HandShakeboolCLOSE && setCurtain.Operate.Equals("CLOSE")))
@@ -297,7 +306,7 @@
        public ApiResponse getAGVStatus(AgvUpdateRequest agvUpdateRequest)
        {
            //获取WMS调取的参数
            WriteLog.Write_Log("agv进出状态反馈接口", "agv进出状态信息", "调取参数", setCurtain);
            WriteLog.Write_Log("agv进出状态反馈接口", "agv进出状态信息", $"库口名称:【{agvUpdateRequest.warehousenumber}】,申请状态:【{agvUpdateRequest.agvstatus}】");
            ApiResponse apiResponse = new ApiResponse();
            try
@@ -334,9 +343,6 @@
                            //有货,可进信号
                            statusValue = ((portStatus == 1 && StationStatus == 1) || (portStatus == 2 && StationStatus == 0)) ? 1 : (portStatus == 0) ? 0 : 0;
                            WriteLog.Write_Log("申请进入AGV反馈信号信息", "申请进入AGV反馈信号信息", $"库口编号:【{agvUpdateRequest.warehousenumber}】,是否允许进入地址:【{deviceProDTO.DeviceProAddress}】,读取数据:【{portStatus}】\n" +
                                $"是否有货地址:【{StationNumProDTO.DeviceProAddress}】,读取数据:【{StationStatus}】\n" +
                                $"是否可进入信号:【{statusValue}】");
                            if (agvUpdateRequest.warehousenumber == "G01" || agvUpdateRequest.warehousenumber == "G06" || agvUpdateRequest.warehousenumber == "G07")
                            {
                                if (statusValue == 1)
@@ -369,13 +375,6 @@
                            if (Request != null)
                            {
                                conveyorLine.Communicator.Write<short>(Request.DeviceProAddress, 0);
                                WriteLog.Write_Log("申请离开AGV反馈信号信息", "申请离开AGV反馈信号信息", $"库口编号:【{agvUpdateRequest.warehousenumber}】,申请信号地址:【{HandShake.DeviceProAddress}】,读取数据:【{conveyorLine.Communicator.Read<ushort>(HandShake.DeviceProAddress)}】\n" +
                                    $"备用信号地址:【{Request.DeviceProAddress}】,读取数据:【{conveyorLine.Communicator.Read<ushort>(Request.DeviceProAddress)}】");
                            }
                            else
                            {
                                WriteLog.Write_Log("申请离开AGV反馈信号信息", "申请离开AGV反馈信号信息", $"库口编号:【{agvUpdateRequest.warehousenumber}】,申请信号地址:【{HandShake.DeviceProAddress}】,读取数据:【{conveyorLine.Communicator.Read<ushort>(HandShake.DeviceProAddress)}】\n" );
                            }
                            return apiResponse.SuccessResponse();
                        }