Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
syntec.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
741.38 Кб
Скачать

Open CNC

Macro发展工具

使用手册

by : 新代科技

date : 2004/12/07

ver : 9.0

摘要

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

版本更新记录

项次

更改内容纪录

更改日期

作者

更改后版本

01

1.追加版本更新记录

2004/12/07

吴达钦

V9.0

目录

第一章OpenCNC发展环境安装及使用说明 7

一、系统需求 7

二、软件安装 7

三、使用说明 8

第二章OpenCNC Structure Motion language 10

一、Block Format 10

二、档案格式 11

三、Expressions 12

Operators 12

四、Statements 13

Assignment 13

GOTO 13

EXIT 13

CASE 14

ELSE 14

REPEAT 15

REPEAT 15

WHILE 16

FOR 17

IF 18

ELSE 18

五、Functions Listing 19

六、Variables 26

公用变量使用对照表 26

R 资源分配表 26

程序批注 (Comment) 26

七、Macro Program 27

Call Methods: 27

Return Methods: 28

标准型扩充G码撰写规范 29

Argument specification 29

System Variables 30

Modal information 30

Operation control/status 31

Single Block Control Word(#1502) 31

Feed Control Word(#1504) 32

Current position 33

Runtime state variable 33

Modal variables 34

Custom parameter 34

Interface signals 34

Mode Group Variables 34

Tool compensation variable(R/W) 34

Workpiece coordinate system compensation values (workpiece zero point offset values) 35

Reference point position 35

八、扩充插值G码(Extended Interpolation G Code)宏程序说明: 36

九、MACRO 撰写需注意事项: 37

十、MACRO范例: 38

第三章 附件 42

基本G码指令一览表 42

第一章OpenCnc发展环境安装及使用说明

一、系统需求

个人计算机:80486以上的中央处理器

操作系统:NT 4.0以上的版本,窗口九五以上的版本(需先安装MSIE 3.0)

硬盘空间:约1MB的硬盘空间

二、软件安装

1、将安装磁盘放入3.5吋磁盘驱动器中,执行SETUP。建议在开始安装之前先行关闭其它的窗口应用程序。

  1. 稍待片刻即可进入下面之安装画面。

3、选择Next继续安装的工作。

4、选择Browse更改所要安装的目录或是接受内定的目录,选择Next继续安装的工作。

  1. 稍待片刻即可完成安装。

三、使用说明

操作说明:

1、首先选取OpenCNC的图标,在图标上以鼠标左键点两下,即可进入主画面:

2、将所欲仿真之Macro程序存成*.nc文件,复制到syntec\OpenCNC\CNCfiles\底下,或是利用操作系统的注册编辑器(regedit),自行设定一目录以存放所编辑的*.mmp文件,选取主窗口中的Load选项,将档案加载,选取开始仿真即可,仿真的结果会显示在结果显示区。

  1. 如欲自行设定一目录以存放所编辑的*.mmp 档,请执行regedit,选取HKEY_LOCAL_MACHINESOFTWARESyntecOpenCNC2.0,选取选项”MacroStorage”,将设定值改为:

C:\Program Files\Syntec\OpenCNC\CNCFiles\;” Your files location ”

功能说明:

1、设定所欲显示的空间:

XYZ XY YZ ZX

各个空间设定如上所示。

  1. 坐标参数设定:调整各轴的上限和原点的位置。

3、Single Step:设定为Single Step可以一步步的执行程序。

4、开始仿真:开始执行程序,并将结果显示于结果显示区。

5、停止仿真:暂停程序的执行。

6、重设:重新设定系统。

7、开启新档:开启一个新的Macro程序。

8、加载程序:加载Macro程序。

9、储存档案:储存目前的Macro程序。

10、另存新檔:以新的文件名储存目前的Macro程序。

  1. 讯息显示区:显示错误讯息,此外亦可用来显示程序中各个变量值;命令栏(Command)可以输入所欲察看的变量名称,而变量值会显示在讯息显示区。

13、Macro程序中变量的部份请参照第二章「系统变量」的说明。

第二章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 he option of operator.

  • N If you use a sequence number, it must be the first in the block.

  • G The preparatory function(s) G must follow N.

  • X The linear dimension words follow G. Specify the X axis first.

  • Y The linear dimension words follow G. Specify the Y axis second.

  • Z The linear dimension words follow G. Specify the Z axis third.

  • A The rotary dimension words follow G. Specify the X axis first.

  • B The rotary dimension words follow G. Specify the Y axis second.

  • C The rotary dimension words follow G. Specify the Z axis third.

  • I The interpolation words follow the dimension words. Specify the X axis first.

  • J The interpolation words follow the dimension words. Specify the Y axis second.

  • K The interpolation words follow the dimension words. Specify the Z axis third.

  • D The selection of tool compensation must follow K.

  • F If you specify a feed rate that applies to more than one axis, F must follow the last dimension( and interpolation ) to which it applies.

  • S Spindle Speed Function shall follow immediately the “Feed Function“ or “Dimension” word.

  • T The tool function selection follow S.

  • M Any miscellaneous function(s) that you specify must last in the block, just ahead of the end of block character.

  • End of Block Indicate the end of block with the carriage return / line feed character.

二、档案格式

‘%’字符为标题行起头,该行将被视为标题行。当标题行含有关键词 ’@MACRO’ 时整个档案就会以本手册所定义的MACRO语法处理。如果该行无’@MACRO’关键词此档案就会被视为一般ISO档档案格式处理,无法使用MACRO语法。ISO档时标题行可以省略。’@MACRO’关键词必须是大写字母。此规格自 675(含)后版本生效。

例一:MACRO格式檔

% @MACRO

IF @1 = 1 THEN

G00 X100.;

ELSE

G00 Y100.;

END_IF;

M99;

例二:ISO格式檔

% 这是标题行,可当作档案用途说明,此行可有可无

G00 X100.;

G00 Y100.;

G00 X0;

G00 Y0;

M99;

三、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

<,>,<=,>=

6

Equality

=

7

Inequality

<>

8

Boolean/Bitwise AND

&,AND

9

Boolean/Bitwise Exclusive OR

XOR

10

Boolean/Bitwise OR

OR

11

四、Statements

Assignment

语法:<Variable>: = <expression>;

说明:设定(Assignment),指定变量内容

范例:

@1 := 123;

#1 := #3;

GOTO

语法:GOTO n;

说明:跳到指定的N行号执行

范例一:

GOTO #3;

范例二:

% @MACRO // 激活MACRO语法

IF( #1 = 2 ) THEN GOTO 100;

G01 X10. Y10.;

N100 G01 X30. Y30.;

M02;

EXIT

语法:EXIT;

说明:循环中断,跳离循环控制

范例:

请参考WHILE范例

CASE

语法:

CASE <INT expression> OF

<INT>:

<Statement list>

<INT>,<INT>,<INT>:

<Statement list>

<INT>,…<INT>:

<Statement list>

ELSE

<Statement list>

END_CASE;

说明:CASE多条件判断,根据条件式内的整数表达式所得数值,分别执行不同程序区块。

范例:

% @MACRO // 激活MACRO语法

#1 := 8;

G01 G91 G92 X20. Y15. F200000;

CASE #1 OF

1:

X(1.0*1);

Y(1.0*1);

2:

X(1.0*2);

Y(1.0*2);

3,4,5:

X(1.0*#1);

Y(1.0*#1);

ELSE

X(1.0*6);

Y(1.0*6);

END_CASE;

X(1.0) Y(1.0);

M30;

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;

G01 G92 X#12 Y#13 F200.0;

REPEAT

G00 X(#12+#14) Y(#13+#15);

G01 X(#12+#14) Y(#13-#15);

X(#12-#14) Y(#13-#15);

X(#12-#14) Y(#13+#15);

X(#12+#14) Y(#13+#15);

#14 := #14 + 2.0;

#15 := #15 + 1.5;

UNTIL (#14 > #12) OR (#15 > #13) END_REPEAT;

X(1.0) Y(1.0);

M30;

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 G92 X#12 Y#13 F200.0;

WHILE (#14 <= #12) AND (#15 <= #13) DO

G00 X(#12+#14) Y(#13+#15);

G01 X(#12+#14) Y(#13-#15);

X(#12-#14) Y(#13-#15);

IF #14 > 6.0 THEN

EXIT;

END_IF;

X(#12-#14) Y(#13+#15);

X(#12+#14) Y(#13+#15);

#14 := #14 + 2.0;

#15 := #15 + 1.5;

END_WHILE;

X(-5.0) Y(5.0);

M02;

FOR

语法:

FOR <INT variable1> := <expression1> TO <expression2> [ BY <expression3>] DO <Statement list>

END_FOR;

说明:FOR循环控制

variable1 : 控制循环次数的变量

expression1 : 循环计数的起始次数 ,可为整数或表达式

expression2 : 循环计数的终止次数,可为整数或表达式

expression3 : 循环计数每次的累加次数,可为整数或表达式

statement list : 循环每次执行内容

范例:

% @MACRO // 激活MACRO语法

#1 := 2.0; (*INITIAL RADIUS*)

#2 := 8.0; (*FINIAL RADIUS*)

#3 := 9; (* SIDES*)

#4 := 360.0 / #3; (*THETA*)

#5 := (180.0 + #4)/2; (*START ANGLE*)

G91 G92 X0. Y0. F300000;

G01 X(#1);

FOR #6:=#1 TO #2 BY 2.0 DO

#7 := 2.0 * #6 * COS(180.0-#5);

#8 := (#7/2.0) / COS(180.0/6);

#9 := #5;

G01 X(1.0);

FOR #10:= 1 TO #3 DO

G03 X(#7*COS(#9))

Y(#7*SIN(#9))

I(#8*COS(#9-180.0/6))

J(#8*SIN(#9-180.0/6));

#9 := #9 + #4;

END_FOR;

END_FOR;

IF

语法:

IF <Condition> THEN

<Statement list>

ELSEIF <Condition> THEN

<Statement list>

ELSE

<Statement list>

END_IF;

说明:IF条件判断

范例:

% @MACRO // 激活MACRO语法

#1 := 3.0;

G01 G91 G92 X20. Y15. F200000;

IF #1 = 1 THEN

X(1.0*1);

Y(1.0*1);

ELSEIF #1 = 2 THEN

X(1.0*2);

Y(1.0*2);

ELSEIF #1 = 3 THEN

X(1.0*3);

Y(1.0*3);

ELSE

X(1.0*4);

Y(1.0*4);

END_IF;

X(1.0) Y(1.0);

M30;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]