IPC-610
2025-01-07 7d9d48cf1e9d5b28e59ea52a0ee1acdfd15f88e7
Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
@@ -2,7 +2,9 @@
using DocumentFormat.OpenXml.Drawing;
using Furion.Logging;
using Microsoft.AspNetCore.SignalR;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using System;
//using WCS.Application.Util;
namespace WCS.Application;
public static class PLCTaskAction
@@ -67,6 +69,7 @@
    /// </summary>
    public static void Init()
    {
       // var strMsg = new HttpService().RequestPackWcs("LN000001");
        cts.Cancel();
        listPlc = _db.Queryable<WcsPlc>()
            .Where(s => s.Type == PLCTypeEnum.StackingMachine || s.Type == PLCTypeEnum.ConveyorLine || s.Type == PLCTypeEnum.BoxConveyorLine)
@@ -139,7 +142,7 @@
                        }
                        if (!modPlcUtil.Connected)
                        {
                            Thread.Sleep(10000);
                            Thread.Sleep(1000);
                            modPlcUtil.Open();
                            continue;
                        }
@@ -243,7 +246,7 @@
                            HubUtil.PublicPlcConn(modPlc);
                        }
                    }
                    Thread.Sleep(1000);
                    Thread.Sleep(10000);
                }
            }
            catch (OperationCanceledException)
@@ -428,7 +431,7 @@
                                    {
                                        var bl = false;
                                        int value = Convert.ToInt32(item.Value);
                                        if (value == 0)
                                        if (value <= 30)
                                        {
                                            bl = false;
                                        }
@@ -436,22 +439,14 @@
                                        {
                                            bl = true;
                                        }
                                        if (bl != modDevice.BoHaveItem)
                                        {
                                            modDevice.BoHaveItem = bl;
                                            var modInfo = new PlcPositionInfo() { Type = modPlc.Type, StationNum = modDevice.StationNum.PadLeft(3, '0'), BoHaveItem = bl };
                                            HubUtil.PublicPosition(modInfo);
                                            UpdatePosition(modInfo);
                                        }
                                        // liudl 注释:和电气工程师确认页面展示交互字后启用。
                                        //var value = Convert.ToBoolean(item.Value);
                                        //if (!value == modDevice.BoHaveItem)
                                        //{
                                        //    modDevice.BoHaveItem = value;
                                        //    //下发状态
                                        //    var modInfo = new PlcPositionInfo() { Type = modPlc.Type, StationNum = modDevice.StationNum.PadLeft(3,'0'), BoHaveItem = value };
                                        //    HubUtil.PublicPosition(modInfo);
                                        //    UpdatePosition(modInfo);
                                        //}
                                    }
                                    break;
                                default:
@@ -459,7 +454,7 @@
                            }
                        }
                    }
                    Thread.Sleep(300);
                    Thread.Sleep(3000);
                }
                catch (Exception ex)
                {