840D测量工件的测量数据传出的问题

用“840D+机床测头”来测量一个工件,用机床测头去接触工件,请问怎样才能将该接触点的坐标值传到上位机(工控机)中呢,听说这些测量数据是存储在R参数中的,那么怎样才能将R参数中存储的测量数据传出呢?
    查阅了Siemens相关说明文档,没有详细的说明,还请各位大侠给出详细的解答……

最佳答案

测量任务状态
如果在程序中要求运用判断是否打开测量头,则可以
询问 $AC_MEA[n] (n= 测量头序号):
0 没有实现测量任务
1 测量任务已经顺利完成
(测量头已经打开)
如果在程序中偏开测量头,则此变量置为1。在启动一
个测量程序段时,该变量自动置为卡规的起始状态。
编程测量程序段, MEAS, MEAW
使用指令MEAS和一种插补方式,返回到工件的实际位
置,并接收测量值。在实际位置和给定位置之间的剩余
行程删除。
对于一些特殊的测量任务,即必须返回到编程的位置,
这种情况下使用功能MEAW。
MEAS和MEAW在程序段中带运行指令编程。至于进给
和插补方式(G0, G1, …)
则与当时的测量任务相适应,轴数也是如此。
举例:
N10 MEAS=1 G1 F1000 X100 Y730 Z40
测量程序段用第一个测量输入端的测量头和直线插补。
进刀停止自动产生。
5 03.04 特摆动令
5.6 用开关卡规测量, MEAS, MEAW
5
© 西门子股份公司 2004 所有权所有。
SINUMERIK 840D/840Di/810D 编程说明-工作准备部分 (PGA) - 版本 03.04 5-219
接收测量值
程序段中所有运行的轨迹轴和定位轴的位置被采集
(根据每个控制系统配置的最大轴数)。
在MEAS功能中,测量头开关后运动一定要减速。
注释
如果在一个测量程序段中编程了一个GEO轴,则给所
有当前的GEO轴存储这些测量值。
如果在一个测量程序段中编程了一个进行转换的轴,
则所有进行转换的轴的测量值被存储。
其它说明
功能MEAS和MEAW按程序段方式生效。
5 特摆动令 03.04
5.7 扩展的测量功能 MEASA, MEAWA, MEAC (自软件版本SW 4起, 选件)
5
© 西门子股份公司 2004 所有权所有。 5-220 SINUMERIK 840D/840Di/810D 编程说明-工作准备部分 (PGA) - 版本 03.04
5.7 扩展的测量功能 MEASA, MEAWA, MEAC (自软件版本 SW 4起, 选件)
编程
MEASA\ [轴]=(Modus, TE1,…, TE 4)
测量,带剩余行程删除
MEAWA [轴]=(Modus, TE1,…, TE 4)
测量,不带剩余行程删除
MEAC [轴]=(Modus, 测量存储器, TE
1,...TE4)
连续测量,不带剩余行程删除
说明
轴 名称,用于测量所使用的通道轴
模型 运行模态的两位参数说明;由以下构成:
测量模态(个位)和
0 停止测量任务
1 模态 1: 最多有4个不同的同时激活
的触发事件
2 模态 2: 最多有4个一个接一个的激活的触发事件
3 模态 3: 最多有4个一个接一个的激活的触发事件
但是在START时没有监控触发事件1
(抑制报警21700/21703)。
说明:在MEAC时不可能有模态 3
测量系统(十位)
0 或者没有参数说明:有效的测量系统
1 测量系统1
2 测量系统2
3 两个测量系统
TE 1…4
触发事件
1 上升沿,测量头1
-1 下降沿,测量头1
2 上升沿,测量头2
-2 下降沿,测量头2
测量存储器 FIFO号(循环存储器)
5 03.04 特摆动令
5.7 扩展的测量功能 MEASA, MEAWA, MEAC (自软件版本 SW 4起, 选件)
5
© 西门子股份公司 2004 所有权所有。
SINUMERIK 840D/840Di/810D 编程说明-工作准备部分 (PGA) - 版本 03.04 5-221
功能
自软件版本SW4起可以使用轴向测量。
在测量时,可以在轴向进行多个测量头和测量系统的
测量。
在MEASA、MEAWA时,对于所编程的轴每次测量时
最多采集4个测量值,并相应地存储到系统变量的触发
事件中。
MEASA和MEAWA以程序段方式生效。
连续的测量任务可以用MEAC进行。在这种情况下测
量结果存储到FIFO变量中。同样对于MEAC,每次测
量最多有4个测量值。
过程
可以以零件程序编程或者从同步动作(章节10)
产生。每个轴在一个时间和同一时间仅可以激活一个测
量任务。
其它说明
 进给与相应的测量任务相匹配。
 在MEASA和MEAWA时,只有在下面的进给时才可
