[西门子] 通过一个SCL顺控程序,学习S7-1200运动控制!

[复制链接]
查看163 | 回复0 | 2024-5-25 08:14:44 | 显示全部楼层 |阅读模式

秒懂S7-1500PLC读写SQL微软数据库
分享一组污水处理3D画面,谈谈上位机设计原则!
【导读】为了进一步熟悉S7-1200的运动指令,编一段小顺控程序来学习PTO模式,小顺控一共分五步。

一、分享几个小技巧


(1)可以用CASE语句实现S7-1200顺控程序,当前步值就是CASE 条件变量值,通过变量步值来执行不同的程序段;(2)效率不错的PLC编程方式是SFC加SCL的混合编程,顺控逻辑用SFC内部功能,算法用SCL;(3)使用OB30做计时器,可以不用T,其实很方便;(4)当轴在执行一个运动控制命令时,如果用一个新的轴命令覆盖时,轴的速度变化是平滑过渡的。

二、顺控小程序的步骤


第一步:轴以快速定位速度定到绝对位置。
第二步:轴一增量速度1移动增量1。
第三步:以增量速度2移动增量2。
第四步:延时设定的时间,单位0.1秒。
第五步:轴绝对回到零位。
小程序分为以上5步,下面来说一下其中的细节。





增加了一些必须的变量,设定参数都需要勾选数据保存项。

HMI做个用于监控和设定参数的小界面,包括启动循环和停止循环的按键,设定循环参数,监控轴状态位置和循环时间。

增加了个系统组织块OB30,中断时间设置成100ms,为了做一个0.1s单位的定时器来用,循环总计时和延时计时。

新建了一个自动循环的FC块,首先处理循环启动和循环复位的按钮,循环启动加入启动条件,停止需要触发轴停止信号。

最后是循环Case块的编写,Cyc_Step=0,作为一个循环就绪状态可以初始化一些变量,从Cyc_Step=1开始是正式循环,同一轴的FB块可以重复调用使用没有任何问题,通过判断BUSY和Done两个信号就能准确的一步一步执行下去。





受轴加减速时间和PLC扫描周期影响,整个循环设置时间差不多15.6秒,实际运行时间16.5秒。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

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

本版积分规则