99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

西門子博途:有關(guān)VARIANT的基本信息

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來(lái)源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 2023-06-12 10:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

說(shuō)明

VARIANT 數(shù)據(jù)類型的參數(shù)是一個(gè)指針或引用,可指向各種不同數(shù)據(jù)類型的變量。VARIANT 指針無(wú)法指向?qū)嵗虼瞬荒苤赶蚨嘀貙?shí)例或多重實(shí)例的 ARRAY。VARIANT 指針可以是基本數(shù)據(jù)類型(例如,INT 或 REAL)的對(duì)象。還可以是 STRING、DTL、STRUCT 類型的 ARRAY、UDT、UDT 類型的 ARRAY。VARIANT 指針可以識(shí)別結(jié)構(gòu),并指向各個(gè)結(jié)構(gòu)元素。VARIANT 數(shù)據(jù)類型的操作數(shù)不占用背景數(shù)據(jù)塊或工作存儲(chǔ)器中的空間。但是,將占用 CPU 上的存儲(chǔ)空間。

VARIANT 類型的變量不是一個(gè)對(duì)象,而是對(duì)另一個(gè)對(duì)象的引用。在函數(shù)的塊接口中的 VAR_IN、VAR_IN_OUT 和 VAR_TEMP 部分中,VARIANT 類型的單個(gè)元素只能聲明為形參。因此,不能在數(shù)據(jù)塊或函數(shù)塊的塊接口靜態(tài)部分中聲明,例如,因?yàn)楦髟氐拇笮∥粗?。所引用?duì)象的大小可以更改。

使用 VARIANT 數(shù)據(jù)類型時(shí),可為各種數(shù)據(jù)類型創(chuàng)建通用的標(biāo)準(zhǔn)函數(shù)塊 (FB) 或函數(shù) (FC)。為此,可使用所有編程語(yǔ)言中的各種指令。在程序創(chuàng)建過(guò)程中,可指定該塊可處理數(shù)據(jù)類型。在此,可使用 VARIANT 數(shù)據(jù)類型對(duì)各種變量進(jìn)行互連。之后,再根據(jù)這些變量在塊中的數(shù)據(jù)類型進(jìn)行響應(yīng)。調(diào)用某個(gè)塊時(shí),可以將該塊的參數(shù)連接到任何數(shù)據(jù)類型的變量。調(diào)用某個(gè)塊時(shí),除了傳遞變量的指針外,還會(huì)傳遞變量的類型信息。塊代碼隨后可以根據(jù)運(yùn)行期間傳遞的變量類型來(lái)執(zhí)行。

例如,如果函數(shù)的塊參數(shù)為 VARIANT 數(shù)據(jù)類型,那么整數(shù)數(shù)據(jù)類型的變量可以在程序中的一個(gè)點(diǎn)處傳遞,而 PLC 數(shù)據(jù)類型的變量可以在程序中的另一個(gè)點(diǎn)處傳遞。借助 VARIANT 指令,函數(shù)隨后可以正確響應(yīng)這種情況,而不會(huì)出錯(cuò)。

說(shuō)明
如果一個(gè)數(shù)據(jù)塊最初的數(shù)據(jù)類型為用戶自定義的數(shù)據(jù)類型 (UDT),那么只能指向完整的數(shù)據(jù)塊。
說(shuō)明
訪問(wèn) I/O
只有 S7-1500 模塊的 CPU 才能直接讀寫 I/O 輸出或輸出中的信號(hào)。(<操作數(shù)>:P)

下表列出了 VARIANT 指針的屬性:

長(zhǎng)度(字節(jié)) 表示法 格式 輸入值示例
0 符號(hào) 操作數(shù) "TagResult"
數(shù)據(jù)塊名稱.操作數(shù)名稱.元素 "Data_TIA_Portal".StructVariable.FirstComponent
絕對(duì) 操作數(shù) %MW10
數(shù)據(jù)塊編號(hào).操作數(shù) 類型長(zhǎng)度
(僅對(duì)可標(biāo)準(zhǔn)訪問(wèn)的塊有效)
P#DB10.DBX10.0 INT 12 1)
NULL 指針 NULL
1) 如果使用前綴 P#,則只能指向“標(biāo)準(zhǔn)”訪問(wèn)模式的存儲(chǔ)區(qū)。

數(shù)據(jù)類型的編碼

