WINCC
写一个WINCC的按钮,要求按下按钮时,一个内部变量为1,保持2秒,此变量变为01. 打开WinCC,选择你要添加按钮的页面。在画面编辑器中,从工具栏中选择“按钮”控件并在画面上绘制一个按钮。
2. 右键单击按钮并选择“设置”以打开按钮属性对话框。
3. 在“事件”选项卡下,选择“鼠标单击”事件,并单击右边的“脚本编辑器”。
4. 在编写的代码中声明一个内部变量,并将其初始化为0:
```
VAR
bButtonPressed : BOOL := FALSE;// 内部变量初始化为0
END_VAR
```
5. 在按钮单击的事件中,将内部变量设置为1,并启动一个定时器保持2秒钟:
```
bButtonPressed := TRUE;// 设置内部变量为1
TP.Timer(2000); // 启动一个2秒钟的定时器
```
6. 定时器到期后,将内部变量恢复为0:
```
bButtonPressed := FALSE;// 设置内部变量为0
```
7. 最后,将按钮状态设置为反转型,以便在按下和释放按钮时切换其状态:
```
MyButton.PushButtonStyle := PBStyle_ToggleR;// 设置按钮状态为反转型
```
完整的代码如下:
```
VAR
bButtonPressed : BOOL := FALSE;// 内部变量初始化为0
END_VAR
MyButton.OnClick()
IF NOT bButtonPressed THEN // 如果按钮还没有被按下
bButtonPressed := TRUE;// 设置内部变量为1
TP.Timer(2000); // 启动一个2秒钟的定时器
ELSE // 如果按钮已经被按下
bButtonPressed := FALSE; // 设置内部变量为0
END_IF
MyButton.PushButtonStyle := PBStyle_ToggleR;// 设置按钮状态为反转型
```
注意:在使用定时器之前,需要在程序中添加一个计时器对象,以便在定时器到期时触发事件。此外,你还需要定义计时器对象的时间间隔。例如,可以添加以下代码:
```
VAR
TP : TPTimer := TPTimer(TimerPred);
END_VAR
TP.IN := TRUE; // 启动计时器
TP.Time := T#200MS; // 设置计时器时间为200毫秒
```
这里将计时器时间设置为200毫秒,因此定时器的时间也应为200毫秒的倍数。在上面的代码中,将定时器时间设置为2000毫秒,即2秒钟。
页:
[1]