利用WINCC中的动作怎么做逻辑运算 点击:2821 | 回复:12



春华★秋实

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-08-02 16:20:00
楼主
我想做一个逻辑运算,假如有2个二进制量BOOL1和BOOL2,当BOOL1为TRUE且BOOL2为FALSE时,输出一个TRUE,当BOOL1为FALSE且BOOL2为TRUE时,输出为FALSE。请问怎么做?我就是不会在WINN的C动作中表示逻辑“与”,请帮忙啊,给一个动作,谢谢



三脚猫

  • 精华:0帖
  • 求助:0帖
  • 帖子:180帖 | 1598回
  • 年度积分:0
  • 历史总积分:1097
  • 注册:2004年7月08日
发表于:2007-08-02 16:24:00
1楼
  逻辑与:   &

songzg

  • 精华:0帖
  • 求助:0帖
  • 帖子:96帖 | 732回
  • 年度积分:0
  • 历史总积分:1884
  • 注册:2006年11月16日
发表于:2007-08-02 16:59:00
2楼
用IF 
  ELSE
这样应该可以;
编程可以用触发器三!

清朝

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 1359回
  • 年度积分:0
  • 历史总积分:2281
  • 注册:2004年10月16日
发表于:2007-08-02 20:06:00
3楼
    用IF 
  ELSE
很简单的

春华★秋实

  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-08-03 19:52:00
4楼
看来我对脚本还是不熟悉,我看过WINCC组态手册和脚本手册,但在里面找不到相关内容。我想做的是下面的情况:
例如是一个阀门的开关状态,要达到这样的目的:
条件:阀门的上、下限位作为输入,BOOL1(上限位是开)和BOOL2(下限位是关)
目的:当BOOL1为真,BOOL2为假时,阀门才为开状态,当BOOL1为假,BOOL2为真时才为关状态,若2者都为假,则保持原有的状态。
请大家给个办法。还有,我不知道在脚本怎么把TRUE赋给BOOL量,我写1或者TRUE在脚本好象都行不同

wincc.5591

  • 精华:0帖
  • 求助:1帖
  • 帖子:23帖 | 240回
  • 年度积分:0
  • 历史总积分:397
  • 注册:2005年10月22日
发表于:2007-08-03 21:59:00
5楼
IF BOOL1 & (!BOOL2)
  THEN TRUE
ELSE IF (!BOOL1) & BOOL2
  THEN FALSE

三脚猫

  • 精华:0帖
  • 求助:0帖
  • 帖子:180帖 | 1598回
  • 年度积分:0
  • 历史总积分:1097
  • 注册:2004年7月08日
发表于:2007-08-04 20:50:00
6楼
用WINCC实现这个逻辑运算很简单,但这个运算最好还是
交给下位机去运算,安全考虑!上位机的作用是监控用的,

春华★秋实

  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-08-06 08:41:00
7楼
TO wincc.5591:
我建了一个项目函数,但不行。函数如下:
void Position(BOOL bool1,BOOL bool2)
{
if bool1&(!bool2)
then true
else if (!bool1)&bool2
then false
}
请指点一下,谢谢!!

三脚猫

  • 精华:0帖
  • 求助:0帖
  • 帖子:180帖 | 1598回
  • 年度积分:0
  • 历史总积分:1097
  • 注册:2004年7月08日
发表于:2007-08-07 09:11:00
8楼
then true
不符C语言语法

春华★秋实

  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-08-07 16:30:00
9楼
在S7好做,我就是想学WINCC的脚本。想自己编制一些函数,可语法不会,又找不到这方面的资料。谁有的话请共享一下啊,谢谢!!

杜学强

  • 精华:13帖
  • 求助:0帖
  • 帖子:29帖 | 536回
  • 年度积分:0
  • 历史总积分:880
  • 注册:2001年6月09日
发表于:2007-08-07 17:03:00
10楼
最好避免在界面中做逻辑,因为相对来说,计算机的可靠性不如PLC,维护起来也比较麻烦,所以建议,界面中只做显示与输入,不进行运算。

wincc.5591

  • 精华:0帖
  • 求助:1帖
  • 帖子:23帖 | 240回
  • 年度积分:0
  • 历史总积分:397
  • 注册:2005年10月22日
发表于:2007-08-07 20:23:00
11楼
我只是给出了一个这样的例子,具体的还要看你用在哪里,照原样肯定不行的

春华★秋实

  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-08-08 15:59:00
12楼
既然上位机是监控的,我就用S7做吧。多谢大家!
另外:怎么实现下面的过程?(用S7+WINCC)
当我给电机送开关量时询问操作员。假如要开电机,点击按钮后弹出对话框“是否要开启电机”之类的话,然后操作员可以点击“确定”就开启了电机,点击“取消”就不启动。

热门招聘
相关主题

官方公众号

智造工程师