亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

3天內不再提示

DDT變量鏈接到定位變量方法

藍牙 ? 來源:工控論壇 ? 作者: 董偉 ? 2021-08-10 09:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、概述

工業(yè)控制系統(tǒng)使用中,上位機組態(tài)軟件、HMI觸摸屏等顯示設備與控制設備PLC按指定通訊協(xié)議進行數(shù)據(jù)交換是最為基本的功能了,以施耐德Modbus TCP協(xié)議為例,只要提供了支持此協(xié)議的PLC中變量的Modbus寄存器地址和數(shù)據(jù)類型,不管此PLC是哪個廠家的,都能實現(xiàn)HMI與PLC之間的數(shù)據(jù)交換。

二、問題的引出

目前PLC編程的主流思路不再是使用基于絕對地址的定位變量了,而是使用變量名+數(shù)據(jù)類型的非定位變量方式。以施耐德M580為例,其X80的I/O模塊的通道值都是用Device DDT非定位變量表示的,并且不能直接指定%M、%MW等地址與其對應上。

這種表示方式對于OPC DA/UA及施耐德自己的HMI觸摸屏來說沒有什么問題,可以直接對應上,但是對于支持標準Modbus TCP協(xié)議的其它廠家觸摸屏和上位機組態(tài)軟件來說就不方便了,因為需要變量對應上標準Modbus寄存器地址才行。

三、解決辦法

孔乙己說過,回字有四種寫法。同樣的,解決上述問題也有多種方法可以實現(xiàn)。思路是將M580里面的DDT地址對應到%M及%MW寄存器中,從而能和HMI進行MODBUS TCP通訊,

3.1復制 Device DDT變量類型直接鏈接絕對地址

此種方法的思路是新建一個結構體變量,類型輸入與X80 I/O模塊數(shù)據(jù)類型一致如T_U_DIS_STD_IN_32,然后編寫程序鏈接上絕對地址如%MW10,詳見下圖:

d75927e0-f86d-11eb-9bcf-12bb97331649.png

3.2 ST編程FOR循環(huán)鏈接絕對地址

第一種方法比較費地址數(shù)量,適用于I/O模塊不多,地址富余的工程項目。

如果I/O模塊過多,可以嘗試利用FOR循環(huán)編程批量鏈接地址的方式,如下圖:每一個I/O模塊使用一個FOR循環(huán)指令,將通道值(.VALUE)鏈接到%M或者%MW寄存器地址。

這種方式的優(yōu)勢在于省寄存器地址,不像方法1,不管開關量還是模擬量,都必須關聯(lián)%MW寄存器地址,而且不需要的狀態(tài)等DDT變量也必須鏈接%MW寄存器地址。不過,ST編程FOR循環(huán)鏈接絕對地址有一個缺點,就是因為DDT變量名稱太過接近并且I/O模塊通道數(shù)不一樣,修改的時候容易眼花誤操作。

3.3編寫自定義DFB功能塊鏈接絕對地址

舉例32通道點X80的DI模塊,DDT中變量眾多,我們只需要轉換32個通道數(shù)值即可;

新建DFB塊DI_EXCHANGE,輸入管腳DI_INT,數(shù)據(jù)類型T_U_DIS_STD_IN_32(調用DFB時,輸入就可只填寫MOD_DIS_32_2),輸出管腳DO_OUT,數(shù)據(jù)類型ARRAY[0..31] OF EBOOL;

編寫邏輯程序,采用ST編程方式,把輸入點的值一個一個賦值到輸出,鏈接到%M寄存器,然后在MAST里面程序段中調用DI_EXCHANG即可,實現(xiàn)32點的DI模塊的通道值批量鏈接到了%M中。

同樣的,32點DO模塊的處理方法是類似的,新建X80_DDO_32,定義輸入IN1,數(shù)據(jù)類型T_U_DIS_STD_OUT_32,輸出OUT1,OUT2,數(shù)據(jù)類型INT,編寫ST程序鏈接上%M寄存器,在MAST里面調用新建的功能塊X80_DDO_32即可。

