歡迎光臨
每天分享高質量文章

西門子S7-1200基本指令(7)——轉換操作


點選 《福利來了!PLC的資料(免費),你要嗎?

點選第二波福利來了!PLC的資料(免費),你要嗎?

  • CONV(轉換值)指令

例如,DWORD_TO_REAL 將 DWord 值轉換為 Real 值。

選擇(轉換源)資料型別之後,(轉換標的)下拉串列中將顯示可能的轉換項串列。 與BCD16 進行轉換僅限於 Int 資料型別。 與 BCD32 進行轉換僅限於DInt 資料型別。

ENO 狀態:

  • SCL 的轉換指令

1、從 Bool、Byte、Word 或 DWord 進行轉換

2、從短整型(SInt 或 USInt)進行轉換

3、從整型(Int 或 UInt)進行轉換

4、從雙整型(Dint 或 UDInt)進行轉換

5、從實數(Real 或 LReal)進行轉換

6、從 Time、DTL、TOD 或 Date 進行轉換

7、從 Char 或 String 進行轉換

  • ROUND(取整)和 TRUNC(截尾取整)指令

ENO 狀態:

  • CEIL 和 FLOOR(浮點數向上取整和浮點數向下取整)指令

ENO 狀態:

  • SCALE_X(標定)和 NORM_X(標準化)指令

說明
SCALE_X 引數 VALUE 應限製為 (0.0 <= VALUE <= 1.0)如果引數 VALUE 小於 0.0 或大於 1.0:
• 線性標定運算會生成一些小於 MIN 引數值或大於 MAX 引數值的 OUT 值,作為 OUT值,這些數值在 OUT 資料型別值範圍內。此時,SCALE_X 執行會設定ENO =TRUE。
• 還可能會生成一些不在 OUT 資料型別值範圍內的標定數值。 此時,OUT引數值會被設定為一個中間值,該中間值等於被標定實數在最終轉換為 OUT資料型別之前的最低有效部分。在這種情況下,SCALE_X 執行會設定ENO=FALSE。NORM_X 引數 VALUE 應限製為 (MIN <= VALUE <= MAX)如果引數 VALUE小於 MIN 或大於 MAX,線性標定運算會生成小於 0.0 或大於 1.0的標準化 OUT值。 在這種情況下,NORM_X 執行會設定 ENO = TRUE。

ENO 狀態:

示例 (LAD): 標準化和標定模擬量輸入值

示例 (LAD): 標準化和標定模擬量輸出值

  • 變數轉換指令

VARIANT_TO_DB_ANY(將 VARIANT 轉換為 DB_ANY)指令
可以使用 SCL“將 VARIANT 轉換為 DB_ANY”指令讀取 IN引數中的運算元,並將其轉換為資料型別 DB_ANY。 IN 引數屬於 Variant資料型別,並且代表實體資料塊或者 ARRAY 資料塊。
建立程式時,不需要知道哪個資料塊與 IN 引數相對應。指令在執行期間讀取資料塊編號,並將其寫入到 RET_VAL 引數的運算元中。

ENO 狀態:

VARIANT_TO_DB_ANY 引數的錯誤輸出程式碼:

DB_ANY_TO_VARIANT(將 DB_ANY 轉換為 VARIANT)指令

可以使用 SCL“將 DB_ANY 轉換為 VARIANT”為符合下列要求的資料塊讀取編號。 IN引數中的運算元採用 DB_ANY資料型別,這意味著,建立程式時不需要知道要對哪個資料塊進行編號讀取。
資料塊編號在執行期間讀取,並會透過 VARIANT 指標而寫入到 RET_VAL引數指定的運算元中。

ENO 狀態:

DB_ANY_TO_VARIANT 引數的錯誤輸出程式碼:

尋找同路人

做自動化工業變革的踐行者


可透過選單查詢自己喜歡的文章彙總:

現場儀錶DCS部分PLC部分SIS部分通訊標準數字化問題解答】此處列出部分連結,更多文章透過選單獲取。



贊(0)

分享創造快樂