模具论坛

 找回密码
 注册

扫一扫,微信登录

QQ登录

只需一步,快速开始

搜索
热搜: 冲压 注塑 求助
    回车查看更多
    论坛可能已存在您要发布的主题帖 关闭
      查看: 5102|回复: 9

      [转帖]FANUC宏程序

      [复制链接]
      发表于 2006-5-22 23:49:00 | 显示全部楼层 |阅读模式
      FANUC宏程序宏程序用户宏程序:<br/>虽然子程序对编制相同加工操作的程序非常有用,但用户宏程序由于<br/>允许使用“变量算术和逻辑运算及条件转移”使得编制相同加工操作<br/>的程序更方便更容易,可将相同加工操作编为通用程序如:型腔加<br/>工宏程序和固定加工循环宏程序,使用时加工程序可用一条简单指<br/>令调出用户宏程序和调用子程序完全一样<br/><br/>变量<br/>说明:<br/>1, 变量的表示<br/>2, 变量的类型<br/>3,变量值的范围<br/>普通加工程序直接用数值指定G代码和移动距离。例如:G01和X100.0<br/>使用用户宏程序时数值可以直接指定或用变量指定,当用变量时,变<br/>量值可用程序或用MDI面板上的操作改变。<br/>计算机允许使用变量名,用户宏程序不行变量用变量符号# 和后<br/>面的变量号指定。<br/>例如:#1<br/>表达式可以用于指定变量号此时表达式必须封闭在括号中。<br/>例如:#[#1+#2-12]<br/>变量根据变量号可以分成四种类型。<br/>变量号变量类型功能。<br/>#0 空变量该变量总是空没有值能赋给该变量。<br/>#1 #33 局部变量局部变量只能用在宏程序中存储数据,例如运算结果当断电时局<br/>部变量被初始化为空,调用宏程序时自变量对局部变量赋值#100 ,#199,#500 ,#999<br/>公共变量公共变量在不同的宏程序中的意义相同,当断电时变量#100 #199初始化为空变量#500 #999 的数据保存,即使断电也不丢失。<br/>#1000 系统变量,系统变量用于读和写CNC 运行时各种数据的变化。例如:刀具的当前位<br/>置和补偿值。<br/>局部变量和公共变量可以有0值或下面范围中的值:<br/>-1047到-10-29<br/>或<br/>10-29到1047<br/>如果计算结果超出有效范围则发出P/S报警No.111<br/>#1=#2+100<br/>G01 X#1 F300<br/><br/>! 小数点的省略<br/>! 变量的引用<br/>! 双轨迹双轨迹控制的公共<br/>变量<br/>! 未定义的变量<br/>当在程序中定义变量值时小数点可以省略<br/>例当定义#1=123 变量#1的实际值是123.000<br/>为在程序中使用变量值指定后跟变量号的地址当用表达式指定变量<br/>时要把表达式放在括号中<br/>例如G01X[#1+#2]F#3<br/>被引用变量的值根据地址的最小设定单位自动地舍入<br/>例如<br/>当G00X#/ 以1/1000mm 的单位执行时CNC 把12.3456 赋值给<br/>变量#1 实际指令值为G00X12.346;<br/>改变引用变量的值的符号要把负号放在#的前面<br/>例如G00X #1<br/>当引用未定义的变量时变量及地址字都被忽略<br/>例如<br/>当变量#1的值是0 并且变量#2的值是空时G00X#1 Y#2的执行<br/>结果为G00X0<br/>对双轨迹控制系统为每一轨迹都提供了单独的宏变量但是根据参<br/>数No.6036和6037的设定某些公共变量可同时用于两个轨迹<br/>当变量值未定义时这样的变量成为空变量变量#0 总是空变量<br/>它不能写只能读<br/>a 引用<br/>当引用一个未定义的变量时地址本身也被忽略<br/>当#1=&amp;lt;空&amp;gt; 当#1=0<br/>G90 X100 Y#1<br/>G90 X100<br/>G90 X100 Y#1<br/>G90 X100 Y0<br/><br/>! 变量值的显示<br/>b 运算<br/>除了用&amp;lt;空&amp;gt;赋值以外其余情况下&amp;lt;空&amp;gt;与0 相同<br/>当#1=&amp;lt;空&amp;gt;时当#1=0时<br/>#2=#1<br/>#2=&amp;lt;空&amp;gt;<br/>#2=#1<br/>#2=0<br/>#2=#1﹡5<br/>#2=0<br/>#2=#1﹡5<br/>#2=0<br/>#2=#1+#1<br/>#2=0<br/>#2=#1+#1<br/>#2=0<br/>(c)条件表达式<br/>EQ和NE中的&amp;lt;空&amp;gt;不同于0<br/>当#1=&amp;lt;空&amp;gt;时当#1=0时<br/>#1 EQ #0<br/>成立<br/>#1 EQ #0<br/>不成立<br/>#1 NE #0<br/>成立<br/>#1 NE #0<br/>不成立<br/>#1 GE #0<br/>成立<br/>#1 GE #0<br/>不成立<br/>#1 GT #0<br/>不成立<br/>#1 GT #0<br/>不成立<br/>! 当变量值是空白时变量是空<br/>! 符号********表示溢出当变量的绝对值大于99999999 时或下<br/>溢出当变量的绝对值小于0.0000001时<br/><br/><br/>! 限制程序号顺序号和任选程序段跳转号不能使用变量<br/>例<br/>下面情况不能使用变量<br/>#1<br/>/#2G00X100.0;<br/>N#3Y200.0;<br/><br/>2 系统变量<br/>说明<br/>! 接口信号<br/>! 刀具补偿值<br/>系统变量用于读和写NC内部数据例如刀具偏置值和当前位置数据<br/>但是某些系统变量只能读系统变量是自动控制和通用加工程序开发<br/>的基础<br/>是可编程机床控制器PMC 和用户宏程序之间交换的信号<br/>表15.2(a) 接口信号的系统变量<br/>变量号功能<br/>#1000 #1015<br/>#1032<br/>把16位信号从PMC送到用户宏程序变量#1000<br/>到#1015 用于按位读取信号变量#1032 用于一次<br/>读取一个16位信号<br/>#1100 #1115<br/>#1132<br/>把16 位信号从用户宏程序送到PMC 变量#1100<br/>到#1115 用于按位写信号变量#1132 用于一次写<br/>一个16位信号<br/>#1133 变量#1133 用于从用户宏程序一次写一个32 位的<br/>信号到PMC<br/>注意#1133的值为从99999999到+99999999<br/>详细情况请见连接说明书B-63503C-1<br/>用系统变量可以读和写刀具补偿值<br/>表15.2(b) 刀具补偿存储器C 的系统变量<br/>刀具长度补偿H 刀具半径补偿D 补偿<br/>号几何补偿磨损补偿几何补偿磨损补偿<br/>1<br/>200<br/>400<br/>#11001 #2201<br/>#11201 #2400<br/>#11400<br/>#10001<br/>#2001<br/>#10201<br/>#2200<br/>#10400<br/>#13001<br/>#13400<br/>#12001<br/>#12400<br/>当偏置组数小于等于200时也可使用#2001 #2400<br/><br/>! 宏程序报警<br/>! 停止和信息显示<br/>! 时间信息<br/>表15.2(c) 宏程序报警的系统变量<br/>变量号功能<br/>#3000 当变量#3000 的值为0 200 时CNC 停止运行<br/>且报警<br/>在表达式后为不超过26个字符的报警信息<br/>CRT 屏幕上显示报警号和报警信息其中报警号<br/>为变量#3000的值加上3000<br/>例<br/>#3000=1 TOOL NOT FOUND<br/>报警屏幕上显示3001 TOOL NOT FOUND 刀具未找到<br/>程序执行停止并显示信息<br/>报警号功能<br/>#3006 在宏程序中指令#3006=1 MESSAGE<br/>时程序执行前面程序段并停止<br/>当最多到26 个字符的信息由控制输入<br/>和控制输出括住在同一程序段中编程<br/>时信息被显示在外部操作信息屏幕<br/>时间信息可以读和写<br/>表15.2(d) 时间信息的系统变量<br/>变量号功能<br/>#3001 该变量为一个计时器以1 毫秒为计时单位<br/>当电源接通时该变量值复位为0 当达到<br/>2147483648毫秒时该计时器的值返回到0<br/>#3002 该变量为一个计时器当循环起动灯亮时以<br/>一小时为单位计时该计时器即使在电源断<br/>电时也保存该值当达到9544.371767 小时<br/>该计时器的值返回到0<br/>#3011 该变量用于读取当前的日期年/月/日年/<br/>月/日信息转换成十进制数例如1994 年9<br/>月8日表示为19940928<br/>#3012 该变量用于读取当前的时间时/分/秒时/<br/>分/秒信息转换成十进制数例如下午3 点<br/>34分56秒表示为153456<br/><br/>! 自动运行控制可以改变自动运行的控制状态<br/>表15.2(e) 自动运行控制的系统变量#3003<br/>#3003 单程序段辅助功能的完成<br/>0 有效等待<br/>1 无效等待<br/>2 有效不等待<br/>3 无效不等待<br/>当电源接通时该变量的值为0<br/>当单程序段停止无效时,即使单程序段开关设为ON 也不执行单程序段停止,<br/>当不指定等待辅助功能M S 和T 功能完成时,在辅助功能完成之前, <br/><br/><br/><br/><br/><br/>程序执行到下列程序段而且分配完成信号DEN不输出<br/>表15.2(f) 自动运行控制的系统变量#3004<br/>#3004 进给暂停进给速度倍率准确停止<br/>0 有效有效有效<br/>1 无效有效有效<br/>2 有效无效有效<br/>3 无效无效有效<br/>4 有效有效无效<br/>5 无效有效无效<br/>6 有效无效无效<br/>7 无效无效无效<br/>当电源接通时该变量的值为0<br/>当进给暂停无效时<br/>1 当进给暂停按钮被按下时,机床在单段停止方式停止,但是当<br/>用变量#3003使单程序段方式无效时单程序段停止不执行。<br/>2 当进给暂停按钮压下又松开时,进给暂停灯亮,但是机床不停<br/>止程序继续执行,并且机床停在进给暂停有效的第一个程序段,<br/>当进给速度倍率无效时总是100%的倍率而不管机床操作面板上<br/>的进给速度倍率开关的设置。
      发表于 2006-6-28 10:12:00 | 显示全部楼层
      <p>我怎么不会呀...有没有例子给我看看..谢谢啦.</p>
      发表于 2007-1-15 19:11:00 | 显示全部楼层
      [em07]
      发表于 2008-5-28 23:37:58 | 显示全部楼层
      顶一下!!!!!!!!!!!!!!!!!!!
      发表于 2008-8-7 16:40:58 | 显示全部楼层
      到现在还是不明白
      发表于 2008-8-25 21:39:03 | 显示全部楼层
      宏程序有什么用吗?
      发表于 2008-9-5 13:38:08 | 显示全部楼层
      真诚的非常的感谢楼住
      今天总算下了点有用的
      发表于 2010-1-1 20:47:53 | 显示全部楼层
      拜托。说点有用的吧。不要把说明书上的东西搬来秀撒。。。
      发表于 2011-10-31 15:18:59 | 显示全部楼层

      最牛的宏程序

      《胡氏宏程序》是本人近十年在模具、模架厂工作经验的累积,每个程式都是本人亲手编写,在工作中不断的创新与精修,达到易懂易学易操做、生产效益高、更是能起到保护工件的境界,适用范围广:模架、模具加工、机械板加工、五金类零件加工等等凡是需要程序的地方都能起到它独有的用处,也可根据需要现写现做。最适合大小型企业的程式统一管理与员工培训。如有道同志合之人愿一起分享与探讨,电话:15262608170QQ247330205
      发表于 2018-6-28 09:05:48 来自手机 | 显示全部楼层
      不明白。可以不那么密吗?
      您需要登录后才可以回帖 登录 | 注册

      本版积分规则

      关闭

      招聘信息 上一条 /5 下一条

      关闭

      求职信息 上一条 /5 下一条

      关闭

      技术求助 上一条 /5 下一条

      QQ|小黑屋|手机版|模具论坛 ( 浙ICP备15037217号 )

      GMT+8, 2025-5-10 13:24

      Powered by Discuz! X3.4

      © 2001-2013 Comsenz Inc.

      快速回复
      返回顶部
      返回列表
       
      客服电话:0577-61318188
      模具论坛交流群:
      模具论坛交流群
      工作时间:
      08:30-17:30