上海日成電子有限公司 RCCN - 為顧客創(chuàng)造價(jià)值 - ISO9001/IATF16949/ISO/TS22163
選擇語(yǔ)言 Language

線(xiàn)槽_PVC線(xiàn)槽_電纜接頭_尼龍?jiān)鷰冷壓端子_尼龍軟管_金屬軟管_導(dǎo)軌_汽車(chē)線(xiàn)束 - 上海日成電子有限公司RCCN

西門(mén)子PLC中變量的關(guān)系

1.什么是全局變量和局部變量?

以西門(mén)子的S7-200為例,輸入I、輸出Q、變量存儲(chǔ)器V、內(nèi)部存儲(chǔ)器位M、定時(shí)器T、計(jì)數(shù)器C等屬于全局變量,可以在符號(hào)表中為全局變量定義符號(hào)名。

程序組織單元(Program Organizational Unit)簡(jiǎn)稱(chēng)為POU,包括主程序、子程序和中斷程序。每個(gè)POU均有自己的64字節(jié)局部變量,局部變量用L(Local)來(lái)表示,局部變量只能在它所在的POU中使用。與此相反,全局變量可以在各POU中使用。

2.局部變量有哪些類(lèi)型?

子程序可以使用下列局部變量:

1) TEMP (臨時(shí)變量)是暫時(shí)保存在局部數(shù)據(jù)區(qū)中的變量。只有在執(zhí)行該P(yáng)OU時(shí),定義的臨時(shí)變量才被使用,POU執(zhí)行完后,不再保存臨時(shí)變量的數(shù)值。主程序和中斷程序的局部變量表中只有TEMP變量。

2) IN(輸入?yún)?shù))由調(diào)用它的POU提供的傳入子程序的輸入?yún)?shù)。

3) OUT(輸出參數(shù))是子程序的執(zhí)行結(jié)果,它被返回給調(diào)用它的POU。

4) IN_OUT(輸入_輸出參數(shù))的初始值由調(diào)用它的POU傳送給子程序,并用同一變量將子程序的執(zhí)行結(jié)果返回給調(diào)用它的POU。

主程序和中斷程序的局部變量表中只有臨時(shí)變量TEMP。

3.子程序的輸入、輸出參數(shù)有什么作用?

具有輸入、輸出參數(shù)和局部變量的子程序易于實(shí)現(xiàn)結(jié)構(gòu)化編程,對(duì)于長(zhǎng)期生產(chǎn)同類(lèi)設(shè)備或生產(chǎn)線(xiàn)的廠(chǎng)家尤為有用。編程人員為設(shè)備的各部件或工藝功能編寫(xiě)了大量的通用的子程序。即使不知道子程序的內(nèi)部代碼,只要知道子程序的功能和輸入、輸出參數(shù)的意義,就可以用它們快速“組裝”出滿(mǎn)足不同的用戶(hù)要求的控制程序。就好像可以用數(shù)字集成電路芯片組成復(fù)雜的數(shù)字電路一樣。

如果子程序沒(méi)有輸入、輸出參數(shù),這種子程序沒(méi)有明確的軟件接口,使用起來(lái)很不方便。

4.局部變量有什么優(yōu)點(diǎn)?

1) 子程序如果沒(méi)有局部變量,它和調(diào)用它的程序之間只能通過(guò)全局變量來(lái)交換數(shù)據(jù),子程序內(nèi)部也只能使用全局變量。將它移植到別的項(xiàng)目時(shí),需要對(duì)各POU使用的全局變量作統(tǒng)一安排,以保證不會(huì)出現(xiàn)地址沖突。當(dāng)程序很復(fù)雜,子程序很多時(shí),這種地址分配是很花時(shí)間的。

如果子程序有局部變量,并且在子程序中只使用局部變量,不使用全局變量,因?yàn)榕c其他POU沒(méi)有地址沖突,不作任何改動(dòng),就可以將子程序移植到別的項(xiàng)目中去。

為了減少移植子程序的工作量,在子程序中應(yīng)盡量避免使用全局變量和全局符號(hào)。

2) 如果使用局部變量表中的臨時(shí)變量(TEMP),同一片物理存儲(chǔ)器可以在不同的程序中重復(fù)使用。

相關(guān)文章

上一篇: PLC中MT晶體管輸出和MR繼電器輸出的區(qū)別
下一篇: 變頻節(jié)能的方法與原理
技術(shù)
支持
聯(lián)系
我們
在線(xiàn)
留言
下載
資料
打印
本頁(yè)
官方
微信
微信二維碼 官方微信
收藏
本頁(yè)
返回
頂部
黃金喊單