回复:批量处理程序调试遇到问题,无心睡眠,向大家寻求帮助!

西门子PLC学员

  • 帖子

    686
  • 精华

    5
  • 被关注

    7

论坛等级:侠士

注册时间:2005-11-22

黄金 黄金 如何晋级?

发布于 2008-12-14 19:20:55

0楼

你的思路是对的,但程序有问题。我觉得要考虑的是:每个模拟量的上下限是否一样,如不,你还得在数据据块中加进去。你可以创建一个FB将FC105的输入及输出各个变量,在FB的声明表中组态成一个STRUCT类型,然后再创建ARRAY变量,下标就是你所采集的最大的变量数,这个ARRAY变量的类型就是STRUCT变量。然后读取ARRAY的首址,利用循环指令,采用指针,读写各个变量到TEMP变量中,然后再将TEMP变量送FC105的实参中进行处理。
第二种方法采用SFC20,我编了一下,可能细节的地方不一定对,思路就是这样(假设采样有50个变量):
FUNCTION_BLOCK FB 1
TITLE =
VERSION : 0.1


VAR
DB_I_1 : STRUCT
IN_DB : INT ;
LO_LIM_DB : REAL ;
BIPOLAR : BOOL ;
RET_VAL_DB : WORD ;
OUT_DB : REAL ;
HI_LIM_DB : REAL ;
END_STRUCT ;
DB_IN : ARRAY [1 .. 50 ] OF STRUCT
DB_I : STRUCT
IN_DB : INT ;
LO_LIM_DB : REAL ;
BIPOLAR : BOOL ;
RET_VAL_DB : WORD ;
OUT_DB : REAL ;
HI_LIM_DB : REAL ;
END_STRUCT ;
END_STRUCT ;
END_VAR
VAR_TEMP
Temp1 : ANY ;
Temp2 : ANY ;
Temp3 : INT ;
Temp4 : INT ;
END_VAR
BEGIN
NETWORK
TITLE =

L 1;
T #Temp3;
M001: LAR1 P##Temp1;
L B#16#10;
T LB [AR1,P#0.0];
L B#16#2;
T LB [AR1,P#1.0];
L 18;
T LW [AR1,P#2.0];
L 0;
T LW [AR1,P#4.0];
L P##DB_I_1;
T LD [AR1,P#6.0];
LAR1 P##Temp2;
L B#16#10;
T LB [AR1,P#0.0];
L B#16#2;
T LB [AR1,P#1.0];
L 18;
T LW [AR1,P#2.0];
L 0;
T LW [AR1,P#4.0];
L #Temp3;
L P##DB_IN;
*D ;
T LD [AR1,P#6.0];
CALL "BLKMOV" (
SRCBLK := #Temp2,
RET_VAL := #Temp4,
DSTBLK := #Temp1);

NETWORK
TITLE =

CALL "SCALE" (
IN := #DB_I_1.IN_DB,
HI_LIM := #DB_I_1.HI_LIM_DB,
LO_LIM := #DB_I_1.LO_LIM_DB,
BIPOLAR := #DB_I_1.BIPOLAR,
RET_VAL := #DB_I_1.RET_VAL_DB,
OUT := #DB_I_1.OUT_DB);

NETWORK
TITLE =

L 1;
T #Temp3;
LAR1 P##Temp1;
L B#16#10;
T LB [AR1,P#0.0];
L B#16#2;
T LB [AR1,P#1.0];
L 18;
T LW [AR1,P#2.0];
L 0;
T LW [AR1,P#4.0];
L P##DB_I_1;
T LD [AR1,P#6.0];
LAR1 P##Temp2;
L B#16#10;
T LB [AR1,P#0.0];
L B#16#2;
T LB [AR1,P#1.0];
L 18;
T LW [AR1,P#2.0];
L 0;
T LW [AR1,P#4.0];
L #Temp3;
L P##DB_IN;
*D ;
T LD [AR1,P#6.0];
CALL "BLKMOV" (
SRCBLK := #Temp1,
RET_VAL := #Temp4,
DSTBLK := #Temp2);

L 50;
L #Temp3;
JC END;
L 1;
+I ;
T #Temp3;
JU M001;
END: NOP 1;
END_FUNCTION_BLOCK
学如逆水行舟,不进则退
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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