回复:SCL 编程如何实现按一次开关Q0.1=1;再按一次Q0.1=0;如此反复

KAPOK

  • 帖子

    2208
  • 精华

    3
  • 被关注

    42

论坛等级:至圣

注册时间:2004-08-20

钻石 钻石 如何晋级?

发布于 2011-08-05 09:08:58

24楼

quote:以下是引用t1122在2011-08-04 19:11:51的发言:
9楼程序确实有问题,没有仔细看就回复了,抱歉!
我把9楼程序问题说一下:
第一:临时变量没有初始化。在调用其他fc或者fb存在临时变量之后,如果继续调用,可能会出现错误。按下不动的情况下可能会出现输出变化的情况。
第二:解决的办法很简单,将变量定义为VAR_IN_OUT。
FUNCTION  FC1010  :bool
        VAR_INPUT
            rise:BOOL;
        END_VAR

VAR_IN_OUT
            rise1:BOOL;//这里必须用in_out定义。
END_VAR

        VAR_TEMP
                rise2:BOOL;
        END_VAR
        rise2:=(NOT    rise1)    AND  rise;
        rise1:=rise;
        fc1010:=fc1010  XOR    rise2
END_FUNCTION
朋友:我不知道你是如何下的结论?是凭你的分析呢还是实际测试过呢?恰巧我对9楼的程序进行过测试,是正确的!不知这位朋友怎么看?
Kapok
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54774条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。