0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

談一談對(duì)高耦合的理解

opkgjew ? 來(lái)源:PLC標(biāo)準(zhǔn)化編程 ? 2023-01-09 11:08 ? 次閱讀

沒(méi)錯(cuò),這里說(shuō)的是高耦合。

前幾天看了一篇計(jì)算機(jī)編程的文章, 題目叫做低內(nèi)聚高耦合,弄得我一度有點(diǎn)恍惚,趕緊把高內(nèi)聚低耦合的諺語(yǔ)背誦了一遍,才確信文章作者是在講解反面的內(nèi)容。

而我們做PLC行業(yè), 也有一些人奉行的高耦合的原則, 或者以高耦合為榮,而不自知。所以就有必要再舉例把這里的概念分析講解清楚。

我曾經(jīng)猶豫延遲很久之后寫(xiě)過(guò)一篇文章《【萬(wàn)泉河】論PLC編程中的高內(nèi)聚與低耦合》,主要的原因是內(nèi)聚和耦合這樣的詞匯生活中不太常見(jiàn),很多人不熟悉,會(huì)當(dāng)成行業(yè)黑話,以為是在胡亂忽悠人的。而其實(shí)那是我們搞PLC標(biāo)準(zhǔn)化編程煙臺(tái)方法的綱領(lǐng),主要的目標(biāo)。

我在兩本書(shū),已經(jīng)出版的《PLC標(biāo)準(zhǔn)化原理與方法》和剛剛完稿的《三菱PLC標(biāo)準(zhǔn)化編程煙臺(tái)方法》中,都全文引用了這篇文章,也在之后的各種場(chǎng)合,直接用高內(nèi)聚低耦合的原則指導(dǎo)設(shè)計(jì)方向。

然而,看來(lái)效果并不太好。很多人貌似對(duì)煙臺(tái)方法感興趣,但對(duì)高內(nèi)聚低耦合的理念并不理解, 也不去努力嘗試?yán)斫?,反而很多認(rèn)知都反方向的來(lái)。

比如我做了80模擬量的例子和80工位雙聯(lián)開(kāi)關(guān)的例子,大部分人看到程序很簡(jiǎn)單,會(huì)覺(jué)得很優(yōu)雅,很舒適。然而有一部分讀過(guò)之后就很不滿意。甚至殺上門(mén)來(lái)嘲笑指責(zé)我把程序搞到這么簡(jiǎn)單,小學(xué)生都能做出來(lái)的程序,也好意思吹牛逼是高科技。

我說(shuō)對(duì)啊,我們的目的就是復(fù)雜問(wèn)題簡(jiǎn)單化,最終實(shí)現(xiàn)的方法越簡(jiǎn)單越優(yōu)雅。如果一個(gè)問(wèn)題,可以用簡(jiǎn)單易懂的方法實(shí)現(xiàn),那我們絕不會(huì)為了追求表面的高科技而故意倒過(guò)來(lái)把簡(jiǎn)單問(wèn)題復(fù)雜化。

煙臺(tái)方法的學(xué)員拿到分發(fā)的實(shí)例項(xiàng)目以后,看到程序如此簡(jiǎn)潔,簡(jiǎn)單。雖然是真實(shí)的上千點(diǎn)的工程項(xiàng)目應(yīng)用,然而最終的結(jié)果如80系列例子般簡(jiǎn)單,就問(wèn), 那是不是我們把自己的設(shè)計(jì)封裝好了,將來(lái)項(xiàng)目實(shí)施讓沒(méi)有文化的小學(xué)生來(lái)承擔(dān)就可以了啊?

我說(shuō),對(duì)的呀,這應(yīng)該是每一個(gè)煙臺(tái)方法學(xué)員的最終目標(biāo)。我們現(xiàn)在在一些客戶那里已經(jīng)實(shí)現(xiàn)了整個(gè)項(xiàng)目都由工人來(lái)承擔(dān)。工程師把設(shè)計(jì)標(biāo)準(zhǔn)化之后,除非再有新的控制工藝之外, 那些已經(jīng)成熟的應(yīng)用,只需要簡(jiǎn)單交接好應(yīng)用指南,工人就可以從設(shè)計(jì)出圖編程到現(xiàn)場(chǎng)調(diào)試都自行完成了,都不需要來(lái)請(qǐng)示每個(gè)細(xì)節(jié)。PLC程序內(nèi)的模塊調(diào)用僅僅相似于電柜內(nèi)的元器件拼裝組柜, 難度也相似。

