那曲檬骨新材料有限公司

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
    +關注

    關注

    1977

    文章

    3657

    瀏覽量

    325628
  • 狀態機
    +關注

    關注

    2

    文章

    492

    瀏覽量

    27647

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

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

    本課程將用項目與實踐的方法帶領大家零基礎入門LabVIEW,通過教大家用不同的方法編寫一款計算器軟件,來徹底學會和掌握LabVIEW。看完視頻,大家肯定會有收獲。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編程技巧LabVIEW編程技巧LabVIEW編程技巧
    發表于 02-23 16:59 ?151次下載

    測控工程實踐LabVIEW實踐教程

    測控工程實踐LabVIEW實踐教程說明。
    發表于 04-19 14:29 ?43次下載

    在高并發下怎么保證接口

    前言 接口性問題,對于開發人員來說,是一個跟語言無關的公共問題。本文分享了一些解決這類問題非常實用的辦法,絕大部分內容我在項目中實踐過的,給有需要的小伙伴一個參考。 不知道你有沒有
    的頭像 發表于 05-14 10:23 ?1848次閱讀
    在高并發下怎么保證<b class='flag-5'>接口</b>的<b class='flag-5'>冪</b><b class='flag-5'>等</b><b class='flag-5'>性</b>?

    什么是?關于接口的解決方案

    這里的樂觀鎖指的是用樂觀鎖的原理去實現,為數據字段增加一個version字段,當數據需要更新時,先去數據庫里獲取此時的version版本號
    發表于 10-09 10:19 ?1984次閱讀

    分析解決)的方法

    這個概念,是一個數學上的概念,即:f……(f(f(x))) = f(x)。用在計算機領域,指的是系統里的接口或方法對外的一種承諾,使用相同參數對同一資源重復調用某個接口或方法的結果
    的頭像 發表于 10-14 10:08 ?1024次閱讀

    Spring Boot實現接口的4種方案

    是一個數學與計算機學概念,在數學中某一元運算為時,其作用在任一元素兩次后會和其作用一次的結果相同。
    的頭像 發表于 11-08 10:21 ?1045次閱讀

    什么是的實現原理

    編程中一個操作的特點是其任意多次執行所產生的影響均與一次執行的影響相同。函數,或
    發表于 01-05 10:40 ?6242次閱讀

    一個注解,優雅的實現接口

    除了查詢和刪除之外,還有更新操作,同樣的更新操作在大多數場景下也是天然的,其例外是也會存在ABA的問題,更重要的是,比如執行update table set a = a + 1 where v = 1這樣的更新就非等了。
    的頭像 發表于 08-26 14:36 ?955次閱讀
    一個注解,優雅的實現<b class='flag-5'>接口</b><b class='flag-5'>冪</b><b class='flag-5'>等</b><b class='flag-5'>性</b>!

    基于接口解決方案

    接口是指無論調用接口的次數是一次還是多次,對于同一資源的操作都只會產生一次結果。換句話說,多次重復調用相同的
    的頭像 發表于 09-30 16:27 ?466次閱讀
    基于<b class='flag-5'>接口</b><b class='flag-5'>冪</b><b class='flag-5'>等</b><b class='flag-5'>性</b>解決方案
    宝马会百家乐官网现金网| 澳门美高梅金殿| 百家乐从哪而来| 百家乐官网的玩法视频| 大发888怎么刷钱| 百家乐官网专业赌| 百家乐官网开庄概率| 百家乐发牌| 澳门玩百家乐官网00| 突泉县| 太阳城宾馆| 百家乐优惠高的网址| 百家乐官网游戏下裁| 凯斯娱乐| 威尼斯人娱乐城可靠吗| 网上百家乐娱乐场| 百家乐官网博之道娱乐城| 云顶国际娱乐| LV百家乐娱乐城| 宾利百家乐游戏| 百家乐官网桌布橡胶| 方城县| 大发888真人真钱| 真人百家乐现金游戏| 百家乐官网最佳注码法| 棋牌游戏评测网| 太子百家乐的玩法技巧和规则| 2016哪个属相做生意吉利| 亚洲百家乐官网论坛| 建湖县| 棋牌小游戏下载| 缅甸百家乐赌城| 百家乐一代龙虎机| 电子百家乐官网假在线哪| 网上百家乐官网娱乐场| 豪门国际网上娱乐| 申博太阳城娱乐| 百家乐三路法| 百家乐百家乐伴侣| 利都百家乐官网国际赌场娱乐网规则 | 百家乐官网走势图|