RM新时代网站-首页

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

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

3天內(nèi)不再提示

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

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

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

一、接口冪等性簡介

1.1接口冪等定義:

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

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

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

1.2.3、按鍵防抖。

1.2.4、在生成消費者中,生產(chǎn)數(shù)量大于消費數(shù)量,且可以忽略多與生成者的情況下。

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

1.3、接口冪等的使用條件

要實現(xiàn)接口冪等最好是對命令和操作進行解耦,例如以下軟件架構(gòu):生產(chǎn)消費者,JKI,AMC,DQMH等。

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

1、控件禁用方式實現(xiàn)。

2、使用唯一ID實現(xiàn)。

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

我們直接用狀態(tài)機章節(jié)中的異步狀態(tài)機的例子改造下,利用控件禁用實現(xiàn)接口冪等操作。

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

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

2、在Run事件中添加禁用運行按鈕代碼,在洗滌結(jié)束流程中添加使能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

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

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

3.1、接口冪等的執(zhí)行流程

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

3.1.1先要創(chuàng)建一個全局的ID

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

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

3.1.4、ID相等執(zhí)行命令后將ID++

3.1.5、ID不同時忽略該命令

3.2、先設(shè)計個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傳遞的數(shù)據(jù)類型將原來的字符串改成簇,其中包含ID和命令字符串。

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

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

3.5、下邊是最后運行效果

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

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

1.LabVIEW2015中文版

審核編輯:黃飛

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

    關(guān)注

    1970

    文章

    3654

    瀏覽量

    323313
  • 狀態(tài)機
    +關(guān)注

    關(guān)注

    2

    文章

    492

    瀏覽量

    27529

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

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    高職院校數(shù)字電路設(shè)計實驗的探索實踐

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

    《開關(guān)電源設(shè)計與調(diào)試》課程建設(shè)實踐探索

    《開關(guān)電源設(shè)計與調(diào)試》課程建設(shè)實踐探索,《開關(guān)電源設(shè)計與調(diào)試》課程建設(shè)實踐探索
    發(fā)表于 06-15 23:36

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

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

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

    `內(nèi)容簡介 《LabVIEW編程樣式》是一本有關(guān)LabVIEW編程的最佳實踐指南。針對應(yīng)用程序的易用
    發(fā)表于 08-14 18:11

    離線計算中的和DataWorks中的相關(guān)事項

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

    LabVIEW編程技巧

    LabVIEW編程技巧LabVIEW編程技巧LabVIEW編程技巧
    發(fā)表于 02-23 16:59 ?151次下載

    測控工程實踐LabVIEW實踐教程

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

    在高并發(fā)下怎么保證接口?

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

    什么是?關(guān)于接口的解決方案

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

    分析解決)的方法

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

    Spring Boot實現(xiàn)接口的4種方案

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

    什么是?的實現(xiàn)原理

    編程中一個操作的特點是其任意多次執(zhí)行所產(chǎn)生的影響均與一次執(zhí)行的影響相同。函數(shù),或
    發(fā)表于 01-05 10:40 ?6119次閱讀

    一個注解,優(yōu)雅的實現(xiàn)接口!

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

    基于接口解決方案

    接口是指無論調(diào)用接口的次數(shù)是一次還是多次,對于同一資源的操作都只會產(chǎn)生一次結(jié)果。換句話說,多次重復調(diào)用相同的
    的頭像 發(fā)表于 09-30 16:27 ?428次閱讀
    基于<b class='flag-5'>接口</b><b class='flag-5'>冪</b><b class='flag-5'>等</b><b class='flag-5'>性</b>解決方案
    RM新时代网站-首页