在的NC程序中会看到如下程序:
N110 IF ($A_DBB[42] B_AND 1)==1 GOTOF LoadReq ;load request
N120 IF ($A_DBB[42] B_AND 2)==2 GOTOF UnloadReq ;unload request
N9010 $A_DBB[42] = 0 ;delete order
在加工程序中经常看到$A_DBB[n],$A_DBW[n],$A_DBD[n]等变量。那么这些变量是怎么来的呢!
这些变量在NC程序中可以进行读写;同时也可由PLC读取这些变量的值、存放到PLC的地址中;也可由PLC写这些变量的值、NC程序来读取。与PLC的数据交换在PLC的程序里完成,具体的功能由FC21这个功能块来完成。
下面看一下FC21的应用例子。
CALL FC21
Enable :=TRUE 解释:1=FC21 active
Funct :=B#16#4 解释:B#16#4=write(PLC写NC);B#16#3=read(PLC读NC)
S7Var :="HM_B_250" 解释:PLC中数据的地址
IVAR1 :=42 解释:NC中的数据地址
IVAR2 :=-1
Error :=#Er_FC21_DPR42_wri_A2
ErrCode:=#ErrC_FC21_DPR42_wri_A2
上面的例子实现了如下功能:将PLC地址MB250里的数据写到$A_DBB[42]里。然后NC程序就可以读取了。