詳細介紹
西門子PLC卡件代理商
CPU 在程序循環處理過程中有一段連續的地址區域存儲過程信號叫做過程映象區,他處于CPU的系統存儲區中。這樣CPU 可以訪問內部存儲區獲得I/O 信號而不用直接訪問I/O 模塊。
過程映象區中的I/O 值不反映當前的I/O 信號,他記錄的是循環掃描起始期的I/O 值。當輸入模塊中的一個信號狀態發生改變,過程映象區中該信號的狀態直到下次循環開始時才會更新。
通過過程映像區訪問時,地址格式是I/Q(輸入/輸出),小可以訪問到位,如I0.0,Q10.0
一般通過過程映像區訪問的循環程序運行流程如下:
1. 執行CPU 內部任務
2. 將過程映像區輸出區(PIQ)送到模塊輸出通道
3. 從模塊的輸入通道到過程映像區輸入區(PII)
4. 執行用戶程序段
但是過程映象區僅有128 個字節,而對于新型的CPU315-2DP(2AG10),它支持的數字量通
道是16384,既有2048byte,有時候在I/O 量很大的情況下有必要采用直接I/O 訪問的方式而不
占用過程映像區,小訪問單位是字節。地址格式如下:
注意:直接I/O 訪問,小按字節進行,不能單獨對位進行操作。
CPU 系統循環掃描周期:
如圖1 所示,一般在循環掃描周期中,過程映象區會自動地更新,但在S7-400 和CPU 318 中您可以取消這樣的更新方式,進行直接的I/O 訪問或者在程序的不同地方調用SFC2模塊可用。
西門子PLC主機模塊授權代理商本地數據堆棧區L是簡介
西門子plc臨時變量l的用法
局部變量,L變量僅在調用它的子程序中有效。
不同子程序中的L變量可用同名。如,FC1中有L0.1,FC2中也有L0.1這個變量,而2者間沒任何關系、也不會相互沖突。
2、不需要做初始化
3、局部變量解釋:
L 是局部存儲器,作為暫時存儲器或給子程序傳遞參數,L也可以L*.*(如L2.5 是BOOL 量,是第二個字節的第五位),LB,LW,LD來存取,但僅僅在它被創建的塊中有效,它也可以在符號表中定義,但只能在各個POU自己的符號表中定義.
4、全局變量和局部變量在符號尋址編程時,全局變量直接顯示符號名,而局部變量在符號前會加上#,采用局部變量編程有很多優勢:程序可以功能化移植(減少重復編程量),大程序方便協同作戰(把任務分成各個功能塊),這是SIEMENS的plc比較優越性之處。
5、使用注意,一定要先賦值,后使用局部變量又稱臨時本地數據區(L堆棧),位于CPU的工作存儲區用于存儲程序塊(OB、FB、FC)被調用時的臨時數據,訪問臨時數據比訪問數據塊中的數據更快。
“L是局部變量,只能在局部使用,不能在全局使用。”只是在這個程序塊中可以使用的,使用結束后就會自動復位,它不能被其他的程序使用。臨時變量的使用原則就是:先賦值,再使用
在S7-300CPU中,每一個優先級的局部數據區的大小是固定的。
一般在組織塊中調用程序塊(FB、FC等),操作系統分配給每一個執行級(組織塊OB,一般在OB塊執行并調用其它FB、FC)的局部數據區的大數量為256B(字節),組織塊OB自己占去20B或22B,還剩下多234B可分配給FC或FB。如果塊中定義的局部數據的數量大于256字節,該塊將不能下載到CPU中。在下載過程中提示錯誤信息:The?block?could?not?be?copied(該塊不能被復制)。如果單擊錯誤信息框中的Detail(詳細)按鈕,將彈出幫助信息:Incorrect?local?data?length(不正確的局部數據長度)。
在SIMATIC管理器中依次展開你的項目到Blocks(塊),右擊選中某個塊,選擇菜單Object?Properties(目標屬性)選項。在塊的屬性對話框中,可以看到塊所需要的局部數據字節數(Length長度:Local?Data(局部數據))。
1、本地數據堆棧區L是局部變量,L變量僅在調用它的子程序中有效。
不同子程序中的L變量可用同名。比如:FC1中有L0.1,FC2中也有L0.1這個變量,而2者間沒任何關系、也不會相互沖突。
2、不需要做初始化。
3、局部變量解釋
L 是局部存儲器,作為暫時存儲器或給子程序傳遞參數,L也可以L*.*(如L2.5 是BOOL 量,是第二個字節的第五位),LB,LW,LD來存取,但僅僅在它被創建的塊中有效,它也可以在符號表中定義,但只能在各個POU自己的符號表中定義。
4、全局變量和局部變量在符號尋址編程時,全局變量直接顯示符號名,而局部變量在符號前會加上#,采用局部變量編程的優勢:程序可以功能化移植(減少重復編程量),大程序方便協同作戰(把任務分成各個功能塊),這是SIEMENS plc的優越性之處。
5、使用注意事項
在使用時注意,一定要先賦值,后使用局部變量又稱臨時本地數據區(L堆棧),位于CPU的工作存儲區用于存儲程序塊(OB、FB、FC)被調用時的臨時數據,訪問臨時數據比訪問數據塊中的數據更快。
“L是局部變量,只能在局部使用,不能在全局使用。”只是在這個程序塊中可以使用的,使用結束后就會自動復位,它不能被其他的程序使用。
臨時變量的使用原則:先賦值,再使用。
在S7-300CPU中,每一個優先級的局部數據區的大小是固定的。
一般在組織塊中調用程序塊(FB、FC等),操作系統分配給每一個執行級(組織塊OB,一般在OB塊執行并調用其它FB、FC)的局部數據區的大數量為256B(字節),組織塊OB自己占去20B或22B,還剩下多234B可分配給FC或FB。如果塊中定義的局部數據的數量大于256字節,該塊將不能下載到CPU中。
在下載過程中提示錯誤信息:The?block?could?not?be?copied(該塊不能被復制)。如果單擊錯誤信息框中的Detail(詳細)按鈕,將彈出幫助信息:Incorrect?local?data?length(不正確的局部數據長度)。
在SIMATIC管理器中依次展開你的項目到Blocks(塊),右擊選中某個塊,選擇菜單Object?Properties(目標屬性)選項。在塊的屬性對話框中,可以看到塊所需要的局部數據字節數(Length長度:Local?Data(局部數據))。
在SIMATIC管理器中選中你的項目的Block(塊(文件夾,執行菜單命令Options(選項)/Reference?Data(參考數據)/Display(顯示),然后選擇Pr
暫時保存在局部數據堆棧中的變量。同一級POU的臨時變量使用局部數據堆棧中的同一塊物理存儲區,類似于公用的布告欄,誰都可以往上面貼布告,后貼的布告將原來的布告覆蓋掉。每次調用POU之后,不再保存它的臨時變量的值。每次調用FC和FB時,首先應初始化它的臨時變量(寫入數值),然后再使用它,簡稱為先賦值后使用。
STAT(靜態變量):保存在背景數據塊中,背景數據塊相當于每次調用功能塊時對應的被控對象的私人數據倉庫。功能塊執行完后,背景數據塊中的數據不會丟失,以供下次執行功能塊時使用。
所以在功能塊執行完后需要保存的變量應使用靜態變量。
產品咨詢