如果通過(guò) P# 使用絕對(duì)尋址,則允許使用以下數(shù)據(jù)類型:

十六進(jìn)制代碼 數(shù)據(jù)類型 說(shuō)明
B#16#00 NIL Null 指針
B#16#01 BOOL
B#16#02 BYTE 字節(jié),8 位
B#16#03 CHAR 8 位字符
B#16#04 WORD 16 位字
B#16#05 INT 16 位整數(shù)
B#16#06 DWORD 32 位字
B#16#07 DINT 32 位整數(shù)
B#16#08 REAL 32 位浮點(diǎn)數(shù)
B#16#0B TIME 持續(xù)時(shí)間
B#16#0C S5TIME 持續(xù)時(shí)間
B#16#09 DATE 日期
B#16#0A TOD 日期和時(shí)間
B#16#0E DT 日期和時(shí)間
B#16#13 STRING 字符串
B#16#17 BLOCK_FB 函數(shù)塊
B#16#18 BLOCK_FC 函數(shù)
B#16#19 BLOCK_DB 數(shù)據(jù)塊
B#16#1A BLOCK_SDB 系統(tǒng)數(shù)據(jù)塊
B#16#1C COUNTER 計(jì)數(shù)器
B#16#1D TIMER 定時(shí)器

示例

以下示例說(shuō)明了 VARIANT 使用 STL 指令“MOVE:移動(dòng)值”的工作原理

STL 說(shuō)明
CALL MOVE // 調(diào)用指令。
value_type := VARIANT // 參數(shù) IN 和 OUT 的數(shù)據(jù)類型
IN := "Data_TIA_Portal".StructVariable.FirstComponent // 從“Data_TIA_Portal”數(shù)據(jù)塊移動(dòng)操作數(shù)“FirstComponent”中的數(shù)據(jù)。
OUT := "MotorDB".StructResult.TagResult // 從“MotorDB”數(shù)據(jù)塊傳送到“TagResult”操作數(shù)中。

編程示例

在此編程示例中,將移動(dòng)在生產(chǎn)班次期間為示例收集的數(shù)據(jù)值以作進(jìn)一步處理。收集的數(shù)據(jù)放在 ARRAY 中。通過(guò)“MOVE_BLK_VARIANT:移動(dòng)塊”(Move block) 指令,可以動(dòng)態(tài)或以類型安全方式移動(dòng)整個(gè) ARRAY 或個(gè)別 ARRAY 元素??梢詾樵春湍繕?biāo) ARRAY 自由選擇 ARRAY 限值,這些限值不必匹配。但是,要移動(dòng)的數(shù)據(jù)值的數(shù)據(jù)類型必須匹配。該指令在所有編程語(yǔ)言中都可用。

通過(guò) VARIANT 數(shù)據(jù)類型,也可以使用已創(chuàng)建的程序代碼并通過(guò)在塊調(diào)用中指定不同的源和目標(biāo)區(qū)域來(lái)移動(dòng)另一個(gè)生產(chǎn)班次的數(shù)據(jù)。

使用 SCL 編程語(yǔ)言創(chuàng)建函數(shù)并將其命名為“FC_PartialArrayCopy”。
按如下方式聲明塊接口:
436d75be-0855-11ee-962d-dac502259ad0.png
436d75be-0855-11ee-962d-dac502259ad0.png
按如下方式創(chuàng)建 SCL 程序代碼:
可以找到以下程序代碼作為模板。
43b8c708-0855-11ee-962d-dac502259ad0.png
43b8c708-0855-11ee-962d-dac502259ad0.png
創(chuàng)建 PLC 數(shù)據(jù)類型“UDT_MyStruct”:
43fc73ae-0855-11ee-962d-dac502259ad0.png
43fc73ae-0855-11ee-962d-dac502259ad0.png
創(chuàng)建全局?jǐn)?shù)據(jù)塊“DB_WithArrays”:
443bc658-0855-11ee-962d-dac502259ad0.png
443bc658-0855-11ee-962d-dac502259ad0.png
在組織塊(例如 OB1)中調(diào)用“FC_PartialArrayCopy”函數(shù),并使用 DB_WithArrays 數(shù)據(jù)塊初始化參數(shù)。輸入指定的常量:
447254c0-0855-11ee-962d-dac502259ad0.png
447254c0-0855-11ee-962d-dac502259ad0.png
也可以使用第三個(gè)和第四個(gè) ARRAY(數(shù)據(jù)類型為 REAL)來(lái)代替使用前兩個(gè) ARRAY (數(shù)據(jù)類型為 UDT_MyStruct)。
44b7ee54-0855-11ee-962d-dac502259ad0.png
44b7ee54-0855-11ee-962d-dac502259ad0.png

