電氣控制及S7-1200 PLC應(yīng)用技術(shù)(第二版)課件 第3章 S7-1200PLC基礎(chǔ)_第1頁
電氣控制及S7-1200 PLC應(yīng)用技術(shù)(第二版)課件 第3章 S7-1200PLC基礎(chǔ)_第2頁
電氣控制及S7-1200 PLC應(yīng)用技術(shù)(第二版)課件 第3章 S7-1200PLC基礎(chǔ)_第3頁
電氣控制及S7-1200 PLC應(yīng)用技術(shù)(第二版)課件 第3章 S7-1200PLC基礎(chǔ)_第4頁
電氣控制及S7-1200 PLC應(yīng)用技術(shù)(第二版)課件 第3章 S7-1200PLC基礎(chǔ)_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

3.1S7-1200PLC硬件系統(tǒng)3.2S7-1200PLC軟件系統(tǒng)3.3數(shù)制與數(shù)據(jù)類型3.4編程語言3.5程序設(shè)計方法

1第3章S7-1200PLC基礎(chǔ)知識主要內(nèi)容:電氣控制及S7-1200PLC應(yīng)用技術(shù)1.CPU模塊技術(shù)參數(shù)S7-1200屬于新一代小型PLC,其主機單元(CPU)上集成了微處理器、電源、Profinet通信端口以及一定數(shù)量的輸入/輸出(I/O)點,自身即可組成一個小的控制系統(tǒng)。如果需其他控制功能(如串口通信、模擬量輸入輸出處理等),僅需外擴相應(yīng)的模塊即可。23.1S7-1200PLC硬件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.CPU模塊技術(shù)參數(shù)S7-1200CPU目前有五種型號的CPU模塊:CPU1211C、CPU1212C、CPU1214C、CPU1215C以及CPU1217C,主要技術(shù)參數(shù)如表所示。33.1S7-1200PLC硬件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.CPU模塊硬件接線根據(jù)供電電源和輸入/輸出接口電路的不同,S7-1200中的每種CPU均具有三種類型:AC/DC/RLY、DC/DC/RLY、DC/DC/DC。以CPU1214CAC/DC/RLY為例。43.1S7-1200PLC硬件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.CPU模塊針對工業(yè)常見的控制要求,S7-1200CPU集成了相應(yīng)的工藝功能,如:高速計數(shù)器、PID功能、運動控制功能、高速脈沖發(fā)生器(PTO/PWM)等。工藝功能1)高速計數(shù)器2)PID功能3)運動控制功能4)高速脈沖發(fā)生器(PTO/PWM)53.1S7-1200PLC硬件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)2.擴展單元S7-1200CPU上集成了少量的DI/DO、AI/AO(部分型號CPU不具有AO),當(dāng)復(fù)雜系統(tǒng)需要其它功能或更多I/O點時,可以在CPU的基礎(chǔ)上增加擴展單元。S7-1200CPU支持的擴展單元類型有:信號板SB、信號模塊SM以及通信模塊CM。信號板SBS7-1200本體上(正面)可支持擴展一塊信號板,用以增加少量的數(shù)字量或模擬量I/O點數(shù),且不增加系統(tǒng)的安裝空間。信號板的類型有以下5種:①數(shù)字量輸入信號板SB1221:共2種產(chǎn)品,即4點5VDC輸入、4點24VDC輸入。②數(shù)字量輸出信號板SB1222:共2種產(chǎn)品,即4點5VDC輸出、4點24VDC輸出。③數(shù)字量輸入/輸出信號板SB1223:共3種產(chǎn)品,即2點5VDC輸入/2點5VDC輸出、2點24VDC輸入/2點24VDC輸出(普通)、2點24VDC輸入/2點24VDC輸出(支持高速脈沖)。④模擬量輸入信號板SB1231:共3種產(chǎn)品,即1路AI、1路熱電阻(RTD)輸入、1路熱電偶(TC)輸入。⑤模擬量輸出信號板SB1232:共1種產(chǎn)品,即1路AO。63.1S7-1200PLC硬件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)2.擴展單元信號模塊SM①數(shù)字量輸入信號模塊SM1221:共2種產(chǎn)品,即8點24VDC輸入、16點24VDC輸入。②數(shù)字量輸出信號模塊SM1222:共有5種產(chǎn)品,即8點RLY輸出、8點24VDC輸出、8點RLY輸出(NC和NO可切換)、16點RLY輸出、16點24VDC輸出。③數(shù)字量輸入/輸出信號模塊SM1223:共有5種產(chǎn)品,即8點24VDC輸入/8點RLY輸出、8點24VDC輸入/8點24VDC輸出、16點24VDC輸入/16點RLY輸出、16點24VDC輸入/16點24VDC輸出、8點120V或230V輸入/8點RLY輸出。④模擬量輸入信號模塊SM1231:共有7種產(chǎn)品,即4路13位輸入、4路16位輸入、8路13位輸入、4路熱電阻(RTD)輸入、4路熱電偶(TC)輸入、8路熱電阻(RTD)輸入、8路熱電偶(TC)輸入。⑤模擬量輸出信號模塊SM1232:共有2種產(chǎn)品,即2路14位輸出、4路14位輸出。⑥模擬量輸入/輸出信號模塊SM1234:共有1種產(chǎn)品,即4路輸入/2路輸出。73.1S7-1200PLC硬件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)2.擴展單元通信模塊CM①點到點通信模塊CM1241:共有3種產(chǎn)品,即RS232通信模塊、RS485通信模塊、RS422/485通信模塊。②Profibus通信模塊:共有2種產(chǎn)品,即CM1242-5通信模塊(從站)、CM1243-5通信模塊(主站)。③AS-i通信模塊:共有1種產(chǎn)品,即CM1243-2通信模塊。④工業(yè)遠程通信模塊:共有5種產(chǎn)品,即CP1243-1通信模塊(以太網(wǎng))、CP1243-1DNP3通信模塊(DNP3協(xié)議)、CP1243-1IEC通信模塊(IEC協(xié)議)、CP1243-7GPRS通信模塊(連接至GSM/GPRS)、CP1243-7LTE通信模塊(通過LTE-EU標(biāo)準(zhǔn)連接至GSM/GPRS)。83.1S7-1200PLC硬件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)3.擴展I/O點的編址在利用信號模塊進行I/O點數(shù)擴展時,除了模塊之間的硬件連接之外,還需對擴展的信號模塊進行I/O地址的分配。S7-200中,CPU和各個擴展模塊中I/O的地址是固定的,軟件自行按照從CPU到擴展模塊的順序依次分配相應(yīng)地址,用戶無法修改。S7-1200與S7-200不同,CPU和各個擴展模塊的I/O地址可以選擇默認分配,也可在硬件組態(tài)時靈活修改,然而S7-1200默認分配的地址會有一定的間隔,為了方便編程,有時需對默認地址進行重新分配。93.1S7-1200PLC硬件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)3.擴展I/O點的編址S7-1200擴展模塊的I/O地址分配原則:(1)從CPU開始,按照從左到右的次序,依次對同類型的輸入/輸出模塊進行編址。(2)數(shù)字量輸入和模擬量輸入共用同一個映像寄存器,所以它們的地址不能重復(fù),數(shù)字量輸出和模擬量輸出也是一樣。(3)對于數(shù)字量輸入/輸出模塊,按照一組8個位(1個字節(jié))順序分配地址。實際使用地址不足8位的模塊,未用位不能分配給后續(xù)擴展模塊(保留給本模塊),后續(xù)擴展模塊的同類型地址應(yīng)從下一組(下一字節(jié))開始分配。(4)對于模擬量輸入/輸出模塊,按照一組2個字節(jié)(1個字)順序分配地址(模擬量對應(yīng)的數(shù)字量單位長度為2個字節(jié)),只要保證地址不重復(fù)即可。注意:上述分配地址的原則是作者贊同的做法,不同工程師有不同的分配方法,也可選擇為軟件默認分配的地址。103.1S7-1200PLC硬件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)3.擴展I/O點的編址S7-1200擴展模塊的I/O地址分配原則:【例3-1】某S7-1200控制系統(tǒng)硬件配置如下圖所示,請按照順序?qū)Ω髂K的輸入輸出進行編址。解:該題中的地址分配并不唯一,一般習(xí)慣從CPU方向向右依次編址。CPU中,數(shù)字量輸入、輸出默認起始于第0個字節(jié),模擬量輸入、輸出默認起始于第64個字節(jié),后續(xù)擴展模塊可順序編址。113.1S7-1200PLC硬件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)3.擴展I/O點的編址S7-1200擴展模塊的I/O地址分配原則:備注:斜體地址表示未被分配,保留給本模塊。123.1S7-1200PLC硬件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)與S7-300/400相似,S7-1200在編程時采用“塊”(類似于子程序塊)的概念。將整個程序分解為相互獨立的各個子塊。對于復(fù)雜控制系統(tǒng),利用各種塊對整個復(fù)雜系統(tǒng)進行分解簡化,有利于程序的設(shè)計和理解;也可以將類似的功能設(shè)計成標(biāo)準(zhǔn)的程序塊進行重復(fù)調(diào)用,達到簡化程序、方便修改等目的。S7-1200PLC軟件支持4種類型的塊結(jié)構(gòu),如表所示。133.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)1)組織塊組織塊(Organizationblock,OB)是操作系統(tǒng)和用戶程序之間的接口,可通過對組織塊編程來控制PLC的動作。組織塊由操作系統(tǒng)調(diào)用,對應(yīng)于CPU中的特定事件。用組織塊可以創(chuàng)建在特定時間執(zhí)行的程序,以及響應(yīng)特定事件的程序。143.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)1)組織塊:程序循環(huán)組織塊CPU處于RUN模式時,程序循環(huán)(Programcycle)組織塊將周期性循環(huán)執(zhí)行,新建S7-1200項目時,默認生成的主程序Main[OB1]即為程序循環(huán)組織塊。若要啟動程序執(zhí)行,項目中至少要有一個程序循環(huán)組織塊。操作系統(tǒng)每個周期調(diào)用該程序循環(huán)組織塊一次,從而啟動用戶程序的執(zhí)行。用戶可根據(jù)實際需要,在程序循環(huán)組織塊中放置控制程序的指令或調(diào)用其它FC/FB功能塊。S7-1200允許同時使用多個程序循環(huán)組織塊,按它們的編號由小到大順序執(zhí)行。程序循環(huán)組織塊默認編號為OB1,其它程序循環(huán)組織塊的編號必須不小于123。程序循環(huán)組織塊的優(yōu)先級為1(最低優(yōu)先級),可被高優(yōu)先級的組織塊中斷。153.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)1)組織塊:啟動組織塊啟動(Startup)組織塊一般用于編寫初始化程序,如賦初始值等。如果CPU操作模式從STOP切換到RUN(包括RUN模式時CPU斷電再上電、執(zhí)行STOP到RUN命令切換),啟動組織塊將被執(zhí)行一次。啟動組織塊執(zhí)行完畢后才開始執(zhí)行主程序循環(huán)組織塊。S7-1200同時支持多個啟動組織塊,按照編號由小到大順序依次執(zhí)行。啟動組織塊默認編號為OB100。其它編號必須不小于123。163.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)1)組織塊:延時中斷組織塊延時中斷(Timedelayinterrupt)組織塊在經(jīng)過一段時間延時(用戶自定義)后,才執(zhí)行該組織塊里的程序,可用于故障處理等延時控制場合。S7-1200同時支持最多四個延時中斷組織塊,編號必須為20~23或不小于123。實現(xiàn)延時中斷功能需相關(guān)指令加以配合,如表所示。173.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)1)組織塊:循環(huán)中斷組織塊循環(huán)中斷(Cyclicinterrupt)組織塊以固定的時間間隔周期性執(zhí)行,可用于模擬量采樣等循環(huán)控制場合。S7-1200同時支持最多四個循環(huán)中斷組織塊,編號必須為30~38或不小于123。在創(chuàng)建循環(huán)中斷組織塊時即可設(shè)定循環(huán)周期。若需在CPU運行時修改循環(huán)周期、相移時間,可使用“SET_CINT”和“QRY_CINT”指令,如表所示。183.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)1)組織塊:硬件中斷組織塊(了解)硬件中斷(Hardwareinterrupt)組織塊在發(fā)生相關(guān)硬件中斷事件時執(zhí)行,可以快速響應(yīng)硬件中斷事件并執(zhí)行硬件中斷組織塊中的程序(例如立即停止某些關(guān)鍵設(shè)備)。硬件中斷事件包括數(shù)字量輸入端的上升沿/下降沿事件、高速計數(shù)器事件。當(dāng)發(fā)生硬件中斷事件時,硬件中斷組織塊將中斷正常的循環(huán)程序而優(yōu)先執(zhí)行。S7-1200可以在硬件配置的屬性中預(yù)先定義硬件中斷事件,一個硬件中斷事件只允許對應(yīng)一個硬件中斷組織塊,而一個硬件中斷組織塊可以分配給多個硬件中斷事件。193.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)1)組織塊:診斷錯誤中斷組織塊(了解)S7-1200支持診斷錯誤中斷,可為具有診斷功能的模塊啟用診斷錯誤中斷功能來檢測模塊狀態(tài)。模塊出現(xiàn)錯誤和解除錯誤時,系統(tǒng)均觸發(fā)診斷錯誤中斷(Diagnosticerrorinterrupt)組織塊OB82,并中斷正常的循環(huán)程序;此時無論程序中有無診斷錯誤中斷OB82,CPU均保持RUN模式,同時ERROR指示燈閃爍。如果希望CPU在接收到該類型的錯誤時進入STOP模式,可以在OB82中加入“STP”指令使CPU進入STOP模式。當(dāng)調(diào)用診斷錯誤中斷組織塊時,通過監(jiān)視OB82接口變量的信息,可以確定出現(xiàn)錯誤的設(shè)備、通道和錯誤原因。203.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)1)組織塊:時間錯誤中斷組織塊(了解)S7-1200支持時間錯誤中斷,當(dāng)程序執(zhí)行時間超過最大循環(huán)時間或發(fā)生時間錯誤事件(如:被調(diào)用的組織塊正在執(zhí)行、中斷組織塊隊列發(fā)生溢出、由于中斷負荷過大而導(dǎo)致中斷丟失)時,將觸發(fā)時間錯誤中斷(Timeerrorinterrupt)組織塊OB80。OB80優(yōu)先級最高,它將中斷所有正常循環(huán)程序或其它所有OB事件的執(zhí)行而優(yōu)先執(zhí)行。當(dāng)調(diào)用時間錯誤中斷組織塊時,通過監(jiān)視OB80接口變量的信息,可以確定相關(guān)錯誤信息。213.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)2)功能FC和功能塊FB功能(Function,F(xiàn)C)和功能塊(Functionblock,F(xiàn)B)是用戶編寫的程序塊,作為子程序被OB或其他FC、FB進行調(diào)用。在被調(diào)用的FC(或FB)的塊接口中定義輸入/輸出等參數(shù),即可實現(xiàn)與調(diào)用它的塊之間的數(shù)據(jù)傳遞。FB具有自己的存儲區(qū)域(背景數(shù)據(jù)塊),在調(diào)用FB時必須為其指定至少一個背景數(shù)據(jù)塊,用以存放FB中的輸入/輸出參數(shù)、靜態(tài)變量等數(shù)據(jù),但不會保存局部變量(存放在臨時數(shù)據(jù)存儲區(qū)中)。背景數(shù)據(jù)塊在FB被調(diào)用時自動打開、在FB執(zhí)行完成后自動關(guān)閉;當(dāng)FB執(zhí)行完成后,存放在背景數(shù)據(jù)塊中的數(shù)據(jù)不會丟失,這些數(shù)據(jù)可直接被其他程序塊或HMI(人機界面)直接訪問。223.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)2)功能FC和功能塊FBFC沒有自己的存儲區(qū)域,F(xiàn)C執(zhí)行完成后,局部變量信息將丟失。若有FC執(zhí)行后需要保存的數(shù)據(jù),可采用全局變量(全局數(shù)據(jù)塊或位存儲區(qū)M等),但這樣會影響FC的可移植性;如果FC中僅使用局部變量,可直接將該FC移植到其他工程。由于FC沒有自己的存儲區(qū)域,不能給局部變量設(shè)置初始值,調(diào)用時需給所有的形參指定實參。另外,PLC操作系統(tǒng)只負責(zé)分配臨時區(qū)域并不管資源回收,所以FC編程時遵循的原則是先賦值再使用,否則臨時區(qū)域的數(shù)據(jù)有可能是其他FC用剩下的,造成程序的混亂。233.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)3)數(shù)據(jù)塊數(shù)據(jù)塊(Datablock,DB)是用于存放執(zhí)行程序時所需數(shù)據(jù)以及程序執(zhí)行結(jié)果的數(shù)據(jù)存儲區(qū),用戶程序以位、字節(jié)、字或雙字方式訪問數(shù)據(jù)塊中的數(shù)據(jù)。與代碼塊不同,數(shù)據(jù)塊不含指令,數(shù)據(jù)塊中變量的地址由軟件按照變量生成先后順序自動分配。S7-1200的數(shù)據(jù)塊可分為全局數(shù)據(jù)塊和背景數(shù)據(jù)塊。全局數(shù)據(jù)塊用以存儲全局數(shù)據(jù),所有代碼塊(OB、FB、FC)都可訪問全局數(shù)據(jù)塊;背景數(shù)據(jù)塊用以存儲只在某個FB中需要存儲的數(shù)據(jù),是直接分配給特定FB的局部存儲區(qū),僅限特定的FB訪問。243.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址S7-1200與其他計算機控制系統(tǒng)一樣,其具有的存儲器用于存放操作系統(tǒng)數(shù)據(jù)、用戶程序及變量信息等,以保證PLC能夠正常工作。物理存儲器類型(1)隨機存取存儲器(RAM)(2)只讀存儲器(ROM)(3)閃存(FlashEPROM)/電可擦可編程只讀存儲器(EEPROM)253.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址物理存儲器在邏輯上也可稱為內(nèi)部存儲區(qū),根據(jù)邏輯功能的不同,S7-1200的內(nèi)部存儲區(qū)可分為用戶存儲區(qū)(UserMemory)和系統(tǒng)存儲區(qū)(SystemMemory)。S7-1200的內(nèi)部存儲器/區(qū):用戶存儲區(qū)(了解)用戶存儲區(qū)包括裝載存儲區(qū)(LoadMemory)、工作存儲區(qū)(WorkMemory)和斷電保持存儲區(qū)(RetentiveMemory)三種。(1)裝載存儲區(qū):屬于非易失性存儲器,用于存放用戶程序、數(shù)據(jù)及配置信息,物理性質(zhì)上屬于閃存/電可擦可編程只讀存儲器。下載到CPU中的用戶程序?qū)⒋鎯υ谘b載存儲區(qū)中,因此每種CPU都有內(nèi)部裝載存儲區(qū),且CPU電源斷電后數(shù)據(jù)不會丟失。263.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址S7-1200的內(nèi)部存儲器/區(qū):用戶存儲區(qū)(了解)(2)工作存儲區(qū):屬于易失性存儲器,用于存放CPU運行時從裝載存儲器中復(fù)制來的用戶數(shù)據(jù),物理性質(zhì)上屬于隨機存取存儲器。CPU上電后,將與程序執(zhí)行有關(guān)的用戶程序(如:OB、FB、FC、DB)從裝載存儲器復(fù)制到工作存儲區(qū)中,提高CPU的訪問速度;CPU斷電后,工作存儲區(qū)中的數(shù)據(jù)丟失。工作存儲區(qū)容量不能被擴展。(3)斷電保持存儲區(qū):屬于非易失性存儲器,用于存放斷電時需要保存的重要數(shù)據(jù)。CPU斷電時,將工作存儲區(qū)指定的數(shù)據(jù)保存在斷電保持存儲區(qū)中,待電源恢復(fù)后(暖啟動時)再將保存的數(shù)據(jù)還原至原來的地址,S7-1200系列CPU均有10KB的斷電保持存儲區(qū)。273.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址S7-1200的內(nèi)部存儲器/區(qū):系統(tǒng)存儲區(qū)系統(tǒng)存儲區(qū)用于存放執(zhí)行用戶程序時所涉及的操作數(shù)據(jù),包括輸入過程映像區(qū)(Inputprocessimagearea)、輸出過程映像區(qū)(Outputprocessimagearea)、位存儲區(qū)(BitMemory)、臨時數(shù)據(jù)存儲區(qū)(TemporaryMemory)及數(shù)據(jù)塊存儲區(qū)(DatablockMemory)。283.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址S7-1200的內(nèi)部存儲器/區(qū):系統(tǒng)存儲區(qū)(1)輸入過程映像區(qū)ICPU在每個循環(huán)周期的開始都會掃描外設(shè)的物理地址,并把得到的數(shù)據(jù)存放到輸入過程映像區(qū),該存儲區(qū)允許用戶程序以位、字節(jié)、字或者雙字形式進行訪問,如I0.0、IW20等。輸入過程映像區(qū)允許在全局范圍內(nèi)進行讀/寫操作,但一般情況都是進行讀操作。若在輸入地址后面加“:P”(如I0.6:P),操作系統(tǒng)會跳過輸入過程映像區(qū)(不更新),立即讀取外設(shè)的內(nèi)容。外設(shè)內(nèi)容是不允許CPU進行寫操作的,所以I0.6:P是只讀的;而I0.6是訪問輸入過程映像區(qū)的數(shù)據(jù),它是外設(shè)內(nèi)容的拷貝,所以可讀可寫。293.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址S7-1200的內(nèi)部存儲器/區(qū):系統(tǒng)存儲區(qū)(2)輸出過程映像區(qū)QCPU在每個循環(huán)周期結(jié)束前都會把輸出過程映像區(qū)的內(nèi)容復(fù)制到外設(shè)地址的輸出模塊中,該存儲區(qū)允許用戶程序以位、字節(jié)、字或者雙字形式進行訪問,如Q0.0、QW10等。輸出過程映像區(qū)允許在全局范圍內(nèi)進行讀/寫操作,但一般情況都是進行寫操作。若在輸出地址后面加“:P”(如Q0.2:P),系統(tǒng)將運算結(jié)果立即輸出到外設(shè)的物理地址,同時更新輸出過程映像區(qū)。Q0.2:P是只寫的,而Q0.2是訪問輸出過程映像區(qū)的數(shù)據(jù),所以可讀可寫。303.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址S7-1200的內(nèi)部存儲器/區(qū):系統(tǒng)存儲區(qū)(3)位存儲區(qū)M位存儲區(qū)用以存放程序運行時涉及的大量中間變量和臨時數(shù)據(jù),因此該存儲區(qū)使用頻率很高。允許用戶程序以位、字節(jié)、字或者雙字形式進行訪問,如M0.0、MD20等。位存儲區(qū)允許在全局范圍內(nèi)進行讀/寫操作,不會因為程序塊調(diào)用結(jié)束而被系統(tǒng)收回;但M區(qū)的數(shù)據(jù)在CPU斷電后丟失,如需保存該數(shù)據(jù),可將該數(shù)據(jù)設(shè)置為斷電保持性。(4)臨時數(shù)據(jù)存儲區(qū)Temp臨時數(shù)據(jù)存儲區(qū)用以存放FB或FC運行中所需的臨時變量,只在FB/FC被調(diào)用的過程中有效,調(diào)用結(jié)束后該變量的存儲區(qū)被操作系統(tǒng)收回。臨時數(shù)據(jù)存放區(qū)的數(shù)據(jù)是局部有效的,臨時變量也稱為局部變量,只能被調(diào)用的FB/FC訪問。臨時變量不能保存到斷電保持存儲區(qū)。313.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址S7-1200的內(nèi)部存儲器/區(qū):系統(tǒng)存儲區(qū)(5)數(shù)據(jù)塊存儲區(qū)DB數(shù)據(jù)塊存儲區(qū)用以存放用戶程序的各種數(shù)據(jù),允許用戶以位、字節(jié)、字或者雙字形式進行訪問,如DB1.DBX3.2、DB3.DBB10等。某些指令運算所需的數(shù)據(jù)結(jié)構(gòu)也存放在數(shù)據(jù)塊存儲區(qū)中,數(shù)據(jù)塊分為全局數(shù)據(jù)塊和背景數(shù)據(jù)塊,數(shù)據(jù)塊中的數(shù)據(jù)具有斷電保持性,程序塊調(diào)用結(jié)束后不會被系統(tǒng)收回。323.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址S7-1200的尋址(1)絕對尋址直接采用存儲區(qū)域標(biāo)識符、數(shù)據(jù)長度及直接地址來表示的尋址方式,如I0.3、QB2、MW4、DB1.DBD6等。S7-1200的存儲區(qū)按字節(jié)為基本單元進行分配,無論尋址何種數(shù)據(jù),通常應(yīng)指出該數(shù)據(jù)所在存儲區(qū)域內(nèi)的字節(jié)地址。①位尋址:由存儲區(qū)域標(biāo)識符、字節(jié)地址及位號組成。例如:I0.3表示輸入過程映像區(qū)I中的第0個字節(jié)的第3位;DB1.DBX2.5表示數(shù)據(jù)塊存儲區(qū)DB1中的第2個字節(jié)的第5位。②字節(jié)、字、雙字尋址:由存儲區(qū)域標(biāo)識符、數(shù)據(jù)長度及起始字節(jié)號組成。例如:MB0表示位存儲區(qū)M中的第0個字節(jié)開始的一個字節(jié)地址;MD0表示位存儲區(qū)M中的第0個字節(jié)開始的一個雙字地址;DB1.DBD6表示數(shù)據(jù)塊存儲區(qū)DB1中的第6個字節(jié)開始的一個雙字地址。333.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址S7-1200的尋址(1)絕對尋址343.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)重點理解2.S7-1200存儲區(qū)及尋址S7-1200的尋址(2)符號尋址符號尋址是對絕對地址定義一個符號名,并利用該符號名進行尋址。在變量表中將I0.0、Q0.0的符號名分別定義為Start、Motor_On,即可通過Start和Motor_On訪問用戶程序中的地址,可提高程序的直觀性和易讀性。符號尋址尤其適用于變量較多的復(fù)雜系統(tǒng),定義的符號應(yīng)符合行業(yè)內(nèi)標(biāo)準(zhǔn)。對于數(shù)據(jù)塊DB,因在添加該塊時默認屬性是“優(yōu)化的塊訪問”,所以在程序中只能為該存儲區(qū)的絕對地址創(chuàng)建符號,并采用符號尋址方式進行訪問。如想采用絕對尋址方式(如DB2.DBX0.3),可右鍵點擊項目樹中的數(shù)據(jù)塊→屬性→取消勾選“優(yōu)化的塊訪問”。353.2S7-1200PLC軟件系統(tǒng)電氣控制及S7-1200PLC應(yīng)用技術(shù)1.數(shù)制計算機控制系統(tǒng)常采用的數(shù)制包括:二進制數(shù)、十六進制數(shù)及BCD碼。二進制二進制是最為簡單的進位制,一位(bit)只有0和1兩種取值,對應(yīng)數(shù)字量(開關(guān)量)的兩種不同狀態(tài),如線圈的得電和失電、觸點的閉合和斷開等。如果該位為1或者TRUE,則代表軟件中對應(yīng)的位元件(如位存儲區(qū)M、輸出過程映像區(qū)Q)的線圈得電,其常開觸點閉合、常閉觸點斷開。如果該位為0或者FALSE,則代表對應(yīng)的位元件的線圈失電,其常開觸點斷開、常閉觸點閉合。二進制常數(shù)前應(yīng)加2#,如2#1100_1010代表一個8位的二進制數(shù)。363.3數(shù)制與數(shù)據(jù)類型電氣控制及S7-1200PLC應(yīng)用技術(shù)1.數(shù)制十六進制采用二進制表示計算機系統(tǒng)數(shù)據(jù)比較直觀,但數(shù)據(jù)長度過長,不方便閱讀。為此,計算機控制系統(tǒng)常采用十六進制數(shù)來表達數(shù)據(jù),每個十六進制數(shù)對應(yīng)為一組4位二進制數(shù),取值范圍為0~9和A~F(對應(yīng)十進制下的10~15)。十六進制常數(shù)前應(yīng)加16#,如16#CA代表一個8位的二進制數(shù),轉(zhuǎn)換為二進制數(shù)即2#1100_1010。S7-1200中,也可采用在16#前加數(shù)據(jù)類型以指定數(shù)據(jù)長度,如B#16#、W#16#和DW#16#分別表示十六進制下的字節(jié)、字、和雙字常數(shù),16#CA也可表示為B#16#CA。373.3數(shù)制與數(shù)據(jù)類型電氣控制及S7-1200PLC應(yīng)用技術(shù)1.數(shù)制BCD碼在計算機控制系統(tǒng)和數(shù)字式儀器中,常采用二進制碼表示十進制數(shù)。BCD碼即是用一組4位二進制數(shù)來表示一位十進制數(shù),每一位BCD碼取值范圍為0~9,對應(yīng)2#0000~2#1001(2#1010~2#1111在BCD碼中未使用)。S7-1200中存在BCD16和BCD32兩種數(shù)值范圍不同的BCD碼,如圖所示。通常用BCD碼的最高位(最左側(cè)4位二進制數(shù))作為符號位,0000表示為正、1111表示為負。BCD16、BCD32格式數(shù)值范圍分別為-999~+999、-9999999~+9999999。圖中的BCD碼數(shù)值分別為+428、-4229801。383.3數(shù)制與數(shù)據(jù)類型電氣控制及S7-1200PLC應(yīng)用技術(shù)1.數(shù)制BCD碼BCD碼沒有獨立的表示方法,而是借用了十六進制數(shù)的表示方法,在數(shù)據(jù)前加16#。區(qū)分一個數(shù)據(jù)是BCD碼還是十六進制數(shù),需要根據(jù)數(shù)據(jù)的實際用途和具體指令來加以判斷。注意,BCD碼在PLC中的應(yīng)用主要有兩個場合:PLC通過外部BCD碼撥碼開關(guān)設(shè)定PLC的內(nèi)部數(shù)據(jù)、通過外部BCD碼顯示器顯示PLC的內(nèi)部數(shù)據(jù)。隨著HMI設(shè)備的快速發(fā)展,以上兩種應(yīng)用場合也日趨減少。393.3數(shù)制與數(shù)據(jù)類型電氣控制及S7-1200PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型數(shù)據(jù)類型用于定義操作數(shù)的類型和長度,以確保操作數(shù)與指令類型的一致性。S7-1200支持的數(shù)據(jù)類型有:基本數(shù)據(jù)類型、復(fù)雜數(shù)據(jù)類型、PLC數(shù)據(jù)類型、參數(shù)類型、系統(tǒng)數(shù)據(jù)類型和硬件數(shù)據(jù)類型?;緮?shù)據(jù)類型403.3數(shù)制與數(shù)據(jù)類型電氣控制及S7-1200PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型基本數(shù)據(jù)類型(1)BCD16和BCD32不屬于數(shù)據(jù)類型,但轉(zhuǎn)換指令CONV支持這兩個格式,故列入表中。(2)字節(jié)、字和雙字數(shù)據(jù)類型均為無符號數(shù),字符又稱ASCII碼。(3)短整數(shù)SInt、整數(shù)Int和雙整數(shù)DInt分別表示8位、16位和32位的有符號整數(shù)。最高位為符號位:0代表正數(shù)、1代表負數(shù)。在有符號整數(shù)前加符號U(unsigned),數(shù)據(jù)類型將表示為無符號整數(shù)USInt、UInt、UDInt,該類整數(shù)只有正值。(4)浮點數(shù)是用符號、尾數(shù)和指數(shù)來表示實數(shù)的數(shù)據(jù),在計算機中的格式為1.m×2e。32位單精度浮點數(shù)Real的精度最高為7位有效數(shù)字,結(jié)構(gòu)如圖所示。413.3數(shù)制與數(shù)據(jù)類型電氣控制及S7-1200PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型基本數(shù)據(jù)類型最高位(第31位)為符號位;第23~30位為8位指數(shù)位,第0~22位為23位尾數(shù)位。IEEE754標(biāo)準(zhǔn)規(guī)定,浮點數(shù)的整數(shù)部分始終為1,只保留尾數(shù)中的小數(shù)部分。浮點數(shù)對應(yīng)的實數(shù)計算公式為:式中,符號位取值為0或1;e為8位指數(shù)位對應(yīng)的短整數(shù),取值范圍為0~255;m為23位尾數(shù)位對應(yīng)的小數(shù)部分,尾數(shù)位的最高位權(quán)值為2-1,最低位權(quán)值為2-23。浮點數(shù)的優(yōu)勢在于可以用較小的存儲空間(4B)表示極大或極小的數(shù)據(jù)。然而,外部信號在PLC中對應(yīng)的輸入/輸出存儲區(qū)中的數(shù)據(jù)大多是整數(shù)(如模擬量輸入/輸出值),如想利用浮點數(shù)來處理這些數(shù)據(jù),需要進行整數(shù)與浮點數(shù)之間的轉(zhuǎn)換,浮點數(shù)的運算速度比整數(shù)的運算速度要慢一些。423.3數(shù)制與數(shù)據(jù)類型電氣控制及S7-1200PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型基本數(shù)據(jù)類型(5)64位雙精度浮點數(shù)LReal與單精度浮點數(shù)Real表示方法相同,但LReal取值范圍更大、精度更高(最高為15位有效數(shù)字)。最高位(第63位)為符號位,第52~62位為11位指數(shù)位,第0~51位為52位尾數(shù)位。由于LReal類型的數(shù)據(jù)占用64個位地址,用戶無法使用絕對尋址方式,只能通過符號尋址方式。(6)Time類型數(shù)據(jù)以32位有符號雙整數(shù)形式存儲,范圍比16位的S5Time類型更寬,最小時基為1ms,最大計量單位為天(d),格式為T#0d_1h_1m_0s_0ms(下劃線可不寫,不需指定全部時間單位)。433.3數(shù)制與數(shù)據(jù)類型電氣控制及S7-1200PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型基本數(shù)據(jù)類型【例3-2】①32位單精度浮點數(shù)為0011_1111_1110_0000_0000_0000_0000_0000,試求其實數(shù)值。②若浮點數(shù)為1100_0010_0100_1010_0000_0000_0000_0000,試求對應(yīng)的實數(shù)值。解:①將該浮點數(shù)寫為0_0111_1111_110_0000_0000_0000_0000_0000。其符號位為0;指數(shù)位為0111_1111,即127;尾數(shù)位為110_0000_0000_0000_0000_0000,即1×2-1+1×2-2

