QQ登录

只需一步,快速开始

如何用西门子S7-300的PLC编写脉冲控制阀的程序

[ 复制链接 ]
如何用西门子S7-300的PLC编写脉冲控制阀的程序要求起动脉冲阀时,按规定的时间依次打开,脉冲时间到的时候就关闭,脉冲宽度及间隔时间在工控机上可调
知道用哪个指令语句了,编出程序来还是难度。向看一下具体的编程例子,用SR触发器及S_ODT延时计时器
如何编写脉冲阀的控制程序?




-------1.利用SR触发器设置脉冲阀依次打开的主令标志,触发条件信号取上升沿。当下一个脉冲标志触发时可同时将上一个触发的主令标志复位。
2. 利用S_ODT延时计时器来控制各个主令标志的触发时间。在DB块中分别将各个定时时间定义为数据变量,用了存储预设置的脉冲宽度时间值。
3. 在工控机组态软件中将数据块中的时间数据定义为可输入的变量,让后将这些变量组态大到监控画面中用作脉冲时间的输入。
4. 上位机组态软件用Wincc flexible 即可,可直接利用STEP7 种数据块中的数据来定义组态变量。


--------有点像是除尘塔的程序。布袋除尘。

需要注意的是计时器的精度,脉冲宽度好像基本都是几十毫秒。


---------A EN//允许块启动初始化

FP ONEN

JCN M1

S RUN//置位标志位

L 0.0

T RUNTIME//运行时间清零

R OVER//复位结束标志

M1:NOP 0

A RUN

JCN M2

S OUT如果运行则打开阀门,开始计时

L 0.1

+R

T RUNTIME

L RUNTIME_SP

>=R

R OUT//计时时间大于开启时间则关闭阀门

L RUNTIME_SP

L DELAY_SP

+R

L RUNTIME//脉宽+间隔小于计时则运行结束

<=R

JCN M2

S OVER//置位结束标志

R RUN//复位运行标志

M2:NOP 0



-------我以前是这样处理的,首先时间设定那最简单的就是T1 T2做个互锁方波就可以

其次脉冲循环可以用过T1上升沿出发位循环左移,每个位可以对应一个OUT  外加一个计数 计数大于脉冲阀个数就重新mov 1 给操作的字或者双字


--------用SPEXT定时器做,触发信号上升沿使定时器工作,脉冲阀打开,时间到后关闭。



--------除尘器有专门的脉冲控制板
回复

使用道具 举报

快速回复 返回列表 客服中心 搜索