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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

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

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

k4m8013

incp

d10nextm8013

incp

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

是d20的四倍但是我在gx

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

=d20請(qǐng)問(wèn)為什么[A]:分析:INCP

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

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

M0

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

ZRSTM10M20

]

M0

——|

|————————[

CALLP0]

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

FEND]P0

M8000

——|

|————————[

SETM11

]

M11

——|

|————————[

SETM12

]

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

SRET]

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

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

M11

——|

|————————[

SETM12

]

M8000

——|

|————————[

SETM11

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

M0

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

M0

——|

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

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

M8000

——|

|————————[

SETM11]

M11

——|

|————————[

SETM12]

|___________[INCPD0]

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

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

M11

——|↑

|————————[

SETM12]

|___________[INCPD0]

M8000

——|

|————————[

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

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

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

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

綜上:

當(dāng)X1為OFF時(shí)兩者Y1皆為OFF;當(dāng)X1為ON時(shí)圖1中Y1為OFF,圖2中Y1為ON。8.三菱PLC編程實(shí)例:燈的流程控制程序[Q]在FX2N上的Y0-Y23上接有20個(gè)信號(hào)燈,X1上接有一個(gè)開關(guān),控制要求如下:在程序初始化后當(dāng)X1為ON時(shí)信號(hào)燈依次點(diǎn)亮至全亮<從1#開始至20#時(shí)間間隙為2S>,當(dāng)X1為OFF時(shí),信號(hào)燈依次由全亮至全滅.<從1#開始至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ō)清沒有.總之在X1的信號(hào)變換后,,燈亮滅遵循先亮先滅的原則,每個(gè)燈的點(diǎn)亮的時(shí)間平衡并循環(huán).

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

除銜接點(diǎn)外,仿真基本通過(guò),未用PLC試。

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論