色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SMART200的數據類型和變量尋址方式

冬至子 ? 來源:亞控斯諾自動化電氣設備 ? 作者:地貓子 ? 2023-06-26 15:16 ? 次閱讀

為什么要區分數據類型

現實生活中我們可以隨意在紙上寫出一串數字,并運用小學學過的知識準確識別出數字的大小。但在計算機中,受到機器運算方式和存儲空間的限制,必須將數據分成不同的組織形式,以便進行更高效的運算,每種數據類型所占存儲空間不同,可表示的數值范圍也不同。

PLC編程需要認識的基本數據類型

學習PLC編程需要熟知以下數據類型

圖片

按數據類型的所占存儲空間的大小進行分類如下:

圖片

從上圖可以看出,除字符串數據類型,其他數據類型都是按照位的長度來分類的。其實不論是什么數據類型,存儲后只要以二進制的形式查看,都是1/8/16/32等二進制位的0或1組合。

圖片

相同的二進制數按照不同的規則解析,可以解析成不同類型的數據,可表示的數據大小最終受限于所占用的存儲空間的大小。

PLC中的變量

PLC中變量的概念可以認為是一個用于存儲數據的存儲空間,空間的內容可變,所以稱為變量。

由于PLC的數據存儲器已經被明確劃分好了種類和范圍,我們可以直接使用這些明確的存儲區而不需要像計算機編程那樣先聲明一個某類型的變量再在后面的程序中使用。

西門子PLC編程只需要指定出變量的存儲區類型,地址索引和長度,而變量的類型(用哪種規則解析)是由具體調用的指令來和子程序的接口來定義的。

指令區分數據類型,匹配相應的變量長度。例如ADD_I指令會將長16位(2個字節)的變量按整型來處理計算,ADD_DI指令會將長32位(4個字節)的變量按雙整型來處理計算,而ADD_R指令會將長32位(4個字節)的變量按浮點數來處理計算。

圖片

下圖左邊的子程序形參類型決定了實參變量的類型,在調用子程序時,會按照形參定義的數據類型處理對應長度的變量。

圖片

變量的尋址

因為各種存儲空間已經被劃分好,不需要再定義,那么我們怎樣才能找到這片存儲空間呢?這就是尋址的概念。西門子PLC的尋址方式分為兩種,直接尋址和間接尋址。直接尋址又可以分為兩種,絕對尋址和符號尋址。

圖片

直接尋址

PLC的數據存儲空間,這里總結出直接訪問數據存儲空間的三個要素,存儲區類型,地址索引和長度。

圖片

例如如果訪問的是V0.0,其中V代表存儲器類型是V存儲器,0代表存儲器索引值,.0代表訪問的長度是1個位并且指出是第0個位。

例如如果訪問的是VB1,其中V代表存儲器類型是V存儲器,1代表存儲器索引值,B代表訪問的長度是1個字節。

例如如果訪問的是VW2,其中V代表存儲器類型是V存儲器,2代表存儲器索引值,W代表訪問的長度是1個字(2個字節)。

例如如果訪問的是VD4,其中V代表存儲器類型是V存儲器,4代表存儲器索引值,D代表訪問的長度是1個雙字(4個字節)。

圖片

如果訪問的是VD0,,其中V代表存儲器類型是V存儲器,0代表存儲器索引值,D代表訪問的長度是1個雙字(4個字節),這次訪問包含了V0.0-V3.7共32個位區域,VB0-VB3共4個字節區域,VW0-VW2共2個字區域。

絕對尋址

絕對尋址直接指出存儲區類型,地址索引和訪問長度即可。

圖片

符號尋址

為絕對地址定義一個符號,同時添加相應的注釋。符號也是可以用來尋址的,即通過符號名稱找到對應的地址,例如在編程時可以通過“瞬時流量1”這個符號名稱來找到VD6000這個地址。符號表中定義變量是不需要指定變量的數據類型的,而變量的類型(用哪種規則解析)是由具體調用的指令來和子程序的接口來確定的。其中地址的基本要素也是存儲區類型,地址索引和訪問長度。

