GSV/SSV 编程示例

以下示例使用 GSV 指令获取故障信息。
示例 1:获取 I/O 故障信息
本示例用于从 I/O 模块 disc_in_2 中获取故障信息,并将数据放入用户自定义的结构 disc_in_2_info 中。
梯形图
GSVSSV_LD_ex1_Pg225_v31
结构化文本
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 中。
梯形图
GSVSSV_LD_ex2_Pg226_v31
结构化文本
GSV(PROGRAM,DISCRETE,LASTSCANTIME,discrete_info.LastScanTime);
GSV(PROGRAM,DISCRETE,MAXSCANTIME,discrete_info.MaxScanTime);
示例 3:获取任务状态信息
本示例用于获取有关任务 IO_test 的状态信息,并将数据放入用户自定义的结构 io_test_info 中。
梯形图
GSVSSV_LD_ex3_Pg226_v31
结构化文本
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 程序的禁用标志属性中。
梯形图
GSVSSV_LD_ex4_Pg227_v31
结构化文本
IF SW.1 THEN
discrete_prog_flag := enable_prog;
ELSE
discrete_prog_flag := disable_prog;
END_IF;
SSV(PROGRAM,DISCRETE,DISABLEFLAG,discrete_prog_flag);
禁用和取消禁用 FirmwareSupervisor 自动固件更新
以下示例使用 GSV/SSV 指令禁用或取消禁用控制器的自动固件更新属性。如果写入值 1,则会禁用该属性。如果写入值 0,则会取消禁用该属性。此外,还可使用 GSV 读取属性状态。
梯形图
GSVSSV_LD_ex5_Pg228_v31
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal