三菱PLC編程實例及編程優(yōu)化9篇_第1頁
三菱PLC編程實例及編程優(yōu)化9篇_第2頁
三菱PLC編程實例及編程優(yōu)化9篇_第3頁
三菱PLC編程實例及編程優(yōu)化9篇_第4頁
三菱PLC編程實例及編程優(yōu)化9篇_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

./1.一個邏輯很強的程序[Q]檢測出口溫度來控制20個風扇,溫度高于設定值就啟動一臺風扇,一分鐘后溫度還高于設定值就啟動下一臺風扇,。。。。一分鐘后溫度降到設定值以下就關閉一臺風扇。上面的動作容易實現(xiàn),現(xiàn)在的問題是每個風扇都有手動和自動兩個狀態(tài)。假如說現(xiàn)在1,6,9,18,20。5臺在自動,其余手動溫度高于設定值啟動1,溫度還高于設定值怎么才能跳過2,3,4,5

直接啟動6呢?我考慮的是為每臺風扇編號,首先檢測哪幾臺在自動狀態(tài),然后控制,可是這樣邏輯太復雜了有沒有簡單的辦法????[A]fx3u可以對位變址,程序比較簡單,循環(huán)控制即可:

FX2N就要用移位,間接獲得自動位,M0仍為1min計時,M10~M29為自動狀態(tài)標識,M100~M119為對應的風扇輸出,其他為緩存位:2.三菱PLC程序動作分析[Q]這是其中的一部分

為什么C1線圈已得電,可下面的RSTM100卻沒有得電

這里的動作為什么是M19得電一次,M100置位一次,M19再得電一次,變復位一次。如此循環(huán)。我用的是在線模擬,有關系嗎?[A]考慮一個掃描周期內(nèi)的狀態(tài):首先M100是OFF的,C1被M100的常閉觸點一直復位中;M19置ON后第一個掃描周期第一句指令:當M19第一次為ON時,C0計數(shù)到1,線圈變?yōu)镺N;第二句指令:C0將M100置位為ON;〔注意此時程序還沒有掃描到后面,C1仍然是在被復位的狀態(tài)。而內(nèi)存中的M100狀態(tài)已經(jīng)由OFF變?yōu)镺N了第三句指令:M100將C0復位;第四句指令:雖然M19和M100同時為ON,但是因為C1仍在被復位的狀態(tài),所以此時沒有計數(shù)。雖然輸出線圈顯示為ON了,但計數(shù)值仍為0;第五句指令:C1計數(shù)值為0,未達到設定值1,觸點保持為OFF,未能復位M100;第六句指令:M100保持為ON,未能繼續(xù)復位C1;第二個掃描周期:第一句指令:當M19仍為ON時,但M100也為ON了,所以C0不計數(shù),保持上一次被復位的狀態(tài)OFF;第二句指令:C0狀態(tài)為OFF,對M100線圈無影響,M100仍為ON;第三句指令:M100繼續(xù)將C0復位;第四句指令:雖然M19和M100同時為ON,但C1仍沒有計數(shù)。因為計數(shù)器計數(shù)需要前邊的條件狀態(tài)有個OFF>ON的狀態(tài)變化,而此時M10和M100保持了上一個掃描周期的狀態(tài),一直是ON,沒有變化,所以C1計數(shù)值保持為0,雖然輸出線圈的狀態(tài)是ON的,但因?qū)嶋H計數(shù)值為0,未達到1,所以C1觸點的狀態(tài)仍為OFF;第五句指令:C1保持為OFF,未能復位M100;第六句指令:M100保持為ON,未能繼續(xù)復位C1;此后就繼續(xù)保持這種狀態(tài),也就是樓主圖片中的情況;直到M19再次出現(xiàn)OFF>ON的狀態(tài),使C1得到一個計數(shù)值使其觸點狀態(tài)變?yōu)镺N,將M100復位,再由M100的常閉觸點將C1復位。這個過程中應該也能觀察到C0前面M19和M100都為ON而C0計數(shù)值也為0的情況。3.三菱PLC的FOR-NEXT指令中脈沖指令如何動作[Q]:for

