如何实现选择程序时PLC输出一个信号.pdf
操作步骤如下:
•使用FB2读入当前选择的程序
•SIMATIC的SFC20BLKMOV转移保存读入的字符串。
•第一次启动时,忽略比较和监控。只有在自动方式下监测。
•FB2读入选择的程序。
•使用SIMATIC的FC10EQ_STRNG(需修改功能块名称,因840D已有FC10功能块)比较保存的和读入的
字符串。
•输出比较结果相同或不同。连接输出复位条件。
UNM100.1//NRD
FPM100.2
SM100.3//Request
OM100.1//NRD
OM100.0//Error
RM100.3
CALLGET,inst_akt_Prog
Req:=M100.3
NumVar:=1
Addr1:=NCvarDB.workPandProgName1_16_1_1
Unit1:=
Column1:=
……….
……….
Error:=M100.0
NDR:=M100.1
State:=MW110
RD1:=READ.workPandProgName1_16_1_1
RD2:=
RD3:=
RD4:=
RD5:=
RD6:=
RD7:=
RD8:=
UDB8.DBX45.0//OB1第一次运行
SPBSTAR
CALLEQ_STRNG
S1:=READ.workPandProgName1_16_1_1
S2:=READ.workPandProgName2_16_1_2
RET_VAL:=M50.0//若=1,S1==S2
UNM50.0//比较结果
SM50.1//输出已选择新程序
Oxxxx//输出结果复位条件
RM50.1
UM50.0
SPBSTAR
L0
TDB21.DBB26//复位所有单段跳转
STAR:NOP0
CALLBLKMOV//转移、保存FB2的结果
SRCBLK:=READ.workPandProgName1_16_1_1
RET_VAL:=MW52
DSTBLK:=READ.workPandProgName2_16_1_2
功能块FC10EQ_STRNG和SFC20BLKMOV来自于标准的SIMATIC库。
SIMATIC的FC10功能块必须重新命名,因为FC10为SINUMERIK的报警功能块。
测试程序,仅供参考!!
Subjecttochangewithoutpriornotice.
©SiemensAG2009Page1/1Edition:16.11.2009
1-LJHVTX-Attachm