<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天內不再提示

探索LabVIEW編程接口冪等性原理與實踐

jf_NKOETB7n ? 來源:LabVIEW的編程之道 ? 2024-02-29 10:24 ? 次閱讀

里講一個很高大上的概念,但是也是一個很簡單,使用非常頻繁的功能:接口冪等,然后講兩個實現方式。

一、接口冪等性簡介

1.1接口冪等定義:

冪等性原來是數學上的概念,在編程領域可以理解為:多次請求某一個資源或執行某一個操作時應該具有唯一性同樣等結果,也就是說,其任意多次執行對資源本身所產生等影響的結果或函數執行的結果,都與第一次執行的結果相同。

1.2在LabVIEW里的主要解決的問題:
1.2.1、在結果沒有完成時的重復點擊。

1.2.2、無意間的雙擊導致重復發送命令。

1.2.3、按鍵防抖。

1.2.4、在生成消費者中,生產數量大于消費數量,且可以忽略多與生成者的情況下。

1.2.5、在操作者架構Actor Framework使用其功能可以避免消息隊列堆積。

1.3、接口冪等的使用條件

要實現接口冪等最好是對命令和操作進行解耦,例如以下軟件架構:生產消費者,JKI,AMC,DQMH等。

1.4、這里提供兩種解決方法

1、控件禁用方式實現。

2、使用唯一ID實現。

二、接口冪等的解決辦法1-控件禁用

我們直接用狀態機章節中的異步狀態機的例子改造下,利用控件禁用實現接口冪等操作。

1、我們要實現的功能就是點擊運行后禁用運行按鈕,當運行結束或點擊復位時使能運行按鈕,如下圖所示。

f17a673c-d6a1-11ee-a297-92fbcf53809c.png

2、在Run事件中添加禁用運行按鈕代碼,在洗滌結束流程中添加使能Run代碼。

f1918fa2-d6a1-11ee-a297-92fbcf53809c.png

3、在停止和復位事件中天健Run使能代碼

f1aa8f5c-d6a1-11ee-a297-92fbcf53809c.png

f1b16764-d6a1-11ee-a297-92fbcf53809c.png

4、下邊時運行效果

f1b505f4-d6a1-11ee-a297-92fbcf53809c.gif

可以看到在設備運行時禁用了運行控件,當運行結束后可以再次點擊運行。

三、接口冪等的解決辦法2-唯一ID

3.1、接口冪等的執行流程

f1f6ee24-d6a1-11ee-a297-92fbcf53809c.png

3.1.1先要創建一個全局的ID

3.1.2、發送命令時讀取全局ID并和命定打包

3.1.3、執行單元接收到打包的命令后與將打包的ID和全局ID進行比較

3.1.4、ID相等執行命令后將ID++

3.1.5、ID不同時忽略該命令

3.2、先設計個FGV來保存和ID便于操作

Set

f206ade6-d6a1-11ee-a297-92fbcf53809c.png

Get

f2240b98-d6a1-11ee-a297-92fbcf53809c.png

Unlokc

f23193d0-d6a1-11ee-a297-92fbcf53809c.png

3.3、修改JKI傳遞的數據類型將原來的字符串改成簇,其中包含ID和命令字符串。

3.4、在處理事件時增加冪等處理,如果ID不等則忽略命令,將退出命令提升到最高優先級

f23f4534-d6a1-11ee-a297-92fbcf53809c.png

3.5、下邊是最后運行效果

f253ea0c-d6a1-11ee-a297-92fbcf53809c.gif

四、需要安裝的軟件或工具包

1.LabVIEW2015中文版

審核編輯:黃飛

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

    關注

    1928

    文章

    3620

    瀏覽量

    318042
  • 狀態機
    +關注

    關注

    2

    文章

    486

    瀏覽量

    27244

原文標題:LabVIEW的編程之道-接口冪等