圖片

在程序中直接使用符號名稱來指代某個變量,在定義符號表時已經定義了數據存儲器的類型,地址索引和訪問長度。

圖片

直接尋址的兩種方式單獨顯示即同時顯示的切換方法如下

圖片

間接尋址

你可以將指針想象成一輛自動取送貨的小車,變量是貨架上的一個個貨位,只需要將貨位號發給小車,小車就能找到這個位置來取送貨物。

圖片

間接尋址的過程是,首先定義一個指針變量,讓指針變量指向存儲區的純數值索引。再通過指針訪問這個存儲區,通過改變指針數值,指向另一個存儲區,再訪問另一個存儲區。

指針是包含另一個存儲位置地址的雙字存儲位置。只能將 V 存儲位置、L 存儲位置或累加器寄存器AC1、AC2、AC3)用作指針。要創建指針,必須使用“移動雙字”指令,將間接尋址的存儲位置地址移至指針位置。指針還可以作為參數傳遞至子程序。

注意:修改指針值時,切記調整所訪問數據的大?。涸L問字節時,指針值加 1;訪問定時器或計數器的字或當前值時,指針值加 2;訪問雙字時,指針值加 4。

哪些存儲區支持間接尋址

S7-200 SMART 允許指針訪問下列存儲區:I、Q、V、M、S、T(僅限當前值)、C(僅限當前值)、SM、AI 和 AQ。單個位或訪問 HC、L 或 AC 存儲區不支持間接尋址訪問。

總結

直接尋址時,絕對尋址和符號尋址這兩種方式本質是三要素,一般在編程中,不需要監視的臨時變量,中間過渡變量可以采用絕對尋址的方法來使用,需要監視的變量更適合符號尋址,也方便調試監控。而間接尋址更適合批量操作一定區域的變量,特別是與循環指令配合使用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5342

    瀏覽量

    120328
  • 存儲器
    +關注

    關注

    38

    文章

    7490

    瀏覽量

    163818
  • S7-200
    +關注

    關注

    13

    文章

    408

    瀏覽量

    50427
  • PLC編程
    +關注

    關注

    46

    文章

    246

    瀏覽量

    37446
  • 累加器
    +關注

    關注

    0

    文章

    50

    瀏覽量

    9455
