第四章 步进指令的编程方法
- 格式:ppt
- 大小:3.99 MB
- 文档页数:74


《数控编程技术》教案 第四章 第1页 共17
第4章 数控编程常用指令
【教学目标】 通过本章节的教学:使学生掌握数控编程常用指令准备功能G代码,辅助功能M代码及主轴功能S、进给功能F、刀具功能T代码的使用格式,各代码所表述的意义以及在编程的过程中要注意的事项。
【教学重点】 G代码、M代码、F、S、T功能代码的使用格式
【教学难点】 G代码的使用格式及意义
【教学时数】 理论10学时
【课程类型】 理论课程
【教学方法】 理论联系实际,讲、例、练三结合
【教学内容】
4.1 概述
1、数控编程常用的指令代码主要有准备功能G代码,辅助功能M代码及主轴功能S、进给功能F、刀具功能T代码。
2、G代码分为模态代码和非模态代码。
模态代码除了在本程序段有效外,在后续程序段也起作用,直到出现同组的另一个代码时才失效。
非模态代码只在本程序段有效,如G04,其功能仅在所出现的程序段内才有作用。
3、M功能也有模态和非模态两种形式。另外,M功能还可以分为前作用M功能和后作用M功能。前作用M功能是在程序段中编制的轴运动之前执行,后作用M功能是在程序段中编制的轴运动之后执行。
表4.1为我国JB3208-1983准备功能G代码。 《数控编程技术》教案 第四章 第2页 共17
表4.2为我国JB3208-1983辅助功能M代码。
4.2 与坐标和坐标系有关的指令
4.2.1 工件坐标系设定指令
G92指令用来设定刀具在工件坐标系中的坐标值,属于模态指令,其设定值在重新设定之前一致有效。
程序段格式为:G92 X Y Z
X、Y、Z为刀位点在工件坐标系中的初始位置。例如:
G92 X25.0 Z350.0;设定工件坐标系为X1O1Z1;
G92 X25.0 Z10.0;设定工件坐标系为X2O2Z2。
以上两程序段所设定的工件坐标系如图4.1所示。工件坐标系建立以后,程序内所有用绝对值指定的坐标值,均为这个坐标系中的坐标值。
^.
第4章
步进指令
各大公司生产的PLC都开发有步进指令,主要是用来完成顺序控制,三菱FX系列的PLC有两条步进指令,STL(步进开始)和RET(步进结束)。
4.1 状态转移(SFC)图
在顺序控制中,我们把每一个工序叫做一个状态,当一道工序完成做下一道工序,可以表达成从一个状态转移到另一个状态。如有四个广告灯,每个灯亮1秒,循环进行。则状态转移图如图4-1所示。每个灯亮表示一个状态,用一个状态器S,相应的负载和
定时器连在状态器上,相邻两个状态器之间有一条短线,表示转移条件。当转移条件满足时,则会从上一个状态转移到下一个状态,而上一个状态自动复位,如要使输出负载能保持,则应用SET来驱动负载。每一个状态转移图应有一个初始状态器(S0~S9)在最前面。初始状态器要通过外部条件或其他状态器来驱动,如图中是通过M8002驱动。而对于一般的状态器一定要通过来自其他状态的STL指令驱动,不能从状态以外驱动。
下面通过一个具体例子来说明状态转移图的画法。
例4-1 有一送料小车,初始位置在A点,按下启动按钮,在A点装料,装料时间5s,装完料后驶向B点卸料,卸料时间是7s,卸完后又返回A点装料,装完后驶向C点卸料,按如此规律分别给B、C两点送料,循环进行。当按下停止按钮时,一定要送完一个周期后停在A点。写出状态转移初始状态器 ^.
图。
分析:从状态转移图中可以看出以下几点:
(1) 同一个负载可以在不同的状态器中多次输出。
(2) 按下起动按钮X4,M0接通,状态可以向下转移,按下停止按钮,M0断开,当状态转移到S0时,由于M0是断开的,不能往下转移,所以小车停在原点位置。
(3) 要在步进控制程序前添加一段梯形图(见图4-3b)
信捷步进指令编程实例
1 信捷步进指令简介
信捷步进模块是一种控制步进电机的模块,利用脉冲信号控制电机转动。信捷步进模块有多种指令可以选择,可根据不同的应用场景选择不同的指令。本文将使用信捷步进指令编写一个简单的步进电机控制程序。
2 程序设计
我们假设需要控制一个两相四线型的步进电机,电机转速为200转/min,运动方式为顺时针旋转,控制器为AXD-ABP。
首先,我们需要在程序中引入相应的库文件和头文件,以方便后续的编程工作。
在主函数中,我们需要定义一个结构体变量,该变量用于存储步进电机的相关参数。定义变量的方式如下所示:
typedef struct {
int id;
int acceleration;
int deceleration;
int speed; int steps;
} StepperMotor;
其中,id代表电机的编号,acceleration代表电机的加速度,deceleration代表电机的减速度,speed代表电机的速度,steps代表电机的旋转角度。
接下来,我们需要编写控制步进电机的函数。该函数的具体代码如下:
void stepMotor(StepperMotor motor, int direction) {
int speed = motor.speed;
int acceleration = motor.acceleration * direction;
int deceleration = motor.deceleration * direction;
int steps = motor.steps * direction;
int delayTime = 60 / speed * 1000;
while (steps > 0) {
getStep(motor.id);
用步进指令编程
步进顺序控制:状态寄存器、步进顺控指令。
一、状态寄存器
FX2N共有1000个状态寄存器,其编号及用途见下表。 类 别 元件编号 个 数 用 途 及 特 点
初始状态 S0 ~S9 10 用作SFC的初始状态
返回状态 S10 ~S19 10 多运行模式控制当中,用作返回原点的状态
一般状态 S20~S499 480 用作SFC的中间状态
掉电保持状态 S50~S899 400 具有停电保持功能,用于停电恢复后需继续执行的场合 信号报警状态 S900~S999 100 用作报警元件使用
说明:1)状态的编号必须在规定的范围内选用。
2)各状态元件的触点,在PLC内部可以无数次使用。
3)不使用步进指令时,状态元件可以作为辅助继电器使用。
4)通过参数设置,可改变一般状态元件和掉电保持状态元件的地址分配。
二、步进顺控指令
FX2N系列PLC的步进指令:步进接点指令STL
步进返回指令RET。
1、步进接点指令STL
说明:
1)梯形图符号: 。
2)功能:激活某个状态或称某一步,在梯形图上表现为从主母线上引出的状态接点。
STL指令具有建立子母线的功能,以使该状态的所有操作均在子母线上进行。
3)STL指令在梯形图中的表示:
电器控制与PLC教案 1
2、步进返回指令RET
说明: 1)梯形图符号:
2)功能:返回主母线。
步进顺序控制程序的结尾必须使用RET指令。
三、状态转移图的梯形图和写指令表
1、状态的三要素
状态转移图中的状态有驱动负载、指定转移目标和指定转移条件三个要素。
图中Y5:驱动的负载
S21:转移目标
X3:转移条件。
2、状态转移图的编程方法 步进顺控的编程原则:先进行负载驱动处理,然后进行状态转移处理。
电器控制与PLC教案 23、注意事项
1)程序执行完某一步要进入到下一步时,要用SET指令进行状态转移,激活下一步,并
把前一步复位。
2)状态不连续转移时,用OUT指令,如图为非连续状态流程图: