登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:如何实现只要有信号输入,过5秒就输出呢?

点击:3128 回复:55

用定时中断采样输入信号、需要多少都可以、
如定时100ms采样、
三菱FX可以用以下程序
中断程序中:
LD M8000
STFL Xnnn Mnnn Knnn K1
Xnnn 需采样的输入
Mnnn 需存伴采样结果开始M位
Knnn 需要多少外采样点(小于1024点)
主程序中取M(nnn + n)的位就时延迟n * 0.1秒的结果
西门子200 可以用以下程序
中断程序中:
LD     SM0.0
MOVB   VB1000,VB0,250
MOVB   VB0,VB1001
MOVB   IBx,VB1000
IBx 包含采样位的输入字节
主程序中读自VB(1000+n)节中对应的字节位就可以
16-11-17 08:29

引用 gdycljk1219 在 2016/11/16 20:51:43 发言【内容省略】

5秒,在工程上,只不过等效于一个迟钝得离谱的信号传输延迟而已。
16-11-17 09:46
你是什么意思?
16-11-17 10:49
S7-200的,这样行不行呢?仿真的时候有点问题。感觉这样是可以实现的
附件 PLCS7-200.jpg
16-11-17 18:24
不懂
16-11-17 18:26
按照你这样采集,好像不能每个都定时五秒吧
16-11-17 18:43
不用PLC都可以实现,直接买个延时继电器,几十块钱搞定!延时继电器的时间还可以根据你的实际需要可调节!
16-11-17 21:31

引用 周运浩 在 2016/11/17 21:31:21 发言【内容省略】

延时5秒输出,举个例,如下的输入:
输入:1(1s)_0(2s)_1(3s)_0(4s)_0(5s)_1(6s)_1(7s)
输出:1(5s)_0(6s)_1(7s)_0(8s)_0(9s)_1(10s)_1(11s)
第5秒的输出好解决
第6秒的呢?
第7秒的怎解决?
最后修改:2016/11/17 23:08:39
16-11-17 23:00
不知楼主是否理解我所说的处理方法?
简单的例子再说一下吧,现在用1秒采样一次,如输入端:
在第一秒时是A状态,第2秒是B状态,3秒是C,4秒是D,5秒是E,6秒是F
至于A状态是1,还是0,我这不管,反正5秒后,把其原原本本输出一样就行。
1秒采一次,所以用5位记录就行,
在第1秒时:
把第5位输出,结果输出是—(—表示未知)
移位,数据全为未知:—————
把A放在第0位,数据为A—————,
在第2秒时:
把第5位输出,结果输出是—
移位,数据为:—A———
输入B放在第0位,数据为BA———,
在第3秒时:
把第5位输出,结果输出是—
移位,数据为:—BA——
输入C放在第0位,数据为CBA——,
在第4秒时:
把第5位输出,结果输出是—
移位,数据为:—CBA—
输入D放在第0位,数据为DCBA—,
在第5秒时:
把第5位输出,结果输出是—
移位,数据为:—DCBA
输入E放在第0位,数据为EDCBA,
在第6秒时:
把第5位输出,结果输出是A
移位,数据为:-EDCB
输入F放在第0位,数据为FEDCB,
在第7秒时:
把第5位输出,结果输出是B
移位,数据为:-FEDC
输入G放在第0位,数据为GFEDC,
在第8秒时:
把第5位输出,结果输出是C
移位,数据为:-GFED
输入H放在第0位,数据为HGFED,
在第9秒时:
把第5位输出,结果输出是D
移位,数据为:-HGFE
输入I放在第0位,数据为IHGFE
看看以上的情况,是否实现了5秒的延时呢?
输入:A(1s)_B(2s)_C(3s)_D(4s)_E(5s)_F(6s)
输出:A(6s)_B(7s)_C(8s)_D(9s)_E(10s)_F(11s)
16-11-17 23:30
输入记住5s后输出同时复位记住……
16-11-18 06:57

上一页 下一页

工控新闻

更多新闻资讯