而我一直以來(lái)關(guān)注同行的技術(shù)發(fā)展?fàn)顟B(tài)的方式,就是看他們做的庫(kù)函數(shù)的耦合難度。說(shuō)實(shí)話,PLC領(lǐng)域, 高難度的題目并不算多。特別是一些底層的設(shè)備控制,都是簡(jiǎn)單到一句話就可以說(shuō)完的, 那么耦合難度的高低其實(shí)才是我看重的最重要的指標(biāo)。

比如同行們現(xiàn)在都比較關(guān)注的SMART 200中的電機(jī)閥門(mén)塊的重復(fù)使用了,包括西門(mén)子1847平臺(tái)也有這方面的函數(shù)功能塊的實(shí)現(xiàn)原理方法介紹:

a88daf2e-82d4-11ed-bfe3-dac502259ad0.png

他所設(shè)計(jì)的管腳中有一個(gè)名稱為“參數(shù)”的INOUT管腳。示例調(diào)用中分配了&VB8的指針, 實(shí)際邏輯內(nèi)部使用了VB8開(kāi)始的N個(gè)字節(jié)的數(shù)據(jù)作為數(shù)據(jù)的記憶緩存,相當(dāng)于FB塊中的靜態(tài)變量。

然而這個(gè)管腳在每一個(gè)實(shí)例的調(diào)用中,還均需要合理調(diào)度V區(qū),不可以重復(fù),否則會(huì)產(chǎn)生沖突。那么在我看來(lái)這就是高耦合。有人會(huì)居高臨下指責(zé)說(shuō),不就是分配V區(qū)嘛, 按順序分配下來(lái), 有什么難的。

是的,對(duì)懂的人來(lái)說(shuō),當(dāng)然不難。然而對(duì)不懂的人, 其余的不管是輸入輸出的通道,都是直觀可見(jiàn)的信號(hào),而多出來(lái)這個(gè)參數(shù),只為內(nèi)部邏輯所用,而使用者需要了解邏輯原理以后才會(huì)接受,而即便接受也懂的似是而非,那這就如天書(shū)一般難了。這樣的一個(gè)細(xì)節(jié)不在意,那么多個(gè)細(xì)節(jié)當(dāng)然也不會(huì)在意,但積累下來(lái),一個(gè)系統(tǒng)中到處都是這樣的難點(diǎn),逐漸的小學(xué)生就會(huì)認(rèn)為太高深,而拒絕配合你去干了。

不懂, 不會(huì),干不了,要干你工程師自己去干!你不哄好他們,讓他們覺(jué)得有難度,他們跟你玩賴躺平的本事還是有的。

另外,即便自己親自來(lái)做耦合階段的工作, 這種需要調(diào)度資源空間的工作量也毫無(wú)意義。所以,如果你對(duì)耦合的重要性有建立那么一點(diǎn)點(diǎn)理解的話,就會(huì)逐漸傾向于優(yōu)化設(shè)計(jì),盡量減少耦合難度。

當(dāng)然,1847課程的重點(diǎn)還是在實(shí)現(xiàn)功能塊重復(fù)的功能,所以不可以輕易指責(zé)他們的做法錯(cuò)了。而從功能模塊化的角度,也需要另外單獨(dú)的課程來(lái)講解如何降低耦合難度。所以,我們完全可以在他們做好的原有的庫(kù)函數(shù)基礎(chǔ)上,再做一次封裝,實(shí)現(xiàn)我們低耦合的需求。

比如我們可以把課程中已經(jīng)做好的VALVE更名為VALVE_0, 而復(fù)制一個(gè)備份,仍然叫VALVE,其“參數(shù)”部分的管腳改為TEMP變量,利用我們前面曾經(jīng)著文多次提過(guò)的GETSID函數(shù),得到SID,并折算到參數(shù)值。邏輯如下:

a8a9ec52-82d4-11ed-bfe3-dac502259ad0.png

而最終實(shí)際的調(diào)用則變成了:

a8bf137a-82d4-11ed-bfe3-dac502259ad0.png

雖然看起來(lái)僅僅是簡(jiǎn)化掉了一個(gè)管腳,然而這個(gè)時(shí)候可以非常簡(jiǎn)單地教會(huì)工人使用這個(gè)模塊而毫無(wú)障礙了:只需要按照點(diǎn)表把地址正確填入即可。這樣的話, 再笨的小學(xué)生也不會(huì)拒絕配合了。

