西門子PLC的局部變量的類型和賦值

發(fā)布時間:2023-12-19
temp(臨時變量)為暫時保存在局部數據區(qū)中的變量。只有在執(zhí)行該pou時,定義的臨時變量才被使用,pou執(zhí)行完后,不再使用臨時變量的數值。在主程序或中斷程序中,局部變量表只包含temp變量。子程序的局部變量表中還有三種變量:in(輸入變量)、out(輸出變量)、in_out(輸入/輸出變量)。 在局部變量表中賦值時,只需指定聲明局部變量的類型(temp、in、in_out或out)和數據類型(參見simatic和iec1131-3的數據類型),但不指定存儲器地址,程序編輯器自動地在l存儲區(qū)中為所有局部變量指定存儲器位置。起始地址為lo,每字節(jié)8位,能訪問到位。字節(jié)、字和雙字在局部存儲器中按字節(jié)順序分配,例如lbx、lwx或ldx。
局部變量作為參數向子程序傳遞時,在該子程序的局部變量表中指定的數據類型必須與調用pou中的數據類型值匹配。例如,在主程序ob1中調用子程序sbr0,使用名為input1的全局符號作為子程序的輸入參數。在sbr0的局部變量表中,已經定義了一個名為first的局部變量作為該輸入參數。當ob1調用sbro時,input1的數值被傳入first,input1和first的數據類型必須匹配。
在程序中使用符號名時,程序編輯器首先檢查有關pou的局部變量表,然后檢查符號表/全局變量表。如果某符號名在兩處都沒有定義,程序編輯器則將其視為全局符號,程序編輯器指定一條綠色波浪狀下劃線,并將名稱括在雙引號中,例如“undefinedlocalvar”(未定義的局部變量)。如果后來對該符號名賦了值,則程序編輯器不會自動再次讀取局部變量表并修改它。為了將該符號名作為局部變量使用,必須手工刪除程序代碼中的引號,并在符號名前插入#號,例如改為#undefinedlocalvar。
各子程序最多可調用16個輸入/輸出參數,如果超出16個,將返回錯誤。選擇希望的變量類型所在的行,并在名稱域中鍵入變量名稱,在數據類型域中鍵入數據類型。不需在局部變量表中的變量名稱前加#號,#號只在程序代碼中的局部變量名之前使用。
局部變量名可包含數字、字母和下劃線(_),也可以包含擴展字符(ascii128~255)。第一個字符必須是字母或擴展字符,關鍵字不能作為符號名。
局部變量表中的變量名被下載和存儲在cpu存儲器中,使用較長的變量名將占用較多的存儲空間。
上一個:海信電視插u盤沒反應后無法讀取(海信電視插u盤沒反應可以使用充電器線轉換嗎)
下一個:PU屋面外墻保溫材料技術及其優(yōu)勢有哪些?

烹茶精,正是工夫茶最突出的特點
普洱茶的水味指的是什么?尾水同茶葉內含物質有關系嗎?
小米play截屏快捷鍵(小米play截屏方法)
智能家居控制系統(tǒng)
oppo手機開發(fā)者模式怎么關閉(手機開發(fā)者模式怎么關閉)
電腦關機自動重啟怎么解決(電腦關機自動重新啟動是怎么回事)
.中國域名注冊要怎么做?
AC0603FR-0744R2L,國巨車規(guī)電阻0603 44.2Ω ±1% 1/10W
三星CL05A475KP5NRNC電容
win10屏幕截圖后保存在哪(win10截圖之后保存在哪)
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos