回复:SCL 编程问题

YiMoon

西门子1847工业学习平台

  • 帖子

    1228
  • 精华

    36
  • 被关注

    87

论坛等级:至圣

注册时间:2005-04-14

黄金 黄金 如何晋级?

发布于 2013-07-16 13:17:49

2楼

1. 你的FUNCTION 内的程序应该放在END_FUNCTION之间
2. 数组没有定义数组名
3. TEMP变量是不能赋初值的
4. 程序开始没用BEGIN
5.很多没有结尾,像END_FOR等等
6.不能用(),改成[ ]
这里是修改后的SCL:




FUNCTION FC8 : VOID

VAR_TEMP

LIMMIT:INT;

index:int;

var1:BYTE ;
var2:BYTE ;
END_VAR


BEGIN


FOR index:= 0 TO 100 BY 1 DO


IF LIMMIT=WORD_TO_INT(mw100)
THEN

DB2.DBD34:= DB4.DBD[4*index];
DB2.DBD54:= DB11.DBW[index*2];



END_IF;
END_FOR;

END_FUNCTION


DATA_BLOCK DB2
//
// Block Comment ...
//

STRUCT
xxx: ARRAY [0..58] OF BYTE;

END_STRUCT
BEGIN

END_DATA_BLOCK

DATA_BLOCK DB4
//
// Block Comment ...
//

STRUCT
yyy: ARRAY [0..6000] OF BYTE;

END_STRUCT
BEGIN

END_DATA_BLOCK

DATA_BLOCK DB11
//
// Block Comment ...
//

STRUCT
zzz:ARRAY [0..3000] OF WORD;


END_STRUCT

BEGIN
END_DATA_BLOCK
Keep calm and carry on!!!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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