久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9125|回復: 0
打印 上一主題 下一主題
收起左側

S7-200子程序 局部變量說明

[復制鏈接]
跳轉到指定樓層
樓主
ID:26188 發表于 2015-5-28 00:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式


                            IN                       調用POU提供的輸入參數。

                            OUT                   返回調用POU的輸出參數。
                            IN_OUT              數值由調用POU提供的參數,由子程序修改,然后返回調用POU。

                            TEMPORARY    臨時保存在局部數據堆棧中的臨時變量。一旦POU完全執行,臨時變量數值則無法再用。在兩次P0U執行之間,臨時變量不保持其數值。


    局部變量是分配給每個子程序的臨時存貯區。

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

    局部變量區的大小為64個字節,其中最后4個字節被系統所占用,實際可供子程序使用的為60個字節。

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

    每個子程序調用的輸入/輸出參數的最大限制是16,如果您嘗試下載的程序超過此一限制,INout加起來共16個超過16個就會出錯,本人做一個程序的時候發現了這個問題,在這里提醒各位同行。

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

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

    如果用梯形圖或功能方塊圖編程,STEP7--Micro/WIN保留這些局部存儲器的最后四個字節。

    局部存儲器和變量存儲器很相似,但只有一處區別。變量存儲器是全局有效的,而局部存儲器只在局部有效。全局是指同一個存儲器可以被任何程序存取(包括主程序、子程序和中斷中斷程序程序)。局部是指存儲器區和特定的程序相關聯。S7--200給主程序分配64個局部存儲器;給每一級子程序嵌套分配64個字節局部存儲器;同樣給中斷程序分配64個字節局部存儲器。

    子程序或者中斷程序不能訪問分配給主程序的局部存儲器。子程序不能訪問分配給主程序、中斷程序或者其他子程序的局部存儲器。同樣的,中斷程序也不能訪問分配給主程序或子程序的局部存儲器。S7--200 PLC根據需要分配局部存儲器。也就是說,當主程序執行時,分配給子程序或中斷程序的局部存儲器是不存在的。當發生中斷或者調用一個子程序時,需要分配局部存儲器。新的局部存儲器地址可能會覆蓋另一個子程序或中斷程序的局部存儲器地址。

    局部存儲器在分配時PLC不進行初始化,初值可能是任意的。當在子程序調用中傳遞參數時,在被調用子程序的局部存儲器中,由CPU替換其被傳遞的參數的值。局部存儲器在參數傳遞過程中不傳遞值,在分配時不被初始化,可能包含任意數值。

   3、CPU
226的項目中最多可以創建128個子程序,其他CUP可以創建64個子程序。子程序可以嵌套調用,即在子程序中調用別的子程序,一共可以嵌套8層。在中斷程序中調用的子程序不能再調用別的子程序。不禁止遞歸調用(子程序調用自己),但是應慎重使用遞歸調用。

   4、
子程序中的定時器:
停止調用子程序時,線圈在子程序內的位元件的ON/OFF狀態保持不變。如果在停止調用時子程序中的定時器正在定時,100ms定時器將停止定時,當前值保持不變,重新調用時繼續定時;但是1ms定時器和10ms定時器將繼續定時,定時時間到時,它們的定時器位變為1狀態,并且可以在子程序之外起作用。


    如何輸入第一個局部變量賦值欲在局部變量表中賦值,請遵循以下步驟:
    1.    確保正確的POU在程序編輯器窗口中顯示,如有必要,點擊所需的POU標記。(因為每個POU都有自己的局部變量表,您需要確保對正確的POU賦值。)
    2.    如果局部變量表處于隱藏狀態,下拉水平分裂條,顯示局部變量表。
    3.    為需要定義的變量選擇具有正確說明類型的行,在"名稱"域中為該變量鍵入一個名稱。(如果您在OB1或中斷例行程序中賦值,局部變量表只包含TEMP變量。如果您在子程序中賦值,局部變量表包含IN、IN_OUT、OUT和TEMP變量。)您不需要在局部變量表中的變量名前加井號。井號只用在程序代碼中的局部變量前。
    注釋:
   *  局部變量名最多可包含23個字母數字字符和下劃號,也可包含擴展字符(ASCII 128至 ASCII 255)。第一個字符只能是字母或擴展字符。將關鍵字用作符號名屬于非法,名稱的第一個字符是數字,或名稱包含非字母數字字符或擴展字符集中的字符也屬于非法。
   **  局部變量表變量名被下載并存儲于CPU內存中,使用較長的變量名可能減少用于存儲程序的內存空間。
    4.    在"數據類型"域中點擊鼠標指針,并使用列表框為局部變量選擇適當的數據類型。
    注釋:
    當您將局部變量指定為子程序的參數時,您必須保證為局部變量指定的數據類型不與子程序調用中使用的操作數發生沖突。為"名稱"和"數據類型"域提供數值后,程序編輯器會自動為局部變量指定L內存地址。
如何在局部變量表中輸入附加賦值
   對于OB1和中斷例行程序,局部變量表顯示一組已被預先定義為TEMP變量的行。在OB1或中斷例行程序中,只能使用這種說明類型。欲在表中增加更多行,只需點擊最后一行中的一個單元格,然后使用ENTER鍵移過該行并向下移動,即自動生成一個新行。
   對于子程序,局部變量表顯示按照以下順序預先定義說明類型的一組行:IN、IN_OUT、OUT和TEMP。您不能改變該順序。局部變量在該表中的順序必須符合當您為子程序調用指令進行操作數賦值時對應的操作數順序。如果您希望增加附加局部變量,必須用鼠標右鍵點擊現有行,并使用彈出菜單插入與點擊行類型相同的另一局部變量。選擇插入(Insert)> 行(
Row),在所選行的上方插入新行,或選擇插入(Insert> 行下方(Below Row),在所選行下方插入新行。
  






分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧美日韩精品久久亚洲区 | 欧美精品1区2区3区 精品国产欧美一区二区 | 九九热在线观看视频 | 欧美大片久久久 | 久久不卡 | 99国产精品久久久 | www.狠狠干 | 性欧美精品一区二区三区在线播放 | 在线色网站| 日韩在线视频一区 | 99热在线观看精品 | 99中文字幕 | 亚洲激情在线视频 | 亚洲一区三区在线观看 | 另类 综合 日韩 欧美 亚洲 | 北条麻妃99精品青青久久主播 | 午夜精品久久久久久久久久久久久 | 色综合久 | 91视频官网 | www.色.com| 欧美黄色一区 | 91高清免费观看 | 偷拍亚洲色图 | 久久久久无码国产精品一区 | 中文字幕免费 | 国产一区二区影院 | 久草色播| 羞羞视频在线观看网站 | 成人小视频在线观看 | 国产高清视频在线观看播放 | 久一久 | 国产成人艳妇aa视频在线 | 久久久久久国产 | 中文字幕在线观看视频网站 | 久久久九九 | 久久综合久久久 | 欧美激情国产精品 | 日韩精品在线看 | 精品在线免费看 | av一级久久 | 国产精品1区2区3区 国产在线观看一区 |