fc21是用于plc与nc通讯的功能块,我有一个程序,其中一个fc21 B#16#4=write 是plc把$a_dbb[xx] 置为0写到nc.那么另外一个fc21 B#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的应用例子。
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程序就可以读取了。
http://blog.163.com/dl_forest/blog/static/39793908200982323839157/
提问者对于答案的评价:
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc130638.html