一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

詳解SCL語句如何賦值

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來源:機(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ī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)元素。

能夠通過說明結(jié)構(gòu)的標(biāo)識(shí)符來引用結(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

    文章

    240

    瀏覽量

    17417

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    在testbench中如何使用阻塞賦值和非阻塞賦值

    本文詳細(xì)闡述了在一個(gè)testbench中,應(yīng)該如何使用阻塞賦值與非阻塞賦值。首先說結(jié)論,建議在testbench中,對(duì)時(shí)鐘信號(hào)(包括分頻時(shí)鐘)使用阻塞賦值,對(duì)其他同步信號(hào)使用非阻塞賦值
    的頭像 發(fā)表于 04-15 09:34 ?467次閱讀
    在testbench中如何使用阻塞<b class='flag-5'>賦值</b>和非阻塞<b class='flag-5'>賦值</b>

    使用SCL編寫FIFO功能塊

    找到相關(guān)的指令。 ? ?其實(shí)要實(shí)現(xiàn)這個(gè)功能可直接使用SCL的編程方法編寫一個(gè)這樣的功能塊就可以了,(在文章的結(jié)尾會(huì)為大家提供參考示例程序和SCL相關(guān)的學(xué)習(xí)資料,供有需要的朋友下載學(xué)習(xí))。 二、FIFO功能的條件分析? 1)設(shè)置一個(gè)堆棧的緩存區(qū),大小可自由指定,如指定大小為
    的頭像 發(fā)表于 02-09 10:27 ?455次閱讀
    使用<b class='flag-5'>SCL</b>編寫FIFO功能塊

    I2C總線數(shù)據(jù)包結(jié)構(gòu)詳解

    。以下是I2C總線數(shù)據(jù)包結(jié)構(gòu)的詳解: 一、I2C總線數(shù)據(jù)包的基本組成 I2C總線上的數(shù)據(jù)傳輸以數(shù)據(jù)包為單位進(jìn)行,每個(gè)數(shù)據(jù)包包含起始信號(hào)、設(shè)備地址、數(shù)據(jù)傳輸方向位、數(shù)據(jù)字節(jié)以及應(yīng)答信號(hào)(ACK/NACK)等部分。 起始信號(hào)(S) : 起始信號(hào)標(biāo)志著數(shù)據(jù)傳輸?shù)拈_始。當(dāng)SCL
    的頭像 發(fā)表于 01-17 15:46 ?537次閱讀

    使用TLV5625在主函數(shù)里面的FOR循環(huán)中對(duì)兩通道賦值,一個(gè)通道不能更新數(shù)據(jù)是怎么回事?

    問題:我在使用TLV5625時(shí)出現(xiàn)如下問題,在主函數(shù)里面的FOR循環(huán)中對(duì)兩通道賦值,2通道DA可以正常更新輸出,但是同樣的語句放到定時(shí)器中斷中,只有一個(gè)通道正常,另一個(gè)通道不能更新數(shù)據(jù),請(qǐng)指教
    發(fā)表于 01-08 08:23

    ADS1115接線是只需要接SCL與SDA嗎?ADDR與ALERT/RDY需要接線嗎?

    ADS1115接線是只需要接SCL與SDA嗎?ADDR與ALERT/RDY需要接線嗎? 差分輸入與單輸入有什么區(qū)別,怎樣配置兩種模式?
    發(fā)表于 12-31 06:27

    深入理解C語言:循環(huán)語句的應(yīng)用與優(yōu)化技巧

    在程序設(shè)計(jì)中,我們常常需要重復(fù)執(zhí)行某一段代碼。為了提高效率和簡(jiǎn)化代碼,循環(huán)語句應(yīng)運(yùn)而生。C語言作為一門經(jīng)典的編程語言,提供了多種循環(huán)控制結(jié)構(gòu),幫助程序員高效地實(shí)現(xiàn)重復(fù)操作。掌握循環(huán)語句的使用,不僅
    的頭像 發(fā)表于 12-07 01:11 ?458次閱讀
    深入理解C語言:循環(huán)<b class='flag-5'>語句</b>的應(yīng)用與優(yōu)化技巧

    ADS1211 SDIO SCL無數(shù)據(jù)波形輸出怎么解決?

    我的ADS1211,采用外接晶振10MHZ,SCL SDIO SDOUT都無數(shù)據(jù)波形輸出,單片機(jī)做主機(jī),ADS1211工作于從模式,單片機(jī)向ADS1211設(shè)置數(shù)據(jù)的波形都能看到,讀數(shù)據(jù)的INSR
    發(fā)表于 11-29 08:15

    數(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 ?448次閱讀

    詳解MySQL多實(shí)例部署

    詳解MySQL多實(shí)例部署
    的頭像 發(fā)表于 11-11 11:10 ?504次閱讀

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

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

    LTspice的編程語句應(yīng)該怎么寫?

    有關(guān)LTspice電路仿真軟件的使用,應(yīng)該怎么編寫一個(gè)變壓器的語句,尤其是多路輸出的,并且這個(gè)軟件是否支持多路浮動(dòng)電源輸出,就像反激式開關(guān)電源那樣副邊多路浮地? 有關(guān)LTspice的軟件使用有什么資料推薦,重點(diǎn)是關(guān)于編程語句編寫的,就像上面那樣兩個(gè)電感的耦合關(guān)系那樣實(shí)現(xiàn)變
    發(fā)表于 10-11 19:19

    rtt4.1.1做滑動(dòng)平均值濾波的時(shí)候,被意外賦值,為什么?

    進(jìn)入if語句。但是如果用斷點(diǎn)調(diào)試后發(fā)現(xiàn),第一次進(jìn)入時(shí)。 第20行,voltage_rms_sum_c變量為0,但是第二次進(jìn)入中斷后,voltage_rms_sum_c變量為0被賦值為一個(gè)意外的值。我看了
    發(fā)表于 09-13 06:33

    關(guān)于Verilog的一些基本語法

    ,當(dāng)然除了這種方式還有 <=(非阻塞賦值)這種方式;阻塞賦值 = (例如 a = b;):a的值在賦值語句執(zhí)行完后立刻就改變的,用在組合邏輯;非阻塞
    發(fā)表于 05-31 18:31

    CY8C4025LQI在程序中調(diào)用函數(shù),通過示波器觀察SCL引腳波形,無法將pin0.4(SCL)下拉是什么原因?qū)е拢?/a>

    正在使用芯片:CY8C4025LQI,主要使用Capsense和EZI2C功能,其中引腳P0.4(SCL)和P0.5(SDA)用于I2C通信,并且P0.4需要加入SCL總線下拉功能來喚醒別的模塊
    發(fā)表于 05-31 07:39

    在IAR用PD_ODR_ODR3 = CPU_CCR_C; 無法賦值成功的原因?

    在IAR用PD_ODR_ODR3 = CPU_CCR_C;無法賦值成功,仿真中看到 CPU_CCR_C的值是有變化的,但是賦值到PD_ODR_ODR3時(shí),PD_ODR_ODR3總是等于0。PD_ODR_ODR3=1;這樣正常賦值
    發(fā)表于 05-15 07:45