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

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

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

詳解SCL語(yǔ)句如何賦值

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來(lái)源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 作者:機(jī)器人及PLC自動(dòng)化 ? 2021-04-16 09:43 ? 次閱讀

當(dāng)一個(gè)值被指定,變量的當(dāng)前值被通過表達(dá)式指定的新的值代替。此表達(dá)式也能夠包含函數(shù)標(biāo)識(shí)符,其被語(yǔ)句激活,然后返回相應(yīng)的值(返回值)。

如下圖所示,在賦值符右邊的表達(dá)式被求值,且得到的值作為結(jié)果設(shè)定給其名字寫在賦值符左邊的變量。函數(shù)允許的變量如下圖所示:

8bddf868-9e40-11eb-8b86-12bb97331649.png

能夠?qū)⑼愋偷牟煌兞恐付ńo基本數(shù)據(jù)類型的每個(gè)變量和每個(gè)表達(dá)式。

例子(Example)

FUNCTION_BLOCK FB12

VAR 聲明變量類型

SWITCH_1 : INT ; 整數(shù)

SWITCH_2 : INT ;

SETPOINT_1 : REAL ;浮點(diǎn)數(shù)

SETPOINT_2 : REAL ;

QUERY_1 : BOOL ; 位

TIME_1 : S5TIME ;時(shí)間計(jì)時(shí)器

TIME_2 : TIME ;時(shí)間

DATE_1 : DATE ;日期

TIMEOFDAY_1 : TIME_OF_DAY ;時(shí)間和日期

END_VAR

BEGIN

// 給變量賦予常量值

SWITCH_1 := -17 ;

SETPOINT_1 := 100.1 ;

QUERY_1 := TRUE ;

TIME_1 := T#1H_20M_10S_30MS ;

TIME_2 := T#2D_1H_20M_10S_30MS ;

DATE_1 := D#1996-01-10 ;

// 給變量賦予變量值

SETPOINT_1 := SETPOINT_2 ;

SWITCH_2 := SWITCH_1 ;

// 給變量賦予表達(dá)式

SWITCH_2 := SWITCH_1 * 3 ;

END_FUNCTION_BLOCK

STRUCT和UDT類型變量的賦值

STRUCT和UDT類型變量是表示一個(gè)完整結(jié)構(gòu)或一個(gè)結(jié)構(gòu)元素的結(jié)構(gòu)化變量。

下面是有效結(jié)構(gòu)變量的例子:

Image //結(jié)構(gòu)的標(biāo)識(shí)符

Image.element //結(jié)構(gòu)元素的標(biāo)識(shí)符

Image.arr //在一個(gè)結(jié)構(gòu)中的一維數(shù)組標(biāo)識(shí)符

Image.arr[2,5] //在一個(gè)結(jié)構(gòu)中的數(shù)組元素的標(biāo)識(shí)符

賦值一個(gè)完整結(jié)構(gòu)

一個(gè)完整結(jié)構(gòu)只能賦值給另一個(gè)完整結(jié)構(gòu),兩個(gè)結(jié)構(gòu)內(nèi)部的名稱和數(shù)據(jù)類型應(yīng)完全匹配。下面的賦值是有效的:

structname_1 := structname_2 ;

賦值結(jié)構(gòu)元素

能夠?qū)⒁粋€(gè)同類型變量、同類型表達(dá)式或另一個(gè)結(jié)構(gòu)部件賦值給任何結(jié)構(gòu)元素。

能夠通過說(shuō)明結(jié)構(gòu)的標(biāo)識(shí)符來(lái)引用結(jié)構(gòu)元素,結(jié)構(gòu)元素的標(biāo)識(shí)符用一個(gè)句點(diǎn)分開。下面的賦值是有效的:

structname_1.element1 := Value ;

structname_1.element1 := 20.0 ;

structname_1.element1 := structname_2.element1 ;

structname_1.arrname1 := structname_2.arrname2 ;

structname_1.arrname[10] := 100 ;

例子:

FUNCTION_BLOCK FB3

VAR

AUXVAR : REAL ;

MEASVAL : STRUCT //目標(biāo)結(jié)構(gòu)

VOLTAGE :REAL ;

RESISTANCE :REAL ;

SIMPLEARR : ARRAY [1..2, 1..2] OF INT ;

END_STRUCT ;

PROCVAL : STRUCT //源結(jié)構(gòu)

VOLTAGE : REAL ;

RESISTANCE : REAL ;

SIMPLEARR : ARRAY [1..2, 1..2] OF INT ;

END_STRUCT ;

END_VAR

BEGIN

//賦值給一個(gè)完整結(jié)構(gòu)

MEASVAL := PROCVAL ;

//賦值給地個(gè)結(jié)構(gòu)元素

MEASVAL.VOLTAGE := PROCVAL.VOLTAGE ;

//將一個(gè)結(jié)構(gòu)元素賦值給同類型變量

AUXVAR := PROCVAL.RESISTANCE ;

//將一個(gè)常量賦值給結(jié)構(gòu)元素

MEASVAL.RESISTANCE := 4.5;

//將一個(gè)常量賦值給一維數(shù)組元素

MEASVAL.SIMPLEARR[1,2] := 4;

END_FUNCTION_BLOCK
編輯:lyn

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

    關(guān)注

    1

    文章

    239

    瀏覽量

    17094

原文標(biāo)題:SCL 語(yǔ)句的賦值

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    數(shù)組名之間可以直接賦值

    數(shù)組之間的賦值能不能直接使用等于號(hào)?比如這樣的代碼。 int main(){ int a[5] = {1, 2, 3, 4, 5}; int b[5] = {0}; b = a
    的頭像 發(fā)表于 11-26 11:23 ?148次閱讀

    Verilog HDL的基礎(chǔ)知識(shí)

    本文繼續(xù)介紹Verilog HDL基礎(chǔ)知識(shí),重點(diǎn)介紹賦值語(yǔ)句、阻塞與非阻塞、循環(huán)語(yǔ)句、同步與異步、函數(shù)與任務(wù)語(yǔ)法知識(shí)。
    的頭像 發(fā)表于 10-24 15:00 ?436次閱讀
    Verilog HDL的基礎(chǔ)知識(shí)

    鴻蒙TypeScript入門學(xué)習(xí)第6天:【條件語(yǔ)句

    條件語(yǔ)句用于基于不同的條件來(lái)執(zhí)行不同的動(dòng)作。 TypeScript 條件語(yǔ)句是通過一條或多條語(yǔ)句的執(zhí)行結(jié)果(True 或 False)來(lái)決定執(zhí)行的代碼塊。
    的頭像 發(fā)表于 04-01 13:51 ?766次閱讀
    鴻蒙TypeScript入門學(xué)習(xí)第6天:【條件<b class='flag-5'>語(yǔ)句</b>】

    為什么指針之間不要隨意賦值呢?

    指針之間也不能隨意賦值
    的頭像 發(fā)表于 03-28 17:13 ?694次閱讀
    為什么指針之間不要隨意<b class='flag-5'>賦值</b>呢?

    mapgis如何給區(qū)屬性賦值

    MapGIS是一款功能強(qiáng)大的地理信息系統(tǒng)軟件,它提供了豐富的功能和工具,使用戶能夠?qū)Φ乩頂?shù)據(jù)進(jìn)行快速、高效的管理和分析。其中一個(gè)重要的功能就是給區(qū)屬性賦值,即對(duì)地圖中的區(qū)域進(jìn)行分類和標(biāo)記,以便更好
    的頭像 發(fā)表于 02-23 17:49 ?2316次閱讀

    proteus屬性賦值工具怎么用

    Proteus是一種電路設(shè)計(jì)和仿真軟件,在進(jìn)行電路設(shè)計(jì)和仿真時(shí),屬性賦值是非常重要的步驟。屬性賦值工具可以幫助用戶快速有效地配置電路元件的屬性,從而實(shí)現(xiàn)電路的準(zhǔn)確仿真。下面是關(guān)于Proteus屬性
    的頭像 發(fā)表于 02-23 17:19 ?4678次閱讀

    assign語(yǔ)句和always語(yǔ)句的用法

    Assign語(yǔ)句和Always語(yǔ)句是在硬件描述語(yǔ)言(HDL)中常用的兩種語(yǔ)句,用于對(duì)數(shù)字電路建模和設(shè)計(jì)。Assign語(yǔ)句用于連續(xù)賦值,而Al
    的頭像 發(fā)表于 02-22 16:24 ?2593次閱讀

    verilog同步和異步的區(qū)別 verilog阻塞賦值和非阻塞賦值的區(qū)別

    Verilog是一種硬件描述語(yǔ)言,用于設(shè)計(jì)和模擬數(shù)字電路。在Verilog中,同步和異步是用來(lái)描述數(shù)據(jù)傳輸和信號(hào)處理的兩種不同方式,而阻塞賦值和非阻塞賦值是兩種不同的賦值方式。本文將詳細(xì)解釋
    的頭像 發(fā)表于 02-22 15:33 ?1747次閱讀

    為什么TC397對(duì)外設(shè)賦值這么慢?

    現(xiàn)在遇到了一個(gè)問題,再給GTM.ATOMX.CHX的SR0或SR1賦值時(shí)一句賦值語(yǔ)句的周期要130ns左右,相當(dāng)于幾十個(gè)指令周期;而TI的DSP芯片對(duì)相應(yīng)PWM寄存器賦值一條
    發(fā)表于 02-05 09:05

    西門子SCL PLC高級(jí)編程教程

    借助SCL,可以簡(jiǎn)化控制技術(shù)領(lǐng)域復(fù)雜的計(jì)算、算法、數(shù)據(jù)管理和數(shù)據(jù)組織等編程工作。
    發(fā)表于 01-22 10:27 ?730次閱讀
    西門子<b class='flag-5'>SCL</b> PLC高級(jí)編程教程

    深入探討嵌入式C編程的goto語(yǔ)句

    什么是goto語(yǔ)句? goto 語(yǔ)句被稱為 C 語(yǔ)言中的跳轉(zhuǎn)語(yǔ)句。 用于無(wú)條件跳轉(zhuǎn)到其他標(biāo)簽。它將控制權(quán)轉(zhuǎn)移到程序的其他部分。 goto 語(yǔ)句一般很少使用,因?yàn)樗钩?/div>
    發(fā)表于 01-21 10:41 ?608次閱讀
    深入探討嵌入式C編程的goto<b class='flag-5'>語(yǔ)句</b>

    西門子博途中的LAD、FBD與SCL編程

    選擇要在其后插入新程序段的程序段。 在快捷菜單中,選擇命令“插入 STL 程序段”(Insert STL network) 或“插入 SCL 程序段” (Insert SCL network)。
    發(fā)表于 01-16 09:33 ?2948次閱讀
    西門子博途中的LAD、FBD與<b class='flag-5'>SCL</b>編程

    單片機(jī)if是什么語(yǔ)句

    單片機(jī)中的if語(yǔ)句是一種條件語(yǔ)句,用于根據(jù)不同的條件執(zhí)行不同的代碼塊。在程序執(zhí)行過程中,條件語(yǔ)句用來(lái)決定是否執(zhí)行特定的代碼段。在單片機(jī)編程中,if語(yǔ)句是最常見和最基礎(chǔ)的一種條件
    的頭像 發(fā)表于 01-05 14:04 ?1822次閱讀

    單片機(jī)中for語(yǔ)句的運(yùn)用

    單片機(jī)中的for語(yǔ)句是一種常見的循環(huán)控制結(jié)構(gòu),用于重復(fù)執(zhí)行一段代碼塊,可以簡(jiǎn)化程序的編寫和減少代碼量。本文將詳細(xì)介紹單片機(jī)中for語(yǔ)句的運(yùn)用。 一、for語(yǔ)句的基本結(jié)構(gòu)和功能 for語(yǔ)句
    的頭像 發(fā)表于 01-05 14:02 ?2473次閱讀

    STEP7博圖中的SCL設(shè)置和屬性解析

    SCL V11中,可以檢查“擴(kuò)展?fàn)顟B(tài)信息”。與SCL V5.x相反,始終創(chuàng)建最小化的調(diào)試信息,這允許進(jìn)行基本調(diào)試!
    的頭像 發(fā)表于 01-02 09:58 ?1995次閱讀
    STEP7博圖中的<b class='flag-5'>SCL</b>設(shè)置和屬性解析