<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> plc工業軟件使用 >> 正文

      【STEP7】干貨 S7-200SMART局部變量的應用,局部變量(Local variables)

      作者:佚名    文章來源:網絡    點擊數:    更新時間:2024/6/16

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

      局部變量是分配給每個子程序的臨時存貯區。當子程序被調用時,系統分配局部變量區給子程序;子程序執行完成后,該局部變量區被釋放。釋放時其中存貯的值也同時丟失,不能再下一掃描周期再被子程序使用。

      局部變量區的大小為64個字節,其中最后4個字節被系統所占用,實際可供子程序使用的為60個字節。由于局部變量區的數據不能帶到下一掃描周期,因此只能用于存儲程序運算中的中間值,可以減少對全局變量區的占用。

      由于局部變量區在子程序被調用時才被分配,且分配時并不對數據區進行初始化,所以其初始值是不確定的。因此在程序中用到這些存貯區的值的指令前,必須有對該存貯區地址的賦值操作,否則可能會出現錯誤的執行結果。尤其在子程序中存在大量的跳轉指令時,很容易出現漏掉對局部變量賦值的情況,要格外注意。

      每個子程序調用的輸入/輸出參數的最大限制是16,如果您嘗試下載的程序超過此一限制,IN和out加起來共16個超過16個就會出錯。使用過程中應注意以下幾點:

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

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

      3、IN、OUT、IN_OUT變量都會與外部進行數據交換,所以不需要數據交換時應使用TEMP變量。

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

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

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

      OUT:輸出變量。將子程序的運算結果傳出到外部指定參數位置。

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

      TEMP:臨時保存在局部數據堆棧中的臨時變量。一旦POU完全執行,臨時變量數值

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

      創建方法為:打開每個子程序都會彈出對應的變量表,如下圖:

       

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

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

      那么庫應該怎么建立呢?

      1)重命名:首先把編寫好具有特殊功能(脈沖運算、模擬量換算等)的子程序進行重命名,避免與其它項目中子程序重名。我們把以上例中子程序為例,命名為“指示燈延時啟動”。

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

      軟件使用:STEP 7-MicroWIN SMART

      庫的創建如下:點擊創建庫后彈出創建庫對話框。

       

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

       

       

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

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

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

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

      2)使用臨時變量進行計算。

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

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

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

      以常用的步進脈沖數運算為例,因為使用比較頻繁,可以建立成庫方便以后編程過程中調用。使用全局變量運算,程序如下:

       

      如果要將該子程序建成庫,必須給所有全局變量都定義符號,否則無法建立庫。建成庫以后編程調用庫時,必須要進行庫存儲器分配,右擊左側項目樹中“程序塊”選擇“庫存儲器分配”,點擊建議地址系統自動分配未使用的存儲器供給庫使用。如下圖:

       

       

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

      END

      Tags:全局變量,局部變量,STEP7,SMART,西門子plc  
      責任編輯:admin
      相關文章列表
      【STEP7】西門子S7-200 SMART運動控制,西門子plc運動控制
      【STEP7】西門子S7-200 SMART 下載時搜索不到CPU怎么辦,SMART連
      【STEP7】西門子S7-200SMART中局部變量的類型以及使用方法 創建庫
      【STEP7】多軸運控、靈活自如——S7-200 SMART V2.7 新功能解讀
      STEP7創建庫,西門子200SMART PLC寫時鐘及寫時鐘用戶庫的創建典型
      S7-200中西門子CP243-1 通過 SIMATIC NET 連接 WinCC
      【STEP7軟件】S7-200中如何通過CP243-1與STEP 7-Micro/WIN 通信
      STEP7-MicroWIN SMART 西門子主程序調用子程序
      STEP7-MicroWIN SMART之 S7-200 SMART 運動控制指令詳解
      STEP7軟件 S7-200 SMART高速脈沖輸出如何斷電保持當前位置
      STEP7軟件,S7-200SMART PLC 自編模擬量輸入結構化編程并生成庫
      STEP7-MICRO/WTN 4.0軟件使用教程
      STEP 7-MicroWIN SMART自己如何建立庫指令  西門子200SMART PLC添
      西門子S7-200SMART PLC的自編模擬量輸入結構化編程庫文件如何生成
      STEP7-Micro/WIN 4.0軟件教程 STEP7編程軟件使用教程步驟
      西門子S7-200 SMART系列PLC模塊接線,西門子PLC模塊接線圖
      STEP 7-MicroWIN SMART西門子S7-200的模擬量輸入輸出圖文詳解! 模
      STEP 7-MicroWIN SMART西門子S7-200SMART PLC之間通過向導實現S7
      STEP 7-MicroWIN SMART設置_西門子S7-200SMART PLC運動控制面板進
      PLC運動控制講解(基于西門子PLCsmart 200和松下伺服驅動器)_ST
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 国产精品天干天干综合网| 亚洲综合久久夜AV | 亚洲综合色区中文字幕| 激情综合婷婷色五月蜜桃| 国产成人人综合亚洲欧美丁香花| 国产成人久久综合二区| 一本大道无香蕉综合在线| 91精品国产综合久| 久久久久亚洲AV综合波多野结衣 | 婷婷久久综合九色综合九七| 国产成人综合亚洲一区| 色综合久久无码中文字幕| 伊人性伊人情综合网| 97se色综合一区二区二区| 久久久综合香蕉尹人综合网| 色噜噜狠狠色综合欧洲| 99久久综合久中文字幕| 亚洲av综合avav中文| 狠色狠色狠狠色综合久久| 国产精品综合专区中文字幕免费播放 | 久久久综合香蕉尹人综合网| 久久久久青草线蕉综合超碰 | 国产婷婷色综合AV蜜臀AV| 国产成人亚洲综合| 色婷婷久久综合中文久久一本| 亚洲综合小说久久另类区| 久久天天躁狠狠躁夜夜躁综合| 99久久综合狠狠综合久久止| 色综合天天综合网国产国产人| 色综合久久久无码中文字幕波多| 麻豆狠色伊人亚洲综合网站 | 狠狠色丁香久久婷婷综合五月| 色先锋资源久久综合5566| 一本久道久久综合中文字幕| 伊人伊成久久人综合网777| 中文字幕国产综合| 亚洲成AV人综合在线观看| 青青草原综合久久大伊人精品| 色婷婷久久综合中文网站| 亚洲国产成人五月综合网| 99久久综合狠狠综合久久一区|