下面是一个用ST结构化文本语言编程实现的例子:
css
PROGRAM Example
VAR
X0: BOOL;
Y0: BOOL;
a: INT;
END_VAR
a := 0;
WHILE TRUE DO
IF X0 THEN
a := a + 1;
END_IF
IF a = 3 THEN
Y0 := TRUE;
ELSE
Y0 := FALSE;
END_IF
IF a >= 5 THEN
a := 0;
END_IF
// 延时,防止程序过快执行
DELAY 100ms;
END_WHILE
这个程序首先定义了三个变量X0、Y0和a,其中X0表示按键输入,Y0表示输出信号,a表示按键按下的次数。然后通过一个无限循环来不断检测X0输入是否为真,并根据条件判断和计数来实现功能。
具体来说,程序先将a初始化为0,然后在循环中不断执行以下操作:
判断X0是否为真,如果为真则将a加1;
如果a等于3,则将Y0输出为真,否则输出为假;
如果a大于等于5,则将a重置为0,重新开始计数;
延时一段时间,防止程序过快执行。
需要注意的是,ST语言中的循环语句使用WHILE DO和END_WHILE来表示,IF语句的条件判断需要用THEN和END_IF来限定,变量赋值可以使用:=操作符。