SCL创建FB的问题

SCL创建FB,希望在FB101中操作共享DB10数据块中的数组型数据,编译时出现变量未声明的报错,希望各位大神支招,小弟为初学SCL
还有一个问题:FB块的输入引脚接连DB地址时,在仿真模式下,为何在变量表里赋值就会报错,求解
程序如下:
DATA_BLOCK DB10
    STRUCT
Temp:ARRAY[1..10]OF REAL;
    END_STRUCT
BEGIN
END_DATA_BLOCK
FUNCTION_BLOCK FB101
VAR_TEMP
END_VAR
VAR
END_VAR
VAR_INPUT
    ID:INT;
    Real_in:REAL;
END_VAR
VAR_OUTPUT
    Result: REAL;
END_VAR
       IF ID<=10 THEN
      Temp[ID]:=Real_in; //编译时报这里的"Temp"变量未声明错误,我创建DB10的时候不是已经声明过了么?求解
       END_IF;   
END_FUNCTION_BLOCK

问题补充:
“ IF ID<=10 THEN
      Temp[ID]:=Real_in; //编译时报这里的"Temp"变量未声明错误,我创建DB10的时候不是已经声明过了么?求解
       END_IF;   ”
这部分我改为:
IF ID<=10 THEN
     DB10.Temp[ID]:=Real_in; 
       END_IF;  
编译没问题了..但我模拟的时候,报SF并且处于STOP,RUN不了,查CPU信息为写命令时区域长度错误
请大神们,给予帮忙

图片说明:

SCL创建FB的问题   

最佳答案

IF ID<=10 THEN
      Temp[ID]:=Real_in; //编译时报这里的"Temp"变量未声明错误,我创建DB10的时候不是已经声明过了么?求解
       END_IF;   
----------------------------------------
这里你的写法不对,这么写是指fb本身创建的变量,如果需要调用外部全局db的数组,则可以写成DB10.TEMP[ID],而且最好给db10取个符号名(符号表中)

---------------------------------------------
所谓长度错误,就是cpu寻址错误,也就是找不到程序中要访问的地址,你的fb中定义ID参数的时候没有指定一个合理范围的初始值,或者调用的时候没有填一个正确的参数,你这段程序中,为了访问之前建的db10,id的范围应当在1-10,而你的id默认值没有指定,可能就为0了。

提问者对于答案的评价:
谢谢..

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc150024.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月4日 上午7:37
下一篇 2017年6月4日

相关推荐

  • 高手帮忙

    编译OS时弹出的如下错误信息 "302:3018 – There are process variables&…

    SIMATIC PCS 7 2017年10月31日
  • PCS7中利用PLCSIM仿真

    各位仁兄:      我想在PCS7中利用S7_PLCSIM进行仿真,主要是wincc中利用PLCSIM,组态中已经建立…

    SIMATIC PCS 7 2017年8月15日
  • WINCC7.2…

    请问在WINCC7.2中,@画面名,@PG_画面名,@PCS7_画面名,@PCS7TYPICAL画面名  它们有什么区别啊 最佳答案 带@的画面是PCS7系统自…

    SIMATIC PCS 7 2017年6月6日
  • pcs 7仿真

    pcs 7仿真是不是必须用其软件本身自带的仿真器啊? 最佳答案 1.PLCSIM v5.3及以前的版本只能使用MPI进行仿真; 2.PLCSIM&nb…

    SIMATIC PCS 7 2017年6月29日
  • pcs7 怎么与s7-200smart连接

    现有一套pcs7系统,已经在运行中,现在新增一套s7-200 smart的小系统,怎么把smart集成到pcs7进行监控? 问题补充:PCS7已经在运行,下位机是S740…

    SIMATIC PCS 7 2017年5月28日
  • 站组态编辑器图标

    各位老师好。就是想问下我的电脑右下角怎么没有PCS7站组态编辑器的图标了?需要怎样操作,才能把图标显示出来。谢谢各位,请指点下。 问题补充:但是我的开始菜单没有这站组态编辑器的图标…

    SIMATIC PCS 7 2017年6月9日
  • PCS7下载的问题

    PCS7在下载的时候会卡在识别块那一步的某个编号上,原来是 4137,现在是4364。要卡很长时间,不少于半个小时。这种现象是往仿真器中下载,目前该项目还没有往实际的CP…

    2017年6月1日
  • 关闭AI空置通道报警

    我发现在PCS7系统中的CHART图表中,有一些AI备用通道也组态了,只是未连接IO。但是在报警列表中都有报警或是通告。怎样能把它们关闭,以后用时又能方便恢复? 问题补充:是监视模…

    SIMATIC PCS 7 2017年6月29日
  • CFC插入错误

    在PCS7组态中插入一个CFC时,系统提示hardware error    gen_failure。从而无法增加CFC,请专家指…

    SIMATIC PCS 7 2017年6月29日
  • 请问如何移植一个PCS7工程项目的OS部分

    一个改造工程,打算将原来的程序直接用,只对IO进行更改,我已将AS部分的程序全部复制到新的PLC硬件目录下并编译通过,但是却不知道如何将OS部分复制到现在的新OS目录下。项目是从P…

    SIMATIC PCS 7 2017年8月26日