結(jié)果

在程序周期中調(diào)用“FC_PartialArrayCopy”塊后,會(huì)將從第四個(gè)元素開始的兩個(gè)數(shù)據(jù)值立即從“DB_WithArrays”全局?jǐn)?shù)據(jù)塊的第一個(gè) ARRAY 復(fù)制到該數(shù)據(jù)塊的第二個(gè) ARRAY 中。復(fù)制的數(shù)據(jù)值將插入到第二個(gè) ARRAY 中(從第四個(gè)元素開始)。

用于復(fù)制的 SCL 程序代碼:

SCL
IF IS_ARRAY(#SourceArray) AND TypeOfElements(#SourceArray) = TypeOfElements(#DestinationArray) THEN
#Error := MOVE_BLK_VARIANT(COUNT := #Count, SRC := #SourceArray, SRC_INDEX := #SourceIndex,
DEST => #DestinationArray, DEST_INDEX := #DestinationIndex);
END_IF;
#FC_PartialArrayCopy := #Error;

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7651

    瀏覽量

    167380
  • 西門子
    +關(guān)注

    關(guān)注

    98

    文章

    3173

    瀏覽量

    118245
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4381

    瀏覽量

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

    關(guān)注

    1

    文章

    243

    瀏覽量

    17556

原文標(biāo)題:西門子博途:有關(guān) VARIANT 的基本信息

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    北京回收西門子組態(tài)軟件

    回收西門子變頻器SINAMICS V10系列變頻器回收西門子觸摸屏回收西門子組態(tài)軟件回收西門子
    發(fā)表于 05-27 12:16

    西門子1200碼垛機(jī)程序應(yīng)用

    西門子1200碼垛機(jī)、立體倉(cāng)庫(kù)程序(帶注釋),程序應(yīng)用到變頻器、觸摸屏、步進(jìn)電機(jī)、工業(yè)機(jī)器人、視覺相機(jī)。
    發(fā)表于 09-03 07:42

    暢銷西門子助聽器價(jià)格表_西門子助聽器價(jià)格大全

    暢銷西門子助聽器價(jià)格表_西門子助聽器價(jià)格大全 1、西門子盒式助聽器 AMIGA 176AO Pocket AMIGA 176AO 西門子助聽器價(jià)格:441元
    發(fā)表于 08-23 12:19 ?2w次閱讀
    暢銷<b class='flag-5'>西門子</b>助聽器價(jià)格表_<b class='flag-5'>西門子</b>助聽器價(jià)格大全

    西門子大賽1200電梯參考程序

    西門子大賽1200電梯參考程序,V13文件.有需要的加油!
    發(fā)表于 06-22 15:56 ?183次下載

    如何使用平臺(tái)上完成西門子的S7-1500與S7-1200以太網(wǎng)通信?

    一步步教你使用平臺(tái),完成西門子最風(fēng)行的兩款PLC——S7-1500(1515 CPU)與S7-1200(1214 CPU)之間通信,有兩種方法:S7通信和開放式用戶通信。
    的頭像 發(fā)表于 07-09 10:00 ?5.6w次閱讀
    如何使用<b class='flag-5'>博</b><b class='flag-5'>途</b>平臺(tái)上完成<b class='flag-5'>西門子</b>的S7-1500與S7-1200以太網(wǎng)通信?

    解析ABB機(jī)器人與西門子S7-1200 profinet通訊

    西門子軟件中做PLC硬件組態(tài),設(shè)置以太網(wǎng)連接。
    的頭像 發(fā)表于 01-18 16:55 ?5w次閱讀
    解析ABB機(jī)器人與<b class='flag-5'>西門子</b>S7-1200 profinet通訊

    詳解編程實(shí)現(xiàn)S7300與西門子觸摸屏通訊

    目前國(guó)內(nèi)流行用昆侖通泰或者威綸通觸摸屏做項(xiàng)目,一方面價(jià)格便宜,另一方面編程簡(jiǎn)單。但西門子屏也經(jīng)常會(huì)被用到,所以不得不學(xué)。簡(jiǎn)單寫一下會(huì)用圖建立西門子觸摸屏和S7300PLC的通訊。
    的頭像 發(fā)表于 05-05 11:37 ?1.8w次閱讀

    西門子PLC編程軟件下載

    西門子PLC編程軟件TIA V13 SP1 SIMATIC_WinCC_Runtime_Professional_SP1_for_V13---江西工控論壇有下載密碼www.jx-gongkong.com
    發(fā)表于 03-01 11:04 ?71次下載

    Unity3D與西門子PLC通訊

    本文是做實(shí)體PLC和Unity的通訊,如果沒有實(shí)體PLC可以參考我之前的文上位機(jī)與西門子TIA的PROFINET通訊仿真(虛擬通訊),這篇
    發(fā)表于 04-19 11:43 ?6次下載
    Unity3D與<b class='flag-5'>西門子</b>PLC通訊

    如何在平臺(tái)調(diào)試西門子G120變頻器

      隨著工業(yè)自動(dòng)化邁向智能化越來(lái)越近,科技工作者不斷的突破,近年在傳動(dòng)領(lǐng)域,采用工業(yè)以太網(wǎng)(Profinet)和變頻器通訊非常廣泛,今天我們簡(jiǎn)單的介紹下在平臺(tái)調(diào)試西門子G120變頻器。
    的頭像 發(fā)表于 04-25 10:17 ?3.7w次閱讀
    如何在<b class='flag-5'>博</b><b class='flag-5'>途</b>平臺(tái)調(diào)試<b class='flag-5'>西門子</b>G120變頻器

    新變量:有關(guān)VARIANT基本信息

    VARIANT 數(shù)據(jù)類型的參數(shù)是一個(gè)指針或引用,可指向各種不同數(shù)據(jù)類型的變量。VARIANT 指針無(wú)法指向?qū)嵗?,因此不能指向多重?shí)例或多重實(shí)例的 ARRAY。VARIANT 指針可以是基本數(shù)
    的頭像 發(fā)表于 06-07 10:49 ?3377次閱讀

    西門子有關(guān)STRUCT的基本信息

    STRUCT 數(shù)據(jù)類型是指一種元素?cái)?shù)量固定但數(shù)據(jù)類型不同的數(shù)據(jù)結(jié)構(gòu)。在結(jié)構(gòu)中,也可嵌套 STRUCT 或 ARRAY 數(shù)據(jù)類型的元素。結(jié)構(gòu)可用于根據(jù)過(guò)程控制系統(tǒng)分組數(shù)據(jù)以及作為一個(gè)數(shù)據(jù)單元來(lái)傳送參數(shù)。
    的頭像 發(fā)表于 07-12 10:03 ?7287次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>博</b><b class='flag-5'>途</b><b class='flag-5'>有關(guān)</b>STRUCT的<b class='flag-5'>基本信息</b>

    西門子1200/1500PLC單按鈕啟停控制10種設(shè)計(jì)方法

    西門子1200/1500PLC單按鈕啟??刂?0種設(shè)計(jì)方法
    的頭像 發(fā)表于 08-31 09:14 ?9297次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>博</b><b class='flag-5'>途</b>1200/1500PLC單按鈕啟停控制10種設(shè)計(jì)方法

    西門子plc單按鈕啟停的十種方法(1200/1500PLC)

    西門子1200/1500PLC單按鈕啟??刂?0種設(shè)計(jì)方法
    發(fā)表于 08-31 09:15 ?8482次閱讀
    <b class='flag-5'>西門子</b>plc單按鈕啟停的十種方法(<b class='flag-5'>博</b><b class='flag-5'>途</b>1200/1500PLC)

    如何在平臺(tái)調(diào)試西門子G120變頻器

    隨著工業(yè)自動(dòng)化邁向智能化越來(lái)越近,科技工作者不斷的突破,近年在傳動(dòng)領(lǐng)域,采用工業(yè)以太網(wǎng)(Profinet)和變頻器通訊非常廣泛,今天我們簡(jiǎn)單的介紹下在平臺(tái)調(diào)試西門子G120變頻器。
    發(fā)表于 09-07 12:50 ?6176次閱讀
    如何在<b class='flag-5'>博</b><b class='flag-5'>途</b>平臺(tái)調(diào)試<b class='flag-5'>西門子</b>G120變頻器