发布于 2011-05-18 13:02:56
8楼
关于7楼楼主遇到的问题,说明如下:
FUNCTION_BLOCK FB20
VAR
Index1,Index2,Index3:INT; //此处为静态变量声明区
END_VAR
//语法结构上讲,所有语句均符合SCL规范……但是……
//从程序结构上看,楼主是想通过调用该FB实现将输出映像区的数据存储到相应的DB块中
//此处有很多不合理的地方
//首先Index1,Index2,Index3必须先初始化,此处没有初始化进而访问会出错。
//然后是,如果Index1,Index2,Index3被初始化后,此段程序将不具有价值……
//建议:使用FC来完成该功能
WORD_TO_BLOCK_DB(INT_TO_WORD(Index1)).DX[Index2,Index3] :=q0.0;
;
END_FUNCTION_BLOCK
No discussion, no outcome.