目录
前面详细讲述了运动控制向导的配置和运动控制指令的使用方法,接下来要讲的是简单程序的编写和调试。
在编写程序时,需要注意的是自定义的符号和地址不能与运动控制向导分配的存储器冲突。
一、软硬件组成
1、软件:STEP-7-Micro/WIN SMART软件;
2、硬件:西门子S7-200 SMART ST40 PLC、57步进电机和驱动器(DM542)。
二、手动控制步进电机旋转方向和速度
具体步骤如下:
1、为手动控制模式写入运动速度(在程序运动过程中也可通过状态图标进行修改);
2、调用“AXISx_CTRL”指令启用和初始化运动轴;
“AXISx_CTRL”指令的“MOD_EN”参数必须开启,才能启用其他运动控制指令向运动轴发送命令,如果参数关闭,运动轴会中止所有正在进行的命令,因此在程序使用始终接通的“SM0.0”使能该指令。
3、调用“AXISx_MAN”指令将运动轴配置为手动控制,使用该指令允许步进电机按照不同的速度运行,或沿正向或负向慢进。
在使用该指令时同一时间仅能启用RUN、JOG_P、JOG_N输入之一。
在电机运行时可以通过更改Speed(速度)参数修改步进电机的运行速度,但Dir(方向)参数,必须保持为常数,即步进电机停止后才能调整旋转方向。
特别需要注意的是,在整个程序中,“AXISx_MAN”指令只能出现一次,当需要多次调用该指令时,可以通过子程序进行调用。
梯形图程序如图1所示。 AXIS0_MAN指令
图1 程序1
三、命令运动轴转以指定的速度运动到所需的位置
具体步骤如下:
1、调用“AXISx_CTRL”指令启用和初始化运动轴;
“AXISx_CTRL”指令的“MOD_EN”参数必须开启,才能启用其他运动控制指令向运动轴发送命令,如果参数关闭,运动轴会中止所有正在进行的命令,因此在程序使用始终接通的“SM0.0”使能该指令。
2、调用“AXISx_GOTO”指令命令运动轴以指定速度运动到所需位置。
通过Pos和Speed参数设置运动的速度和位置,可以为定值或变量,使用变量可在调试时进行修改。在该模式下,步进电机的旋转方向由Pos参数的正负确定。
Mode参数选择移动的类型:
0:绝对位置
1:相对位置
2:单速连续正向旋转
3:单速连续反向旋转
若Mode参数设置为0,则必须首先使用AXISx_RSEEK或AXISx_LDPOS指令建立零位置。
梯形图程序如图2所示。
图2 程序2
四、CPU掉电重启后保持运动控制的当前位置
因为西门子S7-200 SMART PLC掉电重启后用于初始化指令的执行,当前位置会复位为0,因此需要通过程序使CPU掉电重启后保持运动控制的当前位置,具体步骤如下:
1、在项目树中双击CPU,在弹出的系统块中选择“保持范围”,设置两个断电保持区域:VD1000、VD1004,如图3和图4所示;
图3 选择CPU系统块
图4 设置断电保持区域
2、将当前位置值在第一个扫描周期内传送到保持位置VD1004内,在除第一个扫描周期外将当前位置值传送到保持位置VD1000内,如图5所示;
图5 对变量进行处理
3、用初始化指令"AXIS0_CTRL"对运动轴进行初始化,如图6所示;
图6 运动轴初始化
4、用"AXIS0_MAN"指令对运动轴进行手动控制,如图7所示;
图7 运动轴手动控制
5、用初始化指令"AXIS0_CTRL"的DONE位来触发修改位置指令"AXIS0_LDPOS",将保持位置VD1000装载到当前位置VD200,如图8所示;
图8 “AXIS0_LDPOS”初始化
6、将程序编译并下载到CPU中运行;
7、在状态图标中输入地址VD200、VD300、VD1000、VD1004、V100.0、V100.2、V100.7,开始持续监视状态图表中的变量,如图9所示;
图9 状态图表
8、修改运动轴手动控制速度,将V100.2置位,使步进电机旋转一定的角度,观察VD200和VD1000两个地址当前值的变化,如图10所示;
图10 使步进电机开始运动
9、停止监视状态图表中的变量,PLC断电后重新运行,再开始持续监视状态图表中的变量,对比VD1004地址的当前值和步骤8中VD200与VD1000地址对应值的关系,如图11所示;
图11 断电重新运行后变量状态