西門子6ES73921AJ001AB0原裝
.編程方法簡(jiǎn)單易學(xué)
梯形圖是使用得多的PLC的編程語(yǔ)言,其電路符號(hào)和表達(dá)方式與繼電器電路原理圖相似,梯形圖語(yǔ)言形象直觀,易學(xué)易懂,熟悉繼電器電路圖的電氣技術(shù)人員只需花幾天時(shí)間就可以熟悉梯形圖語(yǔ)言,并用來(lái)編制用戶程序。
梯形圖語(yǔ)言實(shí)際上是一種面向用戶的高級(jí)語(yǔ)言,PLC在執(zhí)行梯形圖程序時(shí),將它“翻譯”成匯編語(yǔ)言后再去執(zhí)行。
2.功能強(qiáng),性能價(jià)格比高
每種PLC都有各自的編程軟件作為應(yīng)用程序的編程工具,常用的編程語(yǔ)言是梯形圖語(yǔ)言,也有ST、IL和其它的語(yǔ)言。如何使用編程語(yǔ)言進(jìn)行編程,這里就不細(xì)述了。
但是,用一種編程語(yǔ)言編出十分優(yōu)化的程序,則是工程師編程水平的體現(xiàn)。每一種PLC的編程語(yǔ)言都有自己的特色,指令的設(shè)計(jì)與編排思路都不一樣。如果對(duì)一種PLC的指令十分熟悉,就可以編出十分簡(jiǎn)潔、優(yōu)美、流暢的程序。例如,對(duì)于同樣的一款PLC的同樣一個(gè)程序的設(shè)計(jì),如果編程工程師對(duì)指令不熟悉,編程技巧也差的話,需要1000條語(yǔ)句;但一個(gè)編程技巧高超的工程師,可能只需要200條語(yǔ)句就可以實(shí)現(xiàn)同樣的功能。程序的簡(jiǎn)潔不僅可以節(jié)約內(nèi)存,出錯(cuò)的概率也會(huì)小很多,程序的執(zhí)行速度也快很多,而且,今后對(duì)程序進(jìn)行修改和升級(jí)也容易很多。
PLC的軟件系統(tǒng)是指PLC所使用的各種程序的集合。它包括系統(tǒng)程序和用戶程序。
(1)系統(tǒng)程序
系統(tǒng)程序包括監(jiān)控程序、編譯程序及診斷程序等。監(jiān)控程序又稱為管理程序,主要用于管理全機(jī)。編譯程序用來(lái)把程序語(yǔ)言翻譯成機(jī)器語(yǔ)言。診斷程序用來(lái)診斷機(jī)器故障。系統(tǒng)程序由PLC生產(chǎn)廠家提供,并固化在EPROM中,用戶不能直接存取,故也不需要用戶干預(yù)。
(2)用戶程序
用戶程序是用戶根據(jù)現(xiàn)場(chǎng)控制的需要,用PLC的程序語(yǔ)言編制的應(yīng)用程序,用以實(shí)現(xiàn)各種控制要求。用戶程序由用戶用編程器鍵入到PLC內(nèi)存。小型PLC的用戶程序比較簡(jiǎn)單,不需要分段,而是順序編制的。大中型PLC的用戶程序很長(zhǎng),也比較復(fù)雜,為使用戶程序編制簡(jiǎn)單清晰,可按功能結(jié)構(gòu)或使用目的將用戶程序劃分成各個(gè)程序模塊。按模塊結(jié)構(gòu)組成的用戶程序, 每個(gè)模塊用來(lái)解決一個(gè)確定的技術(shù)功能,能使很長(zhǎng)的程序編制得易于理解,還使得程序的調(diào)試和修改變得很容易。
對(duì)于數(shù)控機(jī)床來(lái)說(shuō),數(shù)控機(jī)床PLC中的用戶程序由機(jī)床制造廠提供,并已固化到用戶 EPROM中,機(jī)床用戶不需進(jìn)行寫入和修改,只是當(dāng)機(jī)床發(fā)生故障時(shí),根據(jù)機(jī)床廠提供的梯形 圖和電氣原理圖,來(lái)查找故
所以,雖然說(shuō)所有的PLC的梯形圖邏輯都大同小異,一個(gè)工程師只要熟悉了一種PLC的編程,再學(xué)習(xí)第二個(gè)品牌的PLC就可以很快上手。但是,工程師在使用一個(gè)新的PLC的時(shí)候,還是應(yīng)該仔細(xì)將新的PLC的編程手冊(cè)認(rèn)真看一遍,看看指令的特別之處,尤其是自己可能要用到的指令,并考慮如何利用這些特別的方式來(lái)優(yōu)化自己的程序。
各個(gè)PLC的編程語(yǔ)言的指令設(shè)計(jì)、界面設(shè)計(jì)都不一樣,不存在孰優(yōu)孰劣的問(wèn)題,主要是風(fēng)格不同。我們不能武斷地說(shuō)三菱PLC的編程語(yǔ)言不如西門子的STEP7,也不能說(shuō)STEP7比ROCKWELL的RSLOGIX要好,所謂的好與不好,大部分是工程師形成的編程習(xí)慣與編程語(yǔ)言的設(shè)計(jì)風(fēng)格是否適用的問(wèn)題。
現(xiàn)場(chǎng)常常需要對(duì)已經(jīng)編好的程序進(jìn)行修改。修改的原因可能是用戶的需求變更了,可能是發(fā)現(xiàn)了原來(lái)編程時(shí)的錯(cuò)誤,或者是PLC運(yùn)行時(shí)發(fā)生了電源中斷,有些狀態(tài)數(shù)據(jù)會(huì)丟失,如非保持的定時(shí)器會(huì)復(fù)位,輸入映射區(qū)會(huì)刷新,輸出映射區(qū)可能會(huì)清零,但狀態(tài)文件的所有組態(tài)數(shù)據(jù)和偶然的事件如計(jì)數(shù)器的累計(jì)值會(huì)被保存。
工程師在這個(gè)時(shí)候可能會(huì)需要對(duì)PLC進(jìn)行編程,使某些內(nèi)存可以恢復(fù)到缺省的狀態(tài)。在程序不需要修改的時(shí)候,可以設(shè)計(jì)應(yīng)用默認(rèn)途徑來(lái)重新啟動(dòng),或者利用*掃描位的功能。
所有的智能I/O模塊,包括模擬量I/O模塊,在進(jìn)入編程模式后或者電源中斷后,都會(huì)丟失其組態(tài)數(shù)據(jù),用戶程序必須確認(rèn)每次重新進(jìn)入運(yùn)行模式時(shí),組態(tài)數(shù)據(jù)能夠被重新寫入智能I/O模塊。
在現(xiàn)場(chǎng)修改已經(jīng)運(yùn)行時(shí)常被忽略的一個(gè)問(wèn)題是,工程師忘記將PLC切換到編程模式,雖然這個(gè)錯(cuò)誤不難發(fā)現(xiàn),但工程師在疏忽時(shí),往往會(huì)誤以為PLC發(fā)生了故障,因此耽誤了許多時(shí)間。
另外,在PLC進(jìn)行程序下載時(shí),許多PLC是不允許進(jìn)行電源中斷的,因?yàn)檫@時(shí),舊的程