以保证结果正确,即进给时每个位置调节周期不会出
现超过一个相同的和4个不同的触发事件。
 在有MEAC的连续测量过程中,插补节拍和位置
调节节拍之间的比例不可以大于8:1。
5 特摆动令 03.04
5.7 扩展的测量功能 MEASA, MEAWA, MEAC (自软件版本SW 4起, 选件)
5
© 西门子股份公司 2004 所有权所有。 5-222 SINUMERIK 840D/840Di/810D 编程说明-工作准备部分 (PGA) - 版本 03.04
触发事件
触发事件由测量头序号和测量信号的触发准则(上升
沿或者下降沿)组成。
每次测量时测量头可以处理最多4个触发事件,也就是两
个测量头两个测量脉冲沿。
处理的顺序和触发事件的最大个数与所选的模态有关。
同样的触发事件仅可以在测量任务中编程一次(仅适
用于模态1)。
工作模态
使用模态的第一个数字选择所希望的测量系统。如果仅
有一个测量系统,但是却编程了第二个,则自动使用当
前的测量系统。
使用第二个数字,也就是测量模态,匹配测量过程与其
控制系统方法。
 模态 1:
触发事件的处理按照其出现的时间顺序进行。
在这种模态中使用六轴模块时仅可编程一个触发事
件,或者在参数说明多个触发事件时自动移植到第二
个模态(没有通报)。
 模态 2:触发事件的处理按照其编程的顺序进行。
 模态 3:
触发事件的处理按照编程的顺序进行,但是不监控
START时的触发事件1。
其它说明
在使用2个测量系统时仅可编程两个触发事件。
5 03.04 特摆动令
5.7 扩展的测量功能 MEASA, MEAWA, MEAC (自软件版本 SW 4起, 选件)
5
© 西门子股份公司 2004 所有权所有。
SINUMERIK 840D/840Di/810D 编程说明-工作准备部分 (PGA) - 版本 03.04 5-223
带和不带剩余行程删除的测量
在编程MEASA时仅在采集了所有要求的测量值之后
才删除剩余行程。
对于一些特殊的测量任务,即必须返回到编程的位置,
这种情况下使用功能MEAWA。
MEASA和MEAWA可以在一个程序段中编程。
如果MEASA/MEAWA 和 MEAS/MEAW
在一个程序段中编程,则产生一个报警信息。
t
V
TE1 TE2 TE3 TE4
Programmed path
Distance
to go
 MEASA不可以在同步动作中编程。
但是MEAWA加上剩余行程删除可以作为同步动作
编程。
 如果带MEAWA的测量任务从同步动作中启动,则
测量值仅在机床坐标系中可以使用。
测量结果 用于 MEASA, MEAWA
测量结果仅在下面的系统变量中可以使用:
 在机床坐标系中:
$AA_MM1[轴] 在触发事件1时编程的测量系统的测量值
… ...
$AA_MM4[轴] 在触发事件4时编程的测量系统的测量值
 在工件坐标系中:
$AA_WM1[轴] 在触发事件1时编程的测量系统的测量值
… ...
$AA_WM4[轴] 在触发事件4时编程的测量系统的测量值
5 特摆动令 03.04
5.7 扩展的测量功能 MEASA, MEAWA, MEAC (自软件版本SW 4起, 选件)
5
© 西门子股份公司 2004 所有权所有。 5-224 SINUMERIK 840D/840Di/810D 编程说明-工作准备部分 (PGA) - 版本 03.04
其它说明
在读这些变量时内部没有进刀停止。
使用 STOPRE (章节 15.1)
时必须在合适的位置编程一个进刀停止。否则会读入
错误的值。
如果启动一个几何轴的轴向测量,则必须给所有剩余的
几何轴明确编程同样的测量任务。
这同样适用于进行转换的轴。
举例:
N10 MEASA[Z]=(1,1) MEASA[Y]=(1,1)
MEASA[X]=(1,1) G0 Z100;
或者
N10 MEASA[Z]=(1,1) POS[Z]=100
有2个测量系统的测量任务
如果一个测量任务有两个测量系统,则两个可能的触发
事件中的每一个均由该轴的两个测量系统采集。规定预
留变量的分配:
$AA_MM1[轴] 或者 $AA_MW1[轴] 触发事件1时测量系统1的测量值
$AA_MM2[轴] 或者 $AA_MW2[轴] 触发事件1时测量系统2的测量值
$AA_MM3[轴] 或者 $AA_MW3[轴] 触发事件2时测量系统1的测量值
$AA_MM4[轴] 或者 $AA_MW4[轴] 触发事件2时测量系统2的测量值
测量头状态 通过 $A_PROBE[n]可读
n=测量头
1==测量头偏离
0==测量头没有偏离
5 03.04 特摆动令
5.7 扩展的测量功能 MEASA, MEAWA, MEAC (自软件版本 SW 4起, 选件)
5
© 西门子股份公司 2004 所有权所有。
SINUMERIK 840D/840Di/810D 编程说明-工作准备部分 (PGA) - 版本 03.04 5-225
MEASA、MEAWA时的测量任务状态
如果程序中要求一个处理,则测量任务状态可以通过
$AC_MEA[n](n=测量头序号)进行询问。
一个程序段中只要所有编程的触发事件均用测量头“n”
进行测量,则该变量值为1,其它情况下值为0。
如果从同步动作启动测量,则$AC_MEA不再更新。
在这种情况下必须询问新的PLC状态信号DB(31-48)
DBB62 位 3,或者相同值的变量
$AA_MEAACT[”轴”]。
意义: $AA_MEAACT==1:测量有效
$AA_MEAACT==0:测量无效
参考文献: /FB/ M5, 测量
连续测量MEAC
在MEAC时测量值存在于机床坐标系中,并且在所说
明的FIFO[n]存储器中(循环存储器)存储。如果为
了测量设计了两个测量头,则第二个测量头的测量值
存储在一个单独设计的(通过MD可以设定)
FIFO[n+1]存储器中。
FIFO存储器是一个循环存储器,$AC_FIFO变量中循
环原理测量值登记到该循环存储器。
文献: /PGA/ 章节 10, 同步动作
其它说明
 FIFO内容仅能从循环存储器中读出一次。为了使
测量数据可以多次重复使用,必须把它们存储在
用户数据中。
 如果FIFO存储器中测量值的数量超过机床数据中所
规定的最大值,则测量自动结束。
 通过循环读出测量值可以实现无限测量。必须至少以