這個(gè)程序例子的名字叫做“高耦合變低耦合”,我會(huì)放在80例程的分享群中,需要者自行獲取,或者跟我私信索要。然而其中VALVE_0和GETSID塊只有接口, 邏輯功能需要自行補(bǔ)足。其中VALVE的功能從1847課堂獲取,而GETSID的實(shí)現(xiàn),大家現(xiàn)在可以理解我提及多次的GETSID的需求了吧?

而我在反復(fù)講解GETSID應(yīng)用的時(shí)候,就有大蝦不理解,質(zhì)問(wèn)分明在循環(huán)調(diào)用時(shí)做個(gè)增量計(jì)算就可以實(shí)現(xiàn)SID的自動(dòng)分配,為啥還要專門(mén)做一個(gè)SID的函數(shù)。我就知道,有很多人,雖然自詡編程水平很高,但高內(nèi)聚低耦合的思想仍然是沒(méi)有的。換我是小學(xué)生,我一定跟你擺爛躺平。循環(huán)計(jì)算這樣的高級(jí)工才能干的活, 俺們小學(xué)生學(xué)不會(huì)?,F(xiàn)場(chǎng)擰螺絲接線是我的工作,但你工程師也得陪著我來(lái)工地上靠著,少不了你。





審核編輯:劉清

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

    關(guān)注

    5031

    文章

    13781

    瀏覽量

    472468
  • SMART
    +關(guān)注

    關(guān)注

    3

    文章

    229

    瀏覽量

    45297
  • SID
    SID
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    3150

原文標(biāo)題:1223 【萬(wàn)泉河】談一談高耦合

