公司新聞
使用 HMI 變量作為塊輸入輸出參數時,為什么有時會出現通過觸摸屏不能修改 CPU 數據
發布時間: 2024-04-09 21:14 更新時間: 2024-11-22 08:00
觀看使用 HMI 變量作為塊輸入輸出參數時,為什么有時會出現通過觸摸屏不能修改 CPU 數據視頻
在 PLC 處理調用塊期間,HMI 變量可能會改變輸入輸出參數的值,然而在塊調用結束后會覆蓋HMI的寫操作(當回寫時)。
STEP 7 (TIA Portal) 在內部傳送數據可以使用指針方式或者復制方式,取決于參數的傳送區域和數據類型。
如果數據作為副本傳送(值傳遞),塊調用時操作數的值將被復制到被調用塊的 Input 參數。例如,FB 的副本是存儲在背景數據塊,FC 的副本是存儲在塊堆棧區。
如果使用結構型變量(像數據類型ARRAY,STRUCT,STRING,...)作為塊參數,那么 STEP7 是以指針傳遞數據的(引用傳遞)。
以下表格對比了兩種數據傳遞方式之間的不同之處。
塊調用時,塊使用的是參數的值,并不直接使用參數。 | 塊使用參數所指向的內存地址。 |
寫訪問只改變副本,而不會改變塊中的值。 | 寫訪問直接改變參數。 |
*副本需要額外的內存。 | 因為沒有副本,所以不需要額外的內存。 |
*備注
在使用 InOut 參數的情況下,即便副本并沒有在塊中被修改,在塊結束的時候操作數的副本也將寫入操作數。這意味著在塊運行期間,操作數(或操作數的一部分)的異步改變(通過 HMI 寫訪問或者更高優先等級的運行系統)將會丟失,因為塊被調用后,操作數的值會被覆蓋。
補救方法
在共享數據塊中定義變量,并且使用共享DB塊變量作為塊參數。
在 S7-1200/S7-1500 塊調用中,被傳遞的變化的數據存儲在 InOut 參數中,那么以上所述內容也會發生。
例子
一個有 “優化的塊訪問” 選項的功能塊,調用一個沒有 “優化的塊訪問” 選項并且包含一個使用 PLC 數據類型作為 InOut 參數的功能塊。
備注
不要使用M存儲區的原因如下:
由于兼容性的問題,M存儲區并沒有被優化,所以優化的全局DB比M存儲區更好用。
每種控制器的M存儲區大小不一樣,所以使用共享 DB 塊就可以隨意使用你的程序。
其他新聞
- 西門子發布體積Zui小的Sinamics完美無諧波GH180高壓變頻器 2024-11-22
- STEP7真要出V5.6了嗎 2024-11-22
- 西門子S7-200Smart與300PLC建立以太網連接的方法 2024-11-22
- 西門子博途V14打開時提示需要需符合fips標準的解決辦法 2024-11-22
- 變頻是什么? 2024-11-22
- 西門子博途V13中通過關鍵字AT實現變量覆蓋 2024-11-22
- 西門子博圖TIA V14版本測試加體驗 2024-11-22
- 如何估算西門子S7-1500裝載存儲區中的用戶程序所需要的存儲空間的大小 2024-11-22
- 如何在 STEP7 (TIA Portal) 中提取實數的整數和小數部分 2024-11-22
- 為什么TIA博圖V14的信息系統(在線幫助)有時顯示不正確的字符 2024-11-22
- 如何在 STEP 7 (TIA Portal) 中更新硬件目錄 2024-11-22
- WinCC (TIA Portal) V13,如何把項目傳送到沒有直接數據連接的電腦上 2024-11-22
- 在STEP 7 (TIA Portal) 中,如何實現流量累積功能 2024-11-22
- 關于PROFINET下的IO刷新時間應該如何設置 2024-11-22
- 讀出西門子S7-1500 CPU運行時間的四種方法 2024-11-22
產品分類
聯系方式
- 電 話:13510737515
- 聯系人:董海波
- 手 機:13185520415
- 微 信:13185520415