宏程序基础知识资料Word格式.docx
《宏程序基础知识资料Word格式.docx》由会员分享,可在线阅读,更多相关《宏程序基础知识资料Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
![宏程序基础知识资料Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/13/2b4cef56-6781-4c2d-aee0-b1485151a7fe/2b4cef56-6781-4c2d-aee0-b1485151a7fe1.gif)
系统变量用于读和写的各种数据,例如刀具补偿,当前位置信息,
变量的引用
为在程序中使用变量值,指定后跟变量号的地址。
当用表达式指定变量时,要把表达式放在括号中。
例如:
G01X[#12]3;
被引用变量的值根据地址的最小设定单位自动地舍入。
当G001;
以1/1000的单位执行时,把123456赋值给变量#1,实际指令值为G00X12346.
改变引用变量的值的符号,要把负号(-)放在#的前面。
G00X-#1
当引用未定义的变量时,变量及地址都被忽略。
当变量#1的值是0,并且变量#2的值是空时,G0012的执行结果为G00X0
未定义的变量当变量值未定义时,这样的变量成为空变量。
变量#0总是空变量。
它不能写,只能读。
当#1=(空)时
G90X1001实际与G90X100运行结果一样
当#1=0时
G90X1001实际与G90X100Y0运行结果一样
运算
除了用<
空>
赋值以外,其余情况下<
与0相同。
限制程序号,顺序号和任选程序段跳转号不能使用变量。
例:
下面情况不能使用变量:
○#1;
错误使用方法
2G00X100.0;
3Y200.0;
系统变量
系统变量能用来读写内部数据,如刀具补偿值和当前位置数据。
然而,注意:
有些系统变量是只读变量。
对于扩展自动化操作和一般的程序,系统变量是必须的。
刀具补偿值:
使用这类系统变量可以读写刀具补偿值。
可用的变量数取决于能使用的补偿对数,当补偿对数不大于200时,可以用变量#20012400。
用于刀具补偿内存A的系统变量
补偿号
1
:
200
#10001(#2001)
#10200(#2200)
用于刀具补偿内存B的系统变量
几何补偿
磨损补偿
1
#11001(#2201)
#11200(#2400)
宏报警:
用于宏报警的系统变量:
变量号
功能
#3000
当#3000中有0~99间的某一值时,停止并显示报警信息。
报警信息不超过26个字符,
例:
#3000=1();
报警屏幕显示“3001。
”
时间信息:
时间信息可以读写。
用于时间信息的系统变量:
#3001
这个变量是一个以1毫秒为增量一直记数的记时器,上电或达到65535毫秒时复值为0。
#3002
这个变量是一个以1小时为增量、当循环启动灯亮时记数的记时器,电源关闭后记时器值依然保持,达到1145324.612小时时复值为0。
#3011
这个变量用于读当前年/月/日数据,该数据以十进制数显示。
28,1993表示成19930328。
#3012
这个变量用于读当前时/分/秒数据,该数据以十进制数显示。
下午3点34分56秒表示成153456。
自动操作控制:
自动操作的控制状态可以改变。
自动操作控制的系统变量#3003
#3003
单段
辅助功能的完成
使能
要等待
无效
2
不要等待
3
☆上电时该变量值为0。
☆当不能执行单段停止时,单段停止操作不能执行,即使单段开关有效。
☆当没有指定是否等待辅助功能(M、S、T)完成时,在辅助功能完成之前,程序执行到下一段,定位完成信号不发出。
自动操作控制的系统变量#3004
#3004
进给保持
进给倍率
精确停止
4
5
6
7
☆当不能执行进给保持时:
进给保持按钮按下并保持时,机床以单段停止方式停止,但单段方式若因变量#3003而无效时,不执行单段停止操作。
进给保持按钮按下又释放时,进给保持灯亮,但机床不停止;
程序继续进行,机床停在最先含有进给保持使能的段。
☆当进给倍率无效时,倍率定在100%,忽略机床操作面板上的倍率开关。
☆当精确停止无效时不执行精确停止检查(定位检查),即使是包含有不执行切削的段。
☆例如G84攻丝循环时进给速度,转速,单段操作都无效,其内部程序就指定了#3003=3
#3004=7
模态信息:
表中指定的模信息可以读出。
见下表:
#4001
G00,G01,G02,G03,G33
(01组)
#4002
G17,G18,G19
(02组)
#4003
G90,G91
(03组)
#4004
(04组)
#4005
G94,G95
(05组)
#4006
G20,G21
(06组)
#4007
G40,G41,G42
(07组)
#4008
G43,G44,G49
(08组)
#4009
G73,G74,G76,G8089
(09组)
#4010
G98,G99
(10组)
#4011
G50,G51
(11组)
#4012
G65,G66,G67
(12组)
#4014
G5459
(14组)
#4015
G6164
(15组)
#4016
G68,G69
(16组)
:
#4022
(22组)
#4102
B码
#4107
D码
#4109
F码
#4111
H码
#4113
M码
#4114
顺序号
#4115
程序号
#4119
S码
#4120
T码
例:
当执行#14001时,#1=0,1,2,3或33
当前位置:
位置信息变量不能写只能读。
位置信息
坐标系
刀具补偿值
移动期间的读操作
#50015004
段结束点
工件坐标系
不包括
#50215024
当前位置
机床坐标系
包括
#50415044
#50615064
跳段信号位置
#50815084
刀偏值
#51015104
偏差的伺服位置
☆首位数(从1~4)分别代表轴号,数1代表X轴,数2代表Y轴,数3代表Z轴,数4代表第四轴。
☆执行当前的刀偏值,而不是立即执行保持在变量#50815088里的值。
☆在含有G31(跳段)的段中发出跳段信号时,刀具的位置保持在变量#50615068里,如果不发出跳段信号,指定段的结束点位置保持在这些变量中。
☆移动期间读变量无效时,表示由于缓冲(准备)区忙,所希望的值不能读。
工件坐标系补偿值(工件零点偏置值):
工件零点偏置值变量可以读写,见下表:
#52015204
第一轴外部工件零点偏置值~第四轴外部工件零点偏置值
#52215224
第一轴G54工件零点偏置值~第四轴G54工件零点偏置值
#52415244
第一轴G55工件零点偏置值~第四轴G55工件零点偏置值
#52615264
第一轴G56工件零点偏置值~第四轴G56工件零点偏置值
#52815284
第一轴G57工件零点偏置值~第四轴G57工件零点偏置值
#53015304
第一轴G58工件零点偏置值~第四轴G58工件零点偏置值
#53215324
第一轴G59工件零点偏置值~第四轴G59工件零点偏置值
#70017004
第一轴工件零点偏置值(G54P1)~第四轴工件零点偏置值
#70217024
第一轴工件零点偏置值(G54P2)~第四轴工件零点偏置值
:
#79417944
第一轴工件零点偏置值(G54P48)~第四轴工件零点偏置值
注:
对于工件坐标系,变量#52015328是可选变量。
算术和逻辑操作
对于附加的48工件坐标系,变量#70017948(G54P154P48)是可选变量。
在下表中列出的操作可以用变量进行。
操作符右边的表达式,可以含有常数和(/或)由一个功能块或操作符组成的变量。
表达式中的变量和可以用常数替换。
左边的变量也可以用表达式替换。
格式
注释
赋值
加
减
—
乘
*
除
正弦
[]
角度以度为单位,如:
90度30分表示成90.5度
余弦
正切
反正切
平方根
绝对值
进位
下进位
上进位
(或)
用二进制数按位进行逻辑操作。
(异或)
(与)
将码转换成码
用于与间信号的交换。
角度单位:
在,,,中所用的角度单位是度。
功能:
在之后的两个变量用“/”分开,结果在0°
和360°
之间。
当#1[1]/[—1]时,#1=135.0
☆当功能包含在算术或逻辑操作、语句、语句中时,将保留小数点后一位,其余位进行四舍五入。
#1[#2];
其中#2=1.2345,则#1=1.0
☆当出现在语句地址中时,进位功能根据地址的最小输入增量四舍五入指定的值。
编一个程序,根据变量#1、#2的值进行切削,然后返回到初始点。
假定增量系统是1/1000,#1=1.2345,#2=2.3456
则G00G91X—#1;
移动1.235
G01X—#2F300;
移动2.346
G00X[#12];
因为1.2345+2.3456=3.5801移动3.580,不能返回到初始位置。
而换成G00X[[#1][#2]]能返回到初始点。
上进位和下进位成整数:
#1=1.2、#2=—1.2
则:
#3[#1],结果#3=2.0
#3[#1],结果#3=1.0
#3[#2],结果#3=—2.0
#3[#2],结果#3=—1.0
算术和逻辑操作的缩写方式:
取功能