FC21是用于PLC与nc通讯的功能块,我有一个程序,其中一个fc21B#16#4=write是plc把$a_dbb[xx]置为0写到nc.那么另外一个fc21B#16#3=read(PLC读NC)$a_dbb[xx]的值是怎么产生的呢?nc程序中写入的吗?求大神详细解答!!!
最佳答案
在加工程序中经常看到$A_DBB[n],$A_DBW[n],$A_DBD[n]等变量。那么这些变量是怎么来的呢!
这些变量在NC程序中可以进行读写;同时也可由PLC读取这些变量的值、存放到PLC的地址中;也可由PLC写这些变量的值、NC程序来读取。与PLC的数据交换在PLC的程序里完成,具体的功能由FC21这个功能块来完成。
下面看一下FC21的应用例子。
CALLFC21
Enable:=TRUE解释:1=FC21active
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程序就可以读取了。
htTP://blog.163.com/dl_foreST/blog/static/39793908200982323839157/
提问者对于答案的评价: