|
@@ -12,6 +12,7 @@ using Aitex.Core.RT.OperationCenter;
|
|
|
|
|
|
using VirgoCommon;
|
|
|
using Aitex.Core.RT.Log;
|
|
|
+using Aitex.Core.Util;
|
|
|
|
|
|
namespace VirgoRT.Devices
|
|
|
{
|
|
@@ -389,6 +390,22 @@ namespace VirgoRT.Devices
|
|
|
{
|
|
|
|
|
|
}
|
|
|
+ private readonly R_TRIG _trigdiBatteryLowAlarm = new R_TRIG();
|
|
|
+ private readonly R_TRIG _trigdiCOMMAlarm = new R_TRIG();
|
|
|
+ private readonly R_TRIG _trigdi1_L_Servo_Driver_Alarm = new R_TRIG();
|
|
|
+ private readonly R_TRIG _trigdi1_L_Servo_Driver_Warning = new R_TRIG();
|
|
|
+ private readonly R_TRIG _trigdi1_Search_ORG_Fail_Alarm = new R_TRIG();
|
|
|
+ private readonly R_TRIG _trigdi1_ABS_Fail_Alarm = new R_TRIG();
|
|
|
+ private readonly R_TRIG _trigdi1_Up_Limit_Alarm = new R_TRIG();
|
|
|
+ private readonly R_TRIG _trigdi1_Down_Limit_Alarm = new R_TRIG();
|
|
|
+ private readonly R_TRIG _trigdi1_Over_Software_Alarm = new R_TRIG();
|
|
|
+ private readonly R_TRIG _trigdi2_L_Servo_Driver_Alarm = new R_TRIG();
|
|
|
+ private readonly R_TRIG _trigdi2_L_Servo_Driver_Warning = new R_TRIG();
|
|
|
+ private readonly R_TRIG _trigdi2_Search_ORG_Fail_Alarm = new R_TRIG();
|
|
|
+ private readonly R_TRIG _trigdi2_ABS_Fail_Alarm = new R_TRIG();
|
|
|
+ private readonly R_TRIG _trigdi2_Up_Limit_Alarm = new R_TRIG();
|
|
|
+ private readonly R_TRIG _trigdi2_Down_Limit_Alarm = new R_TRIG();
|
|
|
+ private readonly R_TRIG _trigdi2_Over_Software_Alarm = new R_TRIG();
|
|
|
public void Monitor()
|
|
|
{
|
|
|
if (_manualStopTimer.ElapsedMilliseconds > _stopButtonAutoResetTime)
|
|
@@ -397,70 +414,86 @@ namespace VirgoRT.Devices
|
|
|
_manualStopTimer.Stop();
|
|
|
}
|
|
|
|
|
|
- if (_diBatteryLowAlarm.Value)
|
|
|
+ _trigdiBatteryLowAlarm.CLK = _diBatteryLowAlarm.Value;
|
|
|
+ if (_trigdiBatteryLowAlarm.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_diBatteryLowAlarm.Index} alarm");
|
|
|
}
|
|
|
|
|
|
- if (_diCOMMAlarm.Value)
|
|
|
+ _trigdiCOMMAlarm.CLK = _diCOMMAlarm.Value;
|
|
|
+ if (_trigdiCOMMAlarm.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_diCOMMAlarm.Index} alarm");
|
|
|
}
|
|
|
|
|
|
- if(_di1_L_Servo_Driver_Alarm.Value)
|
|
|
+ _trigdi1_L_Servo_Driver_Alarm.CLK = _di1_L_Servo_Driver_Alarm.Value;
|
|
|
+ if (_trigdi1_L_Servo_Driver_Alarm.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_di1_L_Servo_Driver_Alarm.Index} alarm");
|
|
|
}
|
|
|
- if (_di1_L_Servo_Driver_Warning.Value)
|
|
|
+ _trigdi1_L_Servo_Driver_Warning.CLK = _di1_L_Servo_Driver_Warning.Value;
|
|
|
+ if (_trigdi1_L_Servo_Driver_Warning.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_di1_L_Servo_Driver_Warning.Index} alarm");
|
|
|
}
|
|
|
- if (_di1_Search_ORG_Fail_Alarm.Value)
|
|
|
+ _trigdi1_Search_ORG_Fail_Alarm.CLK = _di1_Search_ORG_Fail_Alarm.Value;
|
|
|
+ if (_trigdi1_Search_ORG_Fail_Alarm.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_di1_Search_ORG_Fail_Alarm.Index} alarm");
|
|
|
}
|
|
|
- if (_di1_ABS_Fail_Alarm.Value)
|
|
|
+ _trigdi1_ABS_Fail_Alarm.CLK = _di1_ABS_Fail_Alarm.Value;
|
|
|
+ if (_trigdi1_ABS_Fail_Alarm.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_di1_ABS_Fail_Alarm.Index} alarm");
|
|
|
}
|
|
|
- if (_di1_Up_Limit_Alarm.Value)
|
|
|
+ _trigdi1_Up_Limit_Alarm.CLK = _di1_Up_Limit_Alarm.Value;
|
|
|
+ if (_trigdi1_Up_Limit_Alarm.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_di1_Up_Limit_Alarm.Index} alarm");
|
|
|
}
|
|
|
- if (_di1_Down_Limit_Alarm.Value)
|
|
|
+ _trigdi1_Down_Limit_Alarm.CLK = _di1_Down_Limit_Alarm.Value;
|
|
|
+ if (_trigdi1_Down_Limit_Alarm.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_di1_Down_Limit_Alarm.Index} alarm");
|
|
|
}
|
|
|
- if (_di1_Over_Software_Alarm.Value)
|
|
|
+ _trigdi1_Over_Software_Alarm.CLK = _di1_Over_Software_Alarm.Value;
|
|
|
+ if (_trigdi1_Over_Software_Alarm.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_di1_Over_Software_Alarm.Index} alarm");
|
|
|
}
|
|
|
-
|
|
|
- if (_di2_L_Servo_Driver_Alarm.Value)
|
|
|
+ _trigdi2_L_Servo_Driver_Alarm.CLK = _di2_L_Servo_Driver_Alarm.Value;
|
|
|
+ if (_trigdi2_L_Servo_Driver_Alarm.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_di2_L_Servo_Driver_Alarm.Index} alarm");
|
|
|
}
|
|
|
- if (_di2_L_Servo_Driver_Warning.Value)
|
|
|
+ _trigdi2_L_Servo_Driver_Warning.CLK = _di2_L_Servo_Driver_Warning.Value;
|
|
|
+ if (_trigdi2_L_Servo_Driver_Warning.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_di2_L_Servo_Driver_Warning.Index} alarm");
|
|
|
}
|
|
|
- if (_di2_Search_ORG_Fail_Alarm.Value)
|
|
|
+ _trigdi2_Search_ORG_Fail_Alarm.CLK = _di2_Search_ORG_Fail_Alarm.Value;
|
|
|
+ if (_trigdi2_Search_ORG_Fail_Alarm.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_di2_Search_ORG_Fail_Alarm.Index} alarm");
|
|
|
}
|
|
|
- if (_di2_ABS_Fail_Alarm.Value)
|
|
|
+ _trigdi2_ABS_Fail_Alarm.CLK = _di2_ABS_Fail_Alarm.Value;
|
|
|
+ if (_trigdi2_ABS_Fail_Alarm.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_di2_ABS_Fail_Alarm.Index} alarm");
|
|
|
}
|
|
|
- if (_di2_Up_Limit_Alarm.Value)
|
|
|
+ _trigdi2_Up_Limit_Alarm.CLK = _di2_Up_Limit_Alarm.Value;
|
|
|
+ if (_trigdi2_Up_Limit_Alarm.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_di2_Up_Limit_Alarm.Index} alarm");
|
|
|
}
|
|
|
- if (_di2_Down_Limit_Alarm.Value)
|
|
|
+ _trigdi2_Down_Limit_Alarm.CLK = _di2_Down_Limit_Alarm.Value;
|
|
|
+ if (_trigdi2_Down_Limit_Alarm.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_di2_Down_Limit_Alarm.Index} alarm");
|
|
|
}
|
|
|
- if (_di2_Over_Software_Alarm.Value)
|
|
|
+
|
|
|
+ _trigdi2_Over_Software_Alarm.CLK = _di2_Over_Software_Alarm.Value;
|
|
|
+ if (_trigdi2_Over_Software_Alarm.Q)
|
|
|
{
|
|
|
NoDuplicatedAlarm($"Lift Pin DI-{_di2_Over_Software_Alarm.Index} alarm");
|
|
|
}
|
|
@@ -502,12 +535,29 @@ namespace VirgoRT.Devices
|
|
|
_doStop.Value = false;
|
|
|
_bAlarmReported = false;
|
|
|
|
|
|
+ _trigdiBatteryLowAlarm.RST = true;
|
|
|
+ _trigdiCOMMAlarm.RST = true;
|
|
|
+ _trigdi1_L_Servo_Driver_Alarm.RST = true;
|
|
|
+ _trigdi1_L_Servo_Driver_Warning.RST = true;
|
|
|
+ _trigdi1_Search_ORG_Fail_Alarm.RST = true;
|
|
|
+ _trigdi1_ABS_Fail_Alarm.RST = true;
|
|
|
+ _trigdi1_Up_Limit_Alarm.RST = true;
|
|
|
+ _trigdi1_Down_Limit_Alarm.RST = true;
|
|
|
+ _trigdi1_Over_Software_Alarm.RST = true;
|
|
|
+ _trigdi2_L_Servo_Driver_Alarm.RST = true;
|
|
|
+ _trigdi2_L_Servo_Driver_Warning.RST = true;
|
|
|
+ _trigdi2_Search_ORG_Fail_Alarm.RST = true;
|
|
|
+ _trigdi2_ABS_Fail_Alarm.RST = true;
|
|
|
+ _trigdi2_Up_Limit_Alarm.RST = true;
|
|
|
+ _trigdi2_Down_Limit_Alarm.RST = true;
|
|
|
+ _trigdi2_Over_Software_Alarm.RST = true;
|
|
|
+
|
|
|
EV.PostInfoLog(Module, $"Lift Pin reset all do to off.");
|
|
|
}
|
|
|
|
|
|
private void NoDuplicatedAlarm(string log)
|
|
|
{
|
|
|
- if (_bAlarmReported == false)
|
|
|
+ //if (_bAlarmReported == false)
|
|
|
{
|
|
|
EV.PostAlarmLog(Module, log);
|
|
|
_bAlarmReported = true;
|