文章出處:【微信號(hào):PLC標(biāo)準(zhǔn)化編程,微信公眾號(hào):PLC標(biāo)準(zhǔn)化編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    耦合器的噪音控制技術(shù) 耦合器性能測(cè)試標(biāo)準(zhǔn)與方法

    耦合器的噪音控制技術(shù) 耦合器在傳輸信號(hào)時(shí),可能會(huì)引入噪音,影響信號(hào)的質(zhì)量和系統(tǒng)的可靠性。因此,耦合器的噪音控制技術(shù)是提高系統(tǒng)性能的關(guān)鍵。以下是些常見(jiàn)的噪音控制技術(shù): 材料選擇 :使用
    的頭像 發(fā)表于 12-10 15:24 ?825次閱讀

    不同類型耦合器的優(yōu)缺點(diǎn) 耦合器與聯(lián)軸器的區(qū)別

    耦合器和聯(lián)軸器都是用于連接兩個(gè)旋轉(zhuǎn)軸的機(jī)械裝置,但它們?cè)谠O(shè)計(jì)、功能和應(yīng)用上有所不同。以下是關(guān)于不同類型耦合器的優(yōu)缺點(diǎn)、耦合器與聯(lián)軸器的區(qū)別的介紹: 不同類型耦合器的優(yōu)缺點(diǎn) 1. 剛性
    的頭像 發(fā)表于 12-10 15:20 ?1827次閱讀

    談?wù)凣PU的使用壽命

    上文結(jié)合論文談一談,三年壽命的GPU [上]說(shuō)到,電路腐蝕導(dǎo)致橡樹(shù)嶺實(shí)驗(yàn)室的GPU壽命只有3年,更換了11,000塊GPU。
    的頭像 發(fā)表于 11-01 10:27 ?771次閱讀
    談?wù)凣PU的使用壽命

    以太網(wǎng)RDMA RoCE的技術(shù)局限

    上期我們講到了RDMA的WHY,WHAT & HOW(AI網(wǎng)絡(luò)背景下RDMA的Why,What & How),這期我們來(lái)談一談RDMA的不足。
    的頭像 發(fā)表于 10-22 10:02 ?1195次閱讀
    以太網(wǎng)RDMA RoCE的技術(shù)局限

    什么是耦合器?

    耦合器是種重要的射頻(RF)和微波元件,廣泛應(yīng)用于信號(hào)傳輸、分配和監(jiān)測(cè)等領(lǐng)域。它的主要功能是將信號(hào)從個(gè)傳輸線耦合到另個(gè)傳輸線,同時(shí)保持
    的頭像 發(fā)表于 10-05 13:36 ?8701次閱讀

    耦合器的簡(jiǎn)短揭秘

    2024年5月22日 |Andrew Chen 今天我們將介紹什么是光耦合器,將其名稱分解為易于理解的內(nèi)容,并提供些非常適合光耦合器應(yīng)用的項(xiàng)目示例。讓我們直接深入吧! 光
    的頭像 發(fā)表于 10-02 16:31 ?657次閱讀
    光<b class='flag-5'>耦合</b>器的簡(jiǎn)短揭秘

    理解輸出電流和溫度下工作的SOA曲線

    電子發(fā)燒友網(wǎng)站提供《理解輸出電流和溫度下工作的SOA曲線.pdf》資料免費(fèi)下載
    發(fā)表于 08-26 14:23 ?0次下載
    <b class='flag-5'>理解</b>在<b class='flag-5'>高</b>輸出電流和溫度下工作的SOA曲線

    電路的耦合方式怎么判斷正負(fù)

    在電子電路設(shè)計(jì)中,耦合方式的選擇對(duì)于電路的性能和穩(wěn)定性具有重要影響。耦合方式主要分為直流耦合和交流耦合兩種,而每種耦合方式又有不同的實(shí)現(xiàn)方法
    的頭像 發(fā)表于 08-09 15:25 ?1461次閱讀

    直接耦合和阻容耦合的區(qū)別和聯(lián)系是什么

    直接耦合和阻容耦合是電子電路中兩種常見(jiàn)的耦合方式,它們?cè)陔娐吩O(shè)計(jì)中有著廣泛的應(yīng)用。 直接耦合 直接耦合
    的頭像 發(fā)表于 08-09 15:21 ?3293次閱讀

    直流耦合與交流耦合的區(qū)別和用途

    直流耦合與交流耦合是電子電路設(shè)計(jì)中兩種常見(jiàn)的耦合方式,它們?cè)谛盘?hào)傳輸、放大、濾波等方面有著廣泛的應(yīng)用。 、直流耦合與交流
    的頭像 發(fā)表于 08-09 15:07 ?6940次閱讀

    ac耦合和dc耦合波形的區(qū)別是什么

    )是種信號(hào)耦合方式,它只允許交流信號(hào)通過(guò),而阻止直流分量的傳遞。在AC耦合中,信號(hào)的直流分量被去除,只保留了交流分量。這種耦合方式常用于音頻信號(hào)處理、數(shù)據(jù)采集和通信等領(lǐng)域。 2.2
    的頭像 發(fā)表于 08-09 15:05 ?5227次閱讀

    示波器ac耦合和dc耦合的區(qū)別

    示波器是電子測(cè)量領(lǐng)域中常用的種儀器,用于觀察和測(cè)量電信號(hào)的波形。在示波器的使用過(guò)程中,AC耦合和DC耦合是兩種常見(jiàn)的耦合方式。 AC耦合
    的頭像 發(fā)表于 08-09 14:57 ?7013次閱讀

    耦合電容大小對(duì)聲音的影響

    耦合電容是電子電路中常見(jiàn)的種電容,主要用于連接兩個(gè)電路,實(shí)現(xiàn)信號(hào)的傳遞和隔離。在音頻電路中,耦合電容對(duì)聲音的影響尤為重要。 、耦合電容的
    的頭像 發(fā)表于 08-07 10:16 ?4463次閱讀

    談一談FPGA設(shè)計(jì)中的功率計(jì)算

    計(jì)算器。 有個(gè)完整的系統(tǒng)級(jí)理解和精確的功率模型將能使設(shè)計(jì)師作出必要的決擇,從而完成設(shè)計(jì)。然后,設(shè)計(jì)者可以集中精力于降低功耗,其中包括以下幾個(gè)方面: 降低設(shè)備的工作電壓 優(yōu)化時(shí)鐘頻率 減少設(shè)計(jì)中長(zhǎng)的布線
    發(fā)表于 07-31 22:37

    了解光耦合器從基礎(chǔ)到應(yīng)用

    耦合器也稱為光電耦合器,是種利用光信號(hào)傳遞電信號(hào)的電子元器件。它廣泛應(yīng)用于各種電子設(shè)備和電路中,因其在隔離電氣信號(hào)、提高抗干擾能力方面的獨(dú)特優(yōu)勢(shì),備受工程師們的青睞。本文將為光耦愛(ài)好者和高級(jí)工程師提供
    的頭像 發(fā)表于 07-26 11:38 ?569次閱讀

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品