SCL编程中多次调用同一个FB块的问题

已锁定

militia

  • 帖子

    36
  • 精华

    1
  • 被关注

    1

论坛等级:游民

注册时间:2008-06-05

普通 普通 如何晋级?

SCL编程中多次调用同一个FB块的问题

995

3

2010-07-01 12:55:08

项目中有80个一模一样的对象,需要使用FB10来进行控制。用LAD或者STL编程的话就要调用FB10 80次,用多重背景数据块放在同一个FB里。但是我这80个FB10需要进行分组,不同条件给不同的输入参数。于是我就想到了用SCL做循环。

SCL的手册中有如下这个例子:
"TEST"是FB10的符号名,"FINALVAL"和"IQ1"是FB10的两个输入形参,"CONTROL"是输出形参。


FUNCTION_BLOCK CALL
VAR
// Local instance declaration
TEST_L : TEST ;
VARIABLE1 : REAL ;
RESULT : BOOL ;
END_VAR
BEGIN
// Call local instance:
TEST_L(FINALVAL:= 10, IQ1:= VARIABLE1) ;
RESULT := TEST_L.CONTROL ;
END_FUNCTION_BLOCK


然后我参照SIMOTION ST的编程方式,用了下面一种数组的方式来处理本地背景数据块。


FUNCTION_BLOCK CALL
VAR
// Local instance declaration
TEST_L : ARRAY[0..9] OF TEST ;
VARIABLE1 : REAL ;
RESULT : BOOL ;
END_VAR
BEGIN
// Call local instance:
TEST_L[0](FINALVAL:= 10, IQ1:= VARIABLE1) ;
RESULT := TEST_L[0].CONTROL ;
END_FUNCTION_BLOCK


结果却报错了。在SIMOTION ST编程语言中是支持这样的用法的。

不知道各位对这个问题有什么好的解决方法?
SCL编程中多次调用同一个FB块的问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54756条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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