k4m8013

incp

d10nextm8013

incp

d20按照指令說明執(zhí)行的結(jié)果應該是d10

是d20的四倍但是我在gx

developer中仿真的結(jié)果是d10

=d20請問為什么[A]:分析:INCP

是脈沖型的,程序從下掃到下,只執(zhí)行一次INC行為程序本來的意思是FORK4后,NEXT前的程序四次循環(huán)后再執(zhí)行NEXT以下的句子由于INCP限制它只執(zhí)行一次,所以是相同的,如果改成INC就應該是4倍了〔仿真通過

進展說實話,我也是看了樓主的貼才好好看這個指令,同時做了幾次試驗仍然是INC的情況下,我把M8013改成上升沿,果然,結(jié)果也是兩者相等!試驗一和試驗二證明,在FORNEXT里面,脈沖型也是有效果的,一個掃描周期只執(zhí)行一次。深入然后我又把條件改成M8000,結(jié)果果然就是相差四倍!每一個掃描周期FORK4執(zhí)行四次,FORK1執(zhí)行1次。[A]:每一個掃描周期FOR……NEXT之間執(zhí)行4次;但因為INCP是脈沖指令,在M8013、M8000這樣的條件下每個掃描周期里沒有ON--OFF--ON的變化,所以這4次程序執(zhí)行結(jié)果還是只+1而已,故D10與D20結(jié)果相等。改為INC后,只要是前面條件為通路,每個掃描周期FOR……NEXT的執(zhí)行效果就是+4了,所以D10為D20的4倍。注:本例中用M8013,通斷時間為500ms,而仿真默認掃描周期為100ms,循環(huán)四次后剛好到達M8013的OFF段,故直接將INCP指令改為INC指令無異常。若為實際PLC監(jiān)控,D10數(shù)值并非是D20的4倍。4.三菱PLC編程實例:讓數(shù)值在0~10之間來回變化要求:1,使用FX2N系列PLC2,讓D0每秒變化一次,0,1,2,3,4,5,6,7,8,9,10,9,8,7,6,5,4,3,2,1,0這樣循環(huán)[A][A][A][A][A][A][A][A][A][A][A][A]5.子程序調(diào)用終止時其內(nèi)部繼電器的狀態(tài)分析[Q]程序如下:

M0

——|↓|————————[

ZRSTM10M20

]

M0

——|

|————————[

CALLP0]

————————————————————[

FEND]P0

M8000

——|

|————————[

SETM11

]

M11

——|

|————————[

SETM12

]

————————————————————[

SRET]

————————————————————[

END]現(xiàn)在的問題是第一次按M0,M11M12可以同時被置位,第二次按下是只能M11置位,M12時鐘為低電平。到底是什么問題子程序P0,修改為

M11

——|

|————————[

SETM12

]

M8000

——|

|————————[

SETM11

]M11M12可以同時被置位,哪位高手給解釋一下到底是怎么回事。第二種情況:程序如下:

M0

——|↓|————————[ZRSTM10M20]

M0

——|

|————————[CALLP0]

————————————————————[FEND]P0

M8000

——|

|————————[

SETM11]

M11

——|

|————————[

SETM12]

|___________[INCPD0]

————————————————————[SRET]

————————————————————[END]子程序改成這樣,M11M12都可以被置位,但是D0就加一次數(shù),是什么問題子程序P0,修改為

M11

——|↑

|————————[

SETM12]

|___________[INCPD0]

M8000

——|