=0.75;代入公式可得對應(yīng)實數(shù)為:(-1)0×1.75×2(127-127)=1.75。②將該浮點數(shù)寫為1_1000_0100_100_1010_0000_0000_0000_0000,其符號位為1;指數(shù)位為1000_0100,即132;尾數(shù)位為100_1010_0000_0000_0000_0000,即2-1+2-4+2-6=0.578125;代入公式可得對應(yīng)實數(shù)為:(-1)1×1.578125×2(132-127)=-50.5。443.3數(shù)制與數(shù)據(jù)類型電氣控制及S7-1200PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型基本數(shù)據(jù)類型【例3-3】若S7-1200中有一實數(shù)123.75,試求其對應(yīng)的32位單精度浮點數(shù)。解:①將實數(shù)的整數(shù)部分123轉(zhuǎn)換為二進制數(shù),即10#123=2#1111011。②將小數(shù)部分0.75轉(zhuǎn)換為二進制數(shù),將0.75×2=1.5,第一位取1;將剩下的0.5×2=1.0,第二位取1。實數(shù)123.75轉(zhuǎn)化為二進制下的1111011.11。③

向左移動小數(shù)點,小數(shù)點前只保留1位有效數(shù)據(jù)位(值為1),得到1.11101111×26。對比式(3-1)可得,符號位為0;尾數(shù)位m為2#1110_1111;指數(shù)位e為133(6+127),即2#1000_0101。綜上,可得123.75對應(yīng)的32位單精度浮點數(shù)為:0_1000_0101_111_0111_1000_0000_0000_0000。453.3數(shù)制與數(shù)據(jù)類型電氣控制及S7-1200PLC應(yīng)用技術(shù)1.梯形圖IEC61131-3規(guī)定了PLC的5種編程語言:梯形圖(LadderDiagram,LD/LAD)、功能塊圖(FunctionBlockDiagram,F(xiàn)BD)、指令表(InstructionList)、結(jié)構(gòu)文本(StructuredText,ST)和順序功能圖(SequentialFunctionChart,SFC)。西門子PLC編程軟件TIA(V13以上版本)提供了3種標(biāo)準(zhǔn)編程語言:梯形圖LAD、功能塊圖FBD和結(jié)構(gòu)化控制語言SCL(即標(biāo)準(zhǔn)中的結(jié)構(gòu)文本ST)。在添加各程序塊時即可選擇編程語言;或者打開現(xiàn)有程序塊,點擊右下角的“屬性”→“常規(guī)”→“語言”,可進行LAD與FBD之間的相互轉(zhuǎn)換。梯形圖LAD類似于繼電器接觸器控制系統(tǒng)的控制線路圖,特別適合邏輯控制場合。梯形圖編程方法簡單、修改方便且直觀易懂,容易被初學(xué)者和熟悉繼電器接觸器系統(tǒng)的工程師掌握,是目前使用最為廣泛的圖形化編程語言。463.4編程語言電氣控制及S7-1200PLC應(yīng)用技術(shù)1.梯形圖梯形圖由母線、觸點、線圈和功能框等元素組成,其特點如下:(1)母線相當(dāng)于繼電器接觸器控制系統(tǒng)的電源線,以左、右兩條豎線表示(西門子PLC編程軟件中省略了右母線),左母線狀態(tài)始終為ON,所有指令均應(yīng)從左母線出發(fā)。(2)觸點和線圈沿用了繼電器接觸器控制系統(tǒng)的術(shù)語。觸點表示邏輯輸入條件,如開關(guān)、按鈕等外部輸入信號或內(nèi)部的常開、常閉觸點。線圈通常表示邏輯輸出結(jié)果,用以控制繼電器、接觸器等外部輸出或內(nèi)部的線圈等。(3)功能框用來表示定時器、計數(shù)器或數(shù)學(xué)運算等復(fù)雜的指令。473.4編程語言電氣控制及S7-1200PLC應(yīng)用技術(shù)2.功能塊圖功能塊圖FBD是一種類似于數(shù)字邏輯門電路的圖形化編程語言,也具有簡單直觀的優(yōu)點,容易被具有數(shù)字邏輯電路基礎(chǔ)的工程師掌握。功能塊圖用類似與門、或門的方框來表示邏輯運算關(guān)系,方框的左側(cè)為邏輯運算的輸入信號,右側(cè)為輸出信號,輸入、輸出端的小圓圈表示“取反”運算,各方框的連接線即為信號線,信號從左往右流動。功能塊圖編程語言的特點是:(1)以功能指令或功能塊為單位,容易理解,分析方便。(2)功能塊圖也是圖形化編程語言,直觀性強,容易掌握。(3)對于控制邏輯復(fù)雜的系統(tǒng),由于功能塊圖能清楚表達功能關(guān)系,使編程調(diào)試時間大大減少。483.4編程語言電氣控制及S7-1200PLC應(yīng)用技術(shù)2.功能塊圖圖示為功能塊圖編程實例,為了更好地對比理解,將對應(yīng)的梯形圖放在左邊。493.4編程語言電氣控制及S7-1200PLC應(yīng)用技術(shù)3.結(jié)構(gòu)化文本結(jié)構(gòu)化控制語言SCL是基于PASCAL的高級編程語言,支持賦值、數(shù)學(xué)運算、比較和位邏輯等標(biāo)準(zhǔn)語句,也支持IF-THEN、CASE-OF和WHILE-Do等控制語句,特別適合復(fù)雜算法、數(shù)學(xué)函數(shù)編程以及數(shù)據(jù)和配方管理過程優(yōu)化等。SCL的許多指令(如定時器和計數(shù)器等)都可與LAD/FBD中的指令相對應(yīng),SCL程序塊也可與LAD/FBD程序塊相互調(diào)用。相對于LAD/FBD,SCL能實現(xiàn)條件處理、循環(huán)和嵌套等控制結(jié)構(gòu),更容易實現(xiàn)復(fù)雜的控制算法。所以SCL也逐漸成為西門子PLC的重要編程語言之一。SCL指令使用標(biāo)準(zhǔn)編程運算符,例如,“(,)”表示表達式,“:=”表示賦值,數(shù)學(xué)運算(“+”表示相加、“-”表示相減、“*”表示相乘、“/”表示相除、“**”表示平方),“<>”表示不等于,“NOT”表示取反等。503.4編程語言電氣控制及S7-1200PLC應(yīng)用技術(shù)3.結(jié)構(gòu)化文本右圖所示的梯形圖為典型的啟保停電路,也可用SCL編程語言來實現(xiàn)。先在PLC變量表中定義三個變量名:I0.0、I0.1和Q0.0,對應(yīng)地址分別為%I0.0、%I0.1和%Q0.0,在SCL程序塊中編寫如下代碼:

