Navigation

  • Page 1

    Open CNC Macro 发展工具 使用手册 by : 新代科技 date : 2004/12/07 ver : 9.0

  • Page 2

    摘要 本发展环境 OpenCNC 开发的目的在于方便 Macro 程序的撰写及测试,使得程序设计师得以在实际上线执行程序之前可以先作一程序的测试,经由图形化的接口而得知其程序是否有逻辑上的错误存在。

  • Page 3

    版本更新记录 项次 更改内容纪录 更改日期 作者 更改后版本 01 1.追加版本更新记录 2004/12/07 吴达钦 V9.0

  • Page 4

    目录 第一章 OpenCNC 发展环境安装及使用说明Error! Bookmark not defined. 一、系统需求 ----------------------------------------- Error! Bookmark not defined. 二、软件安装 ----------------------------------------- Error! Bookmark not defined. 三、使用说明 --------...

  • Page 5

    新代科技 Open CNC Macro 发展工具使用手册 -1- Runtime state variable ------------------------- Error! Bookmark not defined. Modal variables --------------------------------- Error! Bookmark not defined.

  • Page 6

    Custom parameter ------------------------------ Error! Bookmark not defined. Interface signals --------------------------------- Error! Bookmark not defined. Mode Group Variables ------------------------- Error! Bookmark not defined. Tool compensation variable(R/W) ----------- Error! Bookmark...

  • Page 7

    新代科技 Open CNC Macro 发展工具使用手册 -1- 第一章 OpenCNC 发展环境安装及使用说明 一、系统需求 个人计算机:80486 以上的中央处理器 操作系统:NT 4.0 以上的版本,窗口九五以上的版本(需先安装 MSIE 3.0) 硬盘空间:约 1MB...

  • Page 8

    新代科技 Open CNC Macro 发展工具使用手册 -2- 三、使用说明 操作说明: 1、首先选取 OpenCNC 的图标,在图标上以鼠标左键点两下,即可进入主画面: 2、将所欲仿真之 Macro 程序存成*.nc 文件,复制到 syntec\OpenCNC\CNCfiles\底下,...

  • Page 9

    新代科技 Open CNC Macro 发展工具使用手册 -3- XYZ XY YZ ZX XYZ XY YZ ZX 各个空间设定如上所示。 2、 坐标参数设定:调整各轴的上限和原点的位置。 3、Single Step:设定为 Single Step 可以一步步的执行程序。 4、开始仿真:...

  • Page 10

    新代科技 Open CNC Macro 发展工具使用手册 -4- 第二章 OpenCNC Structure Motion language 一、Block Format The format for a Motion Control block( single line of code ) is describe below. / N G X Y Z A B C I J K F S T D M  / Block Delete function validated at...

  • Page 11

    新代科技 Open CNC Macro 发展工具使用手册 -5- 二、档案格式 „%‟字符为标题行起头,该行将被视为标题行。当标题行含有关键词 ‟@MACRO‟ 时整个档案就会以本手册所定义的 MACRO 语法处理。如果该行无‟@MACRO‟关键词此档...

  • Page 12

    新代科技 Open CNC Macro 发展工具使用手册 -6- 三、Expressions Operators Operator Symbol Precedence Parenthesis ( ) [ ] 1 Function Evaluation Identifier( argument list ) 2 Negative - 3 Complement NOT 3 Multiply * 4 Divide / 4 Modulus MOD 4 Add + 5 Subtract - 5 Comparison <,>,...

  • Page 13

    新代科技 Open CNC Macro 发展工具使用手册 -7- 四、Statements Assignment 语法:<Variable>: = <expression>; 说明:设定(Assignment),指定变量内容 范例: @1 := 123; #1 := #3; GOTO 语法:GOTO n; 说明:跳到指定的 N 行号执行 范例一: ...

  • Page 14

    新代科技 Open CNC Macro 发展工具使用手册 -8- CASE 语法: CASE <INT expression> OF <INT>: <Statement list> <INT>,<INT>,<INT>: <Statement list> <INT>,…<INT>: <Statement list> ELSE <Statement list> END_CA...

  • Page 15

    新代科技 Open CNC Macro 发展工具使用手册 -9- REPEAT 语法: REPEAT <Statement list> UNTIL <Condition> END_REPEAT; 说明:REPEAT 循环控制 范例: % @MACRO // 激活 MACRO 语法 #10 := 30.; #11 := 22.5.; #12 := #10/2; #13 := #11/2; #14 := 2.0; #15 := 1.5...

  • Page 16

    新代科技 Open CNC Macro 发展工具使用手册 -10- WHILE 语法: WHILE <Condition> DO <Statement list> END_WHILE; 说明:WHILE 循环控制 范例: % @MACRO // 激活 MACRO 语法 #10 := 20.; #11 := 15.; #12 := #10/2; #13 := #11/2; #14 := 2.0; #15 := 1.5; G01 G9...

  • Page 17

    新代科技 Open CNC Macro 发展工具使用手册 -11- FOR 语法: FOR <INT variable1> := <expression1> TO <expression2> [ BY <expression3>] DO <Statement list> END_FOR; 说明:FOR 循环控制 variable1 : 控制循环次数的变量 expression1 : 循...

  • Page 18

    新代科技 Open CNC Macro 发展工具使用手册 -12- IF 语法: IF <Condition> THEN <Statement list> ELSEIF <Condition> THEN <Statement list> ELSE <Statement list> END_IF; 说明:IF 条件判断 范例: % @MACRO // 激活 MACRO 语法 #1 := 3.0; G...

  • Page 19

    新代科技 Open CNC Macro 发展工具使用手册 -13- 五、Functions Listing Function Description ABS Calculates the absolute value of a number Ex: #1 := ABS(-2.3); // #1 will be 2.3 ACOS Calculates the arc cosine of a number Ex: #1 := ACOS(#10); ASIN Calculates the arc sine of...

  • Page 20

    新代科技 Open CNC Macro 发展工具使用手册 -14- Function Description SIGN Return sign of a number, –1 for negative number, 1 for positive number, 0 for zero number. Ex: IF( SIGN(#10) > 0 ) THEN …. END_IF; CEIL Return the smallest integer that is greater than or equal to ...

  • Page 21

    新代科技 Open CNC Macro 发展工具使用手册 -15- Function Description STKTOP Peek the stack value by index form top one. Ex: STKTOP(0) the most top element value STKTOP(1) the element value below top one STKTOP(2) the element value below top two …etc ALARM Is...

  • Page 22

    新代科技 Open CNC Macro 发展工具使用手册 -16- Function Description 由系统参数 3905 等参数设定之。 例: OPEN(“PROBE.NC”); //打开 PROBE.NC 档准备输出 例 OPEN(“COM”); //打开传输埠 PRINT("\p"); //输出‟%‟字符 FOR #1 = 1 TO ...

  • Page 23

    新代科技 Open CNC Macro 发展工具使用手册 -17- Function Description O0001 主程序 G101 X30. Y40. Z1=40. Z2=50.; . G0101 扩充宏程序 #1 = GETARG(X); // 将 X 自变量内容 30.存到#1 #2 = GETARG(Z1); // 将 Z1 自变量内容 40.存到#2 #3 = GETAR...

  • Page 24

    新代科技 Open CNC Macro 发展工具使用手册 -18- Function Description COMMENT(“批注字符串”) 此函数用来输出批注字符串,输出字符串中的变量名称会被取代成该变量的值,此函数如果成功响应值为 1,失败时响应值为 0。 例: @...

  • Page 25

    新代科技 Open CNC Macro 发展工具使用手册 -19- Function Description No The system variable number. e.g. #1 = SYSVAR( 1, 1000 ); // to read interpolation mode of first axis group. SCANTEXT( No ) To scan text string from global variable. Notes: Because string is loc...

  • Page 26

    新代科技 Open CNC Macro 发展工具使用手册 -20- 六、Variables Vacant #0,@0 is always VACANT Local #1 ~ #50 System #1000 ~ Global @1~ 公用变量使用对照表 编号 说明 宏程序 人机接口 永久保存 @1~ @400 一般运算用变量 R/W R 否 @401~ @655...

  • Page 27

    新代科技 Open CNC Macro 发展工具使用手册 -21- 七、Macro Program Call Methods: Syntax Description Examples M98 P_ H_ L_ Subprogram call, P_ 子程序名称 H_ 起始序号 L_ 重复次数 M98 P10 L2; G65 P_ L_ addresses Macro call P_ 子程序名称 L_ 重复次数 G65 P10 X10...

  • Page 28

    新代科技 Open CNC Macro 发展工具使用手册 -22- Return Methods: Syntax Description Examples M99 Return M99; M99 P_ Return and go to specified label P_ 欲到达的序号编号 M99 P100; 回到父程序序号 N100 位置 M99 Q_ Return and go to specified line number Q_欲到达的...

  • Page 29

    新代科技 Open CNC Macro 发展工具使用手册 -23- 标准型扩充 G 码撰写规范  请多使用区域变量(Local Variables,#1~#50)。  模式变量(Modal Variables,#4001~#4100;#5001~#5100),为所有扩充 G 码的共享资源,请仅用于多个扩充 G 码间的资...

  • Page 30

    新代科技 Open CNC Macro 发展工具使用手册 -24- System Variables 编号 说明 R(读)/W(写) #0 VACANT R/W #1~#50 Local variable for macro program R/W Modal information #1000 Interpolation mode, 00/01/02/03/33/34/35 R/W #1002 Contouring plane selection mode, 17/18/19 R #1004 Absol...

  • Page 31

    新代科技 Open CNC Macro 发展工具使用手册 -25- Operation control/status #1500 Quiet mode, 1(Quiet mode), 0(Normal mode) R/W #1502 Single block control word R/W #1504 Feed control word R/W #1506 Simulation mode, 1(in simulation mode),0(in normal mode) R #1508 my session ID inside...

  • Page 32

    新代科技 Open CNC Macro 发展工具使用手册 -26- Feed Control Word(#1504) Description Bit 0 Feedhold Inhibit. 0(default): feedhold enabled, 1: feedhold disabled. When feed hold is disabled:  When the feed hold button is held down, the machine stops in the single block s...

  • Page 33

    新代科技 Open CNC Macro 发展工具使用手册 -27- Current position #1301~#1316 Block end position in workpiece position R #1321~#1336 Current position in machine coordinate, this value can‟t be read during movement. R #1341~#1356 current position in workpiece coordinate R #1361~#13...

  • Page 34

    新代科技 Open CNC Macro 发展工具使用手册 -28- Modal variables Modal variables will automatically be clear to vacant when system been reset #2001~#2100 Modal variable for internal use R/W #3001~#3100 Modal variable for manufacturer R/W Custom parameter #4001~#4100 Custom paramete...

  • Page 35

    新代科技 Open CNC Macro 发展工具使用手册 -29- Workpiece coordinate system compensation values (workpiece zero point offset values) There are only 16 workpiece coordinate system in this version #20001~#20006 External workpiece zero point offset value R/W #20021~#20026 Workpiece 1...

  • Page 36

    新代科技 Open CNC Macro 发展工具使用手册 -30- 八、扩充插值 G 码(Extended Interpolation G Code)宏程序说明: #1000 是目前的插值模式,当宏程序希望在离开后保留此宏插值模式,请在宏程序离开前将#1000 设为自己宏的号码。 此后...

  • Page 37

    新代科技 Open CNC Macro 发展工具使用手册 -31- 九、MACRO 撰写需注意事项: 1. 程序内容第一行需为%@MACRO。 2. 每一行结束需加”;”。 3. 程序最后需加”M99;”才能返回到主程序。 4. 指定变量需使用”:=”符号,不可仅用”=”...

  • Page 38

    新代科技 Open CNC Macro 发展工具使用手册 -32- 十、MACRO 范例: 取材自车床 G21 车床车牙模式循环宏,其规格请参考车床程序使用手册 % @MACRO // WHEN NO X(U) Z(W) ARGUMENTS,THEN LOAD MODAL INFORMATION // ELSE DO THREAD CUTTING // #8(E) LEAD...

  • Page 39

    新代科技 Open CNC Macro 发展工具使用手册 -33- // NO LEAD ADDRESS APPEAR, INHERIT MODAL STATE #9 := #2072; END_IF; IF( #23 <> #0 OR #26 <> #0 ) THEN // WHEN THERE ARE W OR Z ADDRESS APPEAR, THEN // CHECK WHICH KIND OF COMMAND BEEN ADDR...

  • Page 40

    新代科技 Open CNC Macro 发展工具使用手册 -34- #23 := STD(#23,#1600); #24 := STD(#24,#1600); #26 := STD(#26,#1600); #18 := STD(#18,#1600); // working variable // #31 chamfer start point relative to block end X // #32 chamfer block X-direction displace...

  • Page 41

    新代科技 Open CNC Macro 发展工具使用手册 -35- // CALCULATE CHAMFER BLOCK X-DIRECTION DISPLACEMENT #32 := -SIGN(#21)*#33*2; FOR #36:=1 TO #11 DO // calculate thread start angle #37 := (360.0 / #11) * (#36 - 1); G00 U( #21 + #18*2 ); G33 U-(#...

  • Page 42

    新代科技 Open CNC Macro 发展工具使用手册 -36- 第三章 附件 基本 G 码指令一览表 项 目 功 能 名 称 G00 直线快速定位 G01 直线补间、切削进给 G02 圆弧补间(顺时钟) G03 圆弧补间(逆时钟) G04 暂停指定时间 G10 可程序资料输入 G1...

  • Page 43

    新代科技 Open CNC Macro 发展工具使用手册 -37- 项 目 功 能 名 称 G68 坐标旋转 G70 英制单位加工 G71 公制单位加工 G90 绝对位置输入方式 G91 相对位置输入方式 G92 加工位置坐标系统设定 G94 每分钟进给量(mm/min.) G95 每转进给量...

x