恭喜,你发布的帖子
发布于 2018-08-24 19:05:12
4楼
在NC中有一块区域叫双向交换区DPR,这个区域PLC与NC程序都可以读和写,从0到4095共有4096个字节。
NC中用
$A_DBB[x] 字节
$A_DBW[x] 字
$A_DBD[x] 双字
$A_DBR[x] 实数
来表示这个区域的地址。
PLC中不能直接读写,是通过FC21来读写的。
对于FC21的写入来说,S7VAR中的数据相当于数据源,是要写入到DPR中的数据。
IVAR1,相当于写入到DPR区域的偏移,是写入的起始地址,比如赋值是2000,就是从DPR偏移的2000字节处开始写,而2000字节对应的NC地址是$A_DBB[2000] ,也可以是$A_DBW[2000],要看表示的数据类型。
PLC写入的对应关系,就是数据源的第一个字节,对应IVAR1的第一个字节。
例如: S7VAR 是从DB100.DBB0开始的,而IVAR1是2000,那么传送的结果DB100.DBB0送到$A_DBB[2000],db100.dbb1送到$A_DBB[2001]。。。以此类推。
IVAR2是个标志位,是作为控制读写过程是否执行的状态的存储地址,这个地址也是在DPR中,NC程序判断这个地址中的数是否为1,来决定是否执行FC21的读写过程。
具体的可以看下基本功能手册里FC21的描述,以及DPR的描述。
请填写推广理由:
分享
只看
楼主