<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

關于S7-1500訪問聲明變量內的數據區域

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 作者:機器人及PLC自動化 ? 2022-10-08 11:26 ? 次閱讀

S7-1500 要訪問聲明變量內的數據區域,可以通過附加聲明來覆蓋所聲明的變量。其優勢在于無需指令即可根據需要實現變量的拆分,拆分后的變量可在程序中直接使用。例如,可以通過 Array of Bool 尋址數據類型為 Byte、Word 或 DWord 變量的各個位。


支持AT 訪問的變量如下:
? 標準訪問的FC/FB的接口數據區中的變量;
? 優化訪問的FB的接口數據區中保持性設置為“在IDB中設置”的變量。

AT變量的聲明:要覆蓋一個參數,可以在待覆蓋的參數后直接聲明一個附加參數,然后選擇數據類型"AT"。編輯器隨即創建該覆蓋,然后選擇將用于該覆蓋的數據類型、結構或數組。

以下使用TIA V17 Por軟件,以一個簡單實例講述AT覆蓋變量使用,具體如下;

1. AT 覆蓋變量使用-標準訪問的FB/FC

(1) 創建一個 S7-1500 的項目,在程序塊中添加一個 FB (或者 FC ),右擊FB 進入該塊的屬性中,將 FB 屬性中的"優化的塊訪問"取消,改為標準FB,如圖 1 所示。

536f6a8a-42f3-11ed-96c9-dac502259ad0.jpg

圖1. 創建非優化的 FB 塊

(2) 雙擊進入 FB 塊, 展開 FB 塊的"塊接口",如圖 2 所示。

53d944d2-42f3-11ed-96c9-dac502259ad0.jpg

圖2. 展開 FB 塊的"塊接口"

(3)在FB"塊接口"中,在 Input 添加一個變量,變量名為 "InData",數據類型為 Word;然后緊跟在變量 “InData” 下一行,數據類型處輸入"AT"數據類型,如圖 3 所示。

5437e988-42f3-11ed-96c9-dac502259ad0.jpg

圖3. 輸入"AT"數據類型

(4)Input 中會生成一個新變量,變量名可自由定義此處定義為“AtInData”,然后把變量的數據類型修改成 Array[0..15] of Bool,并編譯該 FB 塊??梢钥吹阶兞?"InData" 和覆蓋變量 “AtInData” 的偏移量都是 0.0,表示這兩個變量是相同地址,只是以不同的數據類型顯示,如圖 4 所示。

5471bc26-42f3-11ed-96c9-dac502259ad0.jpg

圖4. 創建AT覆蓋變量

(5)同樣方法新建 Output 的變量 “OutData” 和AT覆蓋變量 “AtOutData”,如圖 5 所示。

54a08808-42f3-11ed-96c9-dac502259ad0.jpg

圖5. 定義輸出AT覆蓋變量

(6) FB中編程使用(程序無實際意義僅為應用示例),此時輸入和輸出的WORD變量均可按拆分成的Bool數據類型使用,如圖 6 所示。

551753b6-42f3-11ed-96c9-dac502259ad0.jpg

圖6. FB中使用AT覆蓋變量編程

(7) 在OB1中調用FB時,接口管腳上是不會顯示AT覆蓋變量的,如圖 7 所示。

553bc228-42f3-11ed-96c9-dac502259ad0.jpg

圖7. OB1中調用FB

2. AT 覆蓋變量使用-優化訪問的FB

若FB為優化程序塊,需要在"保持"一列中選擇"在 IDB 中設置",才能使用 AT 變量覆蓋,如圖 8 所示。

5552b8a2-42f3-11ed-96c9-dac502259ad0.jpg

圖8. FB 塊的優化訪問處理

3. 注意事項和規則

55dc894c-42f3-11ed-96c9-dac502259ad0.jpg注意事項:

S7-1500/1200:在 FC 中使用 AT,對于 S7-1500/1200 中的 FC,覆蓋變量和被覆蓋變量的數據長度必須相同。如果無法通過程序實現,請檢查是否可以使用片段訪問來代替 AT 結構。

534dd1b8-42f3-11ed-96c9-dac502259ad0.jpg規則:

對于變量覆蓋可適用以下通用規則:

1.在 STL、LAD、FBD 和 GRAPH 中,S7-1200 和 S7-1500 允許變量覆蓋。

2.SCL 支持在所有 CPU 系列中覆蓋。

3.可以在以下塊中覆蓋變量:

在標準訪問的代碼塊中;

在可優化訪問具有保留設置"在 IDB 中設置"的變量的代碼塊中。

4.覆蓋變量數據寬度必須小于等于被覆蓋變量的數據寬度。

5.不可以覆蓋 VARIANT 和 INSTANCE 數據類型的變量。

6.如果被覆蓋變量的數據類型為字符串、字節數組、字符數組等,那么其長度應與偶數個字節數對應。

7.無法覆蓋庫中聲明為接口中參數的塊。

8.無法覆蓋接口中聲明為參數的結構化 PLC 變量。

9.無法通過片段訪問對覆蓋變量進行尋址。

下列組合規則也適用,如下圖9所示。

56113016-42f3-11ed-96c9-dac502259ad0.jpg

圖9. FB 塊的優化訪問處理

