首页
/
每日頭條
/
圖文
/
plc變量類型怎麼看
plc變量類型怎麼看
更新时间:2026-02-26 10:14:37

plc變量類型怎麼看?我最早接觸“靜态變量”的概念是在計算機C語言的編程中,清楚的記得它需要用"static"關鍵字來聲明靜态變量(Static Variable)其實也是一種變量(Variable),因此在介紹靜态變量(Static Variable)之前,我們先來介紹下在計算機和PLC的編程中“變量(Variable)”的概念,下面我們就來聊聊關于plc變量類型怎麼看?接下來我們就一起去了解一下吧!

plc變量類型怎麼看(PLC的各種變量怎樣使用)1

plc變量類型怎麼看

我最早接觸“靜态變量”的概念是在計算機C語言的編程中,清楚的記得它需要用"static"關鍵字來聲明。靜态變量(Static Variable)其實也是一種變量(Variable),因此在介紹靜态變量(Static Variable)之前,我們先來介紹下在計算機和PLC的編程中“變量(Variable)”的概念。

1 什麼是變量

所謂“變量”,是在程序的運行過程中,其值可以根據某些條件而發生變化的量。與“變量”相對的是“常量(Constant)”,顧名思義,常量的值在整個程序的運行中保持不變。

變量的名字稱為“變量名”,變量名通常是一個助記符,用來表示一個物理地址。在這個地址上存放着變量的值。

變量有兩個特性:作用域和生命周期。

2 全局變量與局部變量

變量的作用域是指變量的作用範圍,也就是在哪些範圍内該變量是有效的。根據作用域的不同,變量可以分為全局變量(Global Variable)和局部變量(Local Variable)。

全局變量在整個程序範圍内都有效。

在C語言中,全局變量是在函數外部聲明的變量。比如下面C語言代碼中的“a”和“x”都是全局變量:

注:由于C語言從上而下執行,全局變量x并不能在函數func1中訪問。

在西門子S7系列PLC的編程中,那些存放在公共存儲區的變量都屬于全局變量。公共存儲區包括輸入緩存區(I)、輸出緩存區(Q)、位存儲區(M)、全局數據塊(Global DB)、定時器(T)、計數器(C)等等。比如,位存儲區的M0.0,你可以在主程序(OB)或子程序(FB、FC)中訪問它,它是全局的。

局部變量(Local Variable)是隻能在某個子程序(FB或FC)中訪問的變量。

也就是說,局部變量是私有的,子程序(FB或FC)隻能訪問其自身内部定義的變量,而不能訪問其它子程序内部定義的變量。

從生命周期來看,全局變量的生命周期是整個程序的運行周期。也就是說,隻要PLC還運行用戶程序,全局變量就一直有效。

而局部變量的生命周期則取決于其存放的位置。

2 臨時變量與靜态變量

對于S7系列PLC而言,局部變量有兩個存放的位置:臨時變量存儲區(堆棧)和背景數據塊(Instance DB)。

臨時變量存儲區(堆棧),也稱為局部變量存儲區(Local Memory),用來存放FB或FC在運行過程中的臨時變量

在S7系列PLC中,FB、FC或者OB都被稱為“程序組織單元(POU,program organizational unit)”。PLC為每個POU分配一定數量的臨時變量存儲區,在S7-300/400 PLC中,這個區域的大小為256字節;在S7-200 Smart PLC中,這個區域的大小為64字節。

臨時變量存儲區中的變量稱為“臨時變量”,它們隻在當前POU運行時有效。當POU運行結束後,該變量将被釋放(無法保存)。

注:當POU由于中斷而被挂起時,其臨時變量會被保存,以便下次中斷現場恢複後繼續執行。

如果想保存程序運行的中間值怎麼辦呢?答案是使用靜态變量(Static Variable)。

在博途(TIA Portal)環境或Step7開發環境中,功能塊(FB)接口有“Static(STAT)”一項。所有在“STAT”欄内定義的變量都将會被存放到背景數據塊中。在FB運行結束後,“STAT”中定義的變量不會被釋放。這種變量稱為“靜态變量”。如下圖中的變量“STAT_test1”和“STAT_test2”:

注:FB中的IN、OUT參數也會保存到背景數據塊中。背景數據塊中的數據隻能被擁有它的功能塊(FB)訪問。

說到這裡,你應該明白了吧?靜态變量從作用域上分屬于局部變量;從生命周期上來看,它與用戶程序的生命周期相同。臨時變量也屬于局部變量,不過其生命周期短,僅在POU運行的過程中有效。

Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
田言嫁給誰了(究竟誰在套路誰)
田言嫁給誰了(究竟誰在套路誰)
  導語:在秦時明月最新的劇情當中,農家衆人集體上演了感人的一幕。原本農家六堂人多勢衆,在江湖上也算是基礎雄厚。可是六堂之人卻各自争鬥,每位堂主都對俠魁之位觊觎已久,因此,農家不得不分為兩大派。但随着劇情的發展,實力占優的田言這一派逐漸掌握了大局。因此心有不服的朱家也不得不審時度勢,将神農堂投向田言的懷抱,雙方彼此化解了往日的恩怨。      可事實上真的有...
2026-02-26
極限挑戰7季用什麼車(漢EV廣州
極限挑戰7季用什麼車(漢EV廣州
  漢EV創世版廣州-陽江往返極限挑戰   實測續航高達701.8km   無懼遠行,即刻出發!      ,
2026-02-26
迪士尼收購福克斯不再制作電影(二十世紀福克斯)
迪士尼收購福克斯不再制作電影(二十世紀福克斯)
  參考消息網1月19日報道美媒稱,迪士尼公司一名發言人說,該公司重新命名了2019年收購的二十世紀福克斯影業公司,去掉了“福克斯”,将其更名為“二十世紀影業公司”。   據美國《華爾街日報》網站1月17日報道,迪士尼還把二十世紀福克斯下屬的子公司、傳統上以出品低預算的藝術電影著稱的“福克斯探照燈電影公司”更名為“探照燈電影公司”。   報道稱,這一變化在兩...
2026-02-26
玉娆和甄母現實中是親生母女嗎(為什麼隻有三小姐玉娆赢得了最終的幸福)
玉娆和甄母現實中是親生母女嗎(為什麼隻有三小姐玉娆赢得了最終的幸福)
  #頭條創作挑戰賽##我在頭條搞創作##甄嬛傳#   甄家一共三個女兒,長女甄嬛為了妹妹的家族的前途進宮選秀,成為帝王無數個女人當中的一個。次女浣碧乃是見不得光的私生子,耍了陰狠手段讓自己如願嫁給了果郡王,奈何對方心裡完全沒有她。隻有第三個女兒玉娆,她拒絕了皇帝的心意,依照自己的本心嫁給了心愛的男人慎貝勒。   為什麼甄家三姝裡隻有最小的玉娆得到了幸...
2026-02-26
十大忌諱你知道哪些(用詞這樣百無晉忌)
十大忌諱你知道哪些(用詞這樣百無晉忌)
     “有醋可吃糠,無醋肉不香。”   —— 探員手記   歡迎加入遣詞造句1班(太原群),今天我們将教授四字詞語,零基礎同學也可以參加,晉言晉語,包教包會。   不用再擔心鍵盤上的H鍵被磨平棱角,聊天隻會發紅紅火火恍恍惚惚。   本期為你準備了太原文化人都在用的四字詞語,它們都有哪些?适合在什麼場合用?   快跟上節奏解鎖新技能,把它們打包進肚吧。  ...
2026-02-26
Copyright 2023-2026 - www.tftnews.com All Rights Reserved