回复:加工程序中DEFINE定义变量问题

asdf6

西门子1847工业学习平台

  • 帖子

    1345
  • 精华

    12
  • 被关注

    137

论坛等级:奇侠

注册时间:2008-09-02

钻石 钻石 如何晋级?

发布于 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的描述。 


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SINUMERIK

共有25790条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。