|————————[

SETM11]子程序改成這樣。M11M12可以同時被置位,D0計數(shù)正常,是什么問題[A]第一段:第一次按下M0時M11/M12被置位,因為執(zhí)行了P0程序;松開M0時M11/M12被復位,這是沒有問題的,因為主程序在一直運行。但要注意此時子程序P0沒有被調(diào)用,其中的程序不被執(zhí)行。第二次按下M0時,再次調(diào)用P0程序,首先M11就被置位了,所以程序執(zhí)行到M12的時候,M11的狀態(tài)是從第一次松開M0前的ON狀態(tài)切換到了之后按下M0時的ON狀態(tài),中間沒有ON--OFF--ON的變化,也就談不上上升沿之類,所以M12無法被置位。第二段:直接把子程序被調(diào)用時的程序放到主程序中去分析即可。6.關于三菱CML指令[Q]請問取反k10等于多少啊,我記得的是k5,但是三菱plc編程軟件顯示—11,怎么都想不通啊[A]K10換成二進制為:0000000000001010對其取反的結(jié)果為:1111111111110101=====================================對于帶符號的數(shù),計算機存儲時為其補碼形式,但顯示時仍還原為原碼。這樣,對1111111111110101除去第一位的符號位,其他位取反得其反碼1000000000001010,再加一得其補碼1000000000001011。最后得到的這個1000000000001011顯示出來即為-11。[Q]為什么取反后還要加一個補碼了[A]是加1求其補碼,而不是加一個補碼。補碼的補碼為其原碼,補碼=發(fā)碼+1。==============================對于正數(shù)

原碼=反碼=補碼7.這兩個基本的程序有什么區(qū)別[Q]說說這兩個基本的程序有什么區(qū)別[A]首先默認Y1為OFF,X1為OFF到ON的掃描周期:

圖1例中第一句執(zhí)行時將Y1置位,第二句執(zhí)行時立刻將Y1復位。這樣Y1永遠不會有輸出ON的狀態(tài)。

圖2例中第一句執(zhí)行時無效果,第二句執(zhí)行時將Y1置位。即使在第二掃描周期中第一句會將Y1復位,在執(zhí)行第二句時再次置位Y1,這樣Y1應是輸出為ON的狀態(tài)。

綜上:

當X1為OFF時兩者Y1皆為OFF;當X1為ON時圖1中Y1為OFF,圖2中Y1為ON。8.三菱PLC編程實例:燈的流程控制程序[Q]在FX2N上的Y0-Y23上接有20個信號燈,X1上接有一個開關,控制要求如下:在程序初始化后當X1為ON時信號燈依次點亮至全亮<從1#開始至20#時間間隙為2S>,當X1為OFF時,信號燈依次由全亮至全滅.<從1#開始至20#時間間隙為2S>,在燈的點亮過程中<也就是X1為ON,時>轉(zhuǎn)入在燈的滅過程中<也就是X1為OFF時>信號燈也同樣按程序工作,說明一下:例當X1為ON時,燈依次點亮至10#燈<時間間隙為2S>;這時將X1設為OFF,燈依次從1#滅至5#<時間間隙為2S>;這時將X1設為ON燈依次從11#亮至20#再至5#<時間間隙為2S>;不知我說清沒有.總之在X1的信號變換后,,燈亮滅遵循先亮先滅的原則,每個燈的點亮的時間平衡并循環(huán).

[A]今天看到,試了下,后面一段改為后面的就可以了[A]提供一個用"移位寄存器"的思路。

除銜接點外,仿真基本通過,未用PLC試。

[注]本例中第一段和第二段程序原始文件可進入下載9.PC與FX30DUE傳輸數(shù)據(jù)辦法前段時間改造舊設備,遇到了一塊FX30DU-E的操作面板。從網(wǎng)上東查西找,才搞定了怎么用電腦跟它通訊,并上傳和下載程序。雖然過程不太復雜,但也有幾項需要注意的地方。1.首先是準備資料。1.1編程軟件版本:SW0PC-FXDU/WIN-C。1.2電腦端口設置:1.3通訊線纜制作方法:F2-232CAB-1

OK,這樣的話,需要的軟硬件準備工作就已經(jīng)作完了。但是直接將通訊線插到電腦上和DU連接起來就可以了嗎?不一定。因為,DU上也是需要一些設置的。2.人機設置步驟:〔參照FX-PCS-DU_WIN-ESOFTWAREMANUAL2.1根據(jù)以上提示,首先檢查DU后蓋的DIP開關設置情況,其SW1和SW2都要設置在OFF狀態(tài)。2.2將DU重新上電,進入模式選擇畫面,選擇"OTHERMODE";2.3進入"OTHERMODE"后,選擇"DATAT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論