bogegongkong
什么是生活,生活就是活著。
級別: 略有小成
![]() |
題目很簡單:任意時間段內(nèi),輸入X1,3秒內(nèi)ON三次,輸出Y1 ON。 注意是任意時間段內(nèi)。 求最簡短的編程。 偶然在中國工控網(wǎng)看到的。覺得有點(diǎn)意思,轉(zhuǎn)發(fā)過來,看看我們工控家園兄弟的高招。 我也搞了一個,23步搞定,有討論的再發(fā)。 看來大家對這個題目還有點(diǎn)興趣。42L的兄弟也搞出來了。測試是OK的。 很多認(rèn)為很簡單的,就是沒理解“任意時間段內(nèi)”這個意思。自己將按X1時間分成3秒一段,3秒一段,按順序判斷,這肯定是不對的。 將我搞出的發(fā)上來,大家看下是否有問題。我測試是OK的。PLC 用FX3U。 [attachment=146921] [attachment=146922] [attachment=146923] [attachment=146924] uthman程序最簡短明了。很有啟發(fā)性。uthman是高手。大家可以看下他的程序。 [ 此帖被bogegongkong在2016-08-11 13:24重新編輯 ] |
|
---|---|---|
本帖最近評分記錄:
|
znz43
工控職業(yè)已成回憶 只因愛好常回家園 樂此不疲
級別: 工控俠客
![]() ![]() |
此功能塊就是要求連續(xù)檢測輸入X1,如果在任意3秒的時間窗口內(nèi),有3次ON,那么就是有效請求,輸出Y1,去執(zhí)行某一特定功能。 也就是說,對每一個ON脈沖,都要啟動一個3秒的定時器,和一個計數(shù)器,看后續(xù)二個脈沖是否在3秒內(nèi)。 但深入分析,其實只要二個3秒定時器,二個計數(shù)器就可以解決問題。 因為對接受到的第n個脈沖,因為只要有3個有效脈沖,所以只要檢測第(n-2)個脈沖到現(xiàn)在的時間是否超過3S。 (n-2)之前的脈沖都是無效的都可丟去,所以只要記錄(n-2),(n-1)二個到目前的時間。 在前二個時間段內(nèi),只要有一個接受到三個脈沖,即可輸出Y1,結(jié)束檢測。 歸納一下,建2個定時器,二個計數(shù)器。 檢測到輸入脈沖,先啟用T1,如T1已用,則同時啟用T2。 對已啟用的T,在輸入脈沖來時對應(yīng)的計數(shù)器加1,沒啟用的不加。 定時器到時,立即清零對應(yīng)的計數(shù)器。 只要有某計數(shù)器到3,立即輸出Y1,檢測結(jié)束。 以此分析建立程序,較為簡單。 程序用三菱 FX3U 編制。 滿足條件后,Y1輸出3秒,并封鎖輸入,Y1 off 后繼續(xù)檢測輸入脈沖。 當(dāng)然此程序也用了一點(diǎn)技巧,利用PLC自左到右重上到下執(zhí)行的原理,把程序段適當(dāng)換了上下順序,利用時間差減少了某些需要 的中間繼電器,所以不能按上面分析的次序交換程序段,否則不能正常工作。 [ 此帖被znz43在2016-04-27 19:23重新編輯 ] |
|
---|---|---|
本帖最近評分記錄:
|
znz43
工控職業(yè)已成回憶 只因愛好常回家園 樂此不疲
級別: 工控俠客
![]() ![]() |
兩個計時器就夠了,具體看61樓的分析,程序測試通過。 |
|
---|---|---|
|
znz43
工控職業(yè)已成回憶 只因愛好常回家園 樂此不疲
級別: 工控俠客
![]() ![]() |
我說大于3個了嗎?我說的是任意3秒內(nèi)接收到3個有效脈沖就ON。 不看程序也行,我有程序附件,可以下載測試下。能不能行,一試就知。 |
|
---|---|---|
|
znz43
工控職業(yè)已成回憶 只因愛好常回家園 樂此不疲
級別: 工控俠客
![]() ![]() |
那就是對題的理解問題了。各人理解不同。 按樓主的題意,任意3秒內(nèi),只要有3次輸入,Y就ON,與第4個脈沖有無無關(guān)。 至于何時OFF,并無說明,固另當(dāng)別論。我在程序中讓它ON 3秒后OFF,再等待下3個有效脈沖。 其實只要在任意3秒內(nèi)(不是在固定的3秒時間間隔)有3個脈沖就使Y置ON,程序就是合格的。至于實現(xiàn)方法,可以八仙過海,各顯神通,無所謂好壞對錯。 有許多人沒注意“任意3秒”,程序雖短卻是錯的。搞工控一定要心細(xì),走馬觀花是不行的。 樓主留言:題目是轉(zhuǎn)來的。我理解的意思是:任意3秒內(nèi)時間,有3次脈沖輸入,條件滿足就ON,何時OFF,就看何時條件不滿足。就像一把3秒的時間尺子,連續(xù)向后移動,有3次脈沖,ON,沒3次,OFF. |
|
---|---|---|
|