[西门子] 两个简单案例,练习PLC中ST语言编程

[复制链接]
查看94113 | 回复0 | 5 天前 | 显示全部楼层 |阅读模式
结合前面ST语言来试验两个案例



案例1:电机的正反转控制

控制要求:这个程序比较常见,也是非常经典并且应用非常广的,就是按“正转”按钮,电机正转;按“停止”按钮电机停止;在正转的过程中,反转按钮无效,反之同样正转按钮无效。也可以加入过载保护继电信号。

以西门子博图V16为例,先进行I/O分配:



新建一个博图项目,以S7-1200 CPU1214C DC/DC/DC PLC为例,然后建立变量表与I/O分配表保持一致,如下图所示:



然后根据电机正反转梯形图转换为ST语言(结合之前分享的关于逻辑运算符的使用场景),如下图所示:



离线仿真:程序编写完成后,我们需要点击工具栏“在线”-“仿真”-“启动”来仿真软件,或直接点击快捷键“



”小电视图标,然后将程序下载到虚拟PLC中进行在线监视程序的运行状态:



模拟时需要通过强制表进行,按下每个按钮时的情况。

如果是在三菱PLC中,我们可以将程序复制使用,需要注意在三菱PLC中输入输出信号表示方式Xn/Yn。



案例2:单按钮的控制电机启停

控制要求:当第一次按下启动按钮时,电机自锁运行;当第二次按下启动按钮时,电机停止运行;也就是我们之前分享的双稳态电路;

应用场景:当控制面板不允许设置多个按钮时,可通过单个按钮达到控制启停的需求。附上之前文章的链接:

同样,我们以西门子博图为例,先进行I/O分配,比较简单:

输入按钮 I0.5   电机控制  Q0.2

同样需要先根据I/O分配变量表,然后才可以使用变量。



编程:

此处编程,我们需要用到上升沿指令,结合上篇文章关于上升沿ST语言指令:



根据梯形图,我们可以将其转换为ST语言程序,如下图所示:



由于此处需要用到上升沿指令,所以此处需要引入中间辅助信号。

仿真:

像案例1中一样,启动仿真软件,下载程序至虚拟PLC中,然后进行变更强制表中的信号状态来模拟按钮效果,如下图所示:



仿真完全符合控制要求,实现单按钮的启停控制。

以上两个案例,结合ST语言中的逻辑运算符,边沿触发中的上升沿指令,加上上篇文中分享的IF语句来自编的上升沿程序,把前面分享的ST语言练习一遍。

本帖子中包含更多资源

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

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

本版积分规则