日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> plc工業(yè)軟件使用 >> 正文

【STEP7】西門子S7-200SMART中局部變量的類型以及使用方法 創(chuàng)建庫的方法,子程序建成庫

作者:佚名    文章來源:網(wǎng)絡(luò)    點(diǎn)擊數(shù):    更新時(shí)間:2024/6/8

局部變量(Local variables)指在程序中只在特定過程或函數(shù)中可以訪問的變量。局部變量是相對于全局變量而言的。在PLC中局部變量應(yīng)用不是很多,西門子PLC則引入局部變量,成為PLC中獨(dú)具特色的功能。

局部變量是分配給每個(gè)子程序的臨時(shí)存貯區(qū)。當(dāng)子程序被調(diào)用時(shí),系統(tǒng)分配局部變量區(qū)給子程序;子程序執(zhí)行完成后,該局部變量區(qū)被釋放。釋放時(shí)其中存貯的值也同時(shí)丟失,不能再下一掃描周期再被子程序使用。 

局部變量區(qū)的大小為64個(gè)字節(jié),其中最后4個(gè)字節(jié)被系統(tǒng)所占用,實(shí)際可供子程序使用的為60個(gè)字節(jié)。由于局部變量區(qū)的數(shù)據(jù)不能帶到下一掃描周期,因此只能用于存儲程序運(yùn)算中的中間值,可以減少對全局變量區(qū)的占用。 

由于局部變量區(qū)在子程序被調(diào)用時(shí)才被分配,且分配時(shí)并不對數(shù)據(jù)區(qū)進(jìn)行初始化,所以其初始值是不確定的。因此在程序中用到這些存貯區(qū)的值的指令前,必須有對該存貯區(qū)地址的賦值操作,否則可能會(huì)出現(xiàn)錯(cuò)誤的執(zhí)行結(jié)果。尤其在子程序中存在大量的跳轉(zhuǎn)指令時(shí),很容易出現(xiàn)漏掉對局部變量賦值的情況,要格外注意。 

每個(gè)子程序調(diào)用的輸入/輸出參數(shù)的最大限制是16,如果您嘗試下載的程序超過此一限制,IN和out加起來共16個(gè)超過16個(gè)就會(huì)出錯(cuò)。使用過程中應(yīng)注意以下幾點(diǎn):

1、子程序或者中斷程序不能訪問分配給主程序的局部存儲器。子程序不能訪問分配給主程序、中斷程序或者其他子程序的局部存儲器。同樣的,中斷程序也不能訪問分配給主程序或子程序的局部存儲器。 

2、S7-200 SMART有64個(gè)字節(jié)的局部存儲器,其中60個(gè)可以用作臨時(shí)存儲器或者給子程序傳遞參數(shù)。 

3、IN、OUT、IN_OUT變量都會(huì)與外部進(jìn)行數(shù)據(jù)交換,所以不需要數(shù)據(jù)交換時(shí)應(yīng)使用TEMP變量。

下面講述西門子S7-200SMART中局部變量的類型以及使用方法。

S7-200 SMART提供了四種類型的局部變量,用L表示。

IN:輸入變量。將外部指定位置的參數(shù)傳入子程序。

OUT:輸出變量。將子程序的運(yùn)算結(jié)果傳出到外部指定參數(shù)位置。 

IN_OUT:輸入輸出變量。將指定位置的外部參數(shù)傳導(dǎo)子程序,再由子程序修改后再將結(jié)果返回到同樣的地址。 

TEMP:臨時(shí)保存在局部數(shù)據(jù)堆棧中的臨時(shí)變量。一旦POU完全執(zhí)行,臨時(shí)變量數(shù)值

則無法再用。在兩次POU執(zhí)行之間,臨時(shí)變量不保持其數(shù)值。 

創(chuàng)建方法為:打開每個(gè)子程序都會(huì)彈出對應(yīng)的變量表,如下圖:

