0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

常量的基本知識和使用示例

機(jī)器人及PLC自動化應(yīng)用 ? 來源:機(jī)器人及PLC自動化應(yīng)用 ? 2023-06-14 10:34 ? 次閱讀

常量的基本知識

定義

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

無類型的常量

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

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

SCL
#My_Int1 := #My_Int2 + 12345 (*常量“12345”的數(shù)據(jù)類型
取決于加數(shù) My_Int。2.此時,“12345”的數(shù)據(jù)類型為 INT。*)
#My_Real1 := #My_Real2 + 12345 (*常量“12345”的數(shù)據(jù)類型取決于加數(shù) My_Real2。此時,“12345”的數(shù)據(jù)類型為 REAL。*)

帶有數(shù)據(jù)類型的常量

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

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

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 型常量僅適用于系統(tǒng)內(nèi)部函數(shù)塊 (FB) 的指令。如果在程序段中插入該指令時“調(diào)用選項”(Call options) 對話框打開,則表示使用這些指令。對于其它指令,均不得將布爾型常量用作輸入。
在 S7-300/400 中,不允許使用布爾型常量。

符號常量名稱的聲明

符號常量

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

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

名稱

數(shù)據(jù)類型

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

常量值

可以選擇指定數(shù)據(jù)類型值范圍內(nèi)的任意值作為常量值。有關(guān)值范圍的信息,請參見“數(shù)據(jù)類型”一章。

常量聲明

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

全局常量適用于 CPU 的所有區(qū)域

局部常量僅在塊內(nèi)適用

下表顯示常量類型之間的區(qū)別:

全局常量 局部常量
適用范圍 在整個 CPU 中有效。
該名稱在 CPU 中唯一。
僅在聲明它們的塊中有效。
該名稱在塊中唯一。
允許的字符 常量名稱允許使用的字符包括字母、數(shù)字和特殊字符。 常量名稱允許使用的字符包括字母、數(shù)字和特殊字符。
定義位置 PLC 變量表的“常量”(Constants) 選項卡 接口
表示法 括在引號中,例如:
"Glob_Const"
帶有數(shù)字符號前綴,例如:
#Loc_Const

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

常量的數(shù)據(jù)類型

允許的數(shù)據(jù)類型

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

二進(jìn)制數(shù)

位字符串

整數(shù)

浮點數(shù)

定時器

日期和時間

字符串

所有顯式和隱式類型轉(zhuǎn)換的通用規(guī)則均適用。

無類型常量的數(shù)據(jù)類型

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

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

SCL
#My_Int1 := #My_Int2 + 12345 (*常量“12345”的數(shù)據(jù)類型
取決于加數(shù) My_Int。2.此時,“12345”的數(shù)據(jù)類型為 INT。*)
#My_Real1 := #My_Real2 + 12345 (*常量“12345”的數(shù)據(jù)類型取決于加數(shù) My_Real2。此時,“12345”的數(shù)據(jù)類型為 REAL。*)
使用常量的示例

在指令、賦值語句和表達(dá)式中使用

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

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

SCL
#My_Int := 3;
#My_Real1 := #My_Real2 * 3;
#My_Real1 := #My_Real2 * #My_local_const;
#My_Real1 := #My_Real2 * "My_global_const";

用作默認(rèn)值

可以將常量用作變量的默認(rèn)值。為此,在塊接口的“默認(rèn)值”(Default value) 列中輸入常量的值或常量的符號名稱。常量的數(shù)據(jù)類型必須與變量的數(shù)據(jù)類型相匹配,或能夠根據(jù)帶有 IEC 檢查的隱式轉(zhuǎn)換進(jìn)行轉(zhuǎn)換。

用作最大 STRING 長度

數(shù)據(jù)類型為 UINT、UDINT、ULINT、SINT、INT、DINT、LINT 的局部或全局常量,可用作最大 STRING 長度。

以下示例說明了如何將常量作為最大 STRING 長度:

SCL
STRING[#My_local_const1]
STRING["My_global_const1"]

用作 ARRAY 限值

數(shù)據(jù)類型為 UINT、UDINT、ULINT、SINT、INT、DINT、LINT 的局部或全局常量,可用作 ARRAY 限值。

以下示例展示將常量用作 ARRAY 限值:

SCL
Array[#My_local_const1..#My_local_const2] of REAL
Array["My_global_const1".."My_global_const1"] of REAL

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5006

    文章

    13107

    瀏覽量

    461455
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10804

    瀏覽量

    210829
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3231

    瀏覽量

    114327
  • 數(shù)據(jù)類型
    +關(guān)注

    關(guān)注

    0

    文章

    236

    瀏覽量

    13596

原文標(biāo)題:使用常量的示例

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機(jī)器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    電工基本知識

    電工基本知識
    發(fā)表于 09-21 16:34 ?0次下載
    電工<b class='flag-5'>基本知識</b>

    LDO基本知識

    LDO基本知識
    發(fā)表于 02-09 10:26 ?103次下載
    LDO<b class='flag-5'>基本知識</b>

    CAN 基本知識

    CAN 基本知識.pdf CAN基本知識什么是CAN ?CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。最初,CAN被設(shè)計作為汽
    發(fā)表于 03-19 15:40 ?25次下載

    功率MOSFET的基本知識

    功率MOSFET的基本知識
    發(fā)表于 04-16 23:34 ?2325次閱讀
    功率MOSFET的<b class='flag-5'>基本知識</b>

    繼電器基本知識

    繼電器基本知識
    發(fā)表于 06-30 19:28 ?1820次閱讀

    高壓鈉燈的基本知識

    高壓鈉燈的基本知識 1   高壓鈉燈的基本知識 高壓鈉燈使用時發(fā)出金白色光,它具有發(fā)光效率高、耗電少、壽命長、透霧能
    發(fā)表于 04-17 14:20 ?6255次閱讀
    高壓鈉燈的<b class='flag-5'>基本知識</b>

    網(wǎng)絡(luò)基本知識教程

    網(wǎng)絡(luò)基本知識教程
    發(fā)表于 01-13 12:55 ?1569次閱讀

    HFC網(wǎng)絡(luò)基本知識

    HFC網(wǎng)絡(luò)的基本知識講解
    發(fā)表于 11-08 17:30 ?59次下載
    HFC網(wǎng)絡(luò)<b class='flag-5'>基本知識</b>

    LED基本知識

    介紹LED的基本知識以及LED的分類。
    發(fā)表于 05-30 14:58 ?0次下載

    安全用電基本知識

    安全用電基本知識安全用電基本知識安全用電基本知識
    發(fā)表于 01-14 15:54 ?0次下載

    UPS電源的基本知識

    電子專業(yè)單片機(jī)相關(guān)知識學(xué)習(xí)教材資料——UPS電源的基本知識
    發(fā)表于 09-13 17:46 ?0次下載

    光纖基本知識

    光纖基本知識
    發(fā)表于 12-15 22:26 ?0次下載

    線程的基本知識

    【RT-Thread】線程的基本知識
    的頭像 發(fā)表于 02-04 15:42 ?3428次閱讀
    線程的<b class='flag-5'>基本知識</b>

    CPLD/FPGA的基本知識

    CPLD/FPGA的基本知識講解。
    發(fā)表于 03-30 09:55 ?31次下載
    CPLD/FPGA的<b class='flag-5'>基本知識</b>

    電氣基本知識科普

    電氣基本知識科普
    的頭像 發(fā)表于 09-09 10:23 ?6030次閱讀
    電氣<b class='flag-5'>基本知識</b>科普