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

    文章

    6754

    瀏覽量

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

    關(guān)注

    93

    文章

    2975

    瀏覽量

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

    關(guān)注

    1

    文章

    239

    瀏覽量

    17010

原文標(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)推薦

    技術(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 ?1764次閱讀
    技術(shù)干貨驛站 ▏深入理解C<b class='flag-5'>語(yǔ)言</b>:基本<b class='flag-5'>數(shù)據(jù)類(lèi)型</b>和變量

    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 ?376次閱讀
    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 ?366次閱讀
    嵌入式系統(tǒng)<b class='flag-5'>中</b>C<b class='flag-5'>語(yǔ)言</b>結(jié)構(gòu)體的基礎(chǔ)實(shí)現(xiàn)與應(yīng)用

    plc數(shù)據(jù)類(lèi)型怎么理解和應(yīng)用

    PLC(可編程邏輯控制器)是一種工業(yè)自動(dòng)化設(shè)備,用于控制機(jī)械和工業(yè)過(guò)程。在PLC編程,數(shù)據(jù)類(lèi)型是非常重要的概念,因?yàn)樗鼪Q定了程序
    的頭像 發(fā)表于 12-19 11:39 ?3686次閱讀

    從AD7712讀取的數(shù)據(jù)在C語(yǔ)言中是保存為什么數(shù)據(jù)類(lèi)型?

    誰(shuí)用過(guò)AD7712嗎,從AD7712讀取的數(shù)據(jù)在C語(yǔ)言中是保存為什么數(shù)據(jù)類(lèi)型啊,long int 嗎?我用AD7712對(duì)波形進(jìn)行數(shù)字化,AD7712輸出的數(shù)據(jù)應(yīng)該是有正有負(fù)的對(duì)吧?
    發(fā)表于 12-13 09:33

    詳解C語(yǔ)言變量和數(shù)據(jù)類(lèi)型

    C語(yǔ)言大家都不陌生吧,計(jì)算機(jī)、電子信息、通信工程、自動(dòng)化等專(zhuān)業(yè)的必學(xué)課程,前面和大家介紹過(guò)C語(yǔ)言的歷史和編程環(huán)境,今天再來(lái)介紹一下變量和數(shù)據(jù)類(lèi)型。
    的頭像 發(fā)表于 12-11 10:40 ?751次閱讀
    詳解C<b class='flag-5'>語(yǔ)言</b>變量和<b class='flag-5'>數(shù)據(jù)類(lèi)型</b>

    oracle的數(shù)據(jù)類(lèi)型有哪些

    Oracle數(shù)據(jù)庫(kù)中有許多數(shù)據(jù)類(lèi)型可供選擇,每種數(shù)據(jù)類(lèi)型都有其各自的特點(diǎn)和適用場(chǎng)景。下面是對(duì)Oracle數(shù)據(jù)庫(kù)中最常用的數(shù)據(jù)類(lèi)型的詳盡說(shuō)明,
    的頭像 發(fā)表于 12-05 16:45 ?2138次閱讀

    php的數(shù)據(jù)類(lèi)型主要有哪幾種

    PHP是一種強(qiáng)類(lèi)型編程語(yǔ)言,它支持多種數(shù)據(jù)類(lèi)型。以下是PHP的主要數(shù)據(jù)類(lèi)型: 字符串(String): 表示文本
    的頭像 發(fā)表于 12-04 16:05 ?622次閱讀

    javascript的基本數(shù)據(jù)類(lèi)型有哪些

    JavaScript 是一種動(dòng)態(tài)的、面向?qū)ο蟮?b class='flag-5'>編程語(yǔ)言,廣泛應(yīng)用于 Web 開(kāi)發(fā)。在 JavaScript ,有七種基本數(shù)據(jù)類(lèi)型(Pri
    的頭像 發(fā)表于 12-03 11:17 ?673次閱讀

    C語(yǔ)言里的整數(shù)數(shù)據(jù)類(lèi)型

    1. 整型數(shù)據(jù)類(lèi)型 C語(yǔ)言里面的整數(shù)數(shù)據(jù)類(lèi)型 類(lèi)型名稱(chēng) C語(yǔ)言中的關(guān)鍵字 注釋 字符型 char 表示一個(gè)很小的整數(shù) 短整型 short 表
    的頭像 發(fā)表于 11-24 16:09 ?844次閱讀
    C<b class='flag-5'>語(yǔ)言</b>里的整數(shù)<b class='flag-5'>數(shù)據(jù)類(lèi)型</b>

    redis的五種數(shù)據(jù)類(lèi)型

    Redis是一種高性能的內(nèi)存數(shù)據(jù)庫(kù),常用于緩存、任務(wù)隊(duì)列、分布式鎖等場(chǎng)景。它提供了多種數(shù)據(jù)類(lèi)型來(lái)滿足各種不同的需求,包括字符串(string)、哈希(hash)、列表(list)、集合(set
    的頭像 發(fā)表于 11-16 11:06 ?561次閱讀

    如何將ROS數(shù)據(jù)類(lèi)型轉(zhuǎn)換為MATLAB數(shù)據(jù)類(lèi)型

    。 例如,四元數(shù)消息包含w、x、y和z屬性,但該消息并不強(qiáng)制四元數(shù)作為一個(gè)整體是有效的。所以有可能在單獨(dú)修改一個(gè)四元數(shù)信息后,這個(gè)四元數(shù)是不符合模型的。 同時(shí)消息屬性還可以具有各種數(shù)據(jù)類(lèi)型。MATLAB使用ROS設(shè)置的規(guī)則來(lái)確定這些數(shù)據(jù)類(lèi)型。 為此,這些
    的頭像 發(fā)表于 11-15 15:24 ?496次閱讀
    如何將ROS<b class='flag-5'>數(shù)據(jù)類(lèi)型</b>轉(zhuǎn)換為MATLAB<b class='flag-5'>數(shù)據(jù)類(lèi)型</b>

    數(shù)據(jù)的位是什么?C語(yǔ)言中常見(jiàn)的數(shù)據(jù)類(lèi)型有哪些?

    一個(gè)數(shù)據(jù)占用多少個(gè)二進(jìn)制位。 2 、什么是數(shù)據(jù)類(lèi)型? 在計(jì)算機(jī)科學(xué)和計(jì)算機(jī)編程,數(shù)據(jù)類(lèi)型或簡(jiǎn)單的類(lèi)型
    的頭像 發(fā)表于 11-08 15:55 ?1288次閱讀
    <b class='flag-5'>數(shù)據(jù)</b>的位是什么?C<b class='flag-5'>語(yǔ)言</b>中常見(jiàn)的<b class='flag-5'>數(shù)據(jù)類(lèi)型</b>有哪些?

    SystemC數(shù)據(jù)類(lèi)型概念

    引起一個(gè)事件,要使用通知函數(shù)notify( ),語(yǔ)法如下: event_name. notify (參數(shù)); 或 notify (參數(shù),event_name); SystemC數(shù)據(jù)類(lèi)型 作為C++
    的頭像 發(fā)表于 11-02 15:44 ?807次閱讀
    SystemC<b class='flag-5'>中</b>的<b class='flag-5'>數(shù)據(jù)類(lèi)型</b>概念

    C語(yǔ)言數(shù)據(jù)類(lèi)型詳解

    計(jì)算機(jī)編程語(yǔ)言是用來(lái)控制計(jì)算機(jī)的行為及操作,協(xié)助人們解決現(xiàn)實(shí)的問(wèn)題,其能表達(dá)的數(shù)據(jù)類(lèi)型也是從實(shí)際中提取并抽象出來(lái)形成的數(shù)據(jù)結(jié)構(gòu)描述。
    發(fā)表于 11-02 11:32 ?1147次閱讀
    C<b class='flag-5'>語(yǔ)言</b><b class='flag-5'>數(shù)據(jù)類(lèi)型</b>詳解