的基本組成可分為兩大部分:硬件系統(tǒng)和軟件系統(tǒng)。
硬件系統(tǒng)是指組成plc的所有物理電路,其中主要有:中央處理器(cpu)、存儲(chǔ)器、輸入/輸出(bbbbb/output)接口、通信接口、編程器和等部分,此外還有擴(kuò)展設(shè)備和eprom的讀寫(xiě)板和打印機(jī)等選配的設(shè)備。為了維護(hù)、修理的方便,許多plc采用模塊結(jié)構(gòu)。由中央處理器、存儲(chǔ)器組成主控模塊,輸入單元組成輸入模塊,輸出單元組成輸出模塊,三者通過(guò)專(zhuān)用總線(xiàn)構(gòu)成主機(jī),并由電源模塊集中對(duì)其提供電能。
編程器可采用袖珍式編程器,也可采用安裝有專(zhuān)門(mén)軟件的通用計(jì)算機(jī),通過(guò)編程口對(duì)plc進(jìn)行編程。
軟件系統(tǒng)是指管理、控制、使用plc,確保plc正常工作的一整套程序。這些程序有的來(lái)自plc生產(chǎn)廠家,也有的來(lái)自用戶(hù)。一般稱(chēng)前者為系統(tǒng)程序,后者為用戶(hù)程序。系統(tǒng)程序是指控制和完成plc各種功能的程序,側(cè)重于管理plc的各種資源、控制和協(xié)調(diào)各硬件的正常動(dòng)作及關(guān)系,以便充分發(fā)揮整個(gè)可編程控制器的使用效率,方便廣大用戶(hù)的直接使用。用戶(hù)程序是指使用者根據(jù)生產(chǎn)工藝要求編寫(xiě)的控制程序,它側(cè)重于應(yīng)用,以及輸入、輸出之間的邏輯控制關(guān)系。
plc等效電路中的并不是實(shí)際的物理繼電器,它實(shí)質(zhì)上是存儲(chǔ)器單元的一個(gè)“位”寄存器?!拔弧奔拇嫫鞯臓顟B(tài)為“1”時(shí),相當(dāng)于繼電器接通;“位”寄存器的狀態(tài)為“0”時(shí),則相當(dāng)于繼電器斷開(kāi)。因此,稱(chēng)這些繼電器為“軟繼電器”。
plc是采用“順序掃描,不斷循環(huán)”的方式進(jìn)行工作的,即在plc運(yùn)行時(shí),cpu根據(jù)用戶(hù)按控制要求事先編制好并保存于用戶(hù)程序存儲(chǔ)器中的程序,按指令步序號(hào)(或地址號(hào))作周期性循環(huán)掃描,如無(wú)跳轉(zhuǎn)指令,則從第一條指令開(kāi)始逐條順序執(zhí)行用戶(hù)程序,直至程序結(jié)束,然后重新返回第一條指令,開(kāi)始下一輪新的掃描。在每次掃描過(guò)程中,還要完成對(duì)輸入信號(hào)的采樣和對(duì)輸出狀態(tài)的刷新等工作。
plc的一個(gè)掃描周期必須經(jīng)過(guò)輸入采樣、程序執(zhí)行和輸出刷新三個(gè)階段及其他一些輔助階段,其中的輸入采樣和輸出刷新在有的場(chǎng)合也稱(chēng)為i/o刷新。
輸入采樣階段:首先以?huà)呙璺绞綄⑺休斎攵俗拥耐?on)斷(off)狀態(tài)轉(zhuǎn)換成電平的高低狀態(tài)“1”或“0”并保存入輸入鎖存器中;然后,將其寫(xiě)入各自對(duì)應(yīng)的輸入狀態(tài)寄存器中,即刷新輸入;隨即關(guān)閉輸入端口,進(jìn)入程序執(zhí)行階段。
程序執(zhí)行階段:按用戶(hù)程序指令存放的先后順序掃描執(zhí)行每條指令,經(jīng)相應(yīng)的運(yùn)算和處理后,其結(jié)果再寫(xiě)入輸出狀態(tài)寄存器中,輸出狀態(tài)寄存器中所有的內(nèi)容隨著程序的執(zhí)行而改變。
輸出刷新階段:當(dāng)所有指令執(zhí)行完畢,輸出狀態(tài)寄存器的通(on)斷(off)狀態(tài)在輸出刷新階段送至輸出鎖存器中,并通過(guò)一定的方式(繼電器、晶體管或晶閘管)輸出,驅(qū)動(dòng)相應(yīng)被控設(shè)備工作。
plc的上述工作方式稱(chēng)之為掃描工作方式,即plc運(yùn)行時(shí),需要進(jìn)行大量的操作,這使得plc中的cpu只能根據(jù)分時(shí)操作原理,按一定的順序,每一時(shí)刻執(zhí)行一個(gè)操作。當(dāng)plc運(yùn)行時(shí),在經(jīng)過(guò)初始化后,即進(jìn)入掃描工作方式,且周而復(fù)始地重復(fù)進(jìn)行,因此也稱(chēng)plc的工作方式為“循環(huán)掃描工作方式”。
可以看出,plc在初始化后,進(jìn)入循環(huán)掃描。plc一次掃描的過(guò)程,包括公共處理、執(zhí)行程序、循環(huán)時(shí)間計(jì)算處理、i/o刷新、rs-232端口服務(wù)和外設(shè)端口服務(wù)共五個(gè)階段,其所需時(shí)間稱(chēng)為一個(gè)工作周期(或掃描周期)。顯然,plc的掃描周期與用戶(hù)程序的長(zhǎng)短和該plc的掃描速度緊密相關(guān)。
plc在進(jìn)入循環(huán)掃描前的初始化過(guò)程,主要是將所有輸入/輸出、內(nèi)部輔助、特殊輔助、輔助記憶繼電器區(qū)域清零,并完成定時(shí)器預(yù)置,識(shí)別擴(kuò)展單元等任務(wù),以保證它們?cè)谶M(jìn)入循環(huán)掃描后,正確無(wú)誤地工作。
進(jìn)入循環(huán)掃描后,在公共處理階段,復(fù)位監(jiān)視定時(shí)器,進(jìn)行硬件和用戶(hù)內(nèi)存檢查等。一切正常后,才能進(jìn)行下一步的操作。如果有異常情況,則根據(jù)錯(cuò)誤的嚴(yán)重程度發(fā)出報(bào)警或錯(cuò)誤警示,甚至停止plc運(yùn)行。
在程序執(zhí)行階段,cpu按從左向右,自上而下的順序?qū)γ織l指令進(jìn)行解釋、執(zhí)行,cpu從輸入映像寄存器(每個(gè)輸入繼電器對(duì)應(yīng)一個(gè)輸入映像寄存器,其通/斷狀態(tài)對(duì)應(yīng)為“1/0”)和元件映像寄存器(即與各種內(nèi)部繼電器、輸出繼電器對(duì)應(yīng)的寄存器)中讀出各繼電器的狀態(tài),根據(jù)用戶(hù)程序給出的邏輯關(guān)系[串(與)并(或)關(guān)系等]進(jìn)行邏輯運(yùn)算,并將運(yùn)算結(jié)果再寫(xiě)入元件映像寄存器中。
在掃描周期計(jì)算處理階段,若設(shè)定掃描周期為固定值(可由用戶(hù)通過(guò)dm6619設(shè)定),則進(jìn)入等待循環(huán),直到該指定值到達(dá),再往下進(jìn)行;若設(shè)定掃描周期為不定值(即決定于用戶(hù)程序的長(zhǎng)短等),則進(jìn)行掃描周期的計(jì)算。
在i/o刷新階段,進(jìn)行i/o刷新。cpu從輸入電路中讀取各輸入點(diǎn)狀態(tài),并將此狀態(tài)寫(xiě)入輸入映像寄存器中;同時(shí)將元件映像寄存器的狀態(tài)(1/0)傳送到輸出鎖存電路,再經(jīng)輸出電路隔離和功率放大,驅(qū)動(dòng)外部負(fù)載。
在外設(shè)端口服務(wù)階段,完成與外設(shè)端口連接的外圍設(shè)備或通信適配器的通信處理。循環(huán)掃描的工作方式,既簡(jiǎn)單直觀,又便于用戶(hù)程序的設(shè)計(jì),且為plc的可靠運(yùn)行提供了可靠地保障。這種工作方式,使plc一旦掃描到用戶(hù)程序某一指令,經(jīng)處理后,其處理結(jié)果就可立即被用戶(hù)程序中后續(xù)掃描到的指令所應(yīng)用,而且plc可通過(guò)cpu內(nèi)部設(shè)置的監(jiān)視定時(shí)器,監(jiān)視每次掃描是否超過(guò)規(guī)定時(shí)間,以便有效地避免因cpu內(nèi)部故障而導(dǎo)致程序進(jìn)入死循環(huán)的情況。










