《電氣控制及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中國礦業(yè)大學徐海學院第3章S7-1200PLC基礎(chǔ)知識主要內(nèi)容:電氣控制及PLC技術(shù)應(yīng)用1.CPU模塊技術(shù)參數(shù)S7-1200屬于新一代小型PLC,其主機單元(CPU)上集成了微處理器、電源、Profinet通信端口以及一定數(shù)量的輸入/輸出(I/O)點,自身即可組成一個小的控制系統(tǒng),如圖所示。如果需其他控制功能(如串口通信、模擬量輸入輸出處理等),僅需外擴相應(yīng)的模塊即可。2中國礦業(yè)大學徐海學院3.1S7-1200PLC硬件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.CPU模塊技術(shù)參數(shù)S7-1200CPU目前有五種型號的CPU模塊:CPU1211C、CPU1212C、CPU1214C、CPU1215C以及CPU1217C,主要技術(shù)參數(shù)如表所示。3中國礦業(yè)大學徐海學院3.1S7-1200PLC硬件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.CPU模塊硬件接線根據(jù)供電電源和輸入/輸出接口電路的不同,S7-1200中的每種CPU均具有三種類型:AC/DC/RLY、DC/DC/RLY、DC/DC/DC。以CPU1214CAC/DC/RLY為例。4中國礦業(yè)大學徐海學院3.1S7-1200PLC硬件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.CPU模塊針對工業(yè)常見的控制要求,S7-1200CPU集成了相應(yīng)的工藝功能,如:高速計數(shù)器、PID功能、運動控制功能、高速脈沖發(fā)生器(PTO/PWM)等。工藝功能1)高速計數(shù)器S7-1200CPU集成了最多6個高速計數(shù)器(如表3-1),其不受CPU掃描周期的影響,用來對軸編碼器等設(shè)備發(fā)出的高頻脈沖進行計數(shù)??蓽y量的單相脈沖最高頻率高達100kHZ,雙相或A/B相脈沖最高頻率高達30kHZ。2)PID功能PID功能常用于需要進行閉環(huán)控制的過程控制系統(tǒng)中,如溫度、壓力、流量、轉(zhuǎn)速等物理量的閉環(huán)控制。S7-1200CPU提供了最多16個PID控制器,可同時進行回路閉環(huán)控制,用戶可手動調(diào)試PID參數(shù),也可使用PID參數(shù)自整定功能來自動計算回路增益、積分時間和微分時間。5中國礦業(yè)大學徐海學院3.1S7-1200PLC硬件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.CPU模塊工藝功能3)運動控制功能運動控制功能常用與伺服電機、步進電機的速度及位置控制場合。S7-1200在運動控制功能中使用軸的概念,通過對軸的組態(tài)(包括驅(qū)動器接口、位置限制、動態(tài)特性、機械特性等),結(jié)合相應(yīng)的指令塊(滿足PLCopen規(guī)范),可實現(xiàn)絕對位置、相對位置、點動、轉(zhuǎn)速控制及自動尋找參考點的功能。4)高速脈沖發(fā)生器(PTO/PWM)高速脈沖發(fā)生器可在S7-1200CPU和信號板的指定端口發(fā)出高頻脈沖,用以精確控制電機轉(zhuǎn)速、閥門位置等。S7-1200CPU提供了兩路100kHZ的高速脈沖輸出,分別可組態(tài)為PTO或PWM:PTO(固定50%占空比)的功能只能由運動控制指令來實現(xiàn),PWM(周期固定、占空比可變)的功能使用CTRL_PWM指令塊實現(xiàn)。當一個通道被組態(tài)為PTO時,將不能使用PTO功能,反之亦然。6中國礦業(yè)大學徐海學院3.1S7-1200PLC硬件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)2.擴展單元S7-1200CPU上集成了少量的DI/DO、AI/AO(部分型號CPU不具有AO),當復雜系統(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。7中國礦業(yè)大學徐海學院3.1S7-1200PLC硬件系統(tǒng)現(xiàn)代電氣控制及PLC應(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路輸出。8中國礦業(yè)大學徐海學院3.1S7-1200PLC硬件系統(tǒng)現(xiàn)代電氣控制及PLC應(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標準連接至GSM/GPRS)。9中國礦業(yè)大學徐海學院3.1S7-1200PLC硬件系統(tǒng)現(xiàn)代電氣控制及PLC應(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默認分配的地址會有一定的間隔,為了方便編程,有時需對默認地址進行重新分配。10中國礦業(yè)大學徐海學院3.1S7-1200PLC硬件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)3.擴展I/O點的編址S7-1200擴展模塊的I/O地址分配原則:(1)從CPU開始,按照從左到右的次序,依次對同類型的輸入/輸出模塊進行編址。(2)數(shù)字量輸入和模擬量輸入共用同一個映像寄存器,所以它們的地址不能重復,數(shù)字量輸出和模擬量輸出也是一樣。(3)對于數(shù)字量輸入/輸出模塊,按照一組8個位(1個字節(jié))順序分配地址。實際使用地址不足8位的模塊,未用位不能分配給后續(xù)擴展模塊(保留給本模塊),后續(xù)擴展模塊的同類型地址應(yīng)從下一組(下一字節(jié))開始分配。(4)對于模擬量輸入/輸出模塊,按照一組2個字節(jié)(1個字)順序分配地址(模擬量對應(yīng)的數(shù)字量單位長度為2個字節(jié)),只要保證地址不重復即可。注意:上述分配地址的原則是作者贊同的做法,不同工程師有不同的分配方法,也可選擇為軟件默認分配的地址。11中國礦業(yè)大學徐海學院3.1S7-1200PLC硬件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)3.擴展I/O點的編址S7-1200擴展模塊的I/O地址分配原則:【例3-1】某S7-1200控制系統(tǒng)硬件配置如下圖所示,請按照順序?qū)Ω髂K的輸入輸出進行編址。解:該題中的地址分配并不唯一,一般習慣從CPU方向向右依次編址。CPU中,數(shù)字量輸入、輸出默認起始于第0個字節(jié),模擬量輸入、輸出默認起始于第64個字節(jié),后續(xù)擴展模塊可順序編址。12中國礦業(yè)大學徐海學院3.1S7-1200PLC硬件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)3.擴展I/O點的編址S7-1200擴展模塊的I/O地址分配原則:備注:斜體地址表示未被分配,保留給本模塊。13中國礦業(yè)大學徐海學院3.1S7-1200PLC硬件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)與S7-300/400相似,S7-1200在編程時采用“塊”(類似于子程序塊)的概念。將整個程序分解為相互獨立的各個子塊。對于復雜控制系統(tǒng),利用各種塊對整個復雜系統(tǒng)進行分解簡化,有利于程序的設(shè)計和理解;也可以將類似的功能設(shè)計成標準的程序塊進行重復調(diào)用,達到簡化程序、方便修改等目的。S7-1200PLC軟件支持4種類型的塊結(jié)構(gòu),如表所示。14中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)組織塊組織塊(Organizationblock,OB)是操作系統(tǒng)和用戶程序之間的接口,可通過對組織塊編程來控制PLC的動作。組織塊由操作系統(tǒng)調(diào)用,對應(yīng)于CPU中的特定事件。用組織塊可以創(chuàng)建在特定時間執(zhí)行的程序,以及響應(yīng)特定事件的程序。S7-1200支持七種類型的組織塊:程序循環(huán)組織塊、啟動組織塊、延時中斷組織塊、循環(huán)中斷組織塊、硬件中斷組織塊、時間錯誤中斷組織塊、診斷錯誤中斷組織塊,如表所示。某些組織塊在啟動時,操作系統(tǒng)將輸出啟動信息,用戶編寫組織塊程序時,可根據(jù)這些啟動信息進行相應(yīng)處理。15中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)組織塊16中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)組織塊:程序循環(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)先級的組織塊中斷;程序循環(huán)執(zhí)行一次需要的時間即為程序的循環(huán)掃描周期時間。最長循環(huán)時間缺省設(shè)置為150ms。如果程序超過最長循環(huán)時間,操作系統(tǒng)將調(diào)用時間錯誤組織塊OB80;如果OB80不存在,則CPU停機。17中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)組織塊:程序循環(huán)組織塊S7-1200程序循環(huán)工作過程如圖所示。18中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)組織塊:啟動組織塊啟動(Startup)組織塊一般用于編寫初始化程序,如賦初始值等。如果CPU操作模式從STOP切換到RUN(包括RUN模式時CPU斷電再上電、執(zhí)行STOP到RUN命令切換),啟動組織塊將被執(zhí)行一次。啟動組織塊執(zhí)行完畢后才開始執(zhí)行主程序循環(huán)組織塊。S7-1200同時支持多個啟動組織塊,按照編號由小到大順序依次執(zhí)行。啟動組織塊默認編號為OB100。其它編號必須不小于123。19中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)組織塊:延時中斷組織塊延時中斷(Timedelayinterrupt)組織塊在經(jīng)過一段時間延時(用戶自定義)后,才執(zhí)行該組織塊里的程序,可用于故障處理等延時控制場合。S7-1200同時支持最多四個延時中斷組織塊,編號必須為20~23或不小于123。實現(xiàn)延時中斷功能需相關(guān)指令加以配合,如表所示。一般在主程序中調(diào)用“SRT_DINT”指令來啟動延時中斷組織塊,通過OB_NR和DTIME參數(shù)來指定需啟動的延時中斷組織塊、延時時間,到達設(shè)定時間后,執(zhí)行相應(yīng)的延時中斷組織塊;調(diào)用“CAN_DINT”指令可取消已啟動但尚未執(zhí)行的延時中斷組織塊;調(diào)用“QRY_DINT”指令可查詢延時中斷組織塊的工作狀態(tài)。20中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)組織塊:循環(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”指令,如表所示。21中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)組織塊:硬件中斷組織塊硬件中斷(Hardwareinterrupt)組織塊在發(fā)生相關(guān)硬件中斷事件時執(zhí)行,可以快速響應(yīng)硬件中斷事件并執(zhí)行硬件中斷組織塊中的程序(例如立即停止某些關(guān)鍵設(shè)備)。硬件中斷事件包括數(shù)字量輸入端的上升沿/下降沿事件、高速計數(shù)器事件。當發(fā)生硬件中斷事件時,硬件中斷組織塊將中斷正常的循環(huán)程序而優(yōu)先執(zhí)行。S7-1200可以在硬件配置的屬性中預先定義硬件中斷事件,一個硬件中斷事件只允許對應(yīng)一個硬件中斷組織塊,而一個硬件中斷組織塊可以分配給多個硬件中斷事件。另外,在CPU運行期間,可使用“ATTACH”附加指令和“DETACH”分離指令對中斷事件重新分配。硬件中斷組織塊的編號必須為40~47,或不小于123。22中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)組織塊:診斷錯誤中斷組織塊S7-1200支持診斷錯誤中斷,可為具有診斷功能的模塊啟用診斷錯誤中斷功能來檢測模塊狀態(tài)。模塊出現(xiàn)錯誤和解除錯誤時,系統(tǒng)均觸發(fā)診斷錯誤中斷(Diagnosticerrorinterrupt)組織塊OB82,并中斷正常的循環(huán)程序;此時無論程序中有無診斷錯誤中斷OB82,CPU均保持RUN模式,同時ERROR指示燈閃爍。如果希望CPU在接收到該類型的錯誤時進入STOP模式,可以在OB82中加入“STP”指令使CPU進入STOP模式。當調(diào)用診斷錯誤中斷組織塊時,通過監(jiān)視OB82接口變量的信息,可以確定出現(xiàn)錯誤的設(shè)備、通道和錯誤原因。23中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)組織塊:時間錯誤中斷組織塊S7-1200支持時間錯誤中斷,當程序執(zhí)行時間超過最大循環(huán)時間或發(fā)生時間錯誤事件(如:被調(diào)用的組織塊正在執(zhí)行、中斷組織塊隊列發(fā)生溢出、由于中斷負荷過大而導致中斷丟失)時,將觸發(fā)時間錯誤中斷(Timeerrorinterrupt)組織塊OB80。OB80優(yōu)先級最高,它將中斷所有正常循環(huán)程序或其它所有OB事件的執(zhí)行而優(yōu)先執(zhí)行。當調(diào)用時間錯誤中斷組織塊時,通過監(jiān)視OB80接口變量的信息,可以確定相關(guān)錯誤信息。24中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)功能和功能塊功能(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)閉;當FB執(zhí)行完成后,存放在背景數(shù)據(jù)塊中的數(shù)據(jù)不會丟失,這些數(shù)據(jù)可直接被其他程序塊或HMI(人機界面)直接訪問。25中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)功能和功能塊數(shù)據(jù)存儲區(qū)中,F(xiàn)C執(zhí)行完成后,局部變量信息將丟失。若有FC執(zhí)行后需要保存的數(shù)據(jù),可采用全局變量(全局數(shù)據(jù)塊或位存儲區(qū)M等),但這樣會影響FC的可移植性;如果FC中僅使用局部變量,可直接將該FC移植到其他工程中;如果FC中包含全局變量,需保證移植后FC中使用的全局變量與其他塊中使用的全局變量不沖突。由于FC沒有自己的存儲區(qū)域,不能給局部變量設(shè)置初始值,調(diào)用時需給所有的形參指定實參。另外,PLC操作系統(tǒng)只負責分配臨時區(qū)域并不管資源回收,所以FC編程時遵循的原則是先賦值再使用,否則臨時區(qū)域的數(shù)據(jù)有可能是其他FC用剩下的,造成程序的混亂。26中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.S7-1200程序架構(gòu)數(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訪問,S7-1200中,除了一般FB使用的背景數(shù)據(jù)塊外,還有專為定時器、計數(shù)器指令使用的背景數(shù)據(jù)塊。全局數(shù)據(jù)塊只包含靜態(tài)變量,用戶可以在變量表中自定義要包含的變量;背景數(shù)據(jù)塊的結(jié)構(gòu)和參數(shù)完全取決于指定功能塊的接口申明,用戶不能自行修改它的結(jié)構(gòu)。用戶在編輯生成數(shù)據(jù)塊時,需要指定是否啟用僅符號訪問選項,此特性在數(shù)據(jù)塊生成后無法修改。27中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址S7-1200與其他計算機控制系統(tǒng)一樣,其具有的存儲器用于存放操作系統(tǒng)數(shù)據(jù)、用戶程序及變量信息等,以保證PLC能夠正常工作。物理存儲器類型(1)隨機存取存儲器(RAM)(2)只讀存儲器(ROM)(3)閃存(FlashEPROM)/電可擦可編程只讀存儲器(EEPROM)28中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(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ù)不會丟失。若未插入存儲卡,則CPU使用內(nèi)部裝載存儲區(qū);若插入存儲卡,則CPU使用該存儲卡作為裝載存儲區(qū),但裝載存儲區(qū)的實際容量不會超過內(nèi)部裝載存儲區(qū)的容量(即使存儲卡容量大于內(nèi)部裝載存儲區(qū)容量)。另外,用戶程序中的符號名和注釋也可以被下載到裝載存儲區(qū)中,極大方便用戶的后期調(diào)試和維護。29中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址S7-1200的內(nèi)部存儲器/區(qū):用戶存儲區(qū)(2)工作存儲區(qū):屬于易失性存儲器,用于存放CPU運行時從裝載存儲器中復制來的用戶數(shù)據(jù),物理性質(zhì)上屬于隨機存取存儲器。CPU上電后,將與程序執(zhí)行有關(guān)的用戶程序(如:OB、FB、FC、DB)從裝載存儲器復制到工作存儲區(qū)中,提高CPU的訪問速度;CPU斷電后,工作存儲區(qū)中的數(shù)據(jù)丟失。工作存儲區(qū)容量不能被擴展。(3)斷電保持存儲區(qū):屬于非易失性存儲器,用于存放斷電時需要保存的重要數(shù)據(jù)。CPU斷電時,將工作存儲區(qū)指定的數(shù)據(jù)保存在斷電保持存儲區(qū)中,待電源恢復后(暖啟動時)再將保存的數(shù)據(jù)還原至原來的地址,S7-1200系列CPU均有10KB的斷電保持存儲區(qū)。。30中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(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)。(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)容的拷貝,所以可讀可寫。31中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址S7-1200的內(nèi)部存儲器/區(qū):系統(tǒng)存儲區(qū)(2)輸出過程映像區(qū)QCPU在每個循環(huán)周期結(jié)束前都會把輸出過程映像區(qū)的內(nèi)容復制到外設(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ù),所以可讀可寫。32中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(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ū)。33中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(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)收回。34中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址S7-1200的尋址每個存儲區(qū)均有唯一的地址,尋址即是用戶程序?qū)ふ疫@些地址并訪問存儲區(qū)中信息的過程。S7-1200支持的尋址方式有直接尋址和間接尋址兩種。(1)絕對尋址直接采用存儲區(qū)域標識符、數(shù)據(jù)長度及直接地址來表示的尋址方式,如I0.3、QB2、MW4、DB1.DBD6等。S7-1200的存儲區(qū)按字節(jié)為基本單元進行分配,無論尋址何種數(shù)據(jù),通常應(yīng)指出該數(shù)據(jù)所在存儲區(qū)域內(nèi)的字節(jié)地址。①位尋址:由存儲區(qū)域標識符、字節(jié)地址及位號組成。例如:I0.3表示輸入過程映像區(qū)I中的第0個字節(jié)的第3位;DB1.DBX2.5表示數(shù)據(jù)塊存儲區(qū)DB1中的第2個字節(jié)的第5位。②字節(jié)、字、雙字尋址:由存儲區(qū)域標識符、數(shù)據(jù)長度及起始字節(jié)號組成。例如:MB0表示位存儲區(qū)M中的第0個字節(jié)開始的一個字節(jié)地址;MD0表示位存儲區(qū)M中的第0個字節(jié)開始的一個雙字地址;DB1.DBD6表示數(shù)據(jù)塊存儲區(qū)DB1中的第6個字節(jié)開始的一個雙字地址。35中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址S7-1200的尋址(1)絕對尋址36中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)2.S7-1200存儲區(qū)及尋址S7-1200的尋址每個存儲區(qū)均有唯一的地址,尋址即是用戶程序?qū)ふ疫@些地址并訪問存儲區(qū)中信息的過程。S7-1200支持的尋址方式有直接尋址和間接尋址兩種。(2)符號尋址符號尋址是對絕對地址定義一個符號名,并利用該符號名進行尋址。在變量表中將I0.0、Q0.0的符號名分別定義為Start、Motor_On,即可通過Start和Motor_On訪問用戶程序中的地址,可提高程序的直觀性和易讀性。符號尋址尤其適用于變量較多的復雜系統(tǒng),定義的符號應(yīng)符合行業(yè)內(nèi)標準。對于數(shù)據(jù)塊DB,因在添加該塊時默認屬性是“優(yōu)化的塊訪問”,所以在程序中只能為該存儲區(qū)的絕對地址創(chuàng)建符號,并采用符號尋址方式進行訪問。如想采用直接尋址方式(如DB2.DBX0.3),可右鍵點擊項目樹中的數(shù)據(jù)塊→屬性→取消勾選“優(yōu)化的塊訪問”。37中國礦業(yè)大學徐海學院3.2S7-1200PLC軟件系統(tǒng)現(xiàn)代電氣控制及PLC應(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ù)。38中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(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。39中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(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。40中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(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)用場合也日趨減少。41中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型數(shù)據(jù)類型用于定義操作數(shù)的類型和長度,以確保操作數(shù)與指令類型的一致性。S7-1200支持的數(shù)據(jù)類型有:基本數(shù)據(jù)類型、復雜數(shù)據(jù)類型、PLC數(shù)據(jù)類型、參數(shù)類型、系統(tǒng)數(shù)據(jù)類型和硬件數(shù)據(jù)類型。基本數(shù)據(jù)類型42中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(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)如圖所示。43中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型基本數(shù)據(jù)類型最高位(第31位)為符號位;第23~30位為8位指數(shù)位,第0~22位為23位尾數(shù)位。IEEE754標準規(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ù)的運算速度要慢一些。44中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(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(下劃線可不寫,不需指定全部時間單位)。45中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(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。46中國礦業(yè)大學徐海學院現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)3.3數(shù)制與數(shù)據(jù)類型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。對比式(4-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。47中國礦業(yè)大學徐海學院現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)3.3數(shù)制與數(shù)據(jù)類型1.數(shù)據(jù)類型復雜數(shù)據(jù)類型基本數(shù)據(jù)類型的組合即可構(gòu)成復雜數(shù)據(jù)類型,S7-1200支持的復雜數(shù)據(jù)類型如表所示。48中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型復雜數(shù)據(jù)類型:DTL數(shù)據(jù)類型DTL(長型日期和時間)數(shù)據(jù)類型使用12個字節(jié)保存日期和時間信息。可在塊的臨時存儲器或者DB中定義DTL數(shù)據(jù)。DTL變量由8個部分構(gòu)成,各部分的數(shù)據(jù)類型和取值范圍不同,如表所示。49中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型復雜數(shù)據(jù)類型:String數(shù)據(jù)類型String(字符串)數(shù)據(jù)類型的變量用于存儲一串Char(字符)類型的數(shù)據(jù),表達時應(yīng)對字符串數(shù)據(jù)加單引號,如'A'、'DEF'和'123.4'等。String類型的變量最多占256個字節(jié):首字節(jié)用于存放“總字符數(shù)”,第2個字節(jié)用于存放“當前字符數(shù)”、其余最多254個字節(jié)用于存放“用戶字符數(shù)據(jù)”(每個字符占1個字節(jié))。整個String占用的字節(jié)數(shù)應(yīng)為總字符數(shù)加2。String類型的變量可定義在程序塊的塊接口或者全局數(shù)據(jù)塊中,但不能定義在變量表中(僅能定義基本數(shù)據(jù)類型)。可將數(shù)據(jù)類型定義為String[20],其中[20]表示該字符串總字符數(shù)為20;也可直接定義為String,默認總字符數(shù)為最大的254。指定字符串的當前字符數(shù)應(yīng)不超過總字符數(shù),若當前字符數(shù)小于總字符數(shù),剩余的字符空間將保留給本變量。50中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型復雜數(shù)據(jù)類型:String數(shù)據(jù)類型如表所示,該String類型的變量共占22個字節(jié)地址,可表示最大20個單字節(jié)字符,當前只使用了2個單字節(jié)字符,其余字節(jié)地址保留給本變量,不能分配給后續(xù)String類型的變量。51中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型復雜數(shù)據(jù)類型:Array數(shù)據(jù)類型Array(數(shù)組)數(shù)據(jù)類型由多個相同數(shù)據(jù)類型的元素組成,數(shù)組中元素的數(shù)據(jù)類型可以是所有的基本數(shù)據(jù)類型。Array變量可定義在程序塊的塊接口或者全局數(shù)據(jù)塊中,但不能定義在變量表中。定義Array數(shù)據(jù)時,應(yīng)選擇數(shù)據(jù)類型“Array[lo..hi]oftype”,其中l(wèi)o、hi分別表示數(shù)組元素標號的下限值、上限值,最大范圍為[-32768..32767],且下限值應(yīng)不大于上限值;type表示數(shù)據(jù)元素的數(shù)據(jù)類型,如Bool、Byte、SInt等。Array數(shù)據(jù)可以是一維到六維數(shù)組,用逗號將多維元素的標號分開。52中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型復雜數(shù)據(jù)類型:Array數(shù)據(jù)類型可以通過Array中的標號訪問各元素,如表所示?!?"Array_Bool"[1]”表示引用數(shù)組Array_Bool的第2個元素;“#"Array_DInt"[2,4]”表示引用數(shù)組Array_DInt的第5個元素。注意:“#”符號由程序編輯器自動生成,用戶無需輸入。53中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型復雜數(shù)據(jù)類型:Struct數(shù)據(jù)類型Struct(結(jié)構(gòu))數(shù)據(jù)類型也由多個元素組成,但結(jié)構(gòu)中元素的數(shù)據(jù)類型可以不同,可以是基本數(shù)據(jù)類型,也可以是Struct、數(shù)組等復雜數(shù)據(jù)類型。Struct類型嵌套Struct類型的深度限制為8級。Struct類型的變量可作為一個變量整體使用,也可單獨使用Struct的各元素。Struct變量可定義在程序塊的塊接口、全局數(shù)據(jù)塊中,變量和內(nèi)部各元素地址按照定義的先后順序由軟件自動生成。Struct變量整體地址以字為基本單位,未占滿1個字的地址保留給本變量。54中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型PLC數(shù)據(jù)類型PLC數(shù)據(jù)類型指用戶自定義數(shù)據(jù)類型(UDT,User-definedType),其與Struct數(shù)據(jù)類型相似,也由用戶自定義的多個元素組成。各元素數(shù)據(jù)類型可以是基本數(shù)據(jù)類型、也可以是Struct及數(shù)組等復雜數(shù)據(jù)類型、或是其他UDT類型。UDT類型嵌套UDT類型的深度限制為8級。UDT類型的變量可作為一個變量整體與Variant、DB_ANY類型及相關(guān)指令配合使用,也可單獨使用UDT的各元素;還可直接創(chuàng)建UDT類型的DB塊。UDT變量可定義在程序塊的塊接口、全局數(shù)據(jù)塊以及變量表中的I和Q中,該變量可在程序中重復使用并統(tǒng)一更改,一旦UDT變量發(fā)生修改,通過全編譯程序可自動更新到所有使用該變量的場合。55中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型PLC數(shù)據(jù)類型UDT類型是Struct類型的升級指令,功能基本完全兼容Struct類型。需使用Struct類型時,可以使用UDT類型進行替代。Struct類型相對于UDT類型具有以下缺點:(1)Struct類型的數(shù)據(jù)無法統(tǒng)一修改,多次調(diào)用同一個Struct數(shù)據(jù)時,如需修改該數(shù)據(jù),需在每一個調(diào)用的地方進行修改,可擴展性較差。(2)Struct類型與UDT類型的相同結(jié)構(gòu)不兼容。(3)操作系統(tǒng)會對Struct中所有元素的類型進行匹配檢查,大量使用Struct數(shù)據(jù)會降低系統(tǒng)性能。(4)每個Struct都是一個單獨的數(shù)據(jù)對象,其信息將加載到PLC中,浪費存儲空間。56中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型參數(shù)類型各類程序塊(OB/FC/FB)之間傳遞數(shù)據(jù)時,需在塊接口中定義形參(形式參數(shù):如ADD指令的IN1輸入標示符),形參的類型可定義為基本數(shù)據(jù)類型、復雜數(shù)據(jù)類型、PLC數(shù)據(jù)類型、系統(tǒng)數(shù)據(jù)類型和硬件數(shù)據(jù)類型,也可定義為參數(shù)類型。參數(shù)類型包括Variant和Void兩種。類似高級編程語言中的泛函,Variant類型的實參(實際參數(shù):如ADD指令I(lǐng)N1輸入端對應(yīng)的絕對地址MW100等)是一個可以指向不同數(shù)據(jù)類型變量的指針。Variant指針可以是基本數(shù)據(jù)類型的對象(如Int、Real),也可是String、DTL、Struct、Array或UDT等復雜數(shù)據(jù)類型。Variant指針可以識別結(jié)構(gòu)并指向各個結(jié)構(gòu)元素。Variant類型的參數(shù)不是一個對象,而是對另一個對象的引用。只能在OB/FC/FB的塊接口(靜態(tài)變量除外)中定義Variant類型的形參,該參數(shù)不占用背景數(shù)據(jù)塊或工作存儲器的空間(內(nèi)存空間),但占用裝載存儲器的空間(硬盤空間)。57中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型參數(shù)類型Variant類型的實參表示方法如表所示。Void參數(shù)類型不保存任何數(shù)據(jù),新建的程序塊FC默認不需要任何返回值,其塊接口中Return參數(shù)默認為“Void”類型。如果程序塊FC需要返回值,可將Return參數(shù)修改為其他數(shù)據(jù)類型,重新編譯調(diào)用FC后,會在FC方框的右端出現(xiàn)作為輸出參數(shù)的返回值。58中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型系統(tǒng)數(shù)據(jù)類型系統(tǒng)數(shù)據(jù)類型由系統(tǒng)提供具有預定義的結(jié)構(gòu),結(jié)構(gòu)由固定數(shù)目的具有各種數(shù)據(jù)類型的元素構(gòu)成,用戶不能更改該結(jié)構(gòu)。系統(tǒng)數(shù)據(jù)類型只能用于特定指令,可以在DB塊、OB/FC/FB接口區(qū)使用。常見系統(tǒng)數(shù)據(jù)類型如表所示。59中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型硬件數(shù)據(jù)類型硬件數(shù)據(jù)類型由CPU提供,該數(shù)據(jù)類型的數(shù)目取決于CPU。根據(jù)硬件配置中設(shè)置的模塊存儲特定硬件數(shù)據(jù)類型的常量。在用戶程序中插入用于控制或激活已組態(tài)模塊的指令時,可將這些可用常量用作參數(shù)。常見硬件數(shù)據(jù)類型如表所示。60中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.數(shù)據(jù)類型硬件數(shù)據(jù)類型61中國礦業(yè)大學徐海學院3.3數(shù)制與數(shù)據(jù)類型現(xiàn)代電氣控制及PLC應(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種標準編程語言:梯形圖LAD、功能塊圖FBD和結(jié)構(gòu)化控制語言SCL(即標準中的結(jié)構(gòu)文本ST)。在添加各程序塊時即可選擇編程語言;或者打開現(xiàn)有程序塊,點擊右下角的“屬性”→“常規(guī)”→“語言”,可進行LAD與FBD之間的相互轉(zhuǎn)換。梯形圖LAD類似于繼電器接觸器控制系統(tǒng)的控制線路圖,特別適合邏輯控制場合。梯形圖編程方法簡單、修改方便且直觀易懂,容易被初學者和熟悉繼電器接觸器系統(tǒng)的工程師掌握,是目前使用最為廣泛的圖形化編程語言。62中國礦業(yè)大學徐海學院3.4編程語言現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)1.梯形圖梯形圖由母線、觸點、線圈和功能框等元素組成,其特點如下:(1)母線相當于繼電器接觸器控制系統(tǒng)的電源線,以左、右兩條豎線表示(西門子PLC編程軟件中省略了右母線),左母線狀態(tài)始終為ON,所有指令均應(yīng)從左母線出發(fā)。(2)觸點和線圈沿用了繼電器接觸器控制系統(tǒng)的術(shù)語。觸點表示邏輯輸入條件,如開關(guān)、按鈕等外部輸入信號或內(nèi)部的常開、常閉觸點。線圈通常表示邏輯輸出結(jié)果,用以控制繼電器、接觸器等外部輸出或內(nèi)部的線圈等。(3)功能框用來表示定時器、計數(shù)器或數(shù)學運算等復雜的指令。63中國礦業(yè)大學徐海學院3.4編程語言現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)2.功能塊圖功能塊圖FBD是一種類似于數(shù)字邏輯門電路的圖形化編程語言,也具有簡單直觀的優(yōu)點,容易被具有數(shù)字邏輯電路基礎(chǔ)的工程師掌握。功能塊圖用類似與門、或門的方框來表示邏輯運算關(guān)系,方框的左側(cè)為邏輯運算的輸入信號,右側(cè)為輸出信號,輸入、輸出端的小圓圈表示“取反”運算,各方框的連接線即為信號線,信號從左往右流動。功能塊圖編程語言的特點是:(1)以功能指令或功能塊為單位,容易理解,分析方便。(2)功能塊圖也是圖形化編程語言,直觀性強,容易掌握。(3)對于控制邏輯復雜的系統(tǒng),由于功能塊圖能清楚表達功能關(guān)系,使編程調(diào)試時間大大減少。64中國礦業(yè)大學徐海學院3.4編程語言現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)2.功能塊圖圖示為功能塊圖編程實例,為了更好地對比理解,將對應(yīng)的梯形圖放在左邊。65中國礦業(yè)大學徐海學院3.4編程語言現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)3.結(jié)構(gòu)化文本結(jié)構(gòu)化控制語言SCL是基于PASCAL的高級編程語言,支持賦值、數(shù)學運算、比較和位邏輯等標準語句,也支持IF-THEN、CASE-OF和WHILE-Do等控制語句,特別適合復雜算法、數(shù)學函數(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)復雜的控制算法。所以SCL也逐漸成為西門子PLC的重要編程語言之一。SCL指令使用標準編程運算符,例如,“(,)”表示表達式,“:=”表示賦值,數(shù)學運算(“+”表示相加、“-”表示相減、“*”表示相乘、“/”表示相除、“**”表示平方),“<>”表示不等于,“NOT”表示取反等。66中國礦業(yè)大學徐海學院3.4編程語言現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)3.結(jié)構(gòu)化文本結(jié)構(gòu)化控制語言SCL是基于PASCAL的高級編程語言,支持賦值、數(shù)學運算、比較和位邏輯等標準語句,也支持IF-THEN、CASE-OF和WHILE-Do等控制語句,特別適合復雜算法、數(shù)學函數(shù)編程以及數(shù)據(jù)和配方管理過程優(yō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;67中國礦業(yè)大學徐海學院3.4編程語言現(xiàn)代電氣控制及PLC應(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)用,比較適合初學者。然而該編程方法的缺點也很明顯:對于某些具有前提條件的指令,在條件不滿足時可不必執(zhí)行,但循環(huán)掃描方式?jīng)Q定了所有指令在每個掃描周期都將執(zhí)行一次,增加了CPU的負擔;另外,系統(tǒng)中若存在相同或相似的控制工藝,線性化編程需要重復編寫相同或類似的控制程序,增加了程序的復雜性和修改難度。所以,雖然線性化編程可實現(xiàn)所有控制要求,但一般僅用于簡單的系統(tǒng)中。68中國礦業(yè)大學徐海學院現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)3.5程序設(shè)計方法1.線性化編程圖示為采用線性化編程方法編寫的三臺電機控制程序結(jié)構(gòu)。69中國礦業(yè)大學徐海學院現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)3.5程序設(shè)計方法2.模塊化編程模塊化編程是將復雜系統(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控制著不同的子要求,相當于主程序中調(diào)用的子程序。模塊化編程中被調(diào)用塊不向調(diào)用塊返回數(shù)據(jù)。模塊化編程中,主程序和各個被調(diào)用的子程序間沒有參數(shù)的直接傳遞,可單獨編寫各子程序塊,程序結(jié)構(gòu)直觀性強,且方便調(diào)試、修改及查找故障;另外,在主程序中調(diào)用子程序時,只需執(zhí)行滿足條件的程序塊,提高了CPU的利用效率。70中國礦業(yè)大學徐海學院現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)3.5程序設(shè)計方法2.模塊化編程圖示為采用模塊化編程方法編寫的三臺電機控制程序結(jié)構(gòu)。71中國礦業(yè)大

溫馨提示

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

評論

0/150

提交評論