【案例】怎么用Siemens PLC S7-1200控制电机启停

[复制链接]
查看29711 | 回复0 | 2024-4-18 15:42:17 | 显示全部楼层 |阅读模式

加入技术圈

最近,PLC学习交流群中的好几个小伙伴们在寻找博途的案例,而且想要源代码参考学习。博主对于这些要求表示充分的理解,想当年刚入门不久,也急切的需要一些项目的代码借鉴研究一番。所以,这篇安排~
一、项目需求描述:
1. 我们需要建造一台非标设备,该设备有5台功能各异的电机;

2. 对这5台电机编号(比如1~5或者a~e)需要实现它们的随机间隔启动;

3.输入信号可以定义5个开关分别对应不同的电机,选择的顺序决定电机启动的顺序;比如先选择开关3,则3号电机最先启动,依此类推;未选择的开关对应的电机则不启动;

4. 按触摸式启动按钮,电机按之前选择的顺序间隔启动,间隔时间为5秒

5.按下停止按钮,所有电机停止。


二、硬件选型:
1.西门子S7-1200PLC :S7-1214CDC/DC/DC

2.按钮2个,选择开关5个,控制电机的中继5个

熟悉EPLAN的小伙伴们(尤其是EPLAN学习交流群的小伙伴们),脑海中的电路图是不是自动生成好了呢?第一个完成设计的小伙伴可以把作品发到群里并@博主,如果准确无误,群主发红包以示鼓励可好





(仅限当日有效哈哈)


三、软件环境:
TIA博途V16 / V17


四、程序编写及思路:
为便于后期修改,我们把程序做成一个FB块,并定义形参,将来在主程序调用赋值实际I/O点,如图:



并建立了一些中间变量,特别是一些数组变量,来完成程序逻辑,方便做循环控制:



接下来我们开始写程序:

为了方便做循环调用,建立一些数组变量,跟输入的形式参数做简单对应:



然后对所有标志位初始化,特别的是要对定时器做初始化,停止程序同理:



之后做编号程序,用FOR循环和数组简化重复程序量:



继续写电机判断编号动作程序,同样使用FOR循环简化重复程序:



程序后段把用到的数组中间变量对应输出形式参数:



最后程序块在主程序调用,赋值实际I/O点:



收工!~

小伙伴们学会了吗?记得一键三连哦!~~


去学电气技术

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则