運城SIEMENS西門子S7-300模塊代理商

SIEMENS潯之漫智控技術(上海)有限公司 本公司西門子自動化產(chǎn)品,質(zhì)量保證,價格優(yōu)勢 西門子PLC,西門子觸摸屏,西門子數(shù)控系統(tǒng),西門子軟啟動,西門子以太網(wǎng) 西門子電機,西門子變頻器,西門子直流調(diào)速器,西門子電線電纜 我公司大量現(xiàn)貨供應,價格優(yōu)勢,*
西門子PLC程序的設計無規(guī)定的方法,只要動作可靠、程序簡捷、明了便是好程序。至于采用的是什么樣的方法、何種語言,這并不重要。 通過典型應用程序的組合和靈活應用,以完成大多數(shù)常規(guī)程序的設計,是一般設計人員使用的基本方法之一,可以供初學者參考。 假設某車間排風系統(tǒng),采用S7-200 PLC控制,并利用工作狀態(tài)指示燈的不同狀態(tài)進行監(jiān)控,指示燈狀態(tài)輸出的控制要求如下: ①排風系統(tǒng)共由3臺風機組成,利用指示進行報警顯示: ②當系統(tǒng)中有2臺以上風機工作時,指示燈保持連續(xù)發(fā)光; ③當系統(tǒng)中沒有風機工作時,指示燈以2Hz頻率閃爍報警: ④當系統(tǒng)中只有l(wèi)臺風機工作時,指示燈以0.5Hz頻率閃爍報警。 根據(jù)以上要求,PLC的程序設計可以按照如下步驟進行。 1.確定I/O地址 為了實現(xiàn)本控制要求,系統(tǒng)至少應有3個輸入與1個輸出,假設所確定對應的輸入/輸出地址與狀態(tài)如表9-5.1所示。 
在以上PLC地址確定以后,即可以進行PLC程序的設計。PLC程序的設計可以根據(jù)系統(tǒng)的基本動作要求,分步進行編制,并充分應用前述的典型程序。 CPU寄存器狀態(tài)字的各位給出了有關指令狀態(tài)或結(jié)果的信息以及所出現(xiàn)的錯誤,我們可以將二進制邏輯操作狀態(tài)位信號狀態(tài)直接集成到程序中,以控制程序執(zhí)行的流程。 2.狀態(tài)字寄存器 先簡單介紹一下CPU中狀態(tài)字。 位,如果/FC位的信號狀態(tài)為“0",則表示伴隨著下一條邏輯指令,程序中將開始一個新的邏輯串。FC前面的斜杠表示對FC取反。 邏輯運算結(jié)果:狀態(tài)字的第1位為RLO位(RLO=“邏輯運算結(jié)果"),在二進制邏輯運算中用作暫時存儲位。比如,一串邏輯指令中的某個指令檢查觸點的信號狀態(tài),并根據(jù)布爾邏輯運算規(guī)則將檢查的結(jié)果(狀態(tài)位)與RLO位進行邏輯門運算,然后邏輯運算結(jié)果又存在RLO位中。 狀態(tài)位:狀態(tài)位(第2位)用以保存被尋址位的值。狀態(tài)位總是向掃描指令(A,AN,O,…)或?qū)懼噶睿?,S,R,)顯示尋址位的狀態(tài)(對于寫指令,保存的尋址位狀態(tài)是本條寫指令執(zhí)行后的該尋址位的狀態(tài))。 OR位:在用指令OR執(zhí)行或邏輯操作之前,執(zhí)行與邏輯操作的時候,就需要用到OR這一狀態(tài)位。OR位表示先前執(zhí)行的與邏輯操作產(chǎn)生的值為“1",于是,邏輯操作或的執(zhí)行結(jié)果就已被確定為“1"。 OV位:溢出表示算術或比較指令執(zhí)行時出現(xiàn)了錯誤。根據(jù)所執(zhí)行的算術或邏輯指令結(jié)果對該位進行設置。 OS位:溢出存儲位是與OV位一起被置位的,而且在更新算術指令之后,它能夠保持這種狀態(tài),也就是說,它的狀態(tài)不會由于下一個算術指令的結(jié)果而改變。這樣,即使是在程序的后面部分,也還有機會判斷數(shù)字區(qū)域是否溢出或者指令是否含有無效實數(shù)。OS位只有通過如下這些命令進行復位:JOS(若OS=1,則跳轉(zhuǎn))命令,塊調(diào)用和塊結(jié)束命令。 1.什么是全局變量和局部變量? 以西門子的S7-200為例,輸入I、輸出Q、變量存儲器V、內(nèi)部存儲器位M、定時器T、計數(shù)器C等屬于全局變量,可以在符號表中為全局變量定義符號名。 程序組織單元(ProgramOrganizationalUnit)簡稱為POU,包括主程序、子程序和中斷程序。每個POU均有自己的64字節(jié)局部變量,局部變量用L(Local)來表示,局部變量只能在它所在的POU中使用。與此相反,全局變量可以在各POU中使用。 2.局部變量有哪些類型? 子程序可以使用下列局部變量: 1)TEMP(臨時變量)是暫時保存在局部數(shù)據(jù)區(qū)中的變量。只有在執(zhí)行該POU時,定義的臨時變量才被使用,POU執(zhí)行完后,不再保存臨時變量的數(shù)值。主程序和中斷程序的局部變量表中只有TEMP變量。 2)IN(輸入?yún)?shù))由調(diào)用它的POU提供的傳入子程序的輸入?yún)?shù)。 3)OUT(輸出參數(shù))是子程序的執(zhí)行結(jié)果,它被返回給調(diào)用它的POU。 4)IN_OUT(輸入_輸出參數(shù))的初始值由調(diào)用它的POU傳送給子程序,并用同一變量將子程序的執(zhí)行結(jié)果返回給調(diào)用它的POU。 主程序和中斷程序的局部變量表中只有臨時變量TEMP。 3.子程序的輸入、輸出參數(shù)有什么作用? 具有輸入、輸出參數(shù)和局部變量的子程序易于實現(xiàn)結(jié)構化編程,對于長期生產(chǎn)同類設備或生產(chǎn)線的廠家尤為有用。編程人員為設備的各部件或工藝功能編寫了大量的通用的子程序。即使不知道子程序的內(nèi)部代碼,只要知道子程序的功能和輸入、輸出參數(shù)的意義,就可以用它們快速“組裝"出滿足不同的用戶要求的控制程序。就好像可以用數(shù)字集成電路芯片組成復雜的數(shù)字電路一樣。 如果子程序沒有輸入、輸出參數(shù),這種子程序沒有明確的軟件接口,使用起來很不方便。 4.局部變量有什么優(yōu)點? 1)子程序如果沒有局部變量,它和調(diào)用它的程序之間只能通過全局變量來交換數(shù)據(jù),子程序內(nèi)部也只能使用全局變量。將它移植到別的項目時,需要對各POU使用的全局變量作統(tǒng)一安排,以保證不會出現(xiàn)地址沖突。當程序很復雜,子程序很多時,這種地址分配是很花時間的。 如果子程序有局部變量,并且在子程序中只使用局部變量,不使用全局變量,因為與其他POU沒有地址沖突,不作任何改動,就可以將子程序移植到別的項目中去。 為了減少移植子程序的工作量,在子程序中應盡量避免使用全局變量和全局符號。 2)如果使用局部變量表中的臨時變量(TEMP),同一片物理存儲器可以在不同的程序中重復使用。
|