前言
本篇文章为各位初学者详细介绍西门子PLC1200驱动步进电机的步骤,同样也是对自己所学的梳理。文章适合于有基础PLC编程基础和基本电路知识的同学,经查找有关于使用PLC驱动步进电机的文章甚少,描述也十分简略,使初学者学习驱动电机一项有些困难,本篇文章将进行详细的介绍。
一.硬件准备
西门子PLC1200 1214C DC/DC/DC(西门子PLC1200其它类型也可以)
按钮开关(三个及以上)
42步进电机
普菲德DM542驱动器
220V转24V直流电源
漏电保护开关断路器
二.电路连接
本人使用的是PLC1200 1214C DC/DC/DC型控制器,其它类型的PLC接线图可在链接中找到:
超实用!西门子S7-1200系列PLC全套接线图 - 知乎 (zhihu.com)
PLC1200 1214C DC/DC/DC连接图如下
注意:输入1M端子需接电源负极。
第1步:连接空气开关
这一步是为保护PLC。接线时注意左右两根线接电源正负极要对应PLC的正负极。
详细步骤:黑线接入PLC的L+端,红线接入PLC的M端;黑线接入电源正极(+V),红线接入电源公共端(COM)。
完成标志:通电后,电源亮绿灯,PLC亮绿灯。
注:图中“接线排”的作用是为后续所有需接入电源的端子并入一起,正负极输出只用一根线接到电源上,使接线简洁明了。
第2步:连接按钮开关
根据PLC1200 1214C DC/DC/DC的接线图看。三个按钮开关的一端分别接在i0.0,i0.1,i0.2,分别作为启动(正转),反转,停止;按钮开关的另一端接在电源正极,如图,三根红线接在“正极接线排上”,最后从PLC的1M端引出一根线接在电源的公共端(COM)。
完成标志:按下按钮开关后,PLC对应的输入灯会亮。
注意:三个按钮开关使用常闭方式;PLC的1M端必须接入电源公共端(COM)。
第3步:连接42步进电机
将42步进电机的四根线正确接在驱动器上的A+、A-、B+、B-(电机表面有提示),其后驱动器接上电源。
第4步:PLC与驱动器连接
驱动器上的PUL-与DIR-与ENA-连接在电源的公共端(COM);PUL+与DIR+与ENA+分别接在Q0.0、Q0.1、Q0.2;接通PLC输出电源。
详细步骤:
1.接通PLC输出电源:3L+连接电源正极,3M连接电源公共端(COM)。
2.驱动器接地:将驱动器PUL-与DIR-与ENA-引出接在电源的公共端(COM)。
3.驱动器接通输出端口:将驱动器的PUL+与DIR+与ENA+分别接在Q0.0、Q0.1、Q0.2。
完成标志:驱动器亮绿灯。
第5步:选择细分倍和电流
在驱动器的表面有关于细分倍的选择和电流的选择的表格。细分倍的选择建议选择“K8”(想详细了解的可以看备注2“步进驱动器的细分倍和电流的选择”),电流根据步进电机表面所贴的提示中的电流进行选择。
选择好后,根据驱动器上的表格选择每个开关的位置(注意:开关向上是OFF,向下是ON)。
三.调试
第1步
打开博图,创建新项目,添加新设备。(注:本人用版本V4.1,版本可自己选择,不建议选择过高,后续下载时出现版本不适配问题,可修改版本,修改方法见备注1)
第2步
打开PLC属性;在左框中打开脉冲发生器(PTO/PWM)列表;在列表中打开PTO1/PWM1;在“启用”中,勾选“启用该脉冲发生器”,在“脉冲选项”中的“信号类型”中选择“PTO(脉冲A和方向B)”。
下拉,保证勾选“启用方向输出”,“脉冲输出”中是“%Q0.0”,“方向输出”是“%Q0.1”。(对应电路连接中第四步的PUL+和DIR+的连线)
点击下方“确定”。
第3步
在PLC_1中打开“工艺对象”;双击“新增对象”;在“运动控制”中点击“TO_PositionAxis”;点击“确定”(若无法添加,则看备注3中的第5条)。
第4步
在左框中的“PLC变量”下打开“显示所有变量”,创建新变量,命名“使能”,地址改为“%M1.0”,数据类型为bool。
在新弹出的窗口中(若没有弹出,打开“工艺对象”下的“轴_1”中的“组态”)选中“常规”,更改“测量单位”中的“位置单位”(建议更改成“脉冲”)。
双击左列的“驱动器”,在“脉冲发生器”一栏中选择“Pulse_1”,在下方的“使能输出”中添加之前创建的变量“使能”。
在左列中打开“机械”,输入“电机每转的脉冲数”,大小为驱动器上细分倍中“Pulse”一列所选择的数据,本人选择是1600(意为电机轴旋转一圈需要1600个脉冲)。
勾选下方的“反向信号”。
第5步
在左列中打开“扩展参数”下的“动态”中的“常规”,填写“最大转速”和“启动/停止速度”。
第6步
保存程序;
下载入PLC中;
点击“转至在线”;
打开“PLC_1”下的“工艺对象”中“轴_1”下的“调试”;
点击屏幕中间偏左方向的“激活”;再点击右边的“启用”(若无法选中“启用”,则看备注3的第1条)。
更改“速度”和“加速度/减速度”,其中“速度”不能超过“组态”中设定的“最大转速”。
其后点击“正向”,再点击“反向”,电机反转,到这里,调试完成(若无法反转,则看备注3中的第2条)。
四.编程
1.介绍
控制电机旋转的指令在“指令”中的“工艺”下的“Motion Control”(若出现程序块无法调用情况,则看备注3的第4条),本篇只介绍常用指令(若想学习详细与更多指令,请参考指令手册)。
1)MC_Power(启动、禁用轴)
作用:使能电机。
Axis:将创建的“轴_1”拖到这里。
Enable:将“PLC变量”下的“显示所有变量”中的变量“使能”拖到这里。
(详细介绍请看指令手册)
2)MC_Reset(确认故障、重启工艺对象)
作用:遇到故障后,重启电机。
Axis:将创建的“轴_1”拖到这里。
Execute:输入按钮,上升沿时启动命令。
(详细介绍请看指令手册)
3)MC_Halt(停止轴)
作用:暂停电机。
Axis:将创建的“轴_1”拖到这里。
Execute:输入按钮,上升沿时启动命令,电机暂停。
(详细介绍请看指令手册)
4)MC_MoveAbsolute(轴的绝对定位)
作用:以“原点”开始运动的距离。
Axis:将创建的“轴_1”拖到这里。
Execute:输入按钮,上升沿时启动命令,电机启动。
Position:从原点开始到“Position”的距离(可见备注4理解)。
Velocity:电机轴转动的速度。
(详细介绍请看指令手册)
5)MC_MoveRelative(轴的相对定位)
作用:以“此时轴所在位置”开始运动的距离。
Axis:将创建的“轴_1”拖到这里。
Execute:输入按钮,上升沿时启动命令,电机启动。
Position:从此时轴所在的位置开始运动“Position”距离(可见备注4理解)。
Velocity:电机轴转动的速度。
(详细介绍请看指令手册)
6)MC_MoveVelocity(以设定速度移动轴)
作用:以恒定速度旋转。
Axis:将创建的“轴_1”拖到这里。
Execute:输入按钮,上升沿时启动命令,电机启动。
Velocity:电机轴转动的速度。
(详细介绍请看指令手册)
7)MC_CommandTable(按照运动顺序运行轴命令)
作用:按照预先设定的运动程序进行执行。
Axis:将创建的“轴_1”拖到这里。
CommandTable:将创建的“命令表_1”拖到这里(后续实验中会涉及到)。
Execute:输入按钮,上升沿时启动命令,电机启动。
StartStep:命令表开始执行的步限值。
EndStep:命令表开结束执行的步限值。
(详细介绍请看指令手册)
2.实验
1)控制电机旋转固定角度
电机旋转频率为1600HZ,旋转一圈需要1600个脉冲。要求电机轴旋转正反旋转10圈。
正转 | 反转 | 停止 |
i0.0 | i0.1 | i0.2 |
下载;
转至在线;
变量“使能”更改为1;
按下“i0.0”,电机旋转10圈;
按下“i0.1”,电机反转10圈;
按下“i0.2”,电机在旋转时停止。
2)控制电机旋转速度
要求电机轴旋转速度为1600(一秒一圈),正反旋转。
正转 | 反转 | 停止 |
i0.0 | i0.1 | i0.2 |
下载;
转至在线;
变量“使能”更改为1;
按下“i0.0”,电机旋转;
按下“i0.1”,电机反转;
按下“i0.2”,电机在旋转时停止。
3)控制电机完成连续的动作
要求电机完成以下动作:1s旋转1圈;等待2s;1s旋转1圈;等待2s;2s旋转2圈;等待2s;4s反向旋转4圈,;等待2s。
在“PLC_1”中打开“工艺对象”;双击“新增对象”;选择“轴控制”;点击“确定”。
打开“命令表_1”下的“组态”,在“基本参数”中打开“命令表”,将“使用来自此处的轴参数”更改为“轴_1”。
在命令列表中选择指令,常用指令见上述。
设置好后,打开Main。
下载;
转至在线;
变量“使能”更改为1;
按下“i0.0”,电机按照命令表指令开始执行;
按下“i0.2”,电机在旋转时停止。
4)电机循环完成一套动作
要求:在上一个实验的基础上,让电机循环执行动作。
下载;
转至在线;
变量“使能”更改为1;
按下“i0.0”,电机按照命令表指令开始循环执行;
按下“i0.2”,电机在旋转时停止。
备注
1.修改PLC版本
1)右击PLC_1点击更改设备
2)在右框中选择CPU型号,进而更改版本。
2.步进驱动器的细分倍和电流的选择
3.可能遇到的错误和解决方案
1)无法选中“激活”
出现这种情况,可能问题是PLC输出端口接线不牢。
解决方法:更改驱动器PUL+与PLC输出端口的连接,将连接在Q0.0上的线更换到Q0.3上;打开“PLC_1”的属性,在“脉冲发生器”下面的“PTO1/PWM1”下的“硬件输出”中更改脉冲输出,改为“%Q0.3”;点击“确定”。
重复操作“三.调试”中的“第6步”。
注意:如果仍然不行,则可继续更换输出PLC的输出端口。
2)电机无法反转
电机无法反转的原因与上一种情况类似,PLC的输出端口接触不良。
解决方法:更改驱动器的DIR+端与PLC输出端的连接,将Q0.1换为Q0.4或Q0.5,其余操作与上述问题类似。
3)驱动器不亮绿灯,亮红灯
出现此问题有两种原因,接线错误或驱动器损坏。
解决方法:检查连接线路,按照步骤重新梳理一遍;更换驱动器。
4)Motion Control无法调用程序块
解决方法:更改版本。
5)“工艺对象”无法添加“轴”或者“轴控制”
解决方法:更改版本。
4.理解“轴的相对定位”和“轴的绝对定位”
假设轴此时所在位置在200处,两种方式走到600处。第一种是绝对定位,从原点开始走600;第二种是相对定位,从本位置开始走400。