DESKTOP-9BNTV8O
2025-03-11 3b87f36219202b4cec47840bd9f56fdbe53e7d04
Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
@@ -4,6 +4,7 @@
using Microsoft.AspNetCore.SignalR;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using System;
using WCS.Application.Util;
//using WCS.Application.Util;
namespace WCS.Application;
@@ -100,8 +101,8 @@
            cts = new CancellationTokenSource();
            StartRead();
            ConnectionStatus();
            StartWatchAlarm();
            StartWatchPosition();
            // StartWatchAlarm();             // 隐藏报警监控
            // StartWatchPosition();          // 隐藏位置监控
        }
    }
    /// <summary>
@@ -154,6 +155,10 @@
                        //循环读设备
                        foreach (var modDevice in listDevice)
                        {
                            if (modDevice.Text == "一楼主扫")
                            {
                                Console.WriteLine($"连接...{modPlc.IP}");
                            }
                            var (result, value) = modPlcUtil.GetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.PlcPos);
                            //if (!result.IsSucceed)
                            //    Console.WriteLine($"{modPlc.IP}错误{modDevice.DbNumber}.{modDevice.PlcPos}:"+result.Err);
@@ -161,7 +166,7 @@
                            {
                                //Console.WriteLine($"{modPlc.IP}读取{modDevice.DbNumber}.{modDevice.PlcPos}的值为:{value}");
                                //无流程跳出
                                if (value == 0 )// && modPlc.Type!= PLCTypeEnum.BoxConveyorLine
                                if (value == 0 && modPlc.Type != PLCTypeEnum.BoxConveyorLine)//
                                    continue;
                                var dto = modDevice.Adapt<WcsDeviceDto>();
                                dto.Value = value;
@@ -462,6 +467,11 @@
            }
        });
    }
    /// <summary>
    /// 发送信息到前端
    /// </summary>
    /// <param name="modInfo"></param>
    private static void UpdatePosition(PlcPositionInfo modInfo)
    {
        var modTemp = listPositionInfo.FirstOrDefault(s => s.StationNum == modInfo.StationNum && modInfo.Type == s.Type);