追梦工控论坛|工控论坛-专业的Intouch论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

总共8197条微博

动态微博

查看: 3535|回复: 2

[求助-wincc]WINCC上升沿

[复制链接]

升级  31.5%

该用户从未签到

发表于 2013-12-24 20:19:55 | 显示全部楼层 |阅读模式

上传分享工控资料得追梦点,下载积分获取办法点击进入 ☆追梦点充值入口
发帖回帖赚金币兑换下载积分。上传附件须知点击进入

×

马上注册,结交更多工控达人,分享经验,让你轻松玩转追梦工控论坛。

已有帐号?  点击登录   或者        

支付宝扫一扫领红包
PLC编程上升沿大家都会。现在求助:WINCC怎样实现上升沿,举个很简单的例子:有个BOOL内部变量A,只有在A从0到1跳变的时候才把某个BOOL变量B的置on,这个怎样做?望有经验大师分享一二,不胜感激!</p>
让我们联手拒绝网络伸手党,下载积分获取办法&附件上传须知 ☆追梦点充值入口





+1
3537°C
2
  • 大飞机
  • euiuxsw
过: 他们

升级  37%

该用户从未签到

发表于 2013-12-24 21:03:45 | 显示全部楼层
如果wincc不退出的话,wincc建立一个内部变量变量B,如果wincc经常要退出,则建立外部变量B,vbs脚本:
dim tag(2)
tag(0)=hmiruntime.tags(&quot;A&quot;).read
tag(1)=hmiruntime.tags(&quot;B&quot;).read
if tag(0)=1 and tag(1)=0 then
上升沿需要处理的程序
end if
hmiruntime.tags(&quot;B&quot;).write tag(0)
                                                                                                                                                                                                                                                              
                                                        

升级  20%

该用户从未签到

发表于 2013-12-24 21:50:48 | 显示全部楼层
利用WinCC的全局脚本中的事件触发,就可以实现这个功能。
但是触发的速度上没有PLC那么快。
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            强烈建议你不要这么做,WINCC是多任务非实时的系统,无法满足你的响应要求,甚至无法检测到上升沿的变化。这部分功能还是做在PLC 中吧。
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            这样的任务为什么不在PLC中做呢?简单而且准确,wincc中当然能够实现,利用脚本就可以,实现起来较麻烦!
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            在系统内部建立,内部BOOL变量,A ,C
BOOL a=GetTagBit(&quot;A&quot;);
BOOL c=GetTagBit(&quot;C&quot;);
if((a==1)&&(c==0))
{
//处理程序
SetTagBit(&quot;B&quot;,1);
}
SetTagBit(&quot;C&quot;,a);
在全局脚本里面,周期205ms,最快的了!不过还是建议写在PLC里面比较好。
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

请珍惜自己的ID,严禁发布垃圾水贴,诸如adsf......顶......纯表情......多次重复回帖刷积分......轻则删帖警告,重则封禁!★请分享资料、经验或者赞助论坛,贡献一份力量★

关闭

最新活动上一条 /1 下一条

小黑屋|手机版|追梦工控论坛|工控论坛-专业的Intouch论坛 ( 皖ICP备10012005号 )|网站地图

GMT+8, 2025-5-5 01:36 , Processed in 0.105676 second(s), 21 queries , Gzip On, APCu On.

Powered by Dreamyiyi

© 2009-2025 工控论坛

快速回复 返回顶部 返回列表