引言
本文是一篇综合性非常强的文章,从PLC输入输出及步进电机接线开始,到PLC运动控制程序编写,再到后续的ModbusTCP通信协议及上位机编程实现Zui终控制,涉及知识面比较广,能够让我们很好地将所学知识结合起来。
2. 项目开发平台
采用西门子TIA Portal V15编程软件编写运动控制程序,实现PLC(S7-1200系列:CPU1214C DC/DC/DC)对步进电机的控制,再通过编写ModbusTCP程序,将控制地址进行映射,从而方便上位机(VS2019开发)与PLC进行通信,Zui终实现步进电机的运动方向、速度及距离的灵活控制。
涉及硬件:开关电源、S7-1200PLC、步进驱动器、步进电机、单轴模组、限位开关
涉及软件:TIA Portal V15、VS2019、ModbusPoll(用于测试通信)
3. 硬件接线
4. PLC编程
步 骤 | 操作 | 说明 |
---|---|---|
1 | 通过博图软件创建一个新的PLC项目, 根据硬件型号插入新设备,这里为 CPU 1214C DC DC DC | ![]() |
2 | 双击PLC的以太网口,设置IP地址, 这里设置为192.168.2.210 | ![]() |
3 | 双击CPU,在脉冲发生器PTO/PWM选项中设置信号类型为PTO,脉冲输出为Q0.0,方向输出为Q0.1 | ![]() |
4 | 新建一个工艺对象,名称为轴1,通过基本参数>驱动器,设置脉冲输出为Pulse1 | ![]() |
5 | 通过扩展参数>位置限制,设置上下限位分别为I0.1和I0.2 | ![]() |
6 | 通过扩展参数>回原点>主动,设置原点开关为I0.0 | ![]() |
7 | 程序段1,调用MC_Power使能,各个引脚填写如图所示,其中Asix选择轴1 | ![]() |
8 | 程序段2,调用MC_MoveRelative,各个引脚填写如图所示,该程序段主要用于执行相对运动 | ![]() |
9 | 程序段3,调用MC_MoveAbsolute,各个引脚填写如图所示,该程序段主要用于执行juedui运动 | ![]() |
10 | 程序段4,调用MC_MoveJog,各个引脚填写如图所示,该程序段主要用于执行前进和后退点动 | ![]() |
11 | 程序段5,调用MC_Home,各个引脚填写如图所示,该程序段主要用于执行归零 | ![]() |
12 | 程序段6,调用MC_Reset,各个引脚填写如图所示,该程序段主要用于执行复位功能 | ![]() |
13 | 程序段7,调用MC_Halt,各个引脚填写如图所示,该程序段主要用于执行暂停功能 | ![]() |
14 | 程序段8,调用MC_ReadParam,来读取相关参数,各个引脚填写如图所示,该程序段主要用于读取实时脉冲 | ![]() |