Lunatico 中文

远程天文台一站式解决方案

LUNATICOASTRO IS A TRADEMARK REGISTERED BY LUNATICO ASTRONOMIA S.L.

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Dragonfly Watchdog

Dragonfly 有一项重要功能,如果电脑在软件运行期间无响应,可以自动重启。

Dragonfly 包含一系列指令,使其能充当自动控制器。具体来说,它可以根据预设触发条件,在特定情况下执行预先编制的动作。

我们可以定义多种“动作”和“触发条件”,并把它们关联起来,甚至可以让一个触发条件联动多个动作。虽然这属于高级功能,但我们可以针对各种情况为用户提供转向指导。

用户必须将计算机的重启按钮连接到 Dragonfly 的其中一个继电器上,本示例使用的是最后一个继电器,连接方式如下图所示: 

Watchdog 是如何工作的呢?

当 Windows 程序启动并与 Dragonfly 建立首次通信时,程序会读取一个初始化文件(initcmds.ini),并将其中的所有指令发送给 Dragonfly。同样,在程序关闭时,它会读取另一个结束文件(endcmds.ini)。

这里最关键的一点是从 Dragonfly 硬件的角度来看,如果它在预设的时间段内没有收到来自 Windows 程序的任何通信信号,它就会判定 PC 已无响应,并随即执行重启操作。

因此,在初始化文件中,我们将 Watchdog 设置为通过最后一个继电器来控制计算机的重启按钮:

!trig delete 0#

!action delete 0#

!trig wdogcr 120000#

!action add_relio_rlpulse_1_7_2000#

!action tadd 0 0#

在第二个文件中我们关闭它:

!action tdel 0# 

!trig delete 0#

!action delete 0#

… 在每个对应的文件中都有更详细的解释说明。

要启用此功能,只需要将本压缩包中的两个配置文件(两个“.ini”文件)复制到 Dragonfly 安装文件夹里面 (c:\program files …\dragonfly)。

该故障检测机制完全依赖于 Dragonfly 硬件与 PC 端程序之间的实时通信。当程序正常关闭时,Watchdog 会自动停用。因此,用户可以通过以下两种方式测试系统是否有效:

  1. 使用任务管理器强制结束 Dragonfly 程序,使其无法发送停用指令。
  2. 直接拔掉网络连接线。

最后三个关键细节:

– Watchdog 被设定在通信中断 120 秒之后触发(第三行中的 120000);

– 它将操作 7 号继电器(指令“…rlpulse_1_7_2000”中的7,即最后一个继电器),动作持续时间为 2 秒(即同一行中的 2000 毫秒);

– 指令中的 1(…_rlpulse_1_…)在 Dragonfly 中没有实际意义,它是为了兼容旧款 Firefly 保留的。

用户可以在“initcmds.ini”文件中修改继电器编号、脉冲时长和 Watchdog 周期。

重要提示:继电器编号为 0 到 7。因此,7 代表 Dragonfly 上最后一个(第8个)继电器。