直播推薦
企業(yè)動態(tài)
- 硬核突圍!上海兆越以自主可控技術(shù)重構(gòu)礦山通信生態(tài)
- 京東五金城設(shè)立樂清電氣地標(biāo)館 探索數(shù)智供應(yīng)鏈助力產(chǎn)業(yè)帶發(fā)展新模式
- 旋轉(zhuǎn)設(shè)備故障檢測,我們更懂工廠的“心跳” ——昆山金斗云測控
- 華為工業(yè)智能平臺iDME.X:工業(yè)知識圖譜新引擎,賦能工業(yè)新智造
- 賽思快訊 | 浙江省政協(xié)教科衛(wèi)體委主任鄭瑤一行領(lǐng)導(dǎo)蒞臨賽思調(diào)研
- 河北省建筑電氣&智能化2025學(xué)術(shù)交流會
- 祝山東省建筑電氣與智能化2025年年會成功召開
- 智聯(lián)無碳未來!臺鈴全球首發(fā)電動車全生命周期碳管理系統(tǒng)
推薦展會
西門子PLC應(yīng)用基礎(chǔ)
目前,SIEMENS(西門子)系列PLC在國內(nèi)的產(chǎn)品中,可根據(jù)PLC性能以及大小劃分為:S7-200、S7-300以及S7-400三種,下面對以上三種國內(nèi)的西門子PLC系列進行簡單的描述。
*種:西門子S7-200
針對低性能要求的摸塊化小控制系統(tǒng),它zui多可有7個模塊的擴展能力,在模塊中集成背板總線,它的網(wǎng)絡(luò)聯(lián)接有RS-485通訊接口和PROFIBUS兩種,可通過編程器PG訪問所有模塊,帶有電源、CPU和I/O的一體化單元設(shè)備。
其中的擴展模塊(EM)有以下幾種:數(shù)字量輸入模塊(DI)——24VDC和120/230VAC;數(shù)字量輸出(DO)——24VDC和繼電器;模擬量輸入模塊(AI)——電壓、電流、電阻和熱電偶;模擬量輸出模塊——電壓和電流。還有一個比較特殊的模塊-通訊處理器(CP)——該塊的功能是可以把S7-200作為主站連接到AS-接口(傳感器和執(zhí)行器接口),通過AS-接口的從站可以控制多達248個設(shè)備,這樣就可以顯著的擴展S7-200的輸入和輸出點數(shù)。
CPU設(shè)計
有3種手動選擇操作模式:STOP——停機模式,不執(zhí)行程序;TERM——運行程序,可以通過編程器進行讀/寫訪問;RUN——運行程序,通過編程器僅能進行讀操作。
狀態(tài)指示器(LED):SF——系統(tǒng)錯誤或(和)CPU內(nèi)部錯誤;RUN——運行模式,綠燈;STOP——停機模式,黃燈;DP——分布式I/O(僅對CPU-215)。
存儲器卡——用來在沒電的情況下不需要電池就可以保存用戶程序。PPI口用來連接編程設(shè)備、文本顯示器或其他CPU。
第二種:西門子S7-300
相比較S7-200,S7-300針對的是中小系統(tǒng),他的模塊可以擴展多達32個模塊,背板總線也在模塊內(nèi)集成,它的網(wǎng)絡(luò)連接已比較成熟和流行,有MPI(多點接口)、PROFIBUS和工業(yè)以太網(wǎng),使通訊和編程變的簡單和多選性,并可以借助于HWConfig工具可以進行組態(tài)和設(shè)置參數(shù)。
S7-300的模塊稍微多一點,除了信號模塊(SM)和200的EM模塊同類型之外,它還有接口模塊(IM)——用來進行多層組態(tài),把總線從一層傳到另一層;占位模塊(DM)——為沒有設(shè)置參數(shù)的信號模塊保留一個插槽或為以后安裝的接口模塊保留一個插槽;功能模塊(FM)——執(zhí)行特殊功能,如計數(shù)、定位、閉環(huán)控制相當(dāng)于對CPU功能的一個擴展或補充;通訊處理器(CP)——提供點對點連接、PROFIBUS和工業(yè)以太網(wǎng)。
CPU設(shè)計
模式選擇器有:MRES=模塊復(fù)位功能;STOP=停止模式,程序不執(zhí)行;RUN=程序執(zhí)行,編程器只讀操作;RUN-P=程序執(zhí)行,編程器可讀寫操作。
狀態(tài)指示器:SF,BATF=電池故障;DC5V=內(nèi)部5VDC電壓指示;FRCE=表示至少有一個輸入或輸出被強制;RUN=當(dāng)CPU啟動時閃爍,在運行模式下常亮;STOP=在停止模式下常亮,有存儲器復(fù)位請求時慢速閃爍,正在執(zhí)行復(fù)位時快速閃爍。
MPI接口用來連接到編程設(shè)備或其他設(shè)備,DP接口用來直接連接到分布式I/O。
第三種:西門子S7-400
同300的區(qū)別主要是規(guī)模和性能上更強大,啟動類型有冷啟動(CRST)和熱啟動(WRST)之分,其他基本一樣。哦,它還有一個外部的電池電源接口,當(dāng)在線更換電池時可以向RAM提供后備電源。
編程設(shè)備
編程設(shè)備主要有PG720PG740PG760——可以理解成裝有編程軟件的手提電腦;也可以直接用安裝有STEP7(SIEMENS的編程軟件)的PC來完成。而實現(xiàn)通訊(要編程首先要和PLC的CPU通訊上)的要求主要在于接口:1.可以在PC上裝CP5611卡——上面有MPI口,可用電纜直接連接。2.加個PC適配器,把MPI口轉(zhuǎn)換成RS-232口后接到PC上。3.PLC加CP343卡,使它具有以太網(wǎng)口。
一個工程的建立
項目管理
每個自動化過程都是由許多較小的部分和子過程組成,所以工程建立的*個任務(wù)是分解子任務(wù)。而每個子任務(wù)定義了自動化系統(tǒng)要完成的硬件和軟件要求。其中硬件包括輸入/輸出數(shù)目和類型,對應(yīng)模塊序號和類型,所用機架號,CPU型號和容量,HMI(人機界面)系統(tǒng),網(wǎng)絡(luò)系統(tǒng)。軟件方面主要是程序結(jié)構(gòu),自動化過程中的數(shù)據(jù)管理,組態(tài)數(shù)據(jù)、通訊數(shù)據(jù)及程序和項目文檔。在SIEMENS的S7中,上述工作都在項目管理(SIMATIC管理器),包括必須的硬件(+組態(tài)),網(wǎng)絡(luò)(+組態(tài)),所有程序和自動化解決方案的數(shù)據(jù)管理。F1在線幫助。
SIMATIC管理器管理STEP7項目,編寫STEP7用戶程序的工具,有梯形圖LAD,語句表STL,和功能塊圖FBD,編程語言。利用編程器或外部編程器可以把用戶程序保存到EPROM卡上。
SIMATIC管理器是一個在線/離線編輯S7對象的圖形化用戶界面,這些對象包括項目、用戶程序、快、硬件站和工具。此管理器的用戶界面中工具條和WINDOWS差不多,就是多了幾個PLC菜單——顯示訪問節(jié)點、存儲器卡、下載、仿真模塊。
注::由于目前主流系統(tǒng)是S7-300,所以下面的操作基本以S7-300為主,而實際過程由于配置的不同可能會有所不同。
STEP7項目結(jié)構(gòu):項目中,數(shù)據(jù)以對象形式存儲,按樹型結(jié)構(gòu)組織。
*級:包含項目圖表,每個項目代表和項目存儲有關(guān)的一個數(shù)據(jù)結(jié)構(gòu)。
第二級:站(如S7-300)用于存放硬件組態(tài)和模塊參數(shù)等信息,站是組態(tài)硬件的起點。
S7程序文件夾是編寫程序的起點,所有S7系列的軟件均放在S7程序文件夾下,它包含程序塊文件和源文件夾。
SIMATIC的網(wǎng)絡(luò)圖表(MPI、PROFIBUS、工業(yè)以太網(wǎng))
第三級和其他級:和上級對象類型有關(guān)。
編程器可離線/在線查看項目——OFFLINE:編程器硬盤上的內(nèi)容;ONLINE:通過網(wǎng)線從PLC讀到的內(nèi)容。
菜單選項:在OPTIONS-CUSTOMIZE設(shè)置語言、助記符、常用特性(存儲位置、系統(tǒng)信息顯示)。
創(chuàng)建一個項目:FILENEWNEWPROJECT
插入S7程序塊:INSERTPROGRAMS7PROGRAM
插入S7塊:INSERTS7BLOCK然后可選:1:組織塊(OB)被操作系統(tǒng)調(diào)用,他們是操作系統(tǒng)和用戶程序的接口。2:功能FC和功能塊FB是實際的用戶程序利用他們可以把復(fù)雜的程序分解成小的,易于調(diào)試的單元。3:數(shù)據(jù)塊存儲用戶的數(shù)據(jù)。選擇所需塊類型后,會打開一個屬性對話框,其中可輸入塊序號和要使用的編程語言,及其他設(shè)置。
補充一下:
1、內(nèi)存總清——MRES=MEMORYRESET,經(jīng)過MRES的模塊相當(dāng)于一個新模塊,所以請務(wù)必謹(jǐn)慎。方法是:放在MRES足夠時間,到STOP指示燈閃2下;彈回到STOP再迅速放到MRES,此時STOP快速閃6下——內(nèi)存清空,將刪除所有用戶程序數(shù)據(jù),硬件測試和初始化,如果此時裝有EPROM卡,把卡內(nèi)容COPY到內(nèi)部RAM區(qū)。
2、SIEMENS的信號模塊(SM)結(jié)構(gòu)設(shè)計,接線非常方便,更換摸板無需接線(可拔下來)。固定方式有彈簧和螺釘連接兩種。
3、對于軟件的*:在光盤安裝后以后,一定要用軟盤(權(quán)盤)*,對于重裝系統(tǒng)或軟件的,一定要先”收回“權(quán)到軟盤以后,才進行,以便重裝以后再次*,否則只能西門子了。
硬件組態(tài)和存儲器概念
S7-300的存儲器概念:
裝載存儲器是一個可編程模塊,它包括建立在編程設(shè)備上的裝載對象(邏輯塊、數(shù)據(jù)塊和其他信息),它可以是存儲器卡或內(nèi)部集成的RAM。存儲器卡一般有兩種,其中,當(dāng)采用RAM存儲器卡時,系統(tǒng)必須配備電池,當(dāng)采用FlashEPROM存儲器卡時,則斷電不會丟失,但內(nèi)部RAM中的數(shù)據(jù)仍需電池保持。工作存儲器僅包含和運行時間使用的程序和數(shù)據(jù),RAM工作存儲器集成在CPU中,通過后備電池保持。系統(tǒng)存儲器包括過程映象輸入和輸出表(PII,PIQ),位存儲器,定時器,計數(shù)器和局部堆踐。保持存儲器是非揮發(fā)的RAM,即使沒有安裝后備電池也可用來保持某些數(shù)據(jù),設(shè)置CPU參數(shù)時要保持的區(qū)域。
從上述概念可知,假如我們在線修改程序,被修改的塊存放在工作存儲器中,當(dāng)把程序上載到編程器時,就從工作存儲器傳到編程器。由于斷電會導(dǎo)致RAM數(shù)據(jù)的丟失,所以假如要安全保存被修改的程序,就必須保存在FEPROM或硬盤上。
硬件組態(tài)和參數(shù)分配
一些概念:組態(tài)就是指在硬件組態(tài)的站窗口中分配機架、塊可分布式I/O,可從硬件目錄中選擇部件;參數(shù)分配就是建立可分配參數(shù)模塊的特性,例如啟動特性、保持區(qū)等;設(shè)定組態(tài)就是設(shè)定好的硬件組態(tài)和參數(shù)分配;實際組態(tài)指已存在的實際組態(tài)和參數(shù)分配,一般是在已裝配的系統(tǒng)中,從PLC的CPU中讀出來的。
組態(tài)過程:
啟動硬件組態(tài):新建一個項目(PROJECT),選擇該項目,并插入(INSERT)一個站(STATION),在SIMATIC管理器中選擇硬件站(HARDWARE)雙擊OPEN即可,我們同時可以打開硬件目錄——VIEW-CATALOG,如果選擇標(biāo)準(zhǔn)硬件目錄庫,它會提供所有的機架、模塊和接口模塊。
產(chǎn)生硬件組態(tài):主要選擇機架,模塊如何在機架擺放。具體是:
1、在硬件目錄中打開一個SIMATIC300站的RACK-300(例如是300),雙擊或拖到左邊窗口。這樣在左邊的窗口中就出現(xiàn)兩個機架表:上面的部分顯示一個簡表,下面的部分顯示帶有定貨號、MPI地址和I/O地址的詳細(xì)信息。
2、電源:雙擊或拖拉目錄中的“PS-300”模塊,放到表中的一號槽位上。
3、CPU:從CPU-300的目錄中選擇你所配置的CPU,列入2號槽位。
4、3號槽—一般接口模塊保留(用于多層組態(tài)),在實際配置中,如果這個位置要保留以后安裝接口模塊,在安裝時就必須插入一個占位模塊。
5、信號模塊:從4號槽位開始zui多可以插入八塊信號模塊(SM卡),包括通訊處理器(CP)和功能模塊(FM)。
6、CP卡(通訊處理卡):如以太網(wǎng)卡CP-343,PROFIBUSCP-341、342等。當(dāng)然我們也可以直接用CPU上的MPI口,省錢但速度相對慢點。
分配參數(shù):按要求對各種模塊參數(shù)進行設(shè)置。雙擊模塊打開屬性對話框(Properties)
CPU——屬性包括通用屬性General(主要提供模塊的類型,位置和MPI地址—如果要把幾個PLC通過MPI接口組成網(wǎng)絡(luò),每個CPU分配不同的MPI地址);啟動項目START.UP(主要選擇三種啟動方式,HOT—從斷電時的語句,也就是程序斷電處開始,WARM—從頭,也就是程序*步開始,COLD—冷啟動;監(jiān)視時間包括從模塊讀準(zhǔn)備的信息時間和傳遞參數(shù)到模塊的時間;可保存數(shù)量RetentiveMemory:用來當(dāng)出現(xiàn)斷電或從STOP到RUN切換時需要保持的存儲器區(qū)域;循環(huán)/時鐘存儲器;保護功能(設(shè)定鑰匙權(quán)限和各種級別及口令);診斷/時鐘。
保存下載及上傳:經(jīng)過上述設(shè)置以后,我們就可以保存、編譯、一致性檢查后,把設(shè)定組態(tài)下載到PLC中。當(dāng)然,對實際運行的PLC,我們也可以通過上傳(UploadStation)把實際組態(tài)讀到編程器。
硬件診斷及組態(tài)中可能出現(xiàn)的問題:在SIMATIC管理器中可以用PLC-DiagnoseHardware來獲得PLC的診斷狀態(tài)。在實際組態(tài)過程中zui可能出現(xiàn)的問題是以下幾點:
1、在S7-300中,組態(tài)中有空位置,此時組態(tài)不能編譯通過;
2、不正確的CPU(例如:是CPU315-2DP,不是CPU314)此時組態(tài)不能下載;
3、模擬量模塊分配到不正確的槽位置,此時CPU會因為參數(shù)分配錯誤進入STOP模式;
4、模擬量模塊不正確的測量范圍,導(dǎo)致模擬量模塊組態(tài)錯誤。
塊的編輯
STEP7編程語言:LAD梯形圖/FBD功能塊圖/STL語句表,更加豐富,更加靈活,但對初學(xué)者比較難以理解,當(dāng)然某些語言不能用LAD表達。
塊編輯的啟動:選擇所需編程語言,雙擊打開需編輯的塊,如OB1或FC1等。當(dāng)采用LAD或FBD編程語言時,可用工具條來插入簡單的程序文件,當(dāng)采用STL,則可用在線幫助得到有關(guān)語言的語法和功能——HELP-HelponSTL。
編程器組成:聲明表:屬于塊,為塊聲明變量和參數(shù);代碼區(qū):包含程序本身;編程元件:可選打開或關(guān)閉,內(nèi)容依賴于所選擇的編程語言,雙擊插入或拖拉插入。
VIEW菜單:可切換到另一種語言,并可實現(xiàn)LAD/FBD/STL之間的轉(zhuǎn)換,要知道,LAD/FBD轉(zhuǎn)換成STL的,在語句表中可能不是zui有效程序。而STL轉(zhuǎn)換成其他則不一定行,轉(zhuǎn)換不了的仍用語句表示,轉(zhuǎn)換過程絕不會丟失程序。
其他菜單由于篇幅較大,請結(jié)合教材及軟件自己熟悉。
在討論調(diào)用塊前先介紹一下OB1塊——主循環(huán)塊,不能改名或刪除,它是由操作系統(tǒng)循環(huán)調(diào)用,可以訪問其他的S7程序塊,它包括自身程序和其他塊的調(diào)用。所以,當(dāng)我們編輯好一個塊以后,如FC1,為了讓新塊集成在CPU中的循環(huán)程序中,必須在OB1中調(diào)用。即在OB1中CALLF1。子程序(新塊FC1)執(zhí)行的條件有以下三個:已經(jīng)下載到PLC中,必須在OB1調(diào)用,PLC處于運行狀態(tài)。下載到實際的PLC時,我們可以選擇所有塊或其中的一個或幾個,再Download到PLC中。
程序的執(zhí)行過程:當(dāng)PLC得電或從STOP切換到RUN模式,CPU會執(zhí)行一次全啟動(使用OB100)在全啟動期間,操作系統(tǒng)清除非保持位存儲器、定時器和計數(shù)器,刪除中斷堆箋和塊堆箋,復(fù)位所有保存的硬件中斷,并啟動掃描循環(huán)監(jiān)視時間。
CPU的循環(huán)操作包括三個主要部分:CPU檢查輸入信號的狀態(tài)并刷新過程影象輸入表(PII..);執(zhí)行用戶程序,也就是OB1中的程序及一些事件(中斷等);把過程輸出影象輸出表(PIQ)寫到輸出模塊。上面所提到的PII/PIQ是CPU中特定的存儲器,用來保存輸入模塊/輸出模塊的信號,在用戶程序中檢查時,可以保證在一個掃描周期內(nèi)為同樣的信號狀態(tài)。
程序結(jié)構(gòu):上面曾經(jīng)提到過,一個比較簡單的程序,我們可以不用各種子程序塊(如FC.FB),而是直接把整個程序直接寫在一個塊上(通常是OB1主塊上),CPU逐條的處理指令,我們稱這種叫線形編程;而對稍微有點復(fù)雜的程序,我們可以把它分成幾個塊,每塊包含處理一部分任務(wù)的程序,在每一個塊中可以進一步分解、成幾個段,可以為相同類型的段生成段模塊,組織塊OB1包含按順序調(diào)用其他塊的指令,我們把這種方法叫分塊編程;另外,對可重復(fù)使用的功能裝入單個塊中,OB1(或其他塊)調(diào)用這些塊并傳遞相關(guān)參數(shù),這種方法叫結(jié)構(gòu)化編程。用戶塊(程序塊)包括程序代碼和用戶數(shù)據(jù),在結(jié)構(gòu)化程序中,一些塊循環(huán)調(diào)用處理,一些塊需要時才調(diào)用。程序塊共有組織塊(OB)、功能塊(FB)、功能(FC)、系統(tǒng)功能塊(SFB)和系統(tǒng)功能(FC)5種,其中系統(tǒng)塊是在CPU操作系統(tǒng)中預(yù)先定義好的功能和功能塊,這些塊不占用用戶程序空間。
在下節(jié)討論位指令前先討論一下SIEMENS的模塊地址:在不帶DP口的S7-300和不組態(tài)的S7-400采用固定槽位編址,使用帶DP口的S7-300和S7-400,可以分配模塊的起始地址。但要注意,由于CPU存儲器復(fù)位后,參數(shù)和地址會丟失,這就意味著所有地址都回到和槽位有關(guān)的地址或是缺省地址。我們還是以S7-300為例,在S7-300中,機架上的插槽號簡化了模塊地址,模塊的*個地址由機架上的模塊地址決定。一般槽1給電源,槽2是CPU,槽3為IM(接口模板)所用,4~11為I/O卡、CP卡和FM卡。他們的固定地址就是為每個槽位保留4個字節(jié)——就是說,槽4(*塊I/O卡),地址為0.0~3.7(共32位),槽5(第二塊I/O卡)地址為4.0~7.7,假設(shè)*卡是DI,那么他們的地址就是I0.0、I0.1、、、I3.7,若第二卡為DO卡,地址為Q4.0、Q4.1、、、、Q7.7,請注意,當(dāng)使用16通道的DI/DO模塊時,每個槽位就會失去兩個字節(jié)(16位)。
基本邏輯指令
與&(FBD)A(STL)(AND指令)
或>=1(FBD)O(STL)(OR指令)
異或XOR(FBD)X(STL)(XOR指令)
注意:異或操作是指:當(dāng)兩個信號中僅有一個滿足時,輸出狀態(tài)才是“1”,這個指令不能使用于多個地址的異或邏輯操作(N個中有一個1時才是1),所以三個及三個以上的異或指令,舊的RLO(邏輯操作結(jié)果)和另一個輸入作異或運算。
賦值語句=
置位S光是置位,一直保持到它被另一個指令復(fù)位為止。
復(fù)位R光是復(fù)位,一直保持到它被另一個指令置位為止。
觸發(fā)器的置位復(fù)位:同時有置位輸入和復(fù)位輸入,如果兩個輸入端同時出現(xiàn)RLO=1,根據(jù)優(yōu)先級。在LAD/FBD中,分別有置位優(yōu)先和復(fù)位優(yōu)先的不同符號,在STL中,zui后編寫的指令具有高優(yōu)先權(quán)。
注意:如果用置位命令把輸出置位,當(dāng)CPU全啟動時它被復(fù)位,但如果聲明保持,則當(dāng)CPU全啟動時,它就一直保持置位狀態(tài)。
連接器:M0.0(#),為中間賦值元件,它把當(dāng)前RLO保存到地址,當(dāng)它和其他元件串聯(lián)時,連接器指令和觸點一樣插入。
注意連接器不能:
直接連接到電源母線
直接跟一個分支;
用在分支末尾。
但連接器可以用“NOT”元件對它進行取反操作。
影響RLO的指令:
NOT=取反;CLR=復(fù)位(僅用在STL中);SET=置位(僅用在STL中);SAVE=把RLO保存到狀態(tài)寄存器中的“BR”;BR=用來重新檢查保存的RLO。
主控繼電器功能MCR:是一個用來接通或斷開電流的邏輯主開關(guān)。如果MCR條件不滿足:0分配給輸出線圈,置位線圈和復(fù)位線圈指令不改變當(dāng)前值,MOVE指令把0傳到目的地址。MCRA指令啟動主控繼電器功能/MCRD指令取消MCR功能,直到另一個MCRA指令起作用。
無條件轉(zhuǎn)移(不依賴于RLO)JMP
在LAD/FBD中,在線圈符號上面輸入作為表示的標(biāo)號或符號,如NEW1,NEW2等,標(biāo)號zui多有4個字符,*個字符必須使用字母或“_”。
跳轉(zhuǎn)規(guī)則:可以向前或向后跳轉(zhuǎn),跳轉(zhuǎn)指令和跳轉(zhuǎn)目的必須在同一個塊中(zui大跳轉(zhuǎn)長度為64K字節(jié));在一個塊中跳轉(zhuǎn)目的只能出現(xiàn)一次;跳轉(zhuǎn)指令可以用在FB、FC和OB中。
條件跳轉(zhuǎn):有兩個:JC——當(dāng)RLO=1時,JC才執(zhí)行,當(dāng)RLO=0時,不跳轉(zhuǎn),繼續(xù)執(zhí)行下面的程序,但置RLO=1。JCN——當(dāng)RLO=0時,JCN才執(zhí)行,當(dāng)RLO=1時,不跳轉(zhuǎn)。
邊沿檢測:RLO-邊沿檢測和信號-邊沿檢測。
RLO-邊沿檢測:當(dāng)邏輯操作結(jié)果變化時,產(chǎn)生RLO邊沿。檢測正邊沿FP——RLO從“0”變化到“1”,“FP”檢查指令產(chǎn)生一個“掃描周期”的信號“1”;檢測負(fù)邊沿FN,則RLO從“1”變化到“0”,“FN”檢查指令產(chǎn)生一個“掃描周期”的信號“1”。上述兩個結(jié)果保存在“FP(FN)”位存儲器中或數(shù)據(jù)位中,如M1.0…,同時,可以輸出在其他線圈。
信號-邊沿檢測:同上面的RLO指令類似,當(dāng)信號變化時,產(chǎn)生信號邊沿,也有正/負(fù)邊沿之分:POS/NEG。
上述各種指令,請結(jié)合實際軟件,掌握其方法、特性和不同之處,其他復(fù)雜指令請參考各種編程手冊。
數(shù)字指令
在討論數(shù)字指令前先了解一下各種數(shù)據(jù)格式,關(guān)于二進制、十進制及其他數(shù)的表示方法,在其他地方都有介紹,這里就不再重復(fù)。
一、數(shù)據(jù)格式(16位):數(shù)據(jù)類型INT是整數(shù)(16位),其中符號(位15)表示是正數(shù)或是負(fù)數(shù)(“0”=正數(shù),“1”=負(fù)數(shù)),16位整數(shù)的數(shù)值范圍是-32768~+32767。在二進制格式中,整數(shù)的負(fù)數(shù)形式用正數(shù)的二進制補碼表示。(二進制補碼利用取反加1得到)負(fù)數(shù)的位格式,對零的位置加權(quán)求和,再加1,然后在前面放一個負(fù)號。
BCD碼:十進制的每一位用四個二進制數(shù)表示,因為zui大為9,所以需要四位二進制才能表示出來(十進制的9=1001二進制),要注意,從0~9的十進制數(shù)的BCD碼表示與二進制數(shù)表示相同,但BCD碼一般用作顯示,并非二進制。上面的INT(整數(shù))主要是用來運算。
如BCD碼W#16#296,在CPU中表現(xiàn)為0000,0010,1001,0110(直接為+,2,9,6=+296);而整數(shù)+296則表示為0000,0001,0010,1000(即28+25+23=296),再例如整數(shù)-413表示為1111,1110,0110,0011(因為是負(fù)數(shù),所以用補碼,取反加1,所以上面的二進制數(shù)=-(28+27+24+23+22+1)=“-413”,而在BCD碼該數(shù)(W#16#F413)則可以簡單的表示為1111,0100,0001,0011。
二、數(shù)據(jù)格式(32位):DINT類型的數(shù)據(jù)——帶符號位的32-位整數(shù),定義為“雙整數(shù)”或“長整數(shù)”,它的表示方法及范圍是:L#-2147483648~L#+2147483647;還有一個是實數(shù)型REAL型(也叫浮點數(shù)),是1.175495*10-38~3402823*1038之間,實數(shù)的通用格式為(Sign)*(1.f)*(2e-127),其中Sign為符號位第31位(即zui高位),低位的0~22位為f=底數(shù)位,23~30為e=指數(shù)。STEP7中的實數(shù)是按照IEEE標(biāo)準(zhǔn)表示的。
數(shù)據(jù)的裝入和傳遞:MOVE(LAD/FBD)或L和T(STL):如果輸入EN有效,輸入“IN”處的值拷貝到輸出“OUT”。裝載和傳遞指令的執(zhí)行與RLO無關(guān),數(shù)據(jù)通過累加器交換,裝載指令把右邊源地址的值寫到累加器1(不夠32位用0補齊),傳遞指令拷貝累加器中一些或所有內(nèi)容到的目的地址。如先裝載L+5/LL#523312/LB#16#EF(分別為裝載一個整數(shù)+5/一個雙整數(shù)523312/一個十六進制數(shù)EF)到*累加器(ACCU1),然后再傳輸?shù)侥康牡?,如TMB5等。累加器是CPU中的輔助存儲器,它們用于不同地址之間的數(shù)據(jù)交換、比較和數(shù)學(xué)運算操作。S7-300有兩個32位的累加器,S7-400有四個32位的累加器。在裝載過程中,ACCU1中的值先移入ACCU2,在新值寫入前先清零,然后在把要裝入的值寫入ACCU1,傳遞時則從ACCU1中讀出。裝載和傳遞指令可以32位中的一個字節(jié)或是字及雙字,如果僅傳遞一個字節(jié),只使用右邊的8位。在LAD/FBD中,我們可以使用MOVE的允許輸入(EN)把裝載和傳遞操作和RLO起來,在STL中,則總是執(zhí)行裝載和傳遞操作,而和RLO無關(guān),但是,我們可以利用條件跳轉(zhuǎn)指令來執(zhí)行和RLO有關(guān)的裝入和傳遞功能。
定時器:STEP7中,CPU為定時器保留了一個特殊存儲器,這個區(qū)專門為每個定時器地址保留一個16位字。定時器的位0~9包含用二進制表示的時間值,12、13位為時間基準(zhǔn)——0表示10ms,1表示100ms,2=1秒,3=10秒,時間基準(zhǔn)定義的是一個單位代表的時間間隔。時間值可以直接用常數(shù)來表示(此時時間基準(zhǔn)自動由系統(tǒng)自動分配),例如S5T#100ms,S5T#2h2m2s20ms。
S5定時器格式:時間的可以如上述所說直接輸入固定的時間常數(shù),或由操作人員用撥輪按扭改變或和存儲器字或數(shù)據(jù)字中的時間值有關(guān)的過程和配方。在使用中可以用L命令(讀出)定時器BI輸出端的地址(包含10位二進制數(shù)表示的時間值,不帶時間基準(zhǔn)),如LT5;也可以用LC命令讀出定時器BCD端的地址(3位BCD數(shù)表示的時間值和12、13位的時間基準(zhǔn))。具體介紹幾種常用的定時器:下面只介紹功能,具體符號可以在元件表中找。
接通延時(SD)定時器:當(dāng)定時器的“S”輸入端的RLO從0變到1時,定時器啟動。只要輸入S=1,定時器起作用,當(dāng)?shù)竭_的TV值(預(yù)設(shè)值)時定時器啟動(輸出Q=1),同時該定位器還有一個復(fù)位端R端,當(dāng)?shù)扔?時,就清除定時值并且復(fù)位Q輸出。當(dāng)前時間可以在BI輸出端以二進制數(shù)讀出,在BCD端以BCD碼形式讀出,當(dāng)前時間值是TV的初始值減定時器啟動以來的經(jīng)過時間。
帶保持接通延時定時器(SS):與上面SD定時器基本一致,*不同的就是具有保持功能,也就是說:一旦S輸入端的RLO從0變到1,定時器便啟動,即使定時過程中出現(xiàn)輸入S端=0,定時器仍繼續(xù)記時。但有一點,在保持過程中,如果S輸入端再次從0變1,則定時器重新開始。
關(guān)斷延時定時器(SF):從某些方面說,和上面提到的SD接通延時定時器狀態(tài)正好相反。當(dāng)定時器的S輸入端的RLO從“1”變到“0”時,定時器啟動,輸出信號Q=0,其他功能和輸出與SD一樣。個人理解,是否SD接通延時定時器,較多的用于正邏輯,而SF更多的用于事故安全型(有時也叫反邏輯,就是在正常的工況中,輸入輸出都為1或是帶電情況)中。
脈沖(SP):這個比較好理解,當(dāng)“S”輸入端從0變到1時,啟動定時器,輸出Q=1(zui多一個脈沖。輸出Q復(fù)位的情況為:定時器時間到或啟動信號從1變到0或復(fù)位輸入R信號=1。
擴展脈沖(SE):當(dāng)輸入端的RLO從0變到1時,定時器啟動,輸出Q置1,即使當(dāng)中S端輸入變到0,輸出Q仍保持1。當(dāng)定時器正在運行,如果啟動信號從0變到1,定時器被再次啟動。它的復(fù)位情況是定時器時間到或復(fù)位R端有信號1。
位指令定時器:所有的定時器也可以用簡單的位指令啟動,這種方法和前面討論的定時器功能的相似處在于:啟動條件在S端,時間值,復(fù)位條件在R端輸入,信號響應(yīng)在Q端。不同的是(對LAD/FBD)不能檢查當(dāng)前時間值(沒有BI/BCD輸出)。
免責(zé)聲明
- 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請必須注明智能制造網(wǎng),http://towegas.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品來源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
2025第十一屆中國國際機電產(chǎn)品交易會 暨先進制造業(yè)博覽會
展會城市:合肥市展會時間:2025-09-20