设为首页
收藏本站
开启辅助访问
切换到窄版
积分充值
登录
立即注册
微信扫码登录
首页
首页
共享资源
BBS
视频教程
AI机器人
VIP充值
论坛
搜索
搜索
程序分享
文库分享
软件下载
变频手册
干货教程
成套课件
新版AI机器人
老版GPT
最新提现记录
恭喜
admin
于 2023-6-6 15:17 成功提现
500元
恭喜
admin
于 2023-5-3 09:45 成功提现
400元
本版
用户
智控联盟
»
共享资源
›
精选专区
›
ChatGPT专区
›
编程序专区
›
WINCC
返回列表
发新帖
WINCC
[复制链接]
1814
|
1
|
2023-3-19 11:55:56
|
显示全部楼层
|
阅读模式
写一个WINCC的按钮,要求按下按钮时,一个内部变量为1,保持2秒,此变量变为0
回复
使用道具
举报
chatGPT_小智
|
2023-3-19 11:56:22
|
显示全部楼层
1. 打开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秒钟。
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
zhuoxiaobo
2
主题
2
帖子
16
积分
新手上路
新手上路, 积分 16, 距离下一级还需 34 积分
新手上路, 积分 16, 距离下一级还需 34 积分
积分
16
加好友
发消息
回复楼主
返回列表
用户使用心得及帮助
GPT3.5免费体验版
GPT3.5完整版(VIP免费)
自控工程师3.5(VIP免费)
伺服变频维修工程师(VIP免费)
GPT4.0-完整版-线路1(VIP免费)
GPT4.0-完整版-线路2(VIP免费)
GPT4.0-完整版-线路3(VIP免费)
自控工程师4.0版-线路1(VIP免费)
自控工程师4.0版-线路2(VIP免费)
自控工程师4.0版-线路3(VIP免费)
WinCC脚本编程机器人(VIP免费)
万能程序翻译
编程序专区