收藏 人收藏

    評論

    相關推薦

    西門子SMART200 PLC的遠程下載方法

    本文將向大家介紹如何遠程下載西門子SMART200的方法。
    發表于 09-02 10:02 ?4161次閱讀

    C語言中基本數據類型、變量和常量的使用

    C語言中基本數據類型、變量和常量的使用
    發表于 08-18 16:42 ?2766次閱讀
    C語言中基本<b class='flag-5'>數據類型</b>、<b class='flag-5'>變量</b>和常量的使用

    技術干貨驛站 ▏深入理解C語言:基本數據類型變量

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

    關于變量數據類型的問題

    這些變量在初始化已經定義過數據類型了,為什么編程時還要表明,有的又沒有標,怎么回事?用的芯片是2812
    發表于 06-03 09:36

    Verilog 變量聲明與數據類型

    Verilog 變量聲明與數據類型二上節介紹了wire,reg數據類型及其用法,并對變量定義中的向量的定義及使用做了說明。本節主要介紹其它幾種類型
    發表于 08-06 09:21

    Verilog 變量聲明與數據類型

    Verilog 變量聲明與數據類型一Verilog語法中最基本的數據類型有 線網(wire),寄存器(reg)和整數(integer)三種類型,這三種
    發表于 08-10 14:01

    SMART200資料

    SMART200資料,感興趣的小伙伴們可以看看。
    發表于 07-26 10:26 ?0次下載

    vhdl數據類型

    VHDL中的標識符可以是常數、變量、信號、端口、子程序或參數的名字。VHDL中的數據類型可以分成四大類: 標量型(SCALAR TYPE):屬單元素的最基本的數據類型,通常用于描述一個單值數據
    發表于 03-30 15:59 ?11次下載

    python教程之變量和簡單數據類型

    本文檔的主要內容詳細介紹的是python教程之變量和簡單數據類型。
    發表于 04-26 08:00 ?7次下載
    python教程之<b class='flag-5'>變量</b>和簡單<b class='flag-5'>數據類型</b>

    重視變量數據類型

    不管在什么語言中,定義一個變量時必然要在內存中開辟一個相應大小的空間來存儲該變量。不同的數據類型在內存所占的空間大小不同,其所能表示的數據范圍也不相同。在單片機C語言中,常用的基本
    發表于 01-13 15:05 ?1次下載
    重視<b class='flag-5'>變量</b>的<b class='flag-5'>數據類型</b>

    Profinet分布IO模塊與SMART200 PLC進行數據采集

    Profinet分布IO模塊與SMART200 PLC進行數據采集
    的頭像 發表于 01-03 16:21 ?1882次閱讀
    Profinet分布IO模塊與<b class='flag-5'>SMART200</b> PLC進行<b class='flag-5'>數據</b>采集

    西門子SMART200為什么要加信號板電源呢?

    SMART200加了信號板電源,影響端口0走不了485通訊
    的頭像 發表于 02-16 09:42 ?1110次閱讀

    一文輕松學會西門子Slice方式變量尋址

    【導讀】博途中不但變量數據類型的隱式轉換很好用,而且對于變量的Slice(直譯:片或部分)尋址也很方便,下面就來說下S7-1200/1500如何以用Slice
    的頭像 發表于 04-07 10:58 ?2691次閱讀

    MATLAB變量數據類型的基本介紹

    在MATLAB中,變量數據類型是非常重要的概念。
    的頭像 發表于 07-05 09:44 ?1879次閱讀

    ARRAY 數據類型變量

    要求 全局數據塊已打開。 操作步驟 要聲明一個 ARRAY 數據類型變量,請按以下步驟操作: 在“名稱”(Name) 列中,輸入變量的名稱。 在“
    的頭像 發表于 07-06 11:08 ?1112次閱讀
    主站蜘蛛池模板: 中文字幕亚洲乱码熟女在线| 中文字幕亚洲乱码熟女在线| 激情内射亚州一区二区三区爱妻 | 一个人HD在线观看免费高清视频 | 日本高清二区| 东北老妇人70OLDMAN| 無码一区中文字幕少妇熟女网站| 国产成人精品电影在线观看| 无套内射无矿码免费看黄| 美女挑战50厘米长的黑人| 办公室的秘密2中文字幕| 试看做受120秒免费午夜剧场| 国产强奷伦奷片| 一个人HD在线观看免费高清视频 | 老年日本老年daddy| 中国女人精69xxxxxx视频| 四川老师边上网课边被啪视频| 蜜桃传媒视频| 久草国产在线播放| 农民下乡在线观看3| 超碰在线线公开免费视频| 国产亚洲精品久久久久| adc网址在线观看| 一区二区三区福利视频| 中国农村真实bbwbbwbbw| 最近免费中文字幕完整版HD| 亚洲天堂视频网站| 午夜福利电影网站鲁片大全| 亚洲 自拍 偷拍 另类综合图区| 日本人六九视频| 欧美黑白配性xxxxx| 乱爱性全过程免费视频| 牛牛在线1视频| 色色激情网| 肉动漫无码无删减在线观看| 千禧金瓶梅快播| 欧美精品乱码99久久蜜桃| 日韩精品免费一区二区| 情欲.美女高潮| 先锋影音av无码第1页| 偷偷鲁青春草原视频|