上圖9來在TIA V17幫助文件,圖中標注的“X**”應該和“√”對調。測試驗證如下圖10 所示?!癐nput_1”為被覆蓋的變量,數據類型為基本類型;“Input_2”為覆蓋變量,數據類型為結構體;不符合幫助文件備注的例外情況。

5668420c-42f3-11ed-96c9-dac502259ad0.jpg

圖10. AT覆蓋的例外情況

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

    關注

    8

    文章

    6518

    瀏覽量

    87704
  • 程序
    +關注

    關注

    114

    文章

    3630

    瀏覽量

    79647
  • 編輯器
    +關注

    關注

    1

    文章

    790

    瀏覽量

    30369

原文標題:S7-1500 使用AT覆蓋變量

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    S7-1200如何通過附加聲明來覆蓋所聲明變量

    S7-1200/1500:在 FC 中使用 AT,對于 S7-1200/1500 中的 FC,覆蓋變量和被覆蓋變量數據長度必須相同。如果無
    發表于 07-08 10:31 ?788次閱讀

    labview與S7-1500通訊的庫文件

    本帖最后由 lbc898@126.com 于 2019-7-30 12:00 編輯 labview與S7-1500通訊的庫文件,項目中已經使用
    發表于 08-06 17:49

    杭州回收s7-1500系列西門子plc擴展模塊

    本帖最后由 龍收購西門子模塊 于 2020-5-7 13:28 編輯 杭州回收s7-1500系列西門子plc擴展模塊 回收西門子s7-1500系列plc模塊CPU模塊DO模塊,回收西門子
    發表于 09-17 13:22

    蘇州上門回收西門子S7-1500系列CPU模塊

    蘇州上門回收西門子s7-1500系列plc模塊CPU模塊DO模塊,回收西門子1500系列plc擴展模塊回收西門子模擬量輸入輸出模塊收購數字量輸入輸出模塊高價回收西門子s7-1500系列AI模塊回收
    發表于 08-10 11:25

    陽江回收西門子S7-1500模塊 上門回收

    陽江回收西門子S7-1500模塊 上門回收,回收西門子1500系列plc擴展模塊回收西門子模擬量輸入輸出模塊收購數字量輸入輸出模塊高價回收西門子s7-1500系列AI模塊回收DA模塊常年高價回收
    發表于 04-16 14:56

    S7-1500系統架構及特點

    S7-1500數據管理系統中,提供兩種不同的塊訪問機制: 優化訪問、 非優化訪問(兼容 S7-300/400),
    發表于 10-10 11:40 ?29次下載
    <b class='flag-5'>S7-1500</b>系統架構及特點

    S7-1200使用AT覆蓋變量

    S7-1200 要訪問聲明變量內的數據區域,可以通過附加聲明來覆蓋所
    的頭像 發表于 03-11 11:10 ?3436次閱讀

    關于S7-1200或S7-1500 PLC的通信

    WinCC V7.4SP1中針對S7-1200 或 S7-1500通信,可以創建狀態變量和控制變量,用來顯示和控制S7-1200 或 S7-1500 PLC的通信。
    發表于 10-09 10:05 ?1811次閱讀

    S7-1500S7-1500之間S7通信

    使用 STEP7 V14 在同一個項目中,新建兩個S7-1500站點,然后做 S7 通訊。
    的頭像 發表于 11-23 09:53 ?2161次閱讀

    S7-1500 CPU支持與其它S7-1500 CPU進行直接數據交換

    從固件版本 V2.8 開始,S7-1500 CPU 支持與其它 S7-1500 CPU 進行直接數據交換。在直接數據交換的情況下,S7-1500
    的頭像 發表于 11-29 09:53 ?3011次閱讀

    S7-1500通過片斷訪問變量區域進行尋址

    對于S7-1500/1200 PLC,可以選擇包含所聲明變量的特定地址區域,訪問寬為 1 位、8 位、16 位或 32 位的
    的頭像 發表于 12-12 10:36 ?2068次閱讀

    S7-1500和S7-1200存儲區域保持性設置

    與S7-300/400一樣,S7-1500和S7-1200都有存儲區M區,另外S-1500還有存儲區(定時器、計數器),這些區域都可以設置保持性。下面詳細介紹如何設置這些區域的保持性。
    的頭像 發表于 04-21 09:49 ?7229次閱讀

    西門子S7-1500 之間 S7 通信

    任務: S7-1500 CPU Clinet 將通訊數據區 DB1 塊中的 10 個字節的數據發送到 S7-1500 CPU server 的接收
    的頭像 發表于 05-29 14:04 ?4411次閱讀
    西門子<b class='flag-5'>S7-1500</b> 之間 S7 通信

    西門子博途:通過片斷訪問變量區域進行尋址的步驟

    可以選擇包含所聲明變量的特定地址區域??梢?b class='flag-5'>訪問寬為 1 位、8 位、16 位或 32 位的區域。
    的頭像 發表于 04-28 09:24 ?276次閱讀

    如何在STEP 7中使用符號方式按位,字節,或字訪問非結構數據類型?

    對于S7-1200 和 S7-1500,可以按1位,8位,16位和32位的長度訪問已經聲明變量。
    的頭像 發表于 04-28 09:25 ?190次閱讀
    如何在STEP 7中使用符號方式按位,字節,或字<b class='flag-5'>訪問</b>非結構<b class='flag-5'>數據</b>類型?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>