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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 9175|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

S7-200子程序 局部變量說(shuō)明

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:26188 發(fā)表于 2015-5-28 00:52 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式


                            IN                       調(diào)用POU提供的輸入?yún)?shù)。

                            OUT                   返回調(diào)用POU的輸出參數(shù)。
                            IN_OUT              數(shù)值由調(diào)用POU提供的參數(shù),由子程序修改,然后返回調(diào)用POU。

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


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

    每個(gè)子程序調(diào)用的輸入/輸出參數(shù)的最大限制是16,如果您嘗試下載的程序超過(guò)此一限制,INout加起來(lái)共16個(gè)超過(guò)16個(gè)就會(huì)出錯(cuò),本人做一個(gè)程序的時(shí)候發(fā)現(xiàn)了這個(gè)問(wèn)題,在這里提醒各位同行。

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

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

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

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

    子程序或者中斷程序不能訪問(wèn)分配給主程序的局部存儲(chǔ)器。子程序不能訪問(wèn)分配給主程序、中斷程序或者其他子程序的局部存儲(chǔ)器。同樣的,中斷程序也不能訪問(wèn)分配給主程序或子程序的局部存儲(chǔ)器。S7--200 PLC根據(jù)需要分配局部存儲(chǔ)器。也就是說(shuō),當(dāng)主程序執(zhí)行時(shí),分配給子程序或中斷程序的局部存儲(chǔ)器是不存在的。當(dāng)發(fā)生中斷或者調(diào)用一個(gè)子程序時(shí),需要分配局部存儲(chǔ)器。新的局部存儲(chǔ)器地址可能會(huì)覆蓋另一個(gè)子程序或中斷程序的局部存儲(chǔ)器地址。

    局部存儲(chǔ)器在分配時(shí)PLC不進(jìn)行初始化,初值可能是任意的。當(dāng)在子程序調(diào)用中傳遞參數(shù)時(shí),在被調(diào)用子程序的局部存儲(chǔ)器中,由CPU替換其被傳遞的參數(shù)的值。局部存儲(chǔ)器在參數(shù)傳遞過(guò)程中不傳遞值,在分配時(shí)不被初始化,可能包含任意數(shù)值。

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

   4、
子程序中的定時(shí)器:
停止調(diào)用子程序時(shí),線圈在子程序內(nèi)的位元件的ON/OFF狀態(tài)保持不變。如果在停止調(diào)用時(shí)子程序中的定時(shí)器正在定時(shí),100ms定時(shí)器將停止定時(shí),當(dāng)前值保持不變,重新調(diào)用時(shí)繼續(xù)定時(shí);但是1ms定時(shí)器和10ms定時(shí)器將繼續(xù)定時(shí),定時(shí)時(shí)間到時(shí),它們的定時(shí)器位變?yōu)?狀態(tài),并且可以在子程序之外起作用。


    如何輸入第一個(gè)局部變量賦值欲在局部變量表中賦值,請(qǐng)遵循以下步驟:
    1.    確保正確的POU在程序編輯器窗口中顯示,如有必要,點(diǎn)擊所需的POU標(biāo)記。(因?yàn)槊總(gè)POU都有自己的局部變量表,您需要確保對(duì)正確的POU賦值。)
    2.    如果局部變量表處于隱藏狀態(tài),下拉水平分裂條,顯示局部變量表。
    3.    為需要定義的變量選擇具有正確說(shuō)明類(lèi)型的行,在"名稱(chēng)"域中為該變量鍵入一個(gè)名稱(chēng)。(如果您在OB1或中斷例行程序中賦值,局部變量表只包含TEMP變量。如果您在子程序中賦值,局部變量表包含IN、IN_OUT、OUT和TEMP變量。)您不需要在局部變量表中的變量名前加井號(hào)。井號(hào)只用在程序代碼中的局部變量前。
    注釋?zhuān)?/div>
   *  局部變量名最多可包含23個(gè)字母數(shù)字字符和下劃號(hào),也可包含擴(kuò)展字符(ASCII 128至 ASCII 255)。第一個(gè)字符只能是字母或擴(kuò)展字符。將關(guān)鍵字用作符號(hào)名屬于非法,名稱(chēng)的第一個(gè)字符是數(shù)字,或名稱(chēng)包含非字母數(shù)字字符或擴(kuò)展字符集中的字符也屬于非法。
   **  局部變量表變量名被下載并存儲(chǔ)于CPU內(nèi)存中,使用較長(zhǎng)的變量名可能減少用于存儲(chǔ)程序的內(nèi)存空間。
    4.    在"數(shù)據(jù)類(lèi)型"域中點(diǎn)擊鼠標(biāo)指針,并使用列表框?yàn)榫植孔兞窟x擇適當(dāng)?shù)臄?shù)據(jù)類(lèi)型。
    注釋?zhuān)?/div>
    當(dāng)您將局部變量指定為子程序的參數(shù)時(shí),您必須保證為局部變量指定的數(shù)據(jù)類(lèi)型不與子程序調(diào)用中使用的操作數(shù)發(fā)生沖突。為"名稱(chēng)"和"數(shù)據(jù)類(lèi)型"域提供數(shù)值后,程序編輯器會(huì)自動(dòng)為局部變量指定L內(nèi)存地址。
