hwh
2024-09-11 cadb2a18458e425c62f60bfc738ee1fc517773c4
Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
@@ -23,7 +23,7 @@
    private static List<WcsPlc> listPlc = new List<WcsPlc>();
    private static List<WcsDevice> listPlcDevice = new List<WcsDevice>();
    private static List<WcsPosition> listPlcStation = new List<WcsPosition>();
    private static List<WcsPosition> listPlcPosition = new List<WcsPosition>();
    private static List<WcsAlarmInfo> listAlarmInfo = new List<WcsAlarmInfo>();
    private static List<PLCUtil> listPlcUtil = new List<PLCUtil>();
@@ -38,7 +38,10 @@
    {
        get { return listPlcDevice; }
    }
    public static List<WcsPosition> plcPositions
    {
        get { return listPlcPosition; }
    }
    public static event EventHandler DeviceValueChangeEvent;
    static PLCTaskAction()
    {
@@ -56,7 +59,7 @@
        cts.Cancel();
        listPlc = _db.Queryable<WcsPlc>().Where(s => s.Type == PLCTypeEnum.StackingMachine || s.Type == PLCTypeEnum.ConveyorLine || s.Type == PLCTypeEnum.BoxConveyorLine).ToList();
        listPlcDevice = _db.Queryable<WcsDevice>().ToList();
        listPlcStation = _db.Queryable<WcsPosition>().ToList();
        listPlcPosition = _db.Queryable<WcsPosition>().ToList();
        listAlarmInfo = _db.Queryable<WcsAlarmInfo>().ToList();
        //等待几秒钟,把已有线程取消掉再连接
        //Thread.Sleep(5000);
@@ -148,7 +151,7 @@
                                dto.Value = value;
                                dto.Type = _modplc.Type;
                                dto.PLCUtil = modPlcUtil;
                                dto.listStation = listPlcStation.Where(s => s.DeviceId == modDevice.Id).ToList();
                                dto.listStation = listPlcPosition.Where(s => s.DeviceId == modDevice.Id).ToList();
                                dto.listDevice = listDevice.Where(s => s.StationNum == modDevice.StationNum && s.Level == DeviceLevelEnum.Station).ToList();
                                //这里触发值变更事件
                                DeviceValueChangeEvent?.Invoke(dto, EventArgs.Empty);