西门子840c系统数控编程之指令Word文件下载.docx
- 文档编号:20699072
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:20
- 大小:29.24KB
西门子840c系统数控编程之指令Word文件下载.docx
《西门子840c系统数控编程之指令Word文件下载.docx》由会员分享,可在线阅读,更多相关《西门子840c系统数控编程之指令Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
1.1目标代码
三个数字@代码是目标代码,具有下列结构:
@
1
2
3
三个数字@代码
第一位数字用于分类主组别
中间数字用于划分主组别为子组别
最后数字@用于定义特殊功能
1.1.1.主组别
下列功能赋予@代码的八个组别:
@0…程序结构一般指令
@1…程序分支
@2…数据传输,一般
@3…数据传输,系统内存传输给R参数
@4…数据传输,R参数传输给系统内存
@5…文件处理,一般(在准备中)
@6…算术和逻辑功能
@7…NC功能特定
@f
工件程序处理
1.1.2目标代码后操作数
为了其功能@码后需加附加信息。
下列字母定义这些操作参数:
K…常数
R…R参数(寄存器)
P…指示字
常数K定义的值在程序里被固定,不能修改,(值是直接规定)
指示字涉及包含被应用功能参数地址的参数
举例:
带操作数@代码
a)@201
R13
P37
指示字,具有源寄存器地址
目标寄存器(参数)
“数据传输,一般”功能@代码
解释:
把源寄存器中内容(即在P37寄存器包含地址)寄存到目标寄存器R13中去
b)@201
P16
指示字,具有目标寄存器地址
把源寄存器中的内容(即在寄存器R37包含地址)寄存到目标寄存器,该地址能在寄存器R16中被提供。
1.1.3符号
@代码要求严密符号,在下面几页各种指令表格中,一系列符号,在每个括号里,跟随在三个数字@代码之后,符号含义是:
<
CONST>
数值直接规定(常数K)
R-Par>
间接规定数值(R参数)
Var>
间接规定数值(R参数或指示字)
Value>
混合规定数值(常数,R参数或指示字)
2.2程序结构一般指令
主组别0组成如下:
@0XY
三个数字@代码
0—存储几个R参数
1—存储一个参数区域
2—取回几个R参数
3—取回一个参数区域
4—存储R参数
0—主组别0
主组别0/子组别:
存贮R参数
@040<
常数>
R参数1>
…<
R参数n>
用<
规定属于此功能的其后R参数号,R参数内容被存储传输到R300堆栈寄存器开始。
@041<
R参数2>
从<
R参数1
>
到<
中R参数内容被存贮传输到堆栈R300寄存器开头。
@042<
此指令从堆栈寄存器中取出存贮值,并把它们存贮到规定的R参数中去,R参数必须以@040反过来顺序给定。
@043<
在@041中存贮的值被送回到R参数中去。
当在带R参数子程序工作时,该参数亦可在最高层应用。
这些指令在主组别0/子组别4被使用。
为了存贮数值和把数值0赋予规定R参数,一个进栈指令(@040或@041)必须写在子程序开始。
在子程序结束用出栈指令(@042或@043)重新建立原始状态。
举例在程序中指令格式:
L100
调用子程序
@041
R61
R69
LF
从R61~R69的R参数内容传输到堆栈寄存器中并指定值为“0”
@043
被存贮值送回到R61-R69中去
M17
子程序结束
1.3程序分支
主组别1组成如下:
1XY
0—无比较操作者
1--=等于
2--<
不等于
3->
大于
4-->
=大于或等于
5--<
小于
6--<
=小于或等于
0—无条件跳越
1—条件分支
2—IF语句
3—当型指令
4—重复循环
5—FOR
TO
循环
6—FOR
DOWN
主组别1
在编程@100跳越功能程序段中必须遵循下列几点:
•在同一程序中辅助功能不能执行
•在跳越指令前的参数计算和配置被执行,其后跳越指令不能执行。
在“执行来自外部源”功能,在工件程序中只可以向前跳越
主组别1/子组别0:
绝对跳越
@100<
或@100<
R参数>
用常数或R参数(指示字不允许)定义跳越目标和跳越方向,正的段号表明跳越程序段向着程序结束方向,如果段号是负的,被寻找程序段朝程序段开始方向。
如果符号表错方向,即使包含在程序中控制器找不到,报警3012“程序段不存在”。
例:
@100
K375
朝程序结束方向无条件跳到N375句
K-150
朝开始方向无条件跳到N150句
主组别1/子组别1:
情况转移
@111<
变量>
数值1>
常数1>
数值2>
常数2>
…
…
数值n>
常数n>
K…
依次与<
数值>
比较,如果比较已满足,程序分支到<
代表的段号
如果比较不满足,程序处理继续向下进行。
情况分支例子:
N475
@111
R11
K1
K480
R11=1
K2
K485
R11=2
K3
K490
R11=3
K900
N480…
K495
N485…
N490…
N495…
跳到N900程序结束
例子解释:
上面数字说明在循环程序中情况分支的应用—转换坐标轴,取决于无论是编程者定义占轴还中用R11参数为1,2,3定义加工平台,程序分支到N480(R11=1),N485(R11=2),N490(R11=3)。
如果R11不包含此三个值,无疑出现参数化出错,程序分支到N900程序结束。
主组别1/子组别2:
如果.
…则…否则分支
…则…否则分支状态
如果条件已满足,则执行包含下一个程序段指令,否则分支到由最后常数所指定的程序段。
关于段号前后的符号为搜索方向。
@121<
如果<
定义的数等于<
,则程序继续执行下一个程序段,否则跳到<
规定的程序段。
@121
R27
如果R13=R27程序继续,否则附条件跳到朝程序结束方向N375。
@122<
定义的数值不等于<
定义的值,则程序继续运行到下一个程序段,否则跳越到<
@123<
定义的数值大于<
定义的值,则程序继续运行至下一个程序段,否则跳越到<
@123
如果R13>
R27,程序继续,否则附条例跳越至程序段N150句。
@124<
如<
定义的数值大于或等于<
@125<
定义的数值小于<
“如果…则…否则”分支执行程序
@126
定义值小于或等于<
定义值,则程序继续运行至下一个程序段,否则跳越到<
前页举例说明:
前页举例叙述的循环程序的章节说明使用“如果…则…否则”分支如何实话程序分支。
如在N225程序段中寄存器R58内容小于或等于寄存器R77的内容,则执行下一行给定的指令。
寄存器R88装着7和寄存器R95装着12.45。
然后,如果R58大于R77,则程序分支到N230程序段,在N230程序段前一行中,即是无条件跳到N250程序段。
在N225程序段中使用“如果…则…否则”分支,其意义是或是执行N225程序段或是执行N230-N250程序段。
下半部例子中,不用无条件跳越以便在N475程序中指令往下或跳越,为此用@124能跳越程序部分。
主组别1/子组别3:
当型循环
@13X
当型循环是一个重复指令,具有在循环开始重复条件扫描,比较操作数以“如果…则…否则”分支表示那些指令,只要比较满足,下一个程序段被处理。
在程序段末编入@100<
,回复扫描,如果比较不满足,程序跳越到<
规定的程序段:
这程序段通常固定在无条件跳越程序段之后。
例
N300
@131
375
R13=R27循环条件满足,提供循环继续
K-300
N375…
@133
R13>
R27循环条件满足,提供循环继续
N375
主组别1/子组别4:
重复循环
@14Y<
重复循环是一个重复指令,具有在循环结束重复条件扫描,比较操作数“如果…则…否则”分支表示那些指令。
只要条件不满足,回跳到<
定义程序段。
如果条件满足,退出循环程序继续。
N400
@141
K-400
重复下列指令直到条件
R13=R27满足
@143
重复下列指令直到条件R13>
R27满足
主组别1/子组别5:
FOR
@151<
TO循环是一种以<
定义R参数内容的每计一次数作增量的计数循环,在循环开始扫描“等于”,只要不等于循环被处理,否则跳越到<
定义的程序段,循环末的<
必须是增量@620和无条件跳到循环开始。
R5=1
R51=5
R52=10
为R5,R51,R52赋值
@201
R50
R51
把数据从R51传输到R50
N500
@151
R52
K505
循环开始
@620
R50
K-500
N505
主组别1/子组别6:
TO循环
@161<
定义R参数内容每计一次数作递减的计数循环。
在循环开始扫描“等于”,只要不等于,循环被处理,否则跳到<
定义的程序段。
循环末的<
必须是递减的@621和无投机倒把跳到循环开始。
R5=10
R52=1
N600
@161
K605
TO循环开始
@621
K-600
N605
1.4数据传输:
系统内存值送入R参数
主组别3组成如下:
3XY
特殊功能
0-机床数据
1-设定数据
2-刀具偏置
3-零点偏置
4-编程设定点值
5-实际值
6-程序数据
7-程序数据
3-主组别3
在主组别3中所有的@指令第一个符号为<
变量可以直接定义或借助于指示字R参数定义,该参数里被装入地址化系统单元的内容。
主组别3/子组别0:
把机床数据传输到R参数中
@300
以<
定义的NC机床数据地址
地址范围:
0-4999
K2240
第一软件限位开关值给予R50,这是第一轴的正方向限位值。
@301<
定义的NC机床数据位地址
5000-6999
@302<
定义的NC机床数据位的字节地址,地址范围:
5000-6999,
给出位地址(0~7)。
@303<
循环机床数据值被读入<
定义R参数中
通道号,0,自身通道
字地址
@304<
循环机床数据字节被读入<
通道号,0:
自身通道
字节地址
@305<
数值3>
循环机床数据位被读入<
参数中
位地址
@306<
定义PLC机床数据地址
0-5999
@307<
定义PLC机床数据字节地址
6000-8999
@308<
6000-8999,<
定义位地址(0-7)
主组别3/子组别1:
把设定数据传输到R参数中去
@310<
定义设定数据地址
@311<
定义设定数据字节地址
5000-9999
@312<
定义设定数据位字节地址
5000-9999,位地址(0-70在<
中
@313<
循环设定数据被读入<
@314<
循环设定数据位被读入<
@315<
主组别3/子组别2:
把刀偏传输给R参数中去
@320<
用些指令种种偏置值能被从刀具偏置存贮器中读入<
参里。
~<
规定如下:
TO范围
范围1-8
刀偏号D
范围1-204/409
刀偏存贮器号
范围0-9/15
@320
R67
K14
把TO范围1中刀偏号D14的P2偏置值读入R67中去
主组别3/子组别3:
把零偏传输入R参数中去
@330<
设定零偏组别
(G54=1~G57=4)
坐标轴号
粗或精值(0或1)
@330
R81
K0
第二坐标轴G54粗值读入参数R81中
@331<
编程附加零偏组别(G58=1,G59=2)
@332<
在<
里定义从PLC输入外部零偏坐标轴号
@333<
里定义DRF偏置坐标轴号
@336<
里定义附加偏置的坐标轴号,其包括:
•被选择可设定零偏
•可编程附加零偏
•外部零偏
•被选择刀偏
预置和DRF偏置不包括在内
@337<
通道号,(0,自身通道)
可设定组别坐标旋转(G54=1~G57=4)
角度数(目前为1)
设定坐标旋转的旋转角度被读入<
参数中去
@338<
可编程坐标旋转之旋转角度被读入<
通道号(0=自身通道)
可编程组别附加坐标旋转(G58=1,G59=2)
主组别3/子组别4:
把编程设定值读入R参数中
@345<
用此指令,以G96编程切削速度被传输给R参数,<
为通道号,(0=自身通道)<
被赋值为0。
主组别3/子组别6:
把实际值读入R参数
@360<
定义的坐标轴的工件有关现行值被传输到R参数中去。
@360
R54
读出涉及工件零点Y轴集团现行值输入寄存器R54中去
@361<
定义坐标轴,且涉及机床现行值被传输到R参数中去。
对于旋转轴,结果被存贮于从R参数<
(Rn)向前两个参数中,取决于一个NC机床数据位。
存入下列参数:
Rn=在一转之内的定位。
Rn+1=转数
@362<
涉及机床实际值的定义在<
中的那个轴将被传输到R参数中去。
对于旋转轴,结果被存贮在从R参数<
(Rn)向前两个参数,取决于一个NC机床数据位。
Rn=在一转之内的定位
取决于NC机床数据位,读入的坐标
轴定位作为半径或直径值。
@363<
定义主轴,且为其现行位置传输到R参数中。
@364<
定义主轴实际旋转速度值传输到R参数中。
@367<
R参数是以<
定义且它来自用G16选择平台坐标轴号,螺纹导程号存贮在第5个R参数中,必须以<
定义通道号(0=自身通道)
如刀补偏程在G16XYZ负方向上,用@367值128被附加在Z轴上,为了识别负号
@36a<
用此指令,被选择的刀偏D号被传输到R参数中去,通道号被规定在<
中(0=自身通道)
@代码中a代表十六进制“A”
@36b<
正在处理的工件程序段G功能从主存贮器中读入<
参数,<
定义于通道号,如0定义则读入本通道。
定义当前G功能所从属内部G功能组别,详见第13章内部G功能划分一表
例子:
@36b
本通道内第一组别G功能GO被读入R50中。
在@36a和@36b之前,必须编程@714独立程序段,为了能从另一通道读入值。
主组别3/子组
7:
把程序数据读入R参数
@371<
用此指令,特殊位被读出而为了各种生效信号的获得相关通道位:
位0=段搜索生效,位1=试选转速率生效,位2=模拟生效
通道号必须输入<
中,(0自身通道),<
包括位号。
不相关通道位:
位0=测量输入1生效,位1=测量输入2生效
99必须被输入于<
数值1:
包含位号
@371
在自身通道中“试运行速率”特殊位的状态被读入参数R81
@372<
当前通道号读入<
主组别3/子组别8:
把PLC位信号读入R参数
@380<
把PLC中一个输入位状态读入由<
定义的参数中,<
定义PLC号,<
定义字节地址,<
定义位地址。
@380
把№1
PLC中№2字节中,0位输入状态读入R50中。
@381<
把PLC中一个输出状态读入由<
定义字地址,<
@382<
把PLC中一个标志位状态读入由<
@383<
数值4>
一个PLC数据字位的状态读入<
定义参数中,<
定义DB或DX号,<
定义数据字号,<
@383
K4
把定义PLC数据字位状态读入R51
主组别3/子组别9,把PLC字节信号读入R参数
@390<
PLC中一个输入字节被读入定义在<
参数中,<
定义字节地址。
@390
把PLC输入字节状态读入R52。
@391<
PLC中一个输出字节状态被读入定义在<
@392<
PLC一个外围字节状态读入<
@393<
PLC一个标志字节状态读入<
数字2>
@394<
PLC数据字(左)状态读入<
参数中,PLC号被定义在<
中,<
定义数据字号。
@394
R53
定义PLC输入字节状态读入R53
@395<
PLC数据字(右)状态读入<
主组别3/子组别a:
把PLC的信号字读入R参数
@3a0<
PLC中一个输入字状态被读入<
标志范围规定怎样读入PLC信号字状态。
标识范围定义:
定点<
BCD(二进制)
0不带小数点数值100不带小数点数值
1带小数点数值101带小数点数值
2小数点后1位102小数点后1位
3小数点后2位103小数点后2位
4小数点后3位104小数点后3位
5小数点后4位105小数点后4位
6小数点后5位106小数点后5位
7小数点后6位107小数点后6位
8小数点后7位108小数点后7位
9小数点后8位109小数点后8位
@3a0
K100
PLC定义输入字状态以BCD格式读入R50中
@3a1<
PLC中一个输出字状态读入<
@3a2<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西门子 840 系统 数控 编程 指令