FUNCTION FC 66 : VOID
TITLE =data block ini
//该程序的作用是初始化数据块的字节为0。其范围从DB[#DB_NUM].DBB[ #MIN_INT]开始的
//#MAX_INT个字节
//Eg:DB2.DBB0--DBB259 共260个字节 DB2.DBB2--DBB241共240个字节
//该程序一般在PLC的第一个循环周期执行一次,即OB100中调用
VERSION : 0.1
VAR_INPUT
IN0 : BOOL ;
DB_NUM : INT ;
MIN_INT : INT ;
MAX_INT : INT ;
END_VAR
VAR_OUTPUT
OUT4 : BOOL ;
END_VAR
VAR_TEMP
TEMP5 : WORD ;
TEMP6 : WORD ;
END_VAR
BEGIN
NETWORK
TITLE =执行初始化与否的条件
AN #IN0; //==0 END
BEC ; //Block End Conditional
NETWORK
TITLE =初始化循环
L #DB_NUM;
T #TEMP5;
L #MAX_INT;
T #TEMP6;
OPN DB [#TEMP5];
L #MIN_INT;
SLW 3; //Shift Left Word 相当于*8,INT->DINT
LAR1 ; //Load Address Register 1 from ACCU 1
L #TEMP6;
M001: L 0; //欲初始化的数值
T DBB [AR1,P#0.0];
+AR1 P#1.0; //字节+1
TAK ; // 再次装载循环计数器数值
LOOP M001; //ACCU1减1运算,如果<>0则继续跳转
SET ;
= #OUT4; //当初始化结束以后输出标志
END_FUNCTION