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

t1122

  • 帖子

    73
  • 精华

    1
  • 被关注

    5

论坛等级:游士

注册时间:2011-04-14

普通 普通 如何晋级?

发布于 2011-08-04 19:11:51

18楼

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
就像找找偷懒的诀窍
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54622条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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