IF("I0.0"OR"Q0.0")AND(NOT"I0.1")THEN//StatementsectionIF"Q0.0":=1;ELSE"Q0.0":=0;END_IF;513.4編程語言電氣控制及S7-1200PLC應(yīng)用技術(shù)1.線性化編程Step7編程軟件提供了三種程序設(shè)計方法:線性化編程、模塊化編程和結(jié)構(gòu)化編程。線性化編程是將整個用戶程序連續(xù)放置在一個循環(huán)組織塊(OB1)中,操作系統(tǒng)按照從上向下、從左至右的順序周期性循環(huán)執(zhí)行循環(huán)組織塊中的所有程序,這種結(jié)構(gòu)和繼電器接觸器控制系統(tǒng)類似。線性化編程結(jié)構(gòu)簡單,所有程序均存放于主程序中,不需要進行功能塊、功能和數(shù)據(jù)塊的調(diào)用,比較適合初學(xué)者。然而該編程方法的缺點也很明顯:對于某些具有前提條件的指令,在條件不滿足時可不必執(zhí)行,但循環(huán)掃描方式?jīng)Q定了所有指令在每個掃描周期都將執(zhí)行一次,增加了CPU的負擔(dān);另外,系統(tǒng)中若存在相同或相似的控制工藝,線性化編程需要重復(fù)編寫相同或類似的控制程序,增加了程序的復(fù)雜性和修改難度。所以,雖然線性化編程可實現(xiàn)所有控制要求,但一般僅用于簡單的系統(tǒng)中。523.5程序設(shè)計方法電氣控制及S7-1200PLC應(yīng)用技術(shù)1.線性化編程圖示為采用線性化編程方法編寫的三臺電機控制程序結(jié)構(gòu)。533.5程序設(shè)計方法電氣控制及S7-1200PLC應(yīng)用技術(shù)2.模塊化編程模塊化編程是將復(fù)雜系統(tǒng)的控制要求分解為若干個子要求,對每個子要求編寫?yīng)毩⒌膲K程序(FC/FB),并在主程序OB1中根據(jù)條件對獨立的程序塊進行調(diào)用。被調(diào)用的程序塊執(zhí)行結(jié)束后,返回到OB1中的調(diào)用點,繼續(xù)執(zhí)行后續(xù)程序或調(diào)用其他程序塊。模塊化編程中OB1起著主程序的作用,F(xiàn)C/FB控制著不同的子要求,相當(dāng)于主程序中調(diào)用的子程序。模塊化編程中被調(diào)用塊不向調(diào)用塊返回數(shù)據(jù)。模塊化編程中,主程序和各個被調(diào)用的子程序間沒有參數(shù)的直接傳遞,可單獨編寫各子程序塊,程序結(jié)構(gòu)直觀性強,且方便調(diào)試、修改及查找故障;另外,在主程序中調(diào)用子程序時,只需執(zhí)行滿足條件的程序塊,提高了CPU的利用效率。543.5程序設(shè)計方法電氣控制及S7-1200PLC應(yīng)用技術(shù)2.模塊化編程圖示為采用模塊化編程方法編寫的三臺電機控制程序結(jié)構(gòu)。553.5程序設(shè)計方法電氣控制及S7-1200PLC應(yīng)用技術(shù)2.模塊化編程【例3-4】要求對現(xiàn)場3臺電動機進行啟??刂?,控制方式相同:按下啟動按鈕,對應(yīng)電動機連續(xù)運行;按下停止按鈕,對應(yīng)電動機停止。試用模塊化編程方法實現(xiàn)PLC程序。解:①配置系統(tǒng)I/O分配表:563.5程序設(shè)計方法電氣控制及S7-1200PLC應(yīng)用技術(shù)2.模塊化編程解:②題中3臺電機均為典型的啟保??刂?,可分別在FC1、FC2、FC3中對它們進行單獨控制,然后在主程序OB1中調(diào)用FC1、FC2和FC3即可。如圖所示。573.5程序設(shè)計方法電氣控制及S7-1200PLC應(yīng)用技術(shù)3.結(jié)構(gòu)化編程結(jié)構(gòu)化編程是在將復(fù)雜系統(tǒng)任務(wù)分解的基礎(chǔ)上,進一步對過程要求類似或相關(guān)的任務(wù)歸類,在功能或功能塊中編程,形成通用解決方案。通過不同的參數(shù)調(diào)用相同的功能或通過不同的背景數(shù)據(jù)塊調(diào)用相同的功能塊。結(jié)構(gòu)化編程必須對系統(tǒng)功能進行合理分析、分解和綜合,同時需要對數(shù)據(jù)進行管理,對設(shè)計人員的水平要求較高。結(jié)構(gòu)化編程的特點是分析出類似或相同的控制要求,根據(jù)控制要求編寫統(tǒng)一的結(jié)構(gòu)化程序塊。該方法有如下優(yōu)點:(1)結(jié)構(gòu)化程序塊只需生成一次,顯著減少了編程時間。(2)結(jié)構(gòu)化程序塊只在用戶存儲區(qū)中保存一次,顯著降低了存儲區(qū)用量。(3)結(jié)構(gòu)化程序塊可被程序多次調(diào)用,該程序塊采用形參(IN、OUT或IN/OUT參數(shù))編程,當(dāng)用戶程序調(diào)用該塊時,要用實際地址(實參)給這些參數(shù)賦值。583.5程序設(shè)計方法電氣控制及S7-1200PLC應(yīng)用技術(shù)3.結(jié)構(gòu)化編程對例3-4中的三臺電機控制系統(tǒng)進行結(jié)構(gòu)化編程,程序結(jié)構(gòu)如圖所示。593.5程序設(shè)計方法電氣控制及S7-1200PLC應(yīng)用技術(shù)3.結(jié)構(gòu)化編程【例3-5】要求對現(xiàn)場3臺電動機進行啟??刂?,控制方式相同:按下啟動按鈕,對應(yīng)電動機連續(xù)運行;按下停止按鈕,對應(yīng)電動機停止。試用結(jié)構(gòu)化編程方法實現(xiàn)PLC程序。解:采用FC的結(jié)構(gòu)化編程,搭建結(jié)構(gòu)化的FC1。①

