机器人周边设备控制——PLC简单案例讲解!
贾莲莲
2018-07-22 12:40:51
图灵汇官网
设计理念
- 通过PLC控制一维运动平台,实现电机的自动正反转运行及手动正反转操作;
- 一维运动平台的两端安装了行程开关,分别定义为正向限位和负向限位;
- 在电机自动正反转运行之前,需要进行复位操作。复位过程包括启动电机朝负向运行,直到到达负向限位,然后继续正向运行一小段距离,将此位置作为电机自动正反转运行的初始位置;
- 复位完成后,按下正转按钮,电机将正向运行一段距离(该距离由运动包络参数设定),到达位置后停止。按下反转按钮,电机将反向运行一段距离,同样到达位置后停止;
- 在正反转运行过程中,若触发行程开关,电机将停止运行。此时可以通过手动正反转按钮控制电机离开限位开关,或者按下复位按钮重新复位平台;
- 行程开关被触发后,必须重新复位才能进行自动正反转操作;
- 在电机运行过程中,任何时候都可以通过“停止按钮”或“紧急停止按钮”来控制其停止;
- 停止运行后,也需要重新复位才能继续进行自动正反转操作;
- “复位指示灯”、“运行指示灯”和“停止指示灯”用于指示一维平台的运行状态。
机械结构
硬件电路
S7-200 CPU提供了两个高速脉冲输出端口(Q0.0和Q0.1),它们可以分别工作在PTO(脉冲串输出)或PWM(脉宽调制)模式下。PTO或PWM功能可用于实现速度和位置的开环运动控制。
PTO功能可以输出一系列脉冲,用户可以控制脉冲的周期(频率)和数量。PWM功能则可以输出一系列占空比可调的脉冲,用户可以控制脉冲的周期和宽度(占空比)。
高速脉冲输出端口与普通数字输出端口共享输出映像Q0.0和Q0.1。当Q0.0和Q0.1上激活PTO或PWM功能时,PTO/PWM生成器将控制输出波形。只有晶体管输出类型的CPU才支持高速脉冲输出功能。
运动包络
运动包络是一个预先定义的以位置为横坐标,以速度为纵坐标的曲线,它描述了运动的图形化表现。
一个运动包络由多个段组成,每个段包含一个加速至目标速度的过程,以及以目标速度运行的一定数量的脉冲。如果是单段运动控制或多个段中的最后一段,还需要包含从目标速度到停止的减速过程。
PTO主要通过包络实现位置控制。位置控制通过参数设置创建包络,并用图形方式显示包络曲线,自动生成位置控制用的子程序。
运动包络设定步骤
在开始编写程序之前,首先要设定运动包络,步骤如下:
- 双击“向导—PTO/PWM”,出现“脉冲输出向导”窗口。
- 选择Q0.0,点击“下一步”。
- 选择“线性脉冲串输出(PTO)”,点击“下一步”。
- 设置电机的最高速度、最低速度和启动/停止速度。
- 点击“下一步”,设置加减速时间。
- 点击“下一步”。
- 点击“新包络”,选择“是”。
- 图27中的灰色部分激活,选择“相对位置”,设置好参数,其中步0的目标位置应大于加减速脉冲数之和。
- 点击“确认”。
- 将参数“VB0”更改为“VB1000”,注意不要在程序中重复定义“VB1000—VB1069”,点击“下一步”。
- 点击“完成”,在弹出的对话框中选择“是”。
- 运动包络设置完成,在调用子程序中出现Q0.0对应的位控子程序。
PLC程序
上电初始化
- SM0.1:首次扫描周期时该位打开,用于调用初始化子程序。
电机控制子程序和初始化
- PTO0CTRL在程序中只使用一次,并且在每次扫描时执行,因此使用SM0.0作为EN的输入。
STOP:有效时电机立即停止;
- DSTOP:有效时电机减速停止;
- Done:完成标志。为“1”时表明上一指令执行完成;
- Error:显示错误代码,“0”表示无错误;
- CPos:HSC计数器功能开启时,表示运行脉冲数,否则为0。
复位
- VD1100:复位返回脉冲数,在数据块的“用户定义1”中设置,根据电机的减速比、驱动器的细分以及电机行程进行设置。
- VD1043:运行包络恒速段脉冲数;VD1100-VD1080 = VD1043。
正转
- VD60.1:运动包络运行完成标志,PTO0_CTRL中的“Done”参数;v100.1:正转运行状态;v101.3:正转结束;
- I0.1:正转按钮;
- V100.1:正转运行状态;V101.2:复位完成标志。正反转自动运行前必须复位完成;
- Q0.2:电机方向;
- VD1104:正反转脉冲数,同VD1100参数一样,在“数据块”的“用户定义1”中设置。VD1104-VD1080 = VD1043。
反转
- VD60.1:运动包络运行完成标志,PTO0_CTRL中的“Done”参数;v100.2:反转运行状态;v101.4:反转结束;
- I0.2:反转按钮;
- V100.2:反转运行状态;V101.2:复位完成标志。正反转自动运行前必须复位完成;
- Q0.2:电机方向;
- VD1104:正反转脉冲数,同VD1100参数一样,在“数据块”的“用户定义1”中设置。VD1104-VD1080 = VD1043。
手动正转
手动正转是对电机的点动控制,需要持续按住按钮,电机才能运行。运行至正限位后,即使按住按钮也无法运行,只能反向运行。
手动反转
手动反转是对电机的点动控制,需要持续按住按钮,电机才能运行。运行至负限位后,即使按住按钮也无法运行,只能正向运行。
紧急停止
紧急停止:运行至正负限位时,对系统的保护策略。任何情况下,按下紧急停止按钮,使系统紧急停止。
输出
包络运行
- EN:使能端,使用SM0.0链接表示保持常通;
- START:参数开启时,执行运动包络,为确保命令只发送一次,使用上升沿信号;
- Profile:设定的运动包络编号;
- Abort:位控模块停止参数。开启后停止运行当前包络并减速停止;
- Done:完成标志。模块完成该子程序时,此参数为“1”;
- Error:错误代码,为“0”表示无错误;
- C_Profile:包含位控模块当前执行的轮廓;
- C_Step:目前正在执行的轮廓步骤;
- CPos:如果PTO向导的HSC计数器功能已启用,CPos参数包含用脉冲数目表示的模块;否则此数值始终为0。
点动运行
- EN:使能端,SM0.0保持常通;
- RUN:启用该参数加速至设定速度运行,停用该参数电机减速停止;
- Speed:设定手动运行的最高速度;
- Error:本子程序的错误代码,“0”表示无错误;
- CPos:如果PTO向导的HSC计数器功能已启用,CPos参数包含用脉冲数目表示的模块;否则此数值始终为零。
指示灯
- 复位状态下,复位指示灯亮。
- 正反转运行时,运行指示灯亮。
- 不处于复位或运行状态时,停止灯亮。