qinshengyue
是我,別開(kāi)槍!
級(jí)別: VIP會(huì)員
精華主題: 0
發(fā)帖數(shù)量: 808 個(gè)
工控威望: 1216 點(diǎn)
下載積分: 31304 分
在線時(shí)間: 1234(小時(shí))
注冊(cè)時(shí)間: 2009-04-09
最后登錄: 2023-05-23
查看qinshengyue的 主題 / 回貼
樓主  發(fā)表于: 2009-06-22 07:56
原帖:
求燈的流程控制程序

在FX2N上的Y0-Y23上接有20個(gè)信號(hào)燈,X1上接有一個(gè)開(kāi)關(guān),控制要求如下:
在程序初始化后
當(dāng)X1為ON時(shí)信號(hào)燈依次點(diǎn)亮至全亮(從1#開(kāi)始至20#時(shí)間間隙為2S),
當(dāng)X1為OFF時(shí),信號(hào)燈依次由全亮至全滅.(從1#開(kāi)始至20#時(shí)間間隙為2S),
在燈的點(diǎn)亮過(guò)程中(也就是X1為ON,時(shí))轉(zhuǎn)入在燈的滅過(guò)程中(也就是X1為OFF時(shí))信號(hào)燈也同樣按程序工作,
說(shuō)明一下:例當(dāng)X1為ON時(shí),燈依次點(diǎn)亮至10#燈(時(shí)間間隙為2S);這時(shí)將X1設(shè)為OFF,燈依次從1#滅至5#(時(shí)間間隙為2S);這時(shí)將X1設(shè)為ON燈依次從11#亮至20#再至5#(時(shí)間間隙為2S);不知我說(shuō)清沒(méi)有.
總之在X1的信號(hào)變換后,,燈亮滅遵循先亮先滅的原則,每個(gè)燈的點(diǎn)亮的時(shí)間平衡并循環(huán).


為了讓控制要求更明確,在此我做一點(diǎn)補(bǔ)充:三菱論壇的那位朋友的原帖中對(duì)控制要求舉了一個(gè)例子,如上紅字部分所示,更明確的講就是X1可以在循環(huán)過(guò)程的任意時(shí)刻O(píng)N,也可在循環(huán)過(guò)程的任意時(shí)刻O(píng)FF,比方說(shuō)初始上電,X1若為ON,燈開(kāi)始從第1#燈亮起,此后每隔2s依次點(diǎn)亮其他的燈,若亮到第m#燈后,且在第(m+1)#燈還未亮?xí)r,X1為OFF,此時(shí)啟動(dòng)滅燈程序,從第最先亮的第1#燈開(kāi)始滅,然后依次每間隔2s滅一只,若滅到第n#燈,且在第(n+1)#燈還未滅時(shí),x1又轉(zhuǎn)為ON,再次啟動(dòng)亮燈程序,從哪里開(kāi)始亮呢?從第(m+1)#燈開(kāi)始亮,然后繼續(xù),當(dāng)X1又為OFF時(shí),再次啟動(dòng)滅燈程序,從哪里開(kāi)始滅呢?從第(n+1)#燈開(kāi)始滅。。。。。還有一點(diǎn)要注意,就是x1在狀態(tài)發(fā)生變化后,總是立即點(diǎn)亮或熄滅一只燈,然后才遵循每隔2s的次序
可以想象在一張圓桌上均勻地設(shè)置20只燈,受一開(kāi)關(guān)X1任意控制,每當(dāng)x1為ON時(shí),開(kāi)始從上一輪亮燈斷點(diǎn)處啟動(dòng)亮燈程序,在x1沒(méi)有OFF之前,系統(tǒng)有一種點(diǎn)亮所有燈的企圖;每當(dāng)x1為OFF時(shí),從上一輪滅燈斷點(diǎn)處開(kāi)始啟動(dòng)滅燈程序,在x1沒(méi)有ON之前,系統(tǒng)有一種熄滅所有燈的企圖。而且系統(tǒng)可以力求讓每只燈點(diǎn)亮或熄滅在時(shí)間上保持一個(gè)大致的平衡,不至于經(jīng)常只亮哪幾只。
以上為本人的編程思路,歡迎大家觀看!
同時(shí)請(qǐng)網(wǎng)站管理YMMFA和論壇斑竹sjm213以及求助帖的那位朋友指正!
程序在下,有點(diǎn)稍長(zhǎng),不過(guò)指令簡(jiǎn)單易懂。
[ 此帖被qinshengyue在2009-06-24 07:37重新編輯 ]
附件: 燈循環(huán)控制程序(調(diào)試圓滿成功).rar (11 K) 下載次數(shù):236
網(wǎng)站提示: 請(qǐng)不要用迅雷下載附件,容易出錯(cuò)
本帖最近評(píng)分記錄:
  • 下載積分:+5(sjm213) 支持原創(chuàng),加分獎(jiǎng)勵(lì)
    qinshengyue
    是我,別開(kāi)槍!
    級(jí)別: VIP會(huì)員
    精華主題: 0
    發(fā)帖數(shù)量: 808 個(gè)
    工控威望: 1216 點(diǎn)
    下載積分: 31304 分
    在線時(shí)間: 1234(小時(shí))
    注冊(cè)時(shí)間: 2009-04-09
    最后登錄: 2023-05-23
    查看qinshengyue的 主題 / 回貼
    1樓  發(fā)表于: 2009-06-22 10:36
    哦,版主是這樣的,我后來(lái)為什么要加這樣的控制呢?
    因?yàn)樵笾心俏慌笥颜f(shuō):X1是若實(shí)際接的溫控儀的接點(diǎn),Y0-Y23是接的20個(gè)接觸器,每個(gè)接觸器控制一路加熱器當(dāng)溫度低于60度的時(shí)候升溫,高于100度時(shí)降溫,用20路加熱器控制,要求加熱器先投先切,且要求加熱器的使用次數(shù)基本一致。
    我想若是這樣的話,那就必須考慮人身和設(shè)備安全性了,因?yàn)槭羌訜,一旦超溫,x1斷開(kāi),此時(shí)必須立即切除符合條件的那一臺(tái),保證溫度不再繼續(xù)升高,然后依時(shí)間次序切除。同樣溫度降至下限時(shí),我們必須要立即投入。
    不知道我說(shuō)的對(duì)不對(duì)?
    [ 此帖被qinshengyue在2009-06-22 11:48重新編輯 ]