<object id="ir2le"></object>
  • 加入收藏 在線留言 聯系我們
    關注微信
    手機掃一掃 立刻聯系商家
    全國服務熱線15267534595
    公司新聞
    西門子博途:使用常量的示例
    發布時間: 2023-09-20 16:40 更新時間: 2024-12-27 09:10

    常量的基本知識

    定義

    常量是具有固定值的數據,其值在程序運行期間不能更改。常量在程序執行期間可由各種程序元素讀取,但不能被覆蓋。不同的常量值通常會指定相應的表示方式,具體取決于數據類型和數據格式。類型與非類型表示方式不同。

    無類型的常量

    在無類型的表示法中,僅輸入常量值即可,無需輸入數據類型。對于無類型的常量,只有在首次算術運算和邏輯運算中使用后,才會獲得數據類型。

    以下示例為無類型的表示法:



    SCL

     

    #My_Int1 := #My_Int2 + 12345

    (*常量“12345”的數據類型

    取決于加數 My_Int。2.此時,“12345”的數據類型為 INT。*)

    #My_Real1 := #My_Real2 + 12345

    (*常量“12345”的數據類型取決于加數 My_Real2。此時,“12345”的數據類型為 REAL。*)


    帶有數據類型的常量

    在有類型的表示法中,除指定常量值外還指定數據類型。

    以下示例為有類型的表示法:



    SCL

     

    #My_Int1 := INT#12345

    (*The data type of the constant is always INT.*)




    說明

    LAD/FBD 中的 BOOL 型常量

    僅 S7-1200 系列 CPU(固件 V4.0 或更高版本)和 S7-1500 系列 CPU(固件 V1.8 或更高版本),LAD / FBD 中的指令輸入才能使用 BOOL 型常量。

    在較早的固件版本中,BOOL 型常量僅適用于系統內部函數塊 (FB) 的指令。如果在程序段中插入該指令時“調用選項”(Call options) 對話框打開,則表示使用這些指令。對于其它指令,均不得將布爾型常量用作輸入。

    在 S7-300/400 中,不允許使用布爾型常量。


    符號常量名稱的聲明

    符號常量

    可以選擇聲明常量符號名,從而使程序中名稱下的常量值可用。這使得在更改常量值時,程序更具有可讀性并且更易于維護。

    符號常量由以下元素組成:

    名稱

    數據類型

    符號常量始終有數據類型;無類型表示法不適用于符號常量。

    常量值

    可以選擇指定數據類型值范圍內的任意值作為常量值。有關值范圍的信息,請參見“數據類型”一章。

    常量聲明

    可以定義具有不同適用范圍的常量:

    全局常量適用于 CPU 的所有區域

    局部常量僅在塊內適用

    下表顯示常量類型之間的區別:



     

    全局常量

    局部常量

    適用范圍

    在整個 CPU 中有效。

    該名稱在 CPU 中唯一。

    僅在聲明它們的塊中有效。

    該名稱在塊中唯一。

    允許的字符

    常量名稱允許使用的字符包括字母、數字和特殊字符。

    常量名稱允許使用的字符包括字母、數字和特殊字符。

    定義位置

    PLC 變量表的“常量”(Constants) 選項卡

    塊接口

    表示法

    括在引號中,例如:

    "Glob_Const"

    帶有數字符號前綴,例如:

    #Loc_Const


    如果聲明的局部常量和全局常量具有相同的符號名稱,并將此重復指定的名稱用作變量的默認值,則會發生名稱沖突。此時,系統將自動使用局部常量。

    常量的數據類型

    允許的數據類型

    對于常量,允許使用所有基本數據類型和所有衍生數據類型:

    二進制數

    位字符串

    整數

    浮點數

    定時器

    日期和時間

    字符串

    所有顯式和隱式類型轉換的通用規則均適用。

    無類型常量的數據類型

    無類型常量不顯式指定數據類型。只有在首次算術運算和邏輯運算中使用后,才會獲得數據類型。

    以下示例說明如何使用無類型常量:



    SCL

     

    #My_Int1 := #My_Int2 + 12345

    (*常量“12345”的數據類型

    取決于加數 My_Int。2.此時,“12345”的數據類型為 INT。*)

    #My_Real1 := #My_Real2 + 12345 

    (*常量“12345”的數據類型取決于加數 My_Real2。此時,“12345”的數據類型為 REAL。*)

    使用常量的示例

    在指令、賦值語句和表達式中使用

    在指令或賦值語句中,常量可代替變量使用。也可以在 SCL 的表達式中使用常量。但是,由于常量無法寫入,常量只能用作輸入。

    以下示例說明常量可能的用途:



    SCL

     

    #My_Int := 3;


    #My_Real1 := #My_Real2 * 3;


    #My_Real1 := #My_Real2 * #My_local_const;


    #My_Real1 := #My_Real2 * "My_global_const";






    聯系方式

    • 電  話:18126392341
    • 聯系人:梁濤
    • 手  機:15267534595
    • 微  信:15267534595