Commit 8fb8cb99 张东亮

急停时显示、急停按钮功能

1 个父辈 6301bd2c
......@@ -18,9 +18,10 @@ namespace DeviceLibrary
{
}
bool lastSuddenStop = true;
void Reset_BTN() {
LogUtil.info("按下复位按钮");
if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.HIGH))
if (!lastSuddenStop && IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.HIGH))
{
Msg.add(crc.GetString(L.reset_press, "按下复位按钮."), MsgLevel.info, ErrInfo.ResetBtn);
}
......@@ -30,7 +31,7 @@ namespace DeviceLibrary
return;
}
lastSuddenStop = false;
ProcessMsgEvent?.Invoke(Msg.get());
//暂停时按下reaet按钮
......@@ -40,7 +41,7 @@ namespace DeviceLibrary
}
}
void Run_BTN() {
if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.HIGH))
if (!lastSuddenStop && IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.HIGH))
{
if (!RobotManage.isRunning)
Msg.add(crc.GetString(L.runbtn_press, "按下启动按钮,开始启动."), MsgLevel.info, ErrInfo.RunBtn);
......@@ -51,8 +52,14 @@ namespace DeviceLibrary
{
Msg.add(crc.GetString(L.runbtn_press_with_sudden, "急停中,按下启动按钮,无法启动."), MsgLevel.warning);
}
lastSuddenStop = false;
LogUtil.info("按下启动按钮");
ProcessMsgEvent?.Invoke(Msg.get());
}
void SuddenStop_BTN()
{
lastSuddenStop = true;
RobotManage.Stop();
}
}
}
......@@ -184,6 +184,7 @@ namespace DeviceLibrary
ConfigHelper.Config.Get("Device_Disable_StringDoor", false);
AlarmBuzzer.SetOnOffAction(() => { IOMove(IO_Type.Alarm_Buzzer, IO_VALUE.HIGH); }, () => { IOMove(IO_Type.Alarm_Buzzer, IO_VALUE.LOW); });
IOMonitor.RegisterIO(IO_Type.SuddenStop_BTN, Config, IO_VALUE.LOW, SuddenStop_BTN, 2500, 100);
IOMonitor.RegisterIO(IO_Type.Reset_BTN, Config, IO_VALUE.HIGH, Reset_BTN, 2500, 100);
IOMonitor.RegisterIO(IO_Type.AutoRun_Single, Config, IO_VALUE.HIGH, Run_BTN, 2500, 100);
IOMonitor.RegisterIO(IO_Type.SafetyLightCurtains, Config, IO_VALUE.LOW, DeviceSuddenStop, 1, 1);
......@@ -751,14 +752,17 @@ namespace DeviceLibrary
{
bool ok = true;
isInSuddenDown = IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.LOW);
if (SafetyLightStop)
if (isInSuddenDown)
{
Alarm(AlarmType.SuddenStop);
Msg.add(crc.GetString(L.in_suddenstop, "急停中"), MsgLevel.alarm);
DeviceSuddenStop();
lastSafeCheckStatus = false;
Msg.add(crc.GetString(L.SafetyLight_is_block, "安全光栅被遮挡"), MsgLevel.warning);
return false;
ok = false;
return ok;
}
if (UserPause)
else if (UserPause)
{
Msg.add(crc.GetString(L.system_pause, "系统暂停"), MsgLevel.warning);
DeviceSuddenStop();
......@@ -766,13 +770,12 @@ namespace DeviceLibrary
ok = false;
return ok;
}
else if (isInSuddenDown)
else if (SafetyLightStop)
{
Alarm(AlarmType.SuddenStop);
Msg.add(crc.GetString(L.in_suddenstop, "急停中"), MsgLevel.alarm);
DeviceSuddenStop();
lastSafeCheckStatus = false;
ok = false;
Msg.add(crc.GetString(L.SafetyLight_is_block, "安全光栅被遮挡"), MsgLevel.warning);
return false;
}
else if (alarmType != AlarmType.None)
{
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!