如何在局部變量表中輸入附加賦值
   對(duì)于OB1和中斷例行程序,局部變量表顯示一組已被預(yù)先定義為T(mén)EMP變量的行。在OB1或中斷例行程序中,只能使用這種說(shuō)明類(lèi)型。欲在表中增加更多行,只需點(diǎn)擊最后一行中的一個(gè)單元格,然后使用ENTER鍵移過(guò)該行并向下移動(dòng),即自動(dòng)生成一個(gè)新行。
   對(duì)于子程序,局部變量表顯示按照以下順序預(yù)先定義說(shuō)明類(lèi)型的一組行:IN、IN_OUT、OUT和TEMP。您不能改變?cè)擁樞。局部變量在該表中的順序必須符合?dāng)您為子程序調(diào)用指令進(jìn)行操作數(shù)賦值時(shí)對(duì)應(yīng)的操作數(shù)順序。如果您希望增加附加局部變量,必須用鼠標(biāo)右鍵點(diǎn)擊現(xiàn)有行,并使用彈出菜單插入與點(diǎn)擊行類(lèi)型相同的另一局部變量。選擇插入(Insert)> 行(
Row),在所選行的上方插入新行,或選擇插入(Insert> 行下方(Below Row),在所選行下方插入新行。
  






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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人小视频在线观看 | 337p日本欧洲亚洲大胆鲁鲁 | 免费看黄视频网站 | 99精品欧美一区二区三区 | 伊人热久久| 欧美a∨ | 欧美激情精品久久久久久免费 | 免费在线看黄 | 精品国产一级 | 国产免费一区二区 | 欧美精品一区二区三区蜜桃视频 | 久久精品一区 | 在线观看国产wwwa级羞羞视频 | 少妇特黄a一区二区三区88av | 亚洲久久| 国产精品99久久久久 | 亚洲一一在线 | 日韩中文字幕在线视频观看 | 91精品国产综合久久久久 | 亚洲一区二区视频 | 欧美日韩高清 | 亚洲欧美国产视频 | 亚洲精品成人免费 | 亚洲精品日本 | 美女天天操 | 日韩中文字幕免费在线 | 亚洲最大福利网 | 五月天婷婷激情 | 欧美日韩专区 | 精品三级 | 户外露出一区二区三区 | 99热国产在线播放 | 国产精品毛片一区二区在线看 | 国产一区二区三区在线 | 精品视频免费 | 久久精品中文字幕 | 1级毛片 | 欧美激情久久久 | 亚洲高清在线 | 久久综合狠狠综合久久综合88 | 欧美一区二区三区在线观看 |