一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲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)不再提示

倍福PLC學(xué)習(xí):變量概述

jf_61nrsJTz ? 來(lái)源:方正智芯 ? 作者:方正智芯 ? 2022-11-23 09:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天這篇文章,我們基于倍福(Beckhoff)TwinCAT3編程開(kāi)發(fā)環(huán)境,對(duì)PLC的變量進(jìn)行介紹。本文包括如下幾個(gè)主題:

變量的名稱;

變量的數(shù)據(jù)類型;

變量的存儲(chǔ)區(qū);

變量的類別;

變量的作用域與生命周期;

1、變量的名稱

變量的名稱,簡(jiǎn)稱變量名,也稱為變量標(biāo)識(shí)符(Identifier),用來(lái)唯一標(biāo)識(shí)某個(gè)變量。TwinCAT3(以下簡(jiǎn)稱TC3)的變量命名需遵循如下規(guī)則:

①變量名由字母(a~z和A~Z)、數(shù)字(0~9)和下劃線組成,比如abc,ab10,a_b10等都是合法的變量名。字母不區(qū)分大小寫,比如abc和ABC表示相同的變量;

②變量名不能以數(shù)字開(kāi)頭,比如 0ab 是非法的變量名;

③變量名中間不能有空格;

④變量名不能使用系統(tǒng)關(guān)鍵字;

⑤不建議以兩個(gè)下劃線開(kāi)頭,比如__ab,因?yàn)檫@是系統(tǒng)內(nèi)部變量的命名約定;

⑥變量名的長(zhǎng)度沒(méi)有特殊限制;

⑦不同命名空間(namespace)下的變量名可以相同。比如全局變量列表GVL1和GVL2中可以有重名的變量,在使用時(shí)通過(guò)引用命名空間來(lái)區(qū)分;

2、變量的數(shù)據(jù)類型

每個(gè)變量在聲明時(shí)都必須指定數(shù)據(jù)類型。包括如下一些種類:

標(biāo)準(zhǔn)數(shù)據(jù)類型,比如:布爾型(BOOL)、整數(shù)型(BYTE、INT等)、實(shí)數(shù)型(REAL)、字符串(STRING)、寬字符串(WSTRING)、時(shí)間日期(Time、Date_and_Time)等;

IEC61131-3的擴(kuò)展數(shù)據(jù)類型:比如位(BIT)、任意(ANY)、特殊類型(XINT、UXINT、XWORD)、數(shù)組(ARRAY)、引用(REFERENCE)、聯(lián)合體(UNION)、指針(POINTER)等;

用戶自定義數(shù)據(jù)類型,結(jié)構(gòu)體(Structure)、枚舉(Enumerations)、別名(Alias)等;

由于本文的主旨是介紹變量,因此數(shù)據(jù)類型就不展開(kāi)講了;

3、變量的存儲(chǔ)區(qū)

倍福嵌入式控制器與個(gè)人計(jì)算機(jī)類似,其數(shù)據(jù)存儲(chǔ)器包括非易失性存儲(chǔ)器(硬盤、CF卡、CFast卡等)和易失性存儲(chǔ)器(內(nèi)存)。為了與傳統(tǒng)PLC兼容,將內(nèi)存的一部分劃分出輸入映像區(qū)(Input)、輸出映像區(qū)(Output)和位存儲(chǔ)區(qū)(Memory)。這三種存儲(chǔ)區(qū)均可以絕對(duì)地址訪問(wèn),默認(rèn)大小均為128KB。用戶可通過(guò)下面的文件修改其大?。?/p>

C:TwinCAT3.1ComponentsPlcdevices40961002 00011.0.0.4device.xml

如下圖所示:

0849ef36-6abb-11ed-8abf-dac502259ad0.png

4、變量的類別

使用不同的聲明方式可以定義不同的變量類型,比如局部變量、臨時(shí)變量、靜態(tài)變量、外部變量等。它們中有的只能在指定的POU(程序組織單元)中聲明,比如臨時(shí)變量只能在函數(shù)塊(FB)和程序(PROGRAM)中聲明。下面來(lái)具體介紹下:

①局部變量:在VAR .. END_VAR之間聲明的變量,適用于所有程序組織單元,比如:

VAR
  byte0:BYTE;//字節(jié)0
  byte1:BYTE;//字節(jié)1
END_VAR

②全局變量:在VAR_GLOBAL .. END_VAR之間聲明的變量,僅適用于全局變量列表(Global variable list),比如:

VAR_GLOBAL
  gVinNumber : STRING;//全局VIN碼變量
END_VAR

③臨時(shí)變量,在VAR_TEMP .. END_VAR之間聲明的變量,可在FB和PROGRAM中聲明,比如:

VAR_TEMP
  tmpStart:BOOL;
  tmpStop:BOOL;
END_VAR

④靜態(tài)變量:在VAR_STAT .. END_VAR之間聲明的變量,可在FB/FC中聲明,比如:

VAR_STAT
  statStartRisingEdge:BOOL;//啟動(dòng)信號(hào)上升沿
  statStartRisingEdgeHF:BOOL;//啟動(dòng)信號(hào)上升沿輔助變量
END_VAR

⑤外部變量:在VAR_EXTERNAL .. END_VAR之間聲明的變量,用于導(dǎo)入外部全局變量列表中已經(jīng)聲明的變量,比如:

VAR_EXTERNAL
  gVinNumber : STRING;//全局VIN碼變量
END_VAR

POU的形參包括三種:輸入、輸入-輸出、輸出,以變量的形式進(jìn)行定義,聲明方式如下:

⑥輸入變量(形參):在VAR_INPUT .. END_VAR之間聲明的變量,比如:

VAR_INPUT
  start  :BOOL;//啟動(dòng)信號(hào)
  stop   :BOOL;//停止信號(hào)
END_VAR

⑦輸出變量(形參):在VAR_OUTPUT .. END_VAR之間聲明的變量,比如:

VAR_OUTPUT
  coil  :BOOL;//線圈
END_VAR

⑧輸入-輸出變量(形參):在VAR_IN_OUT .. END_VAR之間聲明的變量,比如:

VAR_IN_OUT
  status :WORD;//狀態(tài)
END_VAR

5、變量的作用域與生命周期

變量的作用域是指變量在哪些范圍內(nèi)有效,分為全局和局部?jī)煞N。

全局變量在整個(gè)CPU項(xiàng)目范圍內(nèi)有效。在全局變量列表中聲明的變量屬于全局變量;

局部變量?jī)H在當(dāng)前POU范圍內(nèi)有效。在POU內(nèi)部聲明的變量屬于局部變量;

變量的生命周期是指變量值的保持時(shí)間。臨時(shí)變量?jī)H在當(dāng)前POU運(yùn)行過(guò)程中有效,當(dāng)POU運(yùn)行結(jié)束后將被釋放;局部變量、全局變量和靜態(tài)變量的值在系統(tǒng)運(yùn)行中均能保持,不被釋放(非掉電狀態(tài))。

在系統(tǒng)掉電或冷啟動(dòng)的情況下,未擴(kuò)展的局部變量、全局變量和靜態(tài)變量會(huì)被初始化(不能保持)。如果希望系統(tǒng)掉電或冷啟動(dòng)的情況下變量值依然能夠保持,應(yīng)使用關(guān)鍵字RETAIN或PERSISTENT對(duì)變量進(jìn)行擴(kuò)展,比如:

VAR_GLOBAL
  gVinNumber : STRING;//全局VIN碼變量
END_VAR
VAR_GLOBAL RETAIN
  gCounter :DWORD;//全局計(jì)數(shù)器,掉電保持
END_VAR

上面的例子中,變量gCounter由于使用了RETAIN關(guān)鍵字進(jìn)行屬性擴(kuò)展,它會(huì)在掉電的情況下保持?jǐn)?shù)據(jù);而變量gVinNumber未進(jìn)行擴(kuò)展,在掉電的情況下會(huì)被初始化(不能保持原來(lái)的值)。

