恭喜,你发布的帖子
发布于 2020-03-11 09:33:13
1楼
借楼主的分享贴也多聊几句:NC读取PLC数据中,系统内部有一块NC/PLC高速交换的独立区域,也叫双端口RAM,大小默认1024数据交换区是DRAM中,也就是系统下电,数据不会保持!
在NC侧通常用以下几个变量来读写交换区的数据: $A_DBB[n]字节8位; $A_DBW[n]字16位; $A_DBD[n]双字32位; $A_DBR[n]实数32位;
有一点要注意DBx中的x也就代表B,D,W,R等,它代表数据交换区的偏移量,它与PLC侧的数据类型必须保持一致!还要注意 使用$A_DBR[n]读写时,数据会有一定的偏差,原因是NC和PLC使用的实数位数不同引起。
根据读取数据不同还需要设置参数的,如; =$A_DBR[0],这就不需要设置机床数据;如 $A_DBR[n]=非0数据,则需要设置MD28150表该数据占有的MD28150*24字节数;
在PLC侧:通常使用PLC基本程序块FC21来读写交换的数据,
FC21的功能有多种,我粘贴个收集的图给坛友参考!
其中的 IVAR2用于NC与PLC的协调,协调彼此之间什么时候读和写,如果数据量不大,则不会产生彼此读写数据的冲突,这时可以将 IVAR2=-1.做逻辑关系时一定要保证读写数据的时序;结合我的笔记再结合楼主的分享贴估计能更有利于坛友的理解,
请填写推广理由:
分享
只看
楼主