本文讨论绝对时间的自动化系统的可能实现,该系统用于管理硬件资源(以电磁继电器为例)。 这样的系统对于解决各种设备的自动化测试问题可能非常有用。
例如,在某些测试实验室中,需要在绝对设置的时间点(参照绝对标度)(例如,星期一的上午10:00)自动进行被研究/测试的设备的电源重置。 但是,由于执行电源管理操作的决定会受到所研究设备的其他硬件资源(例如,输出GPIO线路上的一个或另一个级别)的当前状态的影响,因此使该任务变得复杂。
后一种情况使该解决方案有些复杂,使我们考虑使用一些外部硬件模块,其中支持必要的硬件资源来解决该问题,即:继电器,实时时钟,输入GPIO线。
我们使用Arduino平台进行的第一个实验。 但是,当有必要以稳定的质量大量复制该解决方案时,他们开始寻求现成的解决方案。 因此,我们使用外部Laurent-5硬件模块对系统进行了调整,该模块具有通过以太网监视控制过程的能力。

具体来说,我们每天必须严格在早上07:00短暂重置被测设备的电源。 但是,如果设备继续执行关键操作,则永远不要进行复位。 在这种情况下,器件的离散输出GPIO线上设置了高逻辑电平(+3.3 V)。
Laurent-5模块按如下方式连接到测试设备。 设备就绪信号被带到输入离散线路IO_1。 设备的电源通过继电器RELE_1的常闭触点转发。 如果继电器打开,则被测设备的电源将被切断。

要配置系统,首先,您需要在“输入”上更改GPIO IO_1 Laurent-5模块的方向。 最简单的配置方法是通过Web界面(默认地址为192.168.0.101)。 我们转到主控制面板上的“常规行IO1-IO8”部分。

我们单击线IO_1处的“箭头”,并将此GPIO线的方向更改为“开”状态,以分析被测设备的“就绪”线的状态。

接下来,我们创建逻辑CAT规则,这些规则将为“就绪”线路分析的自动化提供服务并控制继电器。
我们进入CAT部分,然后单击“创建新事件”按钮。 将出现一个窗口,其中将ID = 1分配给新的逻辑规则。

选择RTC事件的类型-该任务将在指定的时间完成。

在事件设置中,我们指示响应时间-每天早上07:00。

为响应使用Ke命令的此事件的发生,我们启用了将进一步创建的CAT事件2,3和4的操作。 需要附加的逻辑规则来分析设备的信号“就绪”,并在设备尚未准备就绪时避免电源重置。

为了清楚起见,让我们为该逻辑规则命名。

结果,ID = 1的新事件将出现在逻辑规则列表中:

添加以下ID = 2的逻辑规则,该规则将以每秒1次的频率在计时器上执行。


我们指出为了使逻辑规则起作用必须满足的附加条件,即,我们指定在IO_1处需要低逻辑电平,从而发出信号表明设备已准备好进行电源复位。

如果满足所有条件,则关闭事件2,3和4。我们将重置事件3的响应计数器(见下文),并打开继电器RELE_1 4秒钟,之后它将自动返回其原始(关闭)状态。

但是,如果设备始终“冻结”并且警报一直响起,该怎么办? 为此,我们将使用ID = 3和4的事件,在该事件中,如果设备在指定时间内未发出准备进行硬件复位的信号,则通过发送警报消息来实现看门狗定时器的功能。
让我们根据常规计时器创建一个ID = 3的事件,其响应频率为每1秒一次。 该事件实际上不会执行任何操作,只是发送一个空的$ KE命令。 但是,对于每个操作,此事件的操作计数器都会增加。 使用ID = 4的逻辑规则,我们将监视该值,如果该值超过某个阈值(例如300次操作,相当于5分钟),我们将停止操作并增加程序变量VAR_1的值,以便随后分析失败的操作数。
总的来说,一组逻辑规则如下所示。 要启动整个系统,只需启用ID = 1的事件处理就足够了。

然后将出现以下情况:每天07:00都会触发一个ID = 1的逻辑规则。在这种情况下,ID 2、3和4的事件处理将作为一种响应而进行。如果被测设备已准备好重置电源(逻辑电平0到信号线)-作为规则ID = 2的一部分,将关闭事件2-4的处理,由于某些原因已重置了第三条规则的操作计数器,并且已通过短暂打开继电器来重置了设备。
在并行操作中,我们启动保护计时器,以每秒一次的时钟向下计数。 通过在ID = 4规则框架中检查看门狗计时器的值,我们可以通过增加程序变量VAR_1来使当天的等待失败并发出信号,表明整个操作失败,然后可以通过TCP / HTTP请求其值以进行后续分析。