Commit a667c512 几米阳光

灯状态修改。每次扫码不需要关闭相机。

1 个父辈 d998b76f
...@@ -1236,7 +1236,7 @@ namespace OnlineStore.ACSingleStore ...@@ -1236,7 +1236,7 @@ namespace OnlineStore.ACSingleStore
{ {
stop_button_Click(null, null); stop_button_Click(null, null);
} }
CodeManager.CloseCamera();
KNDManager.CloseAllDO(); KNDManager.CloseAllDO();
StoreOpenStatus(false); StoreOpenStatus(false);
KNDManager.CloseAllConnection(); KNDManager.CloseAllConnection();
......
...@@ -43,8 +43,14 @@ ...@@ -43,8 +43,14 @@
20190227 20190227
出入库取料后,需要检测叉子料盘有料信号,否则报信号超时 出入库取料后,需要检测叉子料盘有料信号,否则报信号超时
20190228
1.出入库取料后,暂不验证叉子是否有料盘。
2.灯状态修改:
红灯:报警故障时常亮
黄灯:待机时闪烁
绿灯:正常运行或待机时常亮
3.扫码不需要每次都关闭相机。
......
...@@ -797,90 +797,48 @@ namespace OnlineStore.DeviceLibrary ...@@ -797,90 +797,48 @@ namespace OnlineStore.DeviceLibrary
{ {
try try
{ {
// 机器状态 顶灯显示 // 灯状态修改:
// 绿 黄 红 // 红灯:报警故障时常亮
//机器复位中 闪 灭 灭 // 黄灯:待机时闪烁
//机器待机中 亮 灭 灭 // 绿灯:正常运行或待机时常亮
//机器出入库中 闪 闪 灭 if (alarmType.Equals(StoreAlarmType.None))
//温湿度超限报警中 亮 闪 灭
//温湿度超限报警中超过30分钟 亮 闪 闪
//机器未启动 灭 灭 灭
//机器设备故障(非温湿度)报警 亮 灭 闪
//报警时只需要亮红灯
DateTime time = DateTime.Now;
bool isTemp30M = false;
if (TempOrHumidityIsAlarm)
{ {
TimeSpan span = DateTime.Now - TempAlarmTime; //黄灯常亮
if (span.Minutes > 30) if (KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.LOW))
{ {
isTemp30M = true; KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
} }
} //空闲中黄灯闪
bool isNeedAlarmLed = false; if ((StoreMove.MoveType.Equals(StoreMoveType.None)))
//报警灯
if (!alarmType.Equals(StoreAlarmType.None) || isTemp30M)
{
isNeedAlarmLed = true;
}
if (isNeedAlarmLed && KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW))
{
KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH);
}
else
{
if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.HIGH))
{ {
KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW); if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
} {
} KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
}
else
//报警时绿灯和黄灯灭 {
if (isNeedAlarmLed) KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH);
{ }
if (KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
{
KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
} }
if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH)) if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.HIGH))
{ {
KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW); KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
} }
return;
}
//绿灯闪
if ((StoreMove.MoveType.Equals(StoreMoveType.InStore) || StoreMove.MoveType.Equals(StoreMoveType.OutStore)
|| storeRunStatus.Equals(StoreRunStatus.HomeMoving) || storeRunStatus.Equals(StoreRunStatus.Reset))
&& KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
{
KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
} }
else else
{ {
//绿灯亮 //报警 红灯亮,绿灯黄灯灭
KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH); if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW))
}
//黄灯
if (StoreMove.MoveType.Equals(StoreMoveType.InStore) || StoreMove.MoveType.Equals(StoreMoveType.OutStore) || TempOrHumidityIsAlarm || isTemp30M)
{
if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
{ {
KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW); KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH);
} }
else if (KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
{ {
KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH); KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
} }
}
else
{
if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH)) if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
{ {
KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW); KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
} }
} }
} }
...@@ -889,6 +847,101 @@ namespace OnlineStore.DeviceLibrary ...@@ -889,6 +847,101 @@ namespace OnlineStore.DeviceLibrary
LOGGER.Error(StoreName + "灯处理定时器出错:", ex); LOGGER.Error(StoreName + "灯处理定时器出错:", ex);
} }
} }
//private void LedProcess()
//{
// try
// {
// // 机器状态 顶灯显示
// // 绿 黄 红
// //机器复位中 闪 灭 灭
// //机器待机中 亮 灭 灭
// //机器出入库中 闪 闪 灭
// //温湿度超限报警中 亮 闪 灭
// //温湿度超限报警中超过30分钟 亮 闪 闪
// //机器未启动 灭 灭 灭
// //机器设备故障(非温湿度)报警 亮 灭 闪
// //报警时只需要亮红灯
// DateTime time = DateTime.Now;
// bool isTemp30M = false;
// if (TempOrHumidityIsAlarm)
// {
// TimeSpan span = DateTime.Now - TempAlarmTime;
// if (span.Minutes > 30)
// {
// isTemp30M = true;
// }
// }
// bool isNeedAlarmLed = false;
// //报警灯
// if (!alarmType.Equals(StoreAlarmType.None) || isTemp30M)
// {
// isNeedAlarmLed = true;
// }
// if (isNeedAlarmLed && KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW))
// {
// KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH);
// }
// else
// {
// if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
// }
// }
// //报警时绿灯和黄灯灭
// if (isNeedAlarmLed)
// {
// if (KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
// }
// if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
// }
// return;
// }
// //绿灯闪
// if ((StoreMove.MoveType.Equals(StoreMoveType.InStore) || StoreMove.MoveType.Equals(StoreMoveType.OutStore)
// || storeRunStatus.Equals(StoreRunStatus.HomeMoving) || storeRunStatus.Equals(StoreRunStatus.Reset))
// && KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
// }
// else
// {
// //绿灯亮
// KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
// }
// //黄灯
// if (StoreMove.MoveType.Equals(StoreMoveType.InStore) || StoreMove.MoveType.Equals(StoreMoveType.OutStore) || TempOrHumidityIsAlarm || isTemp30M)
// {
// if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
// }
// else
// {
// KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH);
// }
// }
// else
// {
// if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
// }
// }
// }
// catch (Exception ex)
// {
// LOGGER.Error(StoreName + "灯处理定时器出错:", ex);
// }
//}
private IO_VALUE lastAutoRun = IO_VALUE.LOW; private IO_VALUE lastAutoRun = IO_VALUE.LOW;
private IO_VALUE lastAirValue = IO_VALUE.LOW; private IO_VALUE lastAirValue = IO_VALUE.LOW;
public void IoCheckProcess() public void IoCheckProcess()
...@@ -1297,7 +1350,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1297,7 +1350,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info(LOGGER, StoreName + "StopMove"); LogUtil.info(LOGGER, StoreName + "StopMove");
KNDIOMove(IO_Type.Door_Down, IO_VALUE.LOW); KNDIOMove(IO_Type.Door_Down, IO_VALUE.LOW);
KNDIOMove(IO_Type.Door_Up, IO_VALUE.LOW); KNDIOMove(IO_Type.Door_Up, IO_VALUE.LOW);
CodeManager.CloseCamera();
isInPro = false; isInPro = false;
} }
......
...@@ -407,12 +407,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -407,12 +407,12 @@ namespace OnlineStore.DeviceLibrary
} }
else if (StoreMove.MoveStep == StoreMoveStep.SI_07_DeviceBackFromDoor) else if (StoreMove.MoveStep == StoreMoveStep.SI_07_DeviceBackFromDoor)
{ {
InStoreLog("入库:SI_071_CheckTraySignal 等待叉子料盘有料信号"); // InStoreLog("入库:SI_071_CheckTraySignal 等待叉子料盘有料信号");
StoreMove.NextMoveStep(StoreMoveStep.SI_071_CheckTraySignal); // StoreMove.NextMoveStep(StoreMoveStep.SI_071_CheckTraySignal);
StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.HIGH)); // StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.HIGH));
} //}
else if (StoreMove.MoveStep == StoreMoveStep.SI_071_CheckTraySignal) //else if (StoreMove.MoveStep == StoreMoveStep.SI_071_CheckTraySignal)
{ //{
if (IsHasCompress_Axis || Config.IsHasLocationCylinder.Equals(0)) if (IsHasCompress_Axis || Config.IsHasLocationCylinder.Equals(0))
{ {
InStoreLog("入库:SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点) "); InStoreLog("入库:SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点) ");
...@@ -589,12 +589,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -589,12 +589,7 @@ namespace OnlineStore.DeviceLibrary
{ {
StoreMove.NextMoveStep(StoreMoveStep.SO_03_ToBagPosition); StoreMove.NextMoveStep(StoreMoveStep.SO_03_ToBagPosition);
OutStoreLog("出库:SO_03 走到库位,压紧轴至P3(压紧前点) ,旋转轴至P2(库位点),升降轴至P5(库位出库前点)"); OutStoreLog("出库:SO_03 走到库位,压紧轴至P3(压紧前点) ,旋转轴至P2(库位点),升降轴至P5(库位出库前点)");
ComMoveToPosition(moveP.ComPress_P3); ComMoveToPosition(moveP.ComPress_P3);
//if (IsHasCompress_Axis)
//{
// ShuoKeControls.AbsMove(Config.CompressAxis_Slv, moveP.ComPress_P3);
// StoreMove.WaitList.Add(WaitResultInfo.WaitShuoKe(Config.CompressAxis_Slv, moveP.ComPress_P3, false));
//}
ACAxisMove(Config.Middle_Axis, StoreMove.MoveParam.MoveP.Middle_P2, Config.MiddleAxis_P2_Speed); ACAxisMove(Config.Middle_Axis, StoreMove.MoveParam.MoveP.Middle_P2, Config.MiddleAxis_P2_Speed);
ACAxisMove(Config.UpDown_Axis, StoreMove.MoveParam.MoveP.UpDown_P5, Config.UpDownAxis_P5_Speed); ACAxisMove(Config.UpDown_Axis, StoreMove.MoveParam.MoveP.UpDown_P5, Config.UpDownAxis_P5_Speed);
} }
...@@ -607,13 +602,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -607,13 +602,7 @@ namespace OnlineStore.DeviceLibrary
else if (StoreMove.MoveStep == StoreMoveStep.SO_04_DeviceToBag) else if (StoreMove.MoveStep == StoreMoveStep.SO_04_DeviceToBag)
{ {
OutStoreLog("出库:SO_05 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) "); OutStoreLog("出库:SO_05 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) ");
StoreMove.NextMoveStep(StoreMoveStep.SO_05_BagWareToDevice); StoreMove.NextMoveStep(StoreMoveStep.SO_05_BagWareToDevice);
//电缸微动至对应料盘的上端位置
//if (IsHasCompress_Axis)
//{
// ShuoKeControls.AbsMove(Config.CompressAxis_Slv, moveP.ComPress_P2);
// StoreMove.WaitList.Add(WaitResultInfo.WaitShuoKe(Config.CompressAxis_Slv, moveP.ComPress_P2, false));
//}
ComMoveToPosition(moveP.ComPress_P2, true); ComMoveToPosition(moveP.ComPress_P2, true);
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P6, Config.UpDownAxis_P6_Speed); ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P6, Config.UpDownAxis_P6_Speed);
} }
...@@ -632,12 +621,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -632,12 +621,12 @@ namespace OnlineStore.DeviceLibrary
} }
else if (StoreMove.MoveStep == StoreMoveStep.SO_06_BagDeviceBack) else if (StoreMove.MoveStep == StoreMoveStep.SO_06_BagDeviceBack)
{ {
StoreMove.NextMoveStep(StoreMoveStep.SO_061_WaitTraySignal); // StoreMove.NextMoveStep(StoreMoveStep.SO_061_WaitTraySignal);
OutStoreLog("出库:SO_061_WaitTraySignal 等待叉子的料盘有料信号"); // OutStoreLog("出库:SO_061_WaitTraySignal 等待叉子的料盘有料信号");
StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.HIGH)); // StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.HIGH));
} //}
else if (StoreMove.MoveStep == StoreMoveStep.SO_061_WaitTraySignal) //else if (StoreMove.MoveStep == StoreMoveStep.SO_061_WaitTraySignal)
{ //{
if (KNDIOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.LOW)) if (KNDIOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.LOW))
{ {
string posId = StoreMove.MoveParam != null ? StoreMove.MoveParam.PositionNum : ""; string posId = StoreMove.MoveParam != null ? StoreMove.MoveParam.PositionNum : "";
...@@ -711,12 +700,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -711,12 +700,7 @@ namespace OnlineStore.DeviceLibrary
OutStoreLog("出库:SO_11 放下物品,升降轴至P8(进料口出料缓冲点) "); OutStoreLog("出库:SO_11 放下物品,升降轴至P8(进料口出料缓冲点) ");
StoreMove.NextMoveStep(StoreMoveStep.SO_11_DevicePutWare); StoreMove.NextMoveStep(StoreMoveStep.SO_11_DevicePutWare);
NeedCheckSafetyLight = 0; NeedCheckSafetyLight = 0;
ComMoveToPosition(moveP.ComPress_P1, true); ComMoveToPosition(moveP.ComPress_P1, true);
//if (IsHasCompress_Axis)
//{
// ShuoKeControls.AbsMove(Config.CompressAxis_Slv, moveP.ComPress_P1);
// StoreMove.WaitList.Add(WaitResultInfo.WaitShuoKe(Config.CompressAxis_Slv, moveP.ComPress_P1, false));
//}
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P8, Config.UpDownAxis_P8_Speed); ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P8, Config.UpDownAxis_P8_Speed);
} }
else if (StoreMove.MoveStep == StoreMoveStep.SO_11_DevicePutWare) else if (StoreMove.MoveStep == StoreMoveStep.SO_11_DevicePutWare)
......
...@@ -68,6 +68,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -68,6 +68,12 @@ namespace OnlineStore.DeviceLibrary
} }
} }
public static void CloseCamera()
{
BaslerCamera.Instance.Close();
HIKCamera.Instance.Close();
}
public static Bitmap GetCamerImage(string cameraName) public static Bitmap GetCamerImage(string cameraName)
{ {
Bitmap bitm = null; Bitmap bitm = null;
...@@ -75,12 +81,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -75,12 +81,17 @@ namespace OnlineStore.DeviceLibrary
{ {
if (balserNameList.Contains(cameraName)) if (balserNameList.Contains(cameraName))
{ {
bool result = BaslerCamera.Instance.Open(cameraName); bool result = BaslerCamera.Instance.IsOpen;
if (!result)
{
result = BaslerCamera.Instance.Open(cameraName);
LogUtil.info("打开相机:" + cameraName + "(" + result + ")");
}
if (result) if (result)
{ {
BaslerCamera.Instance.GrabOne(); BaslerCamera.Instance.GrabOne();
bitm = BaslerCamera.Instance.Image; bitm = BaslerCamera.Instance.Image;
BaslerCamera.Instance.Close(); //BaslerCamera.Instance.Close();
} }
else else
{ {
...@@ -89,12 +100,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -89,12 +100,17 @@ namespace OnlineStore.DeviceLibrary
} }
else if (hikNameList.Contains(cameraName)) else if (hikNameList.Contains(cameraName))
{ {
bool result = HIKCamera.Instance.Open(cameraName); bool result = HIKCamera.Instance.IsOpen;
if (!result)
{
result= HIKCamera.Instance.Open(cameraName);
LogUtil.info("打开相机:" + cameraName + "(" + result + ")");
}
if (result) if (result)
{ {
HIKCamera.Instance.GrabOne(); HIKCamera.Instance.GrabOne();
bitm = HIKCamera.Instance.Image; bitm = HIKCamera.Instance.Image;
HIKCamera.Instance.Close(); //HIKCamera.Instance.Close();
} }
else else
{ {
...@@ -127,7 +143,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -127,7 +143,8 @@ namespace OnlineStore.DeviceLibrary
{ {
if (bitmap == null) if (bitmap == null)
{ {
LogUtil.info(" 摄像机【" + cameraName + "】获取图片失败"); LogUtil.info(" 摄像机【" + cameraName + "】获取图片失败,关闭相机");
CloseCamera();
continue; continue;
} }
......
...@@ -203,10 +203,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -203,10 +203,10 @@ namespace OnlineStore.DeviceLibrary
///料仓出库,,叉子从 库位返回,轴3( 叉子) 至P1( 待机点) ///料仓出库,,叉子从 库位返回,轴3( 叉子) 至P1( 待机点)
/// </summary> /// </summary>
SO_06_BagDeviceBack = 106, SO_06_BagDeviceBack = 106,
/// <summary> ///// <summary>
/// 料仓出库:等待料仓有料盘检测信号 ///// 料仓出库:等待料仓有料盘检测信号
/// </summary> ///// </summary>
SO_061_WaitTraySignal=116, //SO_061_WaitTraySignal=116,
/// <summary> /// <summary>
/// 料仓出库,定位气缸伸出(有压紧轴的不需要此步骤),,定位气缸伸出 Y103-1/PCI5O1-83) Y103-2/PCI5O1-90) Y103-3/PCI5O1-95) 伸出到位 /// 料仓出库,定位气缸伸出(有压紧轴的不需要此步骤),,定位气缸伸出 Y103-1/PCI5O1-83) Y103-2/PCI5O1-90) Y103-3/PCI5O1-95) 伸出到位
/// </summary> /// </summary>
...@@ -284,10 +284,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -284,10 +284,10 @@ namespace OnlineStore.DeviceLibrary
/// 入库。。叉子 从入料口抽出,轴3( 叉子) 至P1( 待机点) /// 入库。。叉子 从入料口抽出,轴3( 叉子) 至P1( 待机点)
/// </summary> /// </summary>
SI_07_DeviceBackFromDoor = 207, SI_07_DeviceBackFromDoor = 207,
/// <summary> ///// <summary>
/// 入库。。检测叉子是否有料 ///// 入库。。检测叉子是否有料
/// </summary> ///// </summary>
SI_071_CheckTraySignal = 217, //SI_071_CheckTraySignal = 217,
/// <summary> /// <summary>
/// 入库。。,定位气缸伸出 (有压紧轴的不需要此步骤) /// 入库。。,定位气缸伸出 (有压紧轴的不需要此步骤)
/// </summary> /// </summary>
......
...@@ -84,18 +84,18 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -84,18 +84,18 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary> /// <summary>
/// DO 自动指示灯 AutoRun_HddLed /// DO 绿灯 自动指示灯 AutoRun_HddLed
/// </summary> /// </summary>
public static string AutoRun_HddLed = "AutoRun_HddLed"; public static string AutoRun_HddLed = "AutoRun_HddLed";
/// <summary> /// <summary>
/// DO 待机指示灯 RunSign_HddLed /// DO 黄灯 待机指示灯 RunSign_HddLed
/// </summary> /// </summary>
public static string RunSign_HddLed = "RunSign_HddLed"; public static string RunSign_HddLed = "RunSign_HddLed";
/// <summary> /// <summary>
///DO 故障指示灯 Alarm_HddLed ///DO 红灯 故障指示灯 Alarm_HddLed
/// </summary> /// </summary>
public static string Alarm_HddLed = "Alarm_HddLed"; public static string Alarm_HddLed = "Alarm_HddLed";
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!