GSV/SSV 编程示例
以下示例使用 GSV 指令获取故障信息。
示例 1:获取 I/O 故障信息
本示例用于从 I/O 模块 disc_in_2 中获取故障信息,并将数据放入用户自定义的结构 disc_in_2_info 中。
梯形图

结构化文本
GSV(MODULE,disc_in_2,FaultCode,disc_in_2_info.FaultCode);
GSV(MODULE,disc_in_2,FaultInfo,disc_in_2_info.FaultInfo);
GSV(MODULE,disc_in_2,Mode,disc_in_2_info.Mode);
示例 2:获取程序状态信息
本示例用于获取有关 DISCRETE 程序的状态信息,并将数据放入用户自定义的结构 discrete_info 中。
梯形图

结构化文本
GSV(PROGRAM,DISCRETE,LASTSCANTIME,discrete_info.LastScanTime);
GSV(PROGRAM,DISCRETE,MAXSCANTIME,discrete_info.MaxScanTime);
示例 3:获取任务状态信息
本示例用于获取有关任务 IO_test 的状态信息,并将数据放入用户自定义的结构 io_test_info 中。
梯形图

结构化文本
GSV(TASK,IO_TEST,LASTSCANTIME,io_test_info.LastScanTime);
GSV(TASK,IO_TEST,MAXSCANTIME,io_test_info.MaxScanTime);
GSV(TASK,IO_TEST,WATCHDOG,io_test_info.Watchdog);
设置使能和禁用标志
以下示例使用 SSV 指令使能或禁用程序。此外,还可以使用此方法使能或禁用 I/O 模块,这是一种与使用 PLC-5 处理器禁用位类似的编程解决方案。
根据 SW.1 的状态,将相应值放入 DISCRETE 程序的禁用标志属性中。
梯形图

结构化文本
IF SW.1 THEN
discrete_prog_flag := enable_prog;ELSEdiscrete_prog_flag := disable_prog;
END_IF;
SSV(PROGRAM,DISCRETE,DISABLEFLAG,discrete_prog_flag);
禁用和取消禁用 FirmwareSupervisor 自动固件更新
以下示例使用 GSV/SSV 指令禁用或取消禁用控制器的自动固件更新属性。如果写入值 1,则会禁用该属性。如果写入值 0,则会取消禁用该属性。此外,还可使用 GSV 读取属性状态。
梯形图

提供反馈