04.02 如何對S7-1200/S7-1500 進行數據類型轉換

在STEP 7 (TIA Portal)裡 , 對於S7-1200/S7-1500 可以使用 “指令” 庫裡的轉換功能將變量轉換為所選的數據類型。

描述

下表(圖.1)給出了常用轉換功能的概覽。

如何對S7-1200/S7-1500 進行數據類型轉換

INT,DINT,REAL 和 BCD 數據類型之間的轉換

STEP 7 (TIA Portal) 提供了“CONV” (轉換)指令可以用於 INT,DINT,REAL 和 BCD 數據類型之間的轉換。可以在塊編輯器中按下表的步驟進行插入和參數化操作。

1. 在塊編輯器中,打開“指令” 庫,再打開“基本指令 > 轉換操作” 目錄。使用拖拽方式將 “CONVERT” 指令插入到網絡段中。

2. 插入指令塊後,指令的數據類型還沒有定義,在 "CONV" 下顯示的是通配符 "??? to ???"。將鼠標指針放在左側的三角形上時,會顯示下拉箭頭。

3. 點擊左側的箭頭,從下拉菜單中可以給輸入參數“IN” 選擇想要的數據類型(例如,INT)。

4. 重複上面步驟可以為輸出參數 “OUT” 從右側的下拉菜單中選擇想要轉換的數據類型(例如,REAL)。這個例子就是將一個數據類型為 INT 的數據轉換為數據類型為 REAL 的數據(“Int to Real”)。

注意

如果直接通過變量為指令指定輸入輸出參數,那麼步驟 2 到步驟 4 不是必須的,因為轉換指令自動將數據類型設置為變量的數據類型。

5。給轉換指令的輸入和輸出分配所選擇的變量。為輸入輸出指定參數後,就可以完成下面的數據轉換,例如:

· 從 Int 到 Int, DInt, Real, Bcd16, USint, UInt, UDint, SInt, LReal 和 Char

· 從 DInt 到 Int, DInt, Real, Bcd32, USint, UInt, UDint, SInt, LReal 和 Char

· 從 Real 到 Int, DInt, Real, USint, UInt, UDint, SInt 和 LReal

· 從 USint 到 Int, DInt, Real, USint, UInt, UDint, SInt, LReal 和 Char

· 從 UInt 到 Int, DInt, Real, USint, UInt, UDint, SInt, LReal 和 Char

· 從 UDint 到 Int, DInt, Real, USint, UInt, UDint, SInt, LReal 和 Char

· 從 SInt 到 Int, DInt, Real, USint, UInt, UDint, SInt, LReal 和 Char

· 從 LReal 到 Int, DInt, Real, USint, UInt, UDint, SInt 和 LReal

· 從 Char 到 Int, DInt, USint, UInt, UDint, SInt 和 Char

· 從 BCD16 (16-bit) 到 Int,

· 從 BCD32 (32-bit) 到 DInt.

轉換指令註釋:

圖. 2 展示了BCD 格式到 Real 和 Byte 到 SInt 的數據格式轉換的例子。

· BCD格式的數據必須先轉換為 Int 或 DInt 格式才能轉換為 REAL 格式,如例子。

· 如要實現數據類型 Byte 到 SInt 或 從 Byte 到 USInt, CONVERT 指令需要手動設置 input 和 output 數據類型為 SInt 或 USInt。

如何對S7-1200/S7-1500 進行數據類型轉換

實數取整

下面的指令可以將實數類型的數據取整為一個整數( INT 或 DINT ),這些指令也在上面描述的“Converters” 目錄中。

· “CEIL ” :上取整。

· “FLOOR ”: 下取整。

· “ ROUND ”:舍入取整。

· “ TRUNC ”: 截尾取整。

字符串數據類型轉換

下表包含轉換字符串數據類型的說明。指令的編程過程如表中的描述 。

如何對S7-1200/S7-1500 進行數據類型轉換

轉換為 TIME 數據類型

使用高級指令“T_CONV ” 將 INT 類型的數據轉換為一個時間值(TIME)和進行反向轉換。在轉換為 TIME 數據類型之前必須將所有數據類型(INT,REAL,BCD 等)轉換為DINT。“T_CONV ” 指令在塊編輯器的“擴展指令 > 日期和時間” 指令卡中。

圖 3 給出了一個將 INT 和 REAL 轉換為 TIME 格式的例子。

如何對S7-1200/S7-1500 進行數據類型轉換

硬件數據類型 HW_IO 的轉換

硬件數據類型 HW_IO 是 STEP 7 (TIA Portal) 訪問模板信息時用來識別硬件模板的。這個識別碼是自動分配的,在創建設備時保存在設備的硬件配置中。模塊名作為系統常量放在 "PLC variables" 表中。在相應功能塊中通過模塊名可以直接使用該模塊。

另外,使用 "IO2MOD" 功能可以從模塊的邏輯輸入地址"InAddress" (E0.0) 確定模塊的硬件標識符 "HWIO" 。直接在功能塊的 "LADDR" 參數直接輸入硬件標識符 "HWIO" 。"LADDR" 參數無需做轉換,因為可以填寫 "HW_IO" 參數,也可以填寫 UINT 數據類型變量。

如何對S7-1200/S7-1500 進行數據類型轉換

更多信息

可以在 STEP 7 (TIA Portal) 的在線幫助中找到更多上面提到的關於編程和參數化指令的信息。選中指令後按“F1 ”鍵可以打開在線幫助。

電氣知識和經驗是用來分享,歡迎大家關注,點贊,評論及轉發。


分享到:


相關文章: