用SCL编程时,在FB里调用FC出现了运算错误。

已锁定

againoooooo

  • 帖子

    48
  • 精华

    0
  • 被关注

    2

论坛等级:游民

注册时间:2013-03-27

普通 普通 如何晋级?

用SCL编程时,在FB里调用FC出现了运算错误。

1017

6

2014-08-06 13:05:27

FC20是按照下面网址里的代码做的一个取上升沿、下降沿的程序。
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&objid=71705271&caller=view

FB70里只调用了这个FC20,代码如下:


FUNCTION_BLOCK FB70

VAR_INPUT
in:BOOL;
END_VAR

VAR_OUTPUT
up:BOOL;
down:BOOL;
END_VAR

VAR_TEMP
ls:BOOL;
END_VAR

FC20(Current_Status := in // IN: BOOL
,Positive_Edge := up // OUT: BOOL
,Negative_Edge := down// OUT: BOOL
,Last_Status := ls// INOUT: BOOL
); // VOID

END_FUNCTION_BLOCK

编译都正常,我在OB1里直接调用FC20时,可以正常实现取上升沿、下降沿的功能。
但我在OB1里调用FB70时,输入变1后,上升沿始终输出为1,而不是下一扫描周期后变回0。

各大神们知道这是什么原因么?

再补充一句,当ls:BOOL;这个中间变量定义为输出变量时,程序就能正常工作了。
用SCL编程时,在FB里调用FC出现了运算错误。 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54456条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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