這些DFB功能塊做好后直接右鍵導出的功能塊類型XDB格式,可以再導入到其它程序段中直接調用即可,移植方便,無須再次制作此DFB塊。

四 小結

針對M580的X80 I/O模塊的通道值都是用Device DDT非定位變量表示,并且不能直接指定%M、%MW等地址與其對應上,但是觸摸屏和上位機組態(tài)軟件來說需要變量對應上標準Modbus寄存器地址的問題,提出了3種解決方法。這3種方法特點明確,各有優(yōu)劣。

復制 Device DDT變量類型直接鏈接絕對地址法簡單明晰,適合剛入施耐德編程大門的初級工程師;ST編程FOR循環(huán)鏈接絕對地址法和編寫自定義DFB功能塊鏈接絕對地址法對工程師編程水平要求稍高,通用性更強,適合對施耐德Unity軟件編程操作有一定了解的工程師使用。

不管白貓還是黑貓,能夠抓住老鼠的貓就是好貓,同樣,不管使用何種方法操作,能耐解決實際問題就是工程師能力的體現(xiàn),解決上述問題的方法也不止這三種,更多的可能性等待你去探索實踐。

編輯:jq

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

    關注

    5040

    文章

    14321

    瀏覽量

    482337
  • DFB
    DFB
    +關注

    關注

    1

    文章

    33

    瀏覽量

    10218
  • OPC
    OPC
    +關注

    關注

    7

    文章

    365

    瀏覽量

    48382
  • HMI
    HMI
    +關注

    關注

    9

    文章

    679

    瀏覽量

    51298

原文標題:施耐德M580系列的X80 I/O模塊通道值非定位Device DDT變量鏈接到定位變量方法