在變量表中選擇要?jiǎng)?chuàng)建的變量類型,輸入符號(英文/中文都行),再選擇正確的數(shù)據(jù)類型,系統(tǒng)將自動(dòng)分配對應(yīng)的變量,局部變量地址是系統(tǒng)根據(jù)前面的地址及數(shù)據(jù)類型自動(dòng)分配,不可自行修改。盡量把所有變量創(chuàng)建好后再開始根據(jù)分配的變量地址進(jìn)行編程。萬一在編程過程中需要再添加變量,一定要把顯示方式切換成:“僅符號”否則插入變量后地址全部變化,程序中原本使用的地址將報(bào)錯(cuò)。

編寫好的子程序不僅可以被當(dāng)前項(xiàng)目的調(diào)用,還可以建成庫供其它項(xiàng)目調(diào)用。在以后的編程中經(jīng)常會(huì)出現(xiàn)一些經(jīng)典的應(yīng)用,或者經(jīng)常處理的類似程序,我們就可以建立成“庫”,碰到類似的用法只需要直接調(diào)用庫進(jìn)行編程即可。

那么庫應(yīng)該怎么建立呢?

1)重命名:首先把編寫好具有特殊功能(脈沖運(yùn)算、模擬量換算等)的子程序進(jìn)行重命名,避免與其它項(xiàng)目中子程序重名。我們把以上例中子程序?yàn)槔麨椤爸甘緹粞訒r(shí)啟動(dòng)”。

2)創(chuàng)建庫文件:在左側(cè)指令樹中找到“庫”右擊彈出對話框,選擇“創(chuàng)建庫”如左下圖,彈出右下圖對話框:選擇需要建立庫的子程序“指示燈延時(shí)啟動(dòng)”,點(diǎn)擊“添加”;選擇“屬性”對庫進(jìn)行命名以及指定庫文件存儲位置;選擇“保護(hù)”,可以對庫文件設(shè)置一個(gè)密碼保護(hù),可以限制閱讀和修改庫程序。設(shè)置好后確定,將會(huì)在知道目錄下生成一個(gè)庫文件。

庫的創(chuàng)建如下:點(diǎn)擊創(chuàng)建庫后彈出創(chuàng)建庫對話框。

在V2.1之前版本中需要手動(dòng)添加刪除庫,庫文件可以存儲在任何地方。從V2.2開始將庫集中管理,必須存儲在系統(tǒng)設(shè)定目錄下,打開新項(xiàng)目刷新即可自動(dòng)可以顯示。重新安裝軟件或重裝系統(tǒng)前請對庫文件進(jìn)行備份。

要消除庫和項(xiàng)目之間出現(xiàn)存儲器使用沖突的可能性,應(yīng)避免在用戶定義庫中使用全局存儲器。 可能無法完全消除庫對全局資源的使用;但是,在可能的情況下最大程度地減少此類使用是有必要的。 這里列出了最小化全局存儲器使用的一些方法:

1)盡量用局部存儲器代替全局存儲器。

通過使用局部存儲器,盡量減少庫對全局存儲器的依賴性。您還可以直接將局部存儲器指定為庫指令使用的存儲器。

例如:您可能有一個(gè)計(jì)算數(shù)值并將該輸出存儲在 V 存儲單元的子例程的子例程。程序的其余部分則會(huì)讀取該 V 存儲器位置,以便確定計(jì)算的結(jié)果。 如果您希望將該子例程放入庫,考慮在子例程中增加一個(gè)輸出OUT參數(shù),并將計(jì)算結(jié)果存儲在該參數(shù)中。這樣就無需使用 V 存儲單元,并允許您決定結(jié)果的存儲位置。

2)使用臨時(shí)變量進(jìn)行計(jì)算。

將臨時(shí)變量用于計(jì)算和臨時(shí)結(jié)果可盡量減少指令庫對全局存儲器的使用。 您在子例程變量表中定義的臨時(shí)變量只對該子例程有效,不會(huì)與項(xiàng)目沖突。

