电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>C语言|源代码>G代码编程及宏程序应用

G代码编程及宏程序应用

2017-09-20 | rar | 0.05 MB | 次下载 | 1积分

资料介绍

  

  (1)变量的表示

  计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。

  例如:#1

  表达式可以用于指定变量号。此时,表达式必须封闭在括号中。

  例如:#[#1+#2-12]

  (2)变量的类型

  变量根据变量号可以分成四种类型:

  1)#0 空变量,该变量总是空,没有值能赋给该变量。

  2)#1-#33 局部变量,局部变量只能用在宏程序中存储数据,例如,运算结果。当断电时,局部变量被初始化为空。调用宏程序时,自变量对局部变量赋值。

  3)#100-#199、#500-#999 公共变量,公共变量在不同的宏程序中的意义相同。当断电时,变量#100-#199初始化为空。变量#500-#999的数据保存,即使断电也不丢失。

  4)#1000--- 系统变量。系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置,补偿值。

  (3)变量值的范围

  局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-29或-10-2到-1047,如果计算结果超出有效范围,则发出P/S报警NO.111。

  (4)小数点的省略

  当在程序中定义变量值时,小数点可以省略。

  例:当定义#1=123;变量#1的实际值是123.000。

  (5)变量的引用

  为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。

  例如:G01X[#1+#2]F#3;

  被引用变量的值根据地址的最小设定单位自动地舍入。

  例如:当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.

  改变引用变量的值的符号,要把负号(-)放在#的前面。

  例如:G00X-#1

  当引用未定义的变量时,变量及地址都被忽略。

  例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0。

  (6)双轨迹(双轨迹控制)的公共变量

  对双轨迹控制,系统为每一轨迹都提供了单独的宏变量,但是,根据参数N0.6036和6037的设定,某些公共变量可同时用于两个轨迹。

  (7)未定义的变量

  当变量值未定义时,这样的变量成为空变量。变量#0总是空变量。它不能写,只能读。

  (a)引用

  当引用一个未定义的变量时,地址本身也被忽略。

  当#1=《空》 当#1=0

  G90 X100 Y#1

  ↓

  G90 X100 G90 X100 Y#1

  ↓

  G90 X100 Y0

  (b)运算

  除了用《空》赋值以外,其余情况下《空》与0相同。

  当#1=《空》时当#1=0时

  #2=#1

  ↓

  #2=《空》 #2=#1

  ↓

  #2=0

  #2=#*5

  ↓

  #2=0 #2=#*5

  ↓

  #2=0

  #2=#1+#1

  ↓

  #2=0 #2=#1+#1

  ↓

  #2=0

  (c)条件表达式

  EQ和NE中的《空》不同于0。

  当#1=《空》时当#1=0时

  #1EQ#0

  ↓

  成立 #1EQ#0

  ↓

  不成立

  #1 NE #0

  ↓

  成立 #1 NE #0

  ↓

  不成立

  #1 GE #0

  ↓

  成立 #1 GE #0

  ↓

  不成立

  #1 GT #0

  ↓

  不成立 #1 GT #0

  ↓

  不成立

  (8)限制

  程序号,顺序号和任选程序段跳转号不能使用变量。

  例:下面情况不能使用变量:

  0#1;

  /#2G00X100.0;

  N#3Y200.0;

  二、算术和逻辑运算

  下面列出的运算可以在变量中执行,表达式可包含常量和或由函数或运算符组成的变量。表达式中的变量#j和#k可以用常数赋值。变量也可以用表达式赋值。

  定义:#i=#j

  加法:#i=#j+#k;

  减法:#i=#j-#k;

  乘法:#i=#j*#k;

  除法:#i=#j/#k;

  正弦:#i=SIN[#j];

  反正弦:#i=ASIN[#j];

  余弦:#i=COS[#j];

  反余弦:#i=ACOS[#j];

  正切:#i=TAN[#j];

  反正切:#i=ATAN[#j];

  角度以度数指定:90°30’表示为90.5度。

  平方根:#i=SQRT[#j];

  绝对值:#i=ABS[#j];

  舍入:#i=ROUNND[#j];

  上取整:#i=FIX[#j];

  下取整:#i=FUP[#j];

  自然对数:#i=LN[#j];

  指数函数 :#i=EXP[#j];

  或:#i-#jOR#k;

  异或:#i-#jXOR#k;

  与:#i-#jAND#k;

  逻辑运算一位一位地按二进制数执行。

  从BCD转为BIN

  从BIN转为BCD #i=BIN[#j];

  #i=BCD[#j];

  用于与PMC的信号交换。

  说明:

  ● 角度单位

  函数SIN ,COS,ASIN,ACOS,TAN和ATAN的角度单位是度。如90°30’表示为90.5度。

  ● ARCSIN # i= ASIN[#j]

  1)取值范围如下:

  当参数(NO.6004#0)NAT位设为0时,270°~90°

  当参数(NO.6004#0)NAT位设为1时,-90°~90°

  2)当#j超出-1到1的范围时,发出P/S报警NO.111.

  3)常数可替代变量#j

  ● ARCCOS #i=ACOS[#j]

  1) 取值范围从180°~0°

  2) 当#j超出-1到1的范围时,发出P/S报警NO.111.

  3) 常数可替代变量#j

  ● ARCTAN #i= ATAN[#j]/ [#k]

  1) 指定两个边的长度,并用斜杠(/)分开

  2) 取值范围如下:

  当NAT位(参数NO.6004,#0)设为0时;0°到360°

  当NAT位(参数NO.6004,#0)设为1时;-180°到180°

  3) 常数可替代变量#j

  ● 自然对数 #i=LN[#j];

  1) 注意,相对误差可能大于10-8.

  2) 当反对数(#j)为0或小于0时,发出P/S报警NO.111.

  3) 常数可替代变量#j。

  ● 指数函数 #i=EXP[#j]

  1) 注意,相对误差可能大于10-8。

  2) 当运算结果超过3.65X1047(j大约是110)时,出现溢出并发出P/S报警NO.111.。

  3) 常数可替代变量#j。

  ● ROUND(舍入)函数

  1) 当算术运算或逻辑运算指令IF或WHILE中包含ROUND函数时,则ROUND函数在第一个小数位置四舍五入。 当执行#1=ROUND[#2];此处#2=1.2345,变量1的值是1.0。

  2) 当在NC语句地址中使用ROUND函数时,ROUND函数根据地址的最小设定单位将指定值四舍五入

  ● 上取整下取整

  CNC处理数值运算时,若操作后产生的整数绝对值大于原数的绝对值时为上取整;若小于原数的绝对值为下整数。对于负数的处理应小心。

  ● 算术与逻辑运算指令的缩写

  程序中指令函数时,函数名的前两个字符可以用于指定该函数。

  ROUND→RO

  FLX→FI

  ● 运算次序

  1) 函数

  2) 乘和除运算

  3) 加和减运算

  ● 括号嵌套

  括号用于改变运算次序,括号可以使用5级,包括函数内部使用的括号。当超过5级时,出现P/S报警NO.118.限制

  ● 括号 ([,])用于封闭表达式。注意,圆括号用于注释。

  ● 运算误差 运算时,可能出现误差。

  注:相对误差取决于运算结果;使用两类误差的较小者;绝对误差是常数,而不管运算结果;函数TAN执行SIN/COS。

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1490次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  92次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  10次下载  |  免费
  11. 6基于AT89C2051/4051单片机编程器的实验
  12. 0.11 MB  |  4次下载  |  免费
  13. 7蓝牙设备在嵌入式领域的广泛应用
  14. 0.63 MB  |  3次下载  |  免费
  15. 89天练会电子电路识图
  16. 5.91 MB  |  3次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30320次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537791次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233045次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费