在FC1塊接口中定義接口形參:Input中定義2個Bool型變量(start和stop)、Output或InOut中定義1個Bool型變量(motor)。603.5程序設(shè)計方法電氣控制及S7-1200PLC應(yīng)用技術(shù)3.結(jié)構(gòu)化編程解:②

利用形參在FC1中編寫統(tǒng)一的電機啟保停程序。③最后在OB1中調(diào)用3次FC1程序,每次調(diào)用時用對應(yīng)電機的實參輸入至形參接口處即可。613.5程序設(shè)計方法電氣控制及S7-1200PLC應(yīng)用技術(shù)3.結(jié)構(gòu)化編程【例3-6】某PLC控制系統(tǒng)要求測量壓力、溫度和流量三個物理量,試用結(jié)構(gòu)化編程方法實現(xiàn)上述物理量的均值濾波(假設(shè)連續(xù)取3個采樣值)。解:均值濾波是將最近X(本題X=3)個周期的采樣值求算數(shù)平均,作為本周期的采樣值。即將第N-2、第N-1和第N個周期采樣值的平均值作為第N個周期的采樣值。設(shè)計程序時需將三個周期的采樣值保存下來,可以用FC進行結(jié)構(gòu)化編程,但必須自定義數(shù)據(jù)塊(或位存儲區(qū))、編寫程序來存儲需保持的數(shù)據(jù),比較麻煩。而FB的靜態(tài)變量可由軟件自動保存、還可避免自定義存儲區(qū)發(fā)生沖突的危險。本題可采用FB的結(jié)構(gòu)化編程。623.5程序設(shè)計方法電氣控制及S7-1200PLC應(yīng)用技術(shù)3.結(jié)構(gòu)化編程【例3-6】某PLC控制系統(tǒng)要求測量壓力、溫度和流量三個物理量,試用結(jié)構(gòu)化編程方法實現(xiàn)上述物理量的均值濾波(假設(shè)連續(xù)取3個采樣值)。解:①添加功能塊FB1,在塊接口中定義所需形參,如表所示。633.5程序設(shè)計方法電氣控制及S7-1200PLC應(yīng)用技術(shù)3.結(jié)構(gòu)化編程解:②在FB1中利用形參,編寫均值濾波計算程序,如圖所示。643.5程序設(shè)計方法電氣控制及S7-1200PLC應(yīng)用技術(shù)3.結(jié)構(gòu)化編程解:③