新测量值输入的频率进行读出。
5 特摆动令 03.04
5.7 扩展的测量功能 MEASA, MEAWA, MEAC (自软件版本SW 4起, 选件)
5
© 西门子股份公司 2004 所有权所有。 5-226 SINUMERIK 840D/840Di/810D 编程说明-工作准备部分 (PGA) - 版本 03.04
编程举例
在模态1中测量,带剩余行程清除
(按事件顺序进行处理)
a) 用 1个测量系统
...
N100 MEASA[X] = (1,1,-1) G01 X100 F100 在模态1中测量,带有效的测量系统在运
行行程X=100过程中等待测量头1上升沿/
下降沿的测量信号
N110 STOPRE 进刀停止
N120 IF $AC_MEA[1] == FALSE gotof ENDE 控制测量过程
N130 R10 = $AA_MM1[X] 存储属于第一个编程触发事件(上升沿)
的测量值。
N140 R11 = $AA_MM2[X] 存储属于第二个编程触发事件(下降沿)
的测量值。
N150 ENDE:
编程举例
b) 带 2个测量系统
...
N200 MEASA[X] = (31,1-1) G01 X100 F100 在模态1中测量,带两个测量系统在运行
行程X=100过程中等待测量头1上升沿/下
降沿的测量信号
N210 STOPRE 进刀停止
N220 IF $AC_MEA[1] == FALSE gotof ENDE 控制测量过程
N230 R10 = $AA_MM1[X] 在上升沿时存储测量系统1的测量值。
N240 R11 = $AA_MM2[X] 在上升沿时存储测量系统2的测量值。
N250 R12 = $AA_MM3[X] 在下降沿时存储测量系统1的测量值。
N260 R13 = $AA_MM4[X] 在下降沿时存储测量系统2的测量值。
N270 ENDE:
5 03.04 特摆动令
5.7 扩展的测量功能 MEASA, MEAWA, MEAC (自软件版本 SW 4起, 选件)
5
© 西门子股份公司 2004 所有权所有。
SINUMERIK 840D/840Di/810D 编程说明-工作准备部分 (PGA) - 版本 03.04 5-227
在模态2中测量,带剩余行程清除
(按编程顺序进行处理)
...
N100 MEASA[X] = (2,1,-1,2,-2) G01 X100
F100
在模态2中测量,带有效的测量系统在运
行行程X=100过程中等待测量信号,按照
如下顺序:测量头1上升沿,测量头1下降
沿,测量头2上升沿,测量头2下降沿
N110 STOPRE 进刀停止
N120 IF $AC_MEA[1] == FALSE gotof 控制测量头1的测量过程
MESSTASTER2
N130 R10 = $AA_MM1[X] 存储属于第一个编程触发事件(测量头1
上升沿)的测量值。
N140 R11 = $AA_MM2[X] 存储属于第二个编程触发事件(测量头1
上升沿)的测量值。
N150 MESSTASTER2:
N160 IF $AC_MEA[2] == FALSE gotof ENDE 控制测量头2的测量过程
N170 R12 = $AA_MM3[X] 存储属于第三个编程触发事件(测量头2
上升沿)的测量值。
N180 R13 = $AA_MM4[X] 存储属于第四个编程触发事件(测量头2
上升沿)的测量值。
N190 ENDE:
5 特摆动令 03.04
5.7 扩展的测量功能 MEASA, MEAWA, MEAC (自软件版本SW 4起, 选件)
5
© 西门子股份公司 2004 所有权所有。 5-228 SINUMERIK 840D/840Di/810D 编程说明-工作准备部分 (PGA) - 版本 03.04
编程举例
模态1中的连续测量:
(按时间顺序进行处理)
测量到100的测量值
...
N110 DEF REAL MESSWERT[100]
N120 DEF INT Schleife = 0
N130 MEAC [X] = (1,1,-1) G01 X1000
F100
在模态1中测量,带有效的测量系统,在$
AC_FIFO1下存储测量值,在运行到X=10
00的过程中等待测量头1的下降沿测量信
号。
N135 STOPRE
N140 MEAC[X] = (0) 在到达轴位置后停止测量。
N150 R1 = $AC_FIFO1[4] 在参数R1中存储上升测量值的个数。
N160 FOR 循环 = 0 TO R1-1
N170 测量值[循环] = $AC_FIFO1[0] 读出$AC_FIFO1中测量值,并存储
N180 ENDFOR
在10个测量值之后测量,带剩余行程删除
...
N10 WHEN $AC_FIFO1[4]>=10 DO
MEAC[x]=(0) DELDTG (x)
剩余行程删除
N20 MEAC[x]=(1,1,1,-1) G01 X100 F500
N30 MEAC[X]=(0)
N40 R1=$AC_FIFO1[4] 测量值个数
...
5 03.04 特摆动令
5.7 扩展的测量功能 MEASA, MEAWA, MEAC (自软件版本 SW 4起, 选件)
5
© 西门子股份公司 2004 所有权所有。
SINUMERIK 840D/840Di/810D 编程说明-工作准备部分 (PGA) - 版本 03.04 5-229
识别出下面的出错编程,并且显示一个出错:
 MEASA/MEAWA 与 MEAS/MEAW 一起,在一个程序段中编程
举例:
N01 MEAS=1 MEASA[X]=(1,1) G01 F100 POS[X]=100
 MEASA/MEAWA 参数个数 <2 或者 >5
举例:
N01 MEAWA[X]=(1) G01 F100 POS[X]=100
 MEASA/MEAWA 触发事件不等于 1/ -1/ 2/ -2
举例:
N01 MEASA[B]=(1,1,3) B100
 MEASA/MEAWA 为错误模态
举例:
N01 MEAWA[B]=(4,1) B100
 MEASA/MEAWA 为两次编程的触发事件
举例:
N01 MEASA[B]=(1,1,-1,2,-1) B100
 MEASA/MEAWA 和错误的 GEO轴
举例:
N01 MEASA[X]=(1,1) MEASA[Y]=(1,1) G01 X50 Y50 Z50 F100
 在 GEO轴时不同的测量任务
