|
@@ -137,6 +137,20 @@ namespace WCS.Service
|
|
|
|
|
|
#endregion 初始化数据库连接
|
|
|
|
|
|
+ #region 初始化设备信息
|
|
|
+
|
|
|
+ SqlSugarHelper.Do(db =>
|
|
|
+ {
|
|
|
+ ServiceHub.deviceInfos = db.Default.Queryable<WCS_DeviceInfo>()
|
|
|
+ .Includes(v => v.Routes)
|
|
|
+ .Includes(v => v.Paths)
|
|
|
+ .Includes(v => v.DeviceGroup)
|
|
|
+ .Includes(v => v.DeviceProtocol)
|
|
|
+ .ToList();
|
|
|
+ });
|
|
|
+
|
|
|
+ #endregion 初始化设备信息
|
|
|
+
|
|
|
#region 创建虚拟PLC
|
|
|
|
|
|
var isOpenVirtualPlc = RedisHub.Default.Check("isOpenVirtualPLC") ?? throw new Exception("请在Redsi中配置是否启用虚拟PLC");
|
|
@@ -167,6 +181,8 @@ namespace WCS.Service
|
|
|
|
|
|
var a = typeof(IStation520);
|
|
|
|
|
|
+ #region 初始化PLC访问器及PLC读取协议
|
|
|
+
|
|
|
//创建PLC访问器
|
|
|
Configs.PLCAccessorCreater = new PLCAccessors.PLCAccessorsCreater();
|
|
|
try
|
|
@@ -178,9 +194,7 @@ namespace WCS.Service
|
|
|
var dbProtocols = _db.Queryable<WCS_DeviceProt>().Includes(v => v.DB, p => p.PLC).ToList();
|
|
|
foreach (var dbProtocol in dbProtocols)
|
|
|
{
|
|
|
-#pragma warning disable CS8604 // 引用类型参数可能为 null。
|
|
|
Add(Type.GetType(dbProtocol.DB.Protocol), dbProtocol.DeviceCode, dbProtocol.Position, dbProtocol.DB, dbProtocol.DB.PLC);
|
|
|
-#pragma warning restore CS8604 // 引用类型参数可能为 null。
|
|
|
}
|
|
|
});
|
|
|
|
|
@@ -205,6 +219,8 @@ namespace WCS.Service
|
|
|
{
|
|
|
_logger.LogError("WCS启动失败{0}", ex.Message);
|
|
|
}
|
|
|
+
|
|
|
+ #endregion 初始化PLC访问器及PLC读取协议
|
|
|
}
|
|
|
|
|
|
/// <summary>
|