文章出處:【微信號:TalkBT,微信公眾號:藍牙】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    影響同步帶模組成本的五大核心變量分析

    影響同步帶模組成本的五大核心變量
    的頭像 發(fā)表于 10-15 17:52 ?339次閱讀
    影響同步帶模組成本的五大核心<b class='flag-5'>變量</b>分析

    rt-studio支持仿真的時候變量實時刷新嗎?

    rt-studio支持仿真的時候變量實時刷新么?像keil那樣。目前看到的好像不能實時刷新變量,只有下斷點了變量才會刷新出來。
    發(fā)表于 09-28 09:44

    PLC中Static和Temp變量的區(qū)別

    大家好,收到粉絲投稿,讓博主講下Static變量和Temp變量的區(qū)別,新入行的兄弟可能會對這兩個概念不太能理解。
    的頭像 發(fā)表于 09-24 14:51 ?615次閱讀
    PLC中Static和Temp<b class='flag-5'>變量</b>的區(qū)別

    邊聊安全 | 以L3級自動駕駛為例,詳解DDTDDT Fallback、MRC、MRM概念

    以L3級自動駕駛為例,詳解DDT、DDTFallback、MRC、MRM概念寫在前面:在自動駕駛技術迅猛發(fā)展的今天,動態(tài)駕駛任務(DDT)及其后備(DDTfallback)成為理解自動駕駛系統(tǒng)運作
    的頭像 發(fā)表于 09-05 16:20 ?2337次閱讀
    邊聊安全 | 以L3級自動駕駛為例,詳解<b class='flag-5'>DDT</b>、<b class='flag-5'>DDT</b> Fallback、MRC、MRM概念

    如何使用CYW20819和ModusToolbox?在閃存中的固定位定位變量?

    我正在使用 CYW20819 和ModusToolbox?并嘗試在閃存中的固定位定位變量。 我該怎么做? 我想我需要在鏈接器文件中定義一個部分,然后使用 CY_SECTION 命
    發(fā)表于 07-02 06:57

    飛凌嵌入式ElfBoard ELF 1板卡-uboot編譯鏈接文件uboot.lds

    。uboot.lds中規(guī)定了整個uboot的程序入口點(此入口點可以在Makefile文件中進行了更改,將入口地址定位到了內存中0X87800000位置),鏈接器以這個入口點為基點,將各個.o文件中代碼段.text
    發(fā)表于 05-22 11:20

    基于 IAR Embedded Workbench 的自研 MCU 芯片軟件函數(shù)與變量內存布局優(yōu)化精控方法

    的函數(shù)和變量指定section放置方法與操作流程,兼具過程記錄與詳細說明,旨在打造一份實用的參考指南,助力開發(fā)者精準掌控程序的內存分布與執(zhí)行邏輯。文檔涵蓋從默認section表的介紹,到多種放置手段的闡釋,以及實際配置示例的展示,為后續(xù)的開發(fā)工作奠定堅實基礎。
    的頭像 發(fā)表于 04-30 16:38 ?509次閱讀
    基于 IAR Embedded Workbench 的自研 MCU 芯片軟件函數(shù)與<b class='flag-5'>變量</b>內存布局優(yōu)化精控<b class='flag-5'>方法</b>

    Ansible Playbook中的變量使用技巧

    在inventory中定義的連接變量(比如ansible_ssh_user);優(yōu)先級第二。
    的頭像 發(fā)表于 04-15 10:26 ?598次閱讀

    在starvision2上移植FreeRTOS,objdump后發(fā)現(xiàn)static變量的地址是0,怎么解決?

    鏈接腳本還是什么的問題。objdump后發(fā)現(xiàn)static變量的地址是0。 沒太搞懂是為什么。下面是我的鏈接腳本 OUTPUT_ARCH("riscv"
    發(fā)表于 03-10 07:21

    HarmonyOS NEXT 原生應用/元服務-ArkTS代碼調試檢查變量

    當應用停止在某個斷點處時,您可以在\"Debugger\"窗中查看當前的變量信息。當您在\"Frame\"窗格中擇某個幀之后,您可以在\"
    發(fā)表于 03-05 14:28

    EE-88:使用21xx編譯器在C中初始化變量

    電子發(fā)燒友網(wǎng)站提供《EE-88:使用21xx編譯器在C中初始化變量.pdf》資料免費下載
    發(fā)表于 01-13 15:54 ?0次下載
    EE-88:使用21xx編譯器在C中初始化<b class='flag-5'>變量</b>

    振弦式應變計測出來的應變量有什么用

    ?在工程監(jiān)測與科學研究等諸多領域中,振弦式應變計扮演著十分重要的角色,它所測出來的應變量更是蘊含著關鍵的信息,有著廣泛且重要的作用。以下就讓我們深入探討一下其具體用處。一、在土木工程領域的應用橋梁
    的頭像 發(fā)表于 12-10 15:35 ?786次閱讀
    振弦式應變計測出來的應<b class='flag-5'>變量</b>有什么用

    圖紙模板中的文本變量

    “ ?文本變量和系統(tǒng)自帶的內置變量,可以幫助工程師靈活、高效地配置標題欄中的信息,而不用擔心模板中的文字對象被意外修改。 ? ” 文本變量的語法 文本變量以?${VARIABLENAM
    的頭像 發(fā)表于 11-13 18:21 ?1022次閱讀
    圖紙模板中的文本<b class='flag-5'>變量</b>

    如何在文本字段中使用上標、下標及變量

    在KiCad的任何文本字段中,都可以通過以下的方式實現(xiàn)上標、下標、上劃線以及顯示變量及字段值的描述: 文本變量“文本變量”可以在 原理圖設置->工程->文本變量 中設置。下圖中設置了一
    的頭像 發(fā)表于 11-12 12:23 ?966次閱讀
    如何在文本字段中使用上標、下標及<b class='flag-5'>變量</b>

    變量機器人宣布完成Pre-A與Pre-A+輪融資

    近日,具身智能創(chuàng)業(yè)公司自變量機器人(X Square)宣布連續(xù)完成Pre-A與Pre-A+輪融資,總融資額達到億元級別。這一消息標志著自變量機器人在具身智能領域的發(fā)展邁出了堅實的一步。 本輪融資由德
    的頭像 發(fā)表于 11-06 11:20 ?1485次閱讀