举例:
N01 MEASA[X]=(1,1) MEASA[Y]=(1,1) MEASA[Z]=(1,1,2) G01
X50 Y50 Z50 F100
GEO轴 X/Y/Z
5 特摆动令 03.04
5.8 OEM 用户特殊功能, G810 到G829
5
© 西门子股份公司 2004 所有权所有。 5-230 SINUMERIK 840D/840Di/810D 编程说明-工作准备部分 (PGA) - 版本 03.04
5.8 OEM 用户特殊功能, G810 到 G829
OEM地址
OEM用户确定OEM地址的含义。
该功能通过编译循环带来。保留5个OEM地址。
地址名称可以设定。
在每个程序段中允许OEM地址。
OEMIPO1, OEMIPO2
OEM用户可以定义两个附加的G功能名称 OEMIPO1,
OEMIPO2 。该功能通过编译循环带来,
保留给OEM用户。
保留的G组
组31,带G810到G819
组32,带G820到G829
可以保留2个G组给OEM用户,每个有10个OEM-G
-功能。
这样OEM用户带来的功能可以供外界使用。
功能和子程序
此外,OEM用户也可以通过参数传送设计预定义功能
和子程序。
5.9 在拐角处延迟并降低进给率, G62, G621 (自软件版本 SW 6.1起)
编程
FENDNORM

以上是西门子840D 高级编程手册(2004年3月版)中的部分内容。另外一种更为方便的就是前面chen11201  老师提到的,使用R(R1)=$AA_MM[X]     R(R1)=$AA_MM[Y]    这样的编程方法,也可以将当前机床坐标系下某个机床轴的左边记录到R某个R参数中,再由程序调用即可进行运算处理。 相关文档已经发送至你的邮箱,请查收!祝你好运!
G62 G41

提问者对于答案的评价:
答案很有用,当我想知道如何将测量数据保存或者通过程序调用呢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc223248.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年3月6日 下午12:22
下一篇 2018年3月6日 下午12:22

相关推荐

  • 求6NS1123/1145图纸和技术资料

    1:需要配图和说明2:最好有611的资料 钻石用户推荐最佳答案 纠正一下,应该是6SN1123,可以到全球技术资源中心product产品搜索框输入产品订货号可找到详细信息。simo…

    2020年10月31日
  • 840D sl 数控系统数据都丢失,怎么全面复位,并重新安装NC.PLC.DP备份

    不知道怎么搞的,过完年回来厂里的一台卡普磨齿机开不了了,老外远程指导说我们的数据都丢了,现在要进行一次全面复位,然后重新安装NC,PLC,DP备份,这个具体要怎么搞?从来没遇到过,…

    2021年7月5日
  • 840Dsl的床子,PCU变得反应很慢?

    大家好,我们有台840Dsl的床子,上周PCU变得反应很慢。HMI上界面切换的速度变慢,尤其是在机床厂商编辑好的页面上,界面切换速度慢,并且数据(数值)显示出来也需要较长时间。不过…

    SINUMERIK 2017年6月24日
  • OPC访问840D系统数据

    在840D系统中自带有一个OPC UA服务器,我想通过Delphi制作一个opc client去访问840D中的数据,在840D中所有数据都提供了一个Linki…

    SINUMERIK 2017年6月5日
  • 主轴倍率

    840D系统,现处在调试阶段,主轴倍率和S设定没有显示出来,主轴显示区是一片空白,请问大侠是那个参数没有配? 最佳答案 一片空白应该是主轴没有被设定,就是该轴的35000没有被设置…

    SINUMERIK 2017年12月2日
  • 怎样控制电机转动一定的角度

    本人控制小白没接触过,需要做个实验,需要用到电机来精确的控制转动角度。实验室有西门子的伺服电机,V90驱动,和1200的PLC,想问下大佬,流程是怎样的,我应该怎么去做。 钻石用户…

    SINUMERIK 2021年7月5日
  • 810D系统如何将全闭环改成半闭环

    我公司有一台德马其103 v加工中心X向光栅尺坏啦,编码器接413端口,光栅尺接414端口,驱动号为1,现在向各位老师请教! 最佳答案 PLC: 把db3*.d…

    SINUMERIK 2019年6月11日
  • 802C 025000报警

    各位大侠你们好,我的CNC机床现在出现025000报警,有时候刚启动机床就报警,有时候移动X或Y轴报警,有时移动X或者Y会报警,而且不是X就是Y报警,请高手们指点迷津。(顺便请问谁…

    SINUMERIK 2017年11月19日
  • 840D sl 的HMI二次开发

    本人想做一个客户端可以对840D sl的NC/PLC数据进行读写操作,之前想通过OPC访问840D sl上的OPC UA SERVER,但是…

    SINUMERIK 2017年6月2日
  • 802D SL系统 驱动使能未准备就绪

    802D SL系统的铣齿机,电源使能已加上,手动任意一轴,就出现驱动未准备就绪提示,驱动没有任何报警,把该机床的电源和驱动和另外一台相同且正常的机床调换,正常的机床还是正…

    SINUMERIK 2020年10月31日