hwh
2024-09-10 eff7a7ff6ee1851094dfe1f94dd40a98535865d8
Admin.NET/WCS.Application/Hub/PlcDeviceHub.cs
@@ -88,7 +88,8 @@
                        {
                            throw new OperationCanceledException();
                        }
                        var modPlc = listPlc.Where(s => s.Id == modDevice.Id).FirstOrDefault();
                        var modPlc = listPlc.Where(s => s.Id == modDevice.PlcId).FirstOrDefault();
                        modDevice.Type = modPlc.Type;
                        //读取plc的值
                        var modConn = PLCTaskAction.listPlcConn.FirstOrDefault(s => s != null && s.PlcId == modDevice.PlcId);
                        if (modConn == null)
@@ -155,6 +156,15 @@
                                modDevice.PickStorey = Convert.ToInt32(pickStorey);
                            }
                        }
                        //else
                        //{
                        //    //测试
                        //    modDevice.TaskNo = "TK00001";
                        //    modDevice.TaskType = TaskTypeEnum.In;
                        //    modDevice.Wcs = new Random().Next(1000).ToString();
                        //    modDevice.Plc = new Random().Next(1000).ToString();
                        //    modDevice.Status = true;
                        //}
                        // 比较之前的状态
                        if (initialStates.TryGetValue(modDevice.Id, out var initialState))
                        {
@@ -178,17 +188,17 @@
                                _plcDeviceHubContext.Clients.All.PublicPlcDevice(modDevice);
                            }
                        }
                        initialStates[modDevice.Id] = modDevice.Adapt<WcsDeviceOutput>();
                    }
                    Thread.Sleep(2000);
                }
                catch (OperationCanceledException)
                {
                    break;
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }, cts.Token);