好了,關(guān)于倍福TC3編程開(kāi)發(fā)環(huán)境下變量及其屬性就先介紹到這里。

審核編輯:湯梓紅

聲明:本文內(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)投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5036

    文章

    13892

    瀏覽量

    473976
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    614

    瀏覽量

    28930
  • TwinCAT3
    +關(guān)注

    關(guān)注

    1

    文章

    9

    瀏覽量

    10963
  • 倍福
    +關(guān)注

    關(guān)注

    1

    文章

    116

    瀏覽量

    10181

原文標(biāo)題:倍福PLC學(xué)習(xí):變量概述

文章出處:【微信號(hào):方正智芯,微信公眾號(hào):方正智芯】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    PLC數(shù)據(jù) 轉(zhuǎn) CCLink IE Field Basic項(xiàng)目案例

    使用VFBOX網(wǎng)關(guān)實(shí)現(xiàn)PLC與不同系統(tǒng)間的數(shù)據(jù)交換,支持多種協(xié)議轉(zhuǎn)換,配置簡(jiǎn)單,節(jié)省成本,符合工業(yè)應(yīng)用場(chǎng)景,長(zhǎng)期穩(wěn)定工作,無(wú)需修改設(shè)備程序。
    的頭像 發(fā)表于 08-12 10:25 ?1016次閱讀
    <b class='flag-5'>倍</b><b class='flag-5'>福</b><b class='flag-5'>PLC</b>數(shù)據(jù) 轉(zhuǎn) CCLink IE Field Basic項(xiàng)目案例

    plc怎么與labview 實(shí)現(xiàn)mudbus tcp 協(xié)議通訊

    這是我寫的程序,已經(jīng)實(shí)現(xiàn)與plc 1200通訊讀寫程序,但是用相同的程序想讀取plc就是不行,想問(wèn)問(wèn)大神們有沒(méi)有范例讓我學(xué)習(xí)一下
    發(fā)表于 10-26 10:10

    利用labview 與DLL通訊

    各位大神,我有一個(gè)PLC程序,是讀取環(huán)境溫度的?,F(xiàn)在我想利用labview與DLL通訊,并且讀取
    發(fā)表于 12-24 17:24

    資料下載:PLC與MCGS通訊連接

    PLC型號(hào):CX1100 MCGS型號(hào):全系列 待完成。。。
    發(fā)表于 07-02 08:07

    TwinCAT_編程指南

    TwinCAT_編程指南,用于的控制器編程,操作說(shuō)明。
    發(fā)表于 04-28 11:19 ?39次下載

    福和西門子哪個(gè)更好_PLC與西門子主要區(qū)別在哪里

    本文開(kāi)始介紹了德國(guó)的的主要產(chǎn)品以及介紹了德國(guó)產(chǎn)品優(yōu)點(diǎn),其次介紹了
    的頭像 發(fā)表于 04-04 09:05 ?12.8w次閱讀

    什么是PLC變量

    什么是變量變量是用于程序的,可以有不同值的變量。 根據(jù)應(yīng)用范圍,變量可分為以下幾類 局部變量: 局部
    的頭像 發(fā)表于 10-11 11:53 ?1.9w次閱讀
    什么是<b class='flag-5'>PLC</b><b class='flag-5'>變量</b>

    PLC學(xué)習(xí):編寫函數(shù)塊及簡(jiǎn)單調(diào)試

    今天這篇文章我們來(lái)編寫一個(gè)簡(jiǎn)單的電機(jī)控制函數(shù)塊,并將其下載到CX5020控制器進(jìn)行測(cè)試,以熟悉TwinCAT3環(huán)境下基本的編程步驟。
    的頭像 發(fā)表于 11-09 09:34 ?6358次閱讀

    BECKHOFF PLC:自動(dòng)化編程入門

    我初學(xué)PLC,學(xué)習(xí)過(guò)程的一些總結(jié): 1、熟系編程環(huán)境,多操作幾次就熟系了。 2、了解一些功能塊,資料主要在官方幫助系統(tǒng)中查找。 3、理解程序執(zhí)行流,從代碼第一行開(kāi)始一步一步執(zhí)
    發(fā)表于 04-20 10:34 ?4次下載
    <b class='flag-5'>倍</b><b class='flag-5'>福</b>BECKHOFF <b class='flag-5'>PLC</b>:自動(dòng)化編程入門

    PLC結(jié)構(gòu)概述

    目錄:? PLC學(xué)習(xí)筆記(一):概述 PLC學(xué)習(xí)筆記(二):PLC結(jié)構(gòu)(1)
    發(fā)表于 04-20 11:12 ?5次下載
    <b class='flag-5'>PLC</b>結(jié)構(gòu)<b class='flag-5'>概述</b>

    PLC中定時(shí)器的使用

    (Beckhoff)PLC的定時(shí)器采用的是標(biāo)準(zhǔn)IEC定時(shí)器,包括:延時(shí)斷開(kāi)定時(shí)器(TOF)、延時(shí)接通定時(shí)器(TON)和脈沖定時(shí)器(TP)。此外還有可用于長(zhǎng)時(shí)間的LTOF、LTON和LTP,這些
    的頭像 發(fā)表于 05-04 16:00 ?5792次閱讀
    <b class='flag-5'>倍</b><b class='flag-5'>福</b><b class='flag-5'>PLC</b>中定時(shí)器的使用

    EtherCAT轉(zhuǎn)Profinet協(xié)議網(wǎng)關(guān)使西門子和PLC實(shí)現(xiàn)通訊的方法

    通過(guò)PLC協(xié)議,遠(yuǎn)創(chuàng)智控YC-ECTM-PN網(wǎng)關(guān)能與系列的PLC進(jìn)行通信,一起探索下如何
    的頭像 發(fā)表于 10-27 18:00 ?1466次閱讀
    EtherCAT轉(zhuǎn)Profinet協(xié)議網(wǎng)關(guān)使西門子和<b class='flag-5'>倍</b><b class='flag-5'>福</b>的<b class='flag-5'>PLC</b>實(shí)現(xiàn)通訊的方法

    PLC數(shù)據(jù)采集通過(guò)MQTT協(xié)議對(duì)接云組態(tài)平臺(tái)

    隨著可編程邏輯控制器PLC在工業(yè)自動(dòng)化場(chǎng)景的應(yīng)用越來(lái)越廣泛,越來(lái)越多設(shè)備可以實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和智能管理,從而在手機(jī)電腦等智能物聯(lián)網(wǎng)平臺(tái)上實(shí)現(xiàn)設(shè)備的查詢與控制。PLC
    的頭像 發(fā)表于 12-26 17:19 ?969次閱讀
    <b class='flag-5'>倍</b><b class='flag-5'>福</b><b class='flag-5'>PLC</b>數(shù)據(jù)采集通過(guò)MQTT協(xié)議對(duì)接云組態(tài)平臺(tái)

    PLC數(shù)據(jù)采集網(wǎng)關(guān)有什么功能

    在工業(yè)自動(dòng)化領(lǐng)域,PLC(可編程邏輯控制器)作為核心控制設(shè)備,扮演著至關(guān)重要的角色。而PLC
    的頭像 發(fā)表于 08-25 09:28 ?793次閱讀
    <b class='flag-5'>倍</b><b class='flag-5'>福</b><b class='flag-5'>PLC</b>數(shù)據(jù)采集網(wǎng)關(guān)有什么功能

    PLC數(shù)據(jù) 轉(zhuǎn) IEC61850項(xiàng)目案例

    目錄 1 案例說(shuō)明 1 2 VFBOX網(wǎng)關(guān)工作原理 1 3 準(zhǔn)備工作 2 4 設(shè)置PLC 2 5 配置網(wǎng)關(guān)參數(shù)采集
    的頭像 發(fā)表于 09-03 09:50 ?563次閱讀
    <b class='flag-5'>倍</b><b class='flag-5'>福</b><b class='flag-5'>PLC</b>數(shù)據(jù) 轉(zhuǎn) IEC61850項(xiàng)目案例