㈠ 西門子fb塊裡面怎麼訪問靜態聲明的長度
可以這樣:在FB裡面多建一個靜態變數"SW_PPO_BIT1"(BOOL類型),把"SW_PPO"的第二位提取出來,賦給"SW_PPO_BIT1",然後用"SW_PPO_BIT1"參與運算。
比如:
L #SW_PPO
T LW 20
A L 20.1
= #SW_PPO_BIT1
首先static內變數的修改,涉及到所有的DB都要修改,對於在線運行的PLC修改static下載相對會麻煩一點。
對於標准FB塊的編寫,建議就要對相關變數進行一定的分類:一些重要的引腳,需要反復調用的就要放在IN/INOUT/OUT區;重要的中間變數放在static區;次要的無需保持的中間變數放在temp區。
另外要做標准塊的時候,建議先做FC的基礎標准塊,然後通過FC的簡單基礎標准塊去搭建復雜的FB標准塊,而不是一上來就去弄FB塊。很多時候如果FC塊能夠使用就不要用FB塊,這樣你在程序中調用FC會比調用FB簡單很多。
FC中雖然沒有static,但是他有temp,temp區雖然有一定的限制,但是也更加靈活方便,不要覺得有限制就不去使用了,應用好temp區對編程有很大的好處。
㈡ 西門子840D/81D/828D數控系統數控車床編程指令,絕對編程與相對編程用什麼指令能用U、W嗎
絕對用G90,相對用G91
㈢ 如何引用1200PLC中DB塊的絕對地址
如果你要在S7-1200中使用絕對地址來訪問DB中的數據,那麼你必須:
在DB屬性中取消勾選「優化的塊訪問」選項,否則你只能使用符號定址。
㈣ 步科觸摸屏怎麼訪問西門子PLC的DB數據塊
西門子plc DB數據塊怎麼使用?
熟悉西門子S7-300及以上的人都知道,數據塊DB在西門子的程序設計中起到了非常重要的作用,可以說DB塊幾乎承載了程序99%以上的數據,但是習慣了S7-300/400的人遇到博途後有些不習慣,其原因是博途和STEP7就是兩個軟體,而且博途的結構和S7-300/400也有很大差別,我至今還記得次使用博途PLC建立數據塊時的不知所措,所以今天帶大家了解一下博途PLC建立數據塊,幫助那些准備學習博途PLC的人,當然如果您是高手可以略過這篇文章。
1. 創建DB塊: 在項目中添加了S7-1200設備之後,在項目樹中此PLC的"程序塊"下即可以添加新的數據塊
在打開的"添加新塊"窗口下選擇數據塊。 以下是對此窗口下各項配置的說明:
名稱:此處可以鍵入DB塊的符號名。如果不做更改,那麼將保留系統分配的默認符號名。例如此處為DB塊分配的符號名為「Data_block_2」;
類型:此處可以通過下拉菜單選擇所要創建的數據塊類型-全局數據塊或背景數據塊。如果要創建背景數據塊,下拉菜單中列出了此項目中已有的FB供用戶選擇。
語言:對於創建數據塊,此處不可更改。
編號:默認配置為「自動」,即系統自動為所生成的數據塊配分塊號。當然也可以選擇「手動」,則「編號」處的下來菜單變為高亮狀態,以便用戶自行分配DB塊編號。
塊訪問:默認選項為「已優化」,當選擇此項時,數據塊中的變數僅有符號名,沒有地址偏移量的信息,該數據塊僅可進行符號定址訪問。選擇「已優化」創建數據塊可優化CPU對存儲空間的分配及訪問,提升CPU性能;用戶也可以選擇「標准-與S7-300/400兼容」,獲得與S7-300/400數據塊相同的特性,數據塊中的變數有符號名和偏移量,可以進行符號訪問和絕對地址訪問。
注意:數據塊的塊訪問屬性只能在創建數據塊時定義。創建完成後無法修改數據塊的訪問屬性。如果在編程中需要對數據塊進行絕對地址訪問,必須在創建該數據塊時將塊訪問設置成「標准-與S7-300/400兼容」。
當以上的數據塊屬性全部定義完成,點擊「確定」按鈕即創建完成一個數據塊。用戶可以在項目樹中看到剛剛創建的數據塊
2. 為數據塊定義變數:雙擊打開數據塊即可逐行添加變數
如果數據塊時選擇「標准-與S7-300/400兼容」,則在數據塊中可以看到「偏移量」列,並且系統在編譯之後在該列生成每個變數的地址偏移量。設置成優化訪問的數據塊則無此列。
默認情況下會有一些變數屬性列未被顯示出來,可以通過右鍵單擊任意列標題,可在出現的菜單中選擇顯示被隱藏的列
表1是對數據塊變數定義的所有列的說明:
定義變數的數據類型:可以為變數定義基本數據類型,復雜數據類型(時間與日期,字元串,結構體,數組等),PLC數據類型(如用戶自定義數據類型),系統數據類型和硬體數據類型。可以直接鍵入數據類型標識符,或者通過該列中的選擇按鈕選擇。如下圖所示:
DB塊數據的保持性:對於可優化訪問的數據塊,其中的每個變數可以分別設置其保持與否;而標准數據塊僅可設置其中所有的變數保持或不保持,不能對每個變數單獨設置。如圖7和圖8所示:
3. 數據塊的訪問:
符號訪問:<DB塊名>.<變數名>;例如:Data_Block_1.Var1;
絕對地址訪問:<DB塊號>.<變數長度及偏移量>:DB1.DBX0.0;DB1.DBB0;DB1.DBW0;DB1.DBD0。
注意:復雜數據類型只能符號定址。
㈤ 西門子PLC地址應該怎麼設置
西門子PLC的地址運用,地址是用來指定用戶訪問數據的目的地,此目的地通常以存儲區域+編號的形式出現,掌握存儲單位、訪問方式及地址的分配規則才能熟練應用。
1、存儲單位:
西門子PLC支持4種存儲單位,分別是bit(位)/byte(B位元組)/word(W字)/double word(DW雙字),它們之間的關系如下圖:
㈥ 西門子300 定址問題 P#DB90.DBX0.0 啥意思啊 和DB90.DBX0.0 有什麼區別呢
P#DB90.DBX0.0是指針,表示從DB90.DBX0.0開始。這個SFC是「復制塊」功能,根據你這個用法,應該是從DB90.DBX0.0開始的一個結構體,復制到DB91.DBX0.0開始的同樣大小的結構體中。
一句話,DB90.DBX0.0隻是指DB90中的0.0這一個位,而P#DB90.DBX0.0是指從這一位開始,具體根據後面的語法決定其長度,有可能是P#DB90.DBX0.0開始的一個位元組,也可能是P#DB90.DBX0.0開始的一個結構體等等。
㈦ 關於西門子PLC絕對地址怎麼確定
不知道你的是
西門子200
還是300的,200的就是按順序I0.0開始之後每個位元組為單位計算
如果是300的plc在硬體組態中,可以勾選自動分配地址,那麼他自動給你分配,I/O點地址,也可以自己指定I/O起始地址,然後它自己給你計算出後面的地址。
㈧ 西門子PLC中的數據如何定址
使用直接定址,指令中直接給出操作數地址的定址方式稱為直接定址。直接定址是指在指令中直接給出要訪問的存儲器或寄存器的名稱和地址編號,直接存取數據。
直接定址方式的操作數地址的16位偏移量(又稱有效地址EA)直接包含在指令中,它緊跟在操作碼之後,存放在代碼段區域內。
如果指令前面無前綴指明在哪一段,則默認操作數存放在數據段寄存器DS中。它的地址為數據段寄存器DS加上這16位地址偏移量。如果存放操作數的存儲區是在DS段以外的段中,則應在指令中指定段跨越前綴。用符號地址代替數值地址。
(8)西門子絕對訪問怎麼寫擴展閱讀:
立即定址方式和直接定址方式的書寫格式的不同。在程序中,直接定址的地址要寫在括弧「[]」內,立即地址通常用內存變數名來表示,如:MOV BX, VARW,其中,VARW是內存字變數;直接定址如:MOV AX [2000H]。
在直接定址中,指令操作數欄位中存放的是操作數的16位偏移地址EA,即操作數的偏移地址EA和操作碼一起存放在代碼段中,而操作數可以存放在數據段,也可以存放在其它段,操作數的物理地址由其所在段的寄存器內容左移4位與指令中給出的偏移地址EA相加形成。
㈨ 西門子plc300 訪問許可權怎麼設置,型號是cpu317-2dp
在step7打開PLC的硬體組態,雙擊PLC,彈出的窗口選擇「保護」標簽,根據需要設置你的密碼即可。
㈩ 西門子S7-1200 PLC 對背景數據塊(DB)功能解釋是什麼意思麻煩大神們通俗的解釋一下
S7-1200有59999個DB塊,也就是DB1~DB59999,每個DB塊中,都有65535個位元組。
系統庫指令(SFB指令)、FB指令(存放這些指令的內部數據,也就是指令的內部形參)。說明不能在背景數據塊中自定義添加變數,只能拿對應的背景數據塊中的具體地址來控制、運算,監控。
注意數據塊的塊訪問屬性只能在創建數據塊時定義。創建完成後無法修改數據塊的訪問屬性。如果在編程中需要對數據塊進行絕對地址訪問,必須在創建該數據塊時將塊訪問設置成標准-與S7-300/400兼容。
(10)西門子絕對訪問怎麼寫擴展閱讀:
注意事項:
1、在西門子S7-1200系統CPU的屬性中有一個時間設置,在使用時如果對時間有比較高的要求的話,一定要注意設置正確的參數,否則將不正確。
2、注意時區的選擇,上圖為UTC時間,即GMT時間,時間標准時間,如果是北京時間,請選擇UTC+8,要早8個小時。
3、如果有夏令時,請激活夏令時選項,中國已經取消夏令時。這樣設置後CPU轉入在線,可以把模塊時間同步成PG/PC上的時間。否則為PLC出廠默認日期。