程序: L P##IN0 LAR1 L W [AR1,P#2.0] T #LENGTH L W [AR1,P#4.0] T #DBS L D [AR1,P#6.0] T #DZS//将数据源的ANY指针数据复制下来 L P##IN1 LAR1 L B#16#10 //对应ANY_JI T LB 28 L B [AR1,P#1.0] T LB 29 //对应ANY_JI L W [AR1,P#2.0] T LW 30 //对应ANY_JI L W [AR1,P#4.0] T #DBJI T LW 32 //对应TANY_JI L D [AR1,P#6.0] T #DZJI T LD 34 //对应ANY_JI//将存放奇数的DB块的ANY数据进行处理,并编写ANY_JI L P##IN2 LAR1 L B#16#10 T LB 38 //对应ANY_OU L B [AR1,P#1.0] T LB 39 //对应ANY_OU L W [AR1,P#2.0] T LW 40 //对应ANY_OU L W [AR1,P#4.0] T #DBOU T LW 42 //对应ANY_OU L D [AR1,P#6.0] T #DZOU T LD 44 //对应ANY_OU////将存放偶数的DB块的ANY数据进行处理,并编写ANY_OU L 0 T #ZERO CALL "FILL" BVAL :=#ZERO RET_VAL:=#TEMP12 BLK :=#ANY_JI CALL "FILL" BVAL :=#ZERO RET_VAL:=#TEMP13 BLK :=#ANY_OU//初始化,清零,调用SFC21 OPN DB [#DBS] OPN DI [#DBJI] LAR1 #DZS LAR2 #DZJI L #LENGTHM002: T #LOOP_JI L DBW [AR1,P#0.0] SRW 1 A >0 JCN M001 L DBW [AR1,P#0.0] T DIW [AR2,P#0.0] +AR2 P#2.0M001: +AR1 P#2.0 L #LOOP_JI LOOP M002//奇数 OPN DB [#DBS] OPN DI [#DBOU] LAR1 #DZS LAR2 #DZOU L #LENGTHM004: T #LOOP_OU L DBW [AR1,P#0.0] SRW 1 A >0 JC M003 L DBW [AR1,P#0.0] T DIW [AR2,P#0.0] +AR2 P#2.0M003: +AR1 P#2.0 L #LOOP_OU LOOP M004//偶数调用:因为这里采用的是INT数据所以在调用的时候要写:P#DB7.DBX0.0 INT 10
测试效果: