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

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

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

編程語(yǔ)言SCL中ANY數(shù)據(jù)類(lèi)型

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

ANY數(shù)據(jù)類(lèi)型

編程語(yǔ)言 SCL 和 STL 中,如果在塊參數(shù)中設(shè)定了一個(gè) ANY 指針,則任意類(lèi)型的存儲(chǔ)器都可以在塊調(diào)用時(shí)傳遞。

但是,ANY 指針不能存儲(chǔ)有關(guān)存儲(chǔ)器結(jié)構(gòu)的任何信息。例如,ANY 指針不能保存指向 PLC數(shù)據(jù)類(lèi)型變量的信息。ANY 指針將其作為 BYTE 類(lèi)型的 ARRAY。

ANY 數(shù)據(jù)類(lèi)型的參數(shù)可以被傳遞到系統(tǒng)函數(shù)塊 (SFB) 或系統(tǒng)函數(shù) (SFC)。

下圖給出了 ANY 指針的結(jié)構(gòu):

4d18cad2-bc3f-11eb-bf61-12bb97331649.png

在SCL中,能夠聲明ANY數(shù)據(jù)類(lèi)型的變量如下:

作為塊的形式參數(shù);當(dāng)塊被調(diào)用時(shí),這些參數(shù)能用任意數(shù)據(jù)類(lèi)型的實(shí)際參數(shù)提供。

作為臨時(shí)變量;能夠指定任意數(shù)據(jù)類(lèi)型的值給這些變量。

能夠用下列數(shù)據(jù)作為實(shí)際參數(shù)或作為賦值語(yǔ)句的右邊部分:

本地和共享變量

在DB中的變量(絕對(duì)地址或稱(chēng)號(hào)地址)

在本地實(shí)例中的變量(絕對(duì)地址或稱(chēng)號(hào)地址)

NIL常量

指定一個(gè)空指針。

ANY數(shù)據(jù)類(lèi)型

定時(shí)器、計(jì)數(shù)器和塊

指定標(biāo)識(shí)符(如:T1, C20或FB6)。

限制(Restrictions)

ANY數(shù)據(jù)類(lèi)型允許用作FB和FC的形式輸入?yún)?shù)、輸入/輸出參數(shù),及FC的輸出參數(shù)。常量不允許用作其實(shí)際參數(shù)或用在其賦值語(yǔ)句的右邊,除NIL常量外。

當(dāng)調(diào)用FB或FC時(shí),如果將臨時(shí)變量用作ANY類(lèi)型的形式參數(shù),不能傳遞參數(shù)到遠(yuǎn)程塊,傳遞他們時(shí)臨時(shí)變量將失效。

這種類(lèi)型變量不能用作結(jié)構(gòu)類(lèi)型的組件類(lèi)型或作為數(shù)組的元素類(lèi)型。

當(dāng)調(diào)用FC或FB時(shí),如果形式參數(shù)作為輸入?yún)?shù)聲明,只能指定過(guò)程輸入(%PEW)給ANY類(lèi)型的形式參數(shù)。

當(dāng)調(diào)用FB時(shí),如果形式參數(shù)作為輸出參數(shù)聲明,只能指定過(guò)程輸出(%PAW)給ANY類(lèi)型的形式參數(shù)。

B#16#80 P I/O

B#16#81 I 輸入存儲(chǔ)區(qū)

B#16#82 Q 輸出存儲(chǔ)區(qū)

B#16#83 M 位存儲(chǔ)的存儲(chǔ)區(qū)

B#16#84 DBX 數(shù)據(jù)塊

B#16#85 DIX 背景數(shù)據(jù)塊

B#16#86 L 本地?cái)?shù)據(jù)

B#16#87 V 先前的本地?cái)?shù)據(jù)

ANY數(shù)據(jù)類(lèi)型舉例

Example of the ANY Data Type

VAR_INPUT

iANY : ANY;

END_VAR

VAR_TEMP

pANY : ANY;

END_VAR

CASE ii OF

1:

pANY := MW4; // pANY包含MW4的地址

3..5:

pANY := aINT[ii]; // pANY包含aINT中的第ii個(gè)元素的地址;

100:

pANY := iANY; // pANY contains the value of the iANY input variable

ELSE

pANY := NIL; // pANY包含NIL指針的值

END_CASE;

SFCxxx(IN := pANY);

在VASS標(biāo)準(zhǔn)中的應(yīng)用:

AnyRob_A :ANY;// ANY變量獲得機(jī)器的發(fā)出給PLC的輸出地址

pRob_A AT AnyRob_A: STRUCT 擴(kuò)展分解建立結(jié)構(gòu)體

SyntaxId :BYTE; // Byte 0

DataType :BYTE; // Byte 1 數(shù)據(jù)/參數(shù)類(lèi)型

DataCount:WORD; // Byte 2+3 變量長(zhǎng)度

DBNR :WORD; // Byte 4+5 數(shù)據(jù)庫(kù)編號(hào)

BZ :DWORD; // Byte 6 bis 10 區(qū)域指針

END_STRUCT;

原文標(biāo)題:西門(mén)子SCL -ANY數(shù)據(jù)類(lèi)型

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

責(zé)任編輯:haq

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

    關(guān)注

    8

    文章

    7030

    瀏覽量

    89034
  • 西門(mén)子
    +關(guān)注

    關(guān)注

    94

    文章

    3039

    瀏覽量

    115876
  • SCL
    SCL
    +關(guān)注

    關(guān)注

    1

    文章

    239

    瀏覽量

    17081

原文標(biāo)題:西門(mén)子SCL -ANY數(shù)據(jù)類(lèi)型

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    編程語(yǔ)言的誤區(qū)與常見(jiàn)問(wèn)題

    誤區(qū)一:編程語(yǔ)言的選擇 常見(jiàn)問(wèn)題: 初學(xué)者在選擇編程語(yǔ)言時(shí),往往會(huì)被市場(chǎng)上的熱門(mén)語(yǔ)言所吸引,而忽視了自己的實(shí)際需求和興趣。 一些開(kāi)發(fā)者認(rèn)為某
    的頭像 發(fā)表于 11-15 09:35 ?287次閱讀

    FPGA編程語(yǔ)言的入門(mén)教程

    編程基礎(chǔ) 基本結(jié)構(gòu) Verilog程序的基本結(jié)構(gòu)包括模塊(module)和端口(port)定義。每個(gè)模塊都有輸入(input)、輸出(output)和可能的雙向(inout)端口。 數(shù)據(jù)類(lèi)型
    的頭像 發(fā)表于 10-25 09:21 ?264次閱讀

    AIC23采集到的數(shù)據(jù)是應(yīng)該用什么數(shù)據(jù)類(lèi)型來(lái)接收?int還是unsigned int?

    AIC23采集到的數(shù)據(jù)是應(yīng)該用什么數(shù)據(jù)類(lèi)型來(lái)接收,int還是unsigned int? 這個(gè)采集到的數(shù)字是什么含義呢?代表的是聲音信號(hào)的幅值? while(!MCBSP_rrdy(hMcbsp
    發(fā)表于 10-18 06:56

    labview數(shù)據(jù)類(lèi)型的取值范圍是多少

    LabVIEW的數(shù)據(jù)類(lèi)型豐富多樣,涵蓋了整數(shù)、小數(shù)(浮點(diǎn)數(shù))、復(fù)數(shù)等多種類(lèi)型,每種類(lèi)型都有其特定的取值范圍。以下是對(duì)LabVIEW中常見(jiàn)數(shù)據(jù)類(lèi)型取值范圍的說(shuō)明: 整數(shù)
    的頭像 發(fā)表于 09-04 17:33 ?1078次閱讀

    常見(jiàn)的遙感數(shù)據(jù)類(lèi)型有哪些

    遙感技術(shù)是一種通過(guò)遙感器在遠(yuǎn)離目標(biāo)的位置獲取目標(biāo)地物的電磁波信息,并進(jìn)行分析的技術(shù)。遙感數(shù)據(jù)類(lèi)型繁多,涵蓋了從可見(jiàn)光到紅外、微波等多個(gè)波段,以及不同的數(shù)據(jù)格式和分辨率。 光學(xué)遙感數(shù)據(jù) : 全色影像
    的頭像 發(fā)表于 09-04 14:30 ?1592次閱讀

    plc編程st語(yǔ)言怎么編

    PLC(可編程邏輯控制器)編程的ST(Structured Text)語(yǔ)言是一種高級(jí)編程語(yǔ)言,
    的頭像 發(fā)表于 08-25 10:05 ?1172次閱讀

    鴻蒙原生應(yīng)用元服務(wù)開(kāi)發(fā)-初識(shí)倉(cāng)頡開(kāi)發(fā)語(yǔ)言

    式和面向?qū)ο蟮榷喾妒?b class='flag-5'>編程,融合了高階函數(shù)、代數(shù)數(shù)據(jù)類(lèi)型、模式匹配、泛型等函數(shù)式語(yǔ)言的先進(jìn)特性,還有封裝、接口、繼承、子類(lèi)型多態(tài)等支持模塊化開(kāi)發(fā)的面向?qū)ο?/div>
    發(fā)表于 08-15 10:00

    鴻蒙原生應(yīng)用元服務(wù)開(kāi)發(fā)-初識(shí)倉(cāng)頡開(kāi)發(fā)語(yǔ)言

    式和面向?qū)ο蟮榷喾妒?b class='flag-5'>編程,融合了高階函數(shù)、代數(shù)數(shù)據(jù)類(lèi)型、模式匹配、泛型等函數(shù)式語(yǔ)言的先進(jìn)特性,還有封裝、接口、繼承、子類(lèi)型多態(tài)等支持模塊化開(kāi)發(fā)的面向?qū)ο?/div>
    發(fā)表于 07-30 17:49

    技術(shù)干貨驛站 ▏深入理解C語(yǔ)言:基本數(shù)據(jù)類(lèi)型和變量

    在C語(yǔ)言中,數(shù)據(jù)類(lèi)型和變量是編程的基礎(chǔ),也是理解更復(fù)雜概念的關(guān)鍵。數(shù)據(jù)類(lèi)型決定了變量的內(nèi)存分配、存儲(chǔ)范圍和操作方式,而變量則是存儲(chǔ)數(shù)據(jù)的容器
    的頭像 發(fā)表于 07-26 17:53 ?2127次閱讀
    技術(shù)干貨驛站 ▏深入理解C<b class='flag-5'>語(yǔ)言</b>:基本<b class='flag-5'>數(shù)據(jù)類(lèi)型</b>和變量

    ESP32-S3是否支持修改控制端點(diǎn)數(shù)據(jù)類(lèi)型

    ESP32-S3是否支持修改控制端點(diǎn)數(shù)據(jù)類(lèi)型(如標(biāo)準(zhǔn)類(lèi)型,自定義類(lèi)型); 我需要在控制傳輸數(shù)據(jù)階段的DATA0包改為我的USB設(shè)備規(guī)定的8個(gè)字節(jié)的數(shù)
    發(fā)表于 06-07 06:00

    嵌入式C語(yǔ)言結(jié)構(gòu)體基本實(shí)現(xiàn)

    C語(yǔ)言中的數(shù)組只能允許程序員定義存儲(chǔ)相同類(lèi)型數(shù)據(jù)。但是結(jié)構(gòu)是C語(yǔ)言編程中允許您存儲(chǔ)不同數(shù)據(jù)類(lèi)型
    的頭像 發(fā)表于 05-11 08:49 ?1039次閱讀
    嵌入式<b class='flag-5'>中</b>C<b class='flag-5'>語(yǔ)言</b>結(jié)構(gòu)體基本實(shí)現(xiàn)

    C語(yǔ)言數(shù)據(jù)類(lèi)型有哪些

    在 C 語(yǔ)言中,數(shù)據(jù)類(lèi)型指的是用于聲明不同類(lèi)型的變量或函數(shù)的一個(gè)廣泛的系統(tǒng)。變量的類(lèi)型決定了變量存儲(chǔ)占用的空間,以及如何解釋存儲(chǔ)的位模式。
    發(fā)表于 03-20 10:56 ?482次閱讀
    C<b class='flag-5'>語(yǔ)言</b><b class='flag-5'>數(shù)據(jù)類(lèi)型</b>有哪些

    嵌入式系統(tǒng)C語(yǔ)言結(jié)構(gòu)體的基礎(chǔ)實(shí)現(xiàn)與應(yīng)用

    C語(yǔ)言中的數(shù)組只能允許程序員定義存儲(chǔ)相同類(lèi)型數(shù)據(jù)。但是結(jié)構(gòu)是C語(yǔ)言編程中允許您存儲(chǔ)不同數(shù)據(jù)類(lèi)型
    發(fā)表于 03-12 14:29 ?502次閱讀
    嵌入式系統(tǒng)<b class='flag-5'>中</b>C<b class='flag-5'>語(yǔ)言</b>結(jié)構(gòu)體的基礎(chǔ)實(shí)現(xiàn)與應(yīng)用

    C語(yǔ)言如何掌握強(qiáng)制類(lèi)型轉(zhuǎn)換的精髓

    強(qiáng)制類(lèi)型轉(zhuǎn)換是把變量從一種類(lèi)型轉(zhuǎn)換為另一種數(shù)據(jù)類(lèi)型。例如,如果您想存儲(chǔ)一個(gè) long 類(lèi)型的值到一個(gè)簡(jiǎn)單的整型,您需要把 long
    的頭像 發(fā)表于 02-26 11:00 ?518次閱讀
    C<b class='flag-5'>語(yǔ)言</b>如何掌握強(qiáng)制<b class='flag-5'>類(lèi)型</b>轉(zhuǎn)換的精髓

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

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