文章出處:【微信號:LabVIEW的編程之道,微信公眾號:LabVIEW的編程之道】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【大語言模型:原理與工程實踐探索《大語言模型原理與工程實踐》2.0

    《大語言模型“原理與工程實踐”》是關于大語言模型內在機理和應用實踐的一次深入探索。作者不僅深入討論了理論,還提供了豐富的實踐案例,幫助讀者理解如何將理論知識應用于解決實際問題。書中的案
    發表于 05-07 10:30

    LabVIEW 助力優化軟件開發實踐和源代碼控制

    軟件的可擴展性和可維護的工程開發實踐。正確實施的軟件工程可以提高應用程序的全局質量(提高開發者的工作效率并且降低維護成本。在這篇文章中(可以學習到如何使用LabVIEW內建專用的特性和工具來完成最佳
    發表于 09-13 09:30

    高職院校數字電路設計實驗的探索實踐

    的有效途徑,具有綜合、創新探索性[[4]。數字電路設計實驗是學生根據教師給定的實驗任務和實驗條件,自行查閱文獻、設計方案、電路安裝
    發表于 10-25 11:59

    高職院校數字電路設計實驗的探索實踐

    深人到綜合、設計實驗,從利用實驗來加深對已學理論知識的理解,深人到將實驗作為學生學習新知識、新技術、新器件,培養學生實踐能力、創新能力的重要目的仁‘〕?! ?高職院校實驗教學存在的問題  數字電路
    發表于 10-28 14:58

    《開關電源設計與調試》課程建設實踐探索

    《開關電源設計與調試》課程建設實踐探索,《開關電源設計與調試》課程建設實踐探索
    發表于 06-15 23:36

    基于實踐LabVIEW零基礎入門視頻教程---03 LabVIEW編程小技巧

    本課程將用項目與實踐的方法帶領大家零基礎入門LabVIEW,通過教大家用不同的方法編寫一款計算器軟件,來徹底學會和掌握LabVIEW??赐暌曨l,大家肯定會有收獲。03 LabVIEW
    發表于 01-16 22:01

    【下載】《LabVIEW編程樣式》——有關LabVIEW編程的最佳實踐指南

    `內容簡介 《LabVIEW編程樣式》是一本有關LabVIEW編程的最佳實踐指南。針對應用程序的易用
    發表于 08-14 18:11

    離線計算中的和DataWorks中的相關事項

    考慮到,導致對應的單據有兩條確認記錄。點此查看原文:http://click.aliyun.com/m/42758/概念這個詞在軟
    發表于 02-27 13:24

    LabVIEW 編程指南

    LabVIEW 編程
    發表于 07-01 10:32 ?315次下載

    LabVIEW與C接口設計

    LabVIEW與C接口設計 介紹一種LabVIEW與C接口的設計方法。利用此接口方法,可以根據實際應用的要求,擴展
    發表于 10-16 09:30 ?3628次閱讀
    <b class='flag-5'>LabVIEW</b>與C<b class='flag-5'>接口</b>設計

    Labview編程舉例

    簡單易懂的labview編程實例 適合Labview的新手教程
    發表于 12-22 14:38 ?0次下載

    LabVIEW編程技巧

    LabVIEW編程技巧LabVIEW編程技巧LabVIEW編程技巧
    發表于 02-23 16:59 ?143次下載

    LabVIEW編程的實用技巧系列(2)

    LabVIEW編程的實用技巧系列第二講視頻教程
    的頭像 發表于 06-26 00:46 ?2200次閱讀
    <b class='flag-5'>LabVIEW</b><b class='flag-5'>編程</b>的實用技巧系列(2)

    LabVIEW編程的實用技巧系列(5)

    LabVIEW編程的實用技巧系列第五講視頻教程
    的頭像 發表于 06-25 12:11 ?2023次閱讀
    <b class='flag-5'>LabVIEW</b><b class='flag-5'>編程</b>的實用技巧系列(5)

    測控工程實踐LabVIEW實踐教程

    測控工程實踐LabVIEW實踐教程說明。
    發表于 04-19 14:29 ?42次下載
    亚洲欧美日韩精品久久_久久精品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>