3)需要 V 存儲器時(shí),要定義符號。

有時(shí)您必須在計(jì)劃包括在指令庫中的子例程中使用全局 V 存儲器。 必要時(shí),應(yīng)為所有 V 存儲器聲明符號,并在程序中使用這些符號。 編譯該庫時(shí),編譯器將使用這些符號來決定您的庫所需的存儲器大小。通用規(guī)則是,將包括在庫中的子例程所占用的 V 存儲器分組到連續(xù)位置中。

以常用的步進(jìn)脈沖數(shù)運(yùn)算為例,因?yàn)槭褂帽容^頻繁,可以建立成庫方便以后編程過程中調(diào)用。使用全局變量運(yùn)算,程序如下:

 

如果要將該子程序建成庫,必須給所有全局變量都定義符號,否則無法建立庫。建成庫以后編程調(diào)用庫時(shí),必須要進(jìn)行庫存儲器分配,右擊左側(cè)項(xiàng)目樹中“程序塊”選擇“庫存儲器分配”,點(diǎn)擊建議地址系統(tǒng)自動(dòng)分配未使用的存儲器供給庫使用。如下圖:

 

 

注意:在編寫庫程序時(shí),所用到的V存儲區(qū)地址必須全部定義符號,否則無法創(chuàng)建庫。創(chuàng)建成庫后再次調(diào)用該庫進(jìn)行編程,所用到的V存儲器不再是之前編寫庫程序的地址,需要重新分配V存儲器地址。但是會(huì)按照之前的地址進(jìn)行分配,如存儲器大小,數(shù)據(jù)類型及編號之間的規(guī)律,所以盡量采用連續(xù)的地址進(jìn)行編程。

Tags:STEP7,SMART,運(yùn)動(dòng)控制,多軸  
責(zé)任編輯:admin
相關(guān)文章列表
【STEP7】西門子S7-200 SMART 下載時(shí)搜索不到CPU怎么辦,SMART連
西門子S7-200SMART和組態(tài)王以太網(wǎng)通訊(圖文)
【STEP7】多軸運(yùn)控、靈活自如——S7-200 SMART V2.7 新功能解讀
【圖文詳解】西門子PLC之S7-200SMART的TCP通信 TCP_CONNECT和TCP
STEP7創(chuàng)建庫,西門子200SMART PLC寫時(shí)鐘及寫時(shí)鐘用戶庫的創(chuàng)建典型
S7-200中西門子CP243-1 通過 SIMATIC NET 連接 WinCC
【STEP7軟件】S7-200中如何通過CP243-1與STEP 7-Micro/WIN 通信
小白必看 | 西門子S7-200SMART通信概述
STEP7-MicroWIN SMART 西門子主程序調(diào)用子程序
西門子S7-200 SMART PLC擴(kuò)展模塊,西門子plc擴(kuò)展模塊
西門子S7-200SMART PLC的DR32、DR16和DR08模塊 接線圖
西門子PLC S7-200SMART間接尋址應(yīng)用——西門子plc模擬量濾波程序
STEP7-MicroWIN SMART之 S7-200 SMART 運(yùn)動(dòng)控制指令詳解
STEP7軟件 S7-200 SMART高速脈沖輸出如何斷電保持當(dāng)前位置
STEP7軟件,S7-200SMART PLC 自編模擬量輸入結(jié)構(gòu)化編程并生成庫
STEP7-MICRO/WTN 4.0軟件使用教程
STEP 7-MicroWIN SMART自己如何建立庫指令  西門子200SMART PLC添
一文詳解西門子S7-200 SMART PLC高速計(jì)數(shù)器指令
西門子plc通訊西門子S7-200 Smart Modbus通信詳解,MBUS_CTRL主站
V20變頻器和西門子PLC的通訊,西門子變頻器與PLC的MODBUS通信詳細(xì)
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