在主程序OB1中,用三個背景數(shù)據(jù)塊DB1、DB2和DB3連續(xù)調(diào)用3次FB1,分別用以處理壓力、溫度和流量。上述物理量對應(yīng)的模擬量輸入過程映像區(qū)地址分別為IW96、IW98和IW100,濾波后的結(jié)果以實數(shù)形式存放在MD96、MD100和MD104中。653.5程序設(shè)計方法電氣控制及S7-1200PLC應(yīng)用技術(shù)1.編程軟件簡介TIA博途(TotallyIntegratedAutomationPortal)軟件為全集成自動化的實現(xiàn)提供了統(tǒng)一的工程平臺,是工業(yè)領(lǐng)域第一個帶有“組態(tài)設(shè)計環(huán)境”的自動化軟件。TIA博途軟件架構(gòu)主要包含:SIMATICSTEP7,用于編程和配置SIMATIC控制器;SIMATICWinCC,用于人機界面設(shè)計和SCADA系統(tǒng);SINAMICSStartDrive,用于驅(qū)動器配置和調(diào)試;此外還支持S7-PLCSIM,用于在計算機上模擬控制器。663.6TIA博途編程軟件(自學(xué))電氣控制及S7-1200PLC應(yīng)用技術(shù)2.編程軟件的基本使用創(chuàng)建項目673.6TIA博途編程軟件電氣控制及S7-1200PLC應(yīng)用技術(shù)右鍵“TIAPortalV15”圖標(biāo)→選擇“以管理員身份運行”方式打開軟件。選擇“打開現(xiàn)有項目”,可打開已有項目;如無已有項目,選擇“創(chuàng)建新項目”→修改“項目名稱”和“修改路徑”→點擊“創(chuàng)建”,即可創(chuàng)建一個新項目,如圖所示。創(chuàng)建項目后選擇“打開項目視圖”,即可進入項目界面。2.編程軟件的基本使用添加設(shè)備683.6TIA博途編程軟件電氣控制及S7-1200PLC應(yīng)用技術(shù)進入項目界面后,雙擊“添加新設(shè)備”→選擇CPU型號和訂貨號(與物理PLC一致)→選擇硬件版本→修改設(shè)備名稱(可不修改)→點擊“確定”,即可為項目添加PLC設(shè)備,如圖所示。2.編程軟件的基本使用硬件組態(tài)693.6TIA博途編程軟件電氣控制及S7-1200PLC應(yīng)用技術(shù)TIA博途項目視圖主要包括“項目樹”(即導(dǎo)航器)、“工作區(qū)”、“監(jiān)視區(qū)”和“任務(wù)卡”等窗口,如圖所示。2.編程軟件的基本使用硬件組態(tài)703.6TIA博途編程軟件電氣控制及S7-1200PLC應(yīng)用技術(shù)配置好硬件設(shè)備后,還需要設(shè)置各模塊的屬性。例如,雙擊機架上的CPU模塊→進入CPU模塊的“屬性”視

溫馨提示

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

最新文檔

評論

0/150

提交評論