
- •第一章OpenCnc发展环境安装及使用说明
- •第二章OpenCnc Structure Motion language 一、Block Format
- •三、Expressions Operators
- •五、Functions Listing
- •六、Variables
- •程序批注 (Comment)
- •七、Macro Program Call Methods:
- •Return Methods:
- •Argument specification
- •System Variables
- •Modal information
- •Operation control/status
- •Single Block Control Word(#1502)
- •Feed Control Word(#1504)
- •Current position
- •Runtime state variable
- •Workpiece coordinate system compensation values (workpiece zero point offset values)
- •Reference point position
- •八、扩充插值G码(Extended Interpolation g Code)宏程序说明:
- •九、macro 撰写需注意事项:
- •十、macro范例:
六、Variables
Vacant #0,@0 is always VACANT
Local #1 ~ #50
System #1000 ~
Global @1~
公用变量使用对照表
编号 |
说明 |
宏程序 |
人机接口 |
永久保存 |
@1~ @400 |
一般运算用变量 |
R/W |
R |
否 |
@401~ @655 |
对应PLC R1 ~ R255 @401=R1 @655=R255 |
※ |
※ |
※ |
@656~ @999 |
有记忆性变量 |
R/W |
R/W |
是 |
@10000~ @14095 |
对应到PLC 缓存器R0~R4095 |
※ |
※ |
※ |
R 资源分配表
编号 |
说明 |
读写规则 |
是否可位(Bit)存取 |
永久保存 |
|
宏程序或人机接口 |
阶梯程序 |
||||
R0~R39 |
CNC系统接口区 |
只读 |
依下表定义之 |
是 |
否 |
R40~R49 |
PLC警报讯息区 |
||||
R50~R80 |
使用者自行定义 |
读/写 |
读/写 |
是 |
否 |
R81~R100 |
对应到系统参数3401~3420 PLC参数 |
只读 |
只读 |
是 |
否 |
R101~R102 |
刀具状态 |
读/写 |
读/写 |
是 |
是 |
R103~R255 |
使用者自行定义 |
读/写 |
读/写 |
是 |
是 |
R256~R511 |
否 |
||||
R512~R639 |
CNC系统接口区 |
只读 |
依下表定义之 |
是 |
否 |
R640~R1023 |
否 |
||||
R1023~R4095 |
使用者自行定义 |
读/写 |
读/写 |
否 |
否 |
程序批注 (Comment)
(* This is comment *)
// This is comment
七、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.0 Y10.0; |
G66 P_ L_ addresses |
Modal macro call,遇到移动指令呼叫 P_ 子程序名称 L_ 重复次数 |
范例: G66 P10 X10.0 Y10.0; X20. Y20. 说明: X20与Y20.移动指令会呼叫O0010 |
G66.1 P_ L_ addresses |
Modal macro call,每单节呼叫 P_ 子程序名称 L_ 重复次数 |
范例: G66.1 P10 X10.0 X20. G04 X2.; M31; 说明: X20、G04 X2与M31.每一单节指令都会呼叫O0010 |
G_ L_ addresses |
External G call L_ 重复次数 |
G128 L3 X1.0;(will call G0128 three times) |
T_ |
Tool selection by subprogram, any T code inside T-subprogram will be treat as ordinary T call. |
T3;(will call T0000) |
M_ addresses |
M Code Macro Call |
M13 A_ B_ C_; 呼叫M0013 Macro程序。使用前必需先在系统参数3601~内登录。 |
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_欲到达的行号编号 |
M99 Q100; 回到父程序行号100行位置 |
G67 |
Modal macro call cancel |
G67; |
标准型扩充G码撰写规范
请多使用区域变量(Local Variables,#1~#50)。
模式变量(Modal Variables,#4001~#4100;#5001~#5100),为所有扩充G码的共享资源,请仅用于多个扩充G码间的资料交换,以节省共享资源的使用。
请不要使用公共变量(Global Variables,@1~@999),因为G码执行时,使用者的资料是由自变量(A_,B_…,Z_)传入,由公共变量传递不符合使用习惯。
如果需要内定的初始值,请使用Custom Parameter( #4001~#4100, #5001~ #5100 )。
不可改变模式G码(G91/G90,G40/G41/G42,…,etc)的状态,如果程序内部需要改变时,请在进入点先备份当时的模式G码状态,离开点再回复原来状态。
对于长度或角度的自变量在运算前请使用STD()函数将单位标准化,以符合工具机使用习惯。
不可以改变坐标系统设定,G92/G54/G52等与坐标系统相关指令不使用,否则图形仿真功能将失去参考意义。