[西门子] 怎么用Siemens PLC S7-1200控制电机启停

[复制链接]
查看286 | 回复0 | 2024-6-15 13:57:07 | 显示全部楼层 |阅读模式
最近,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
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则