色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

淺談控制反轉(zhuǎn)和依賴注入

454398 ? 來(lái)源:博客園 ? 作者:田園里的蟋蟀 ? 2020-10-29 11:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

控制反轉(zhuǎn)(Inversion of Control)是解決程序耦合問(wèn)題的一種方案,還有種叫法是依賴注入(Dependency Injection),但我感覺(jué)Ioc(控制反轉(zhuǎn))是一種思想,DI(依賴注入)是實(shí)現(xiàn)這種思想的一種方式,或者說(shuō)Ioc是一種概念,DI是這種概念的思想,不知道我這樣理解的對(duì)不對(duì)。可能一開(kāi)始接觸這些東西有點(diǎn)莫名其妙,園友們寫(xiě)的一些東西也看得頭疼,至少我當(dāng)時(shí)是這樣,如果你是像我一樣的菜鳥(niǎo),請(qǐng)跟我一起學(xué)習(xí)下,不看代碼,我們先看一個(gè)生活中的例子-壓水井和自來(lái)水廠的故事。

小時(shí)候在農(nóng)村喝水都是自家打井或是用電水泵取水,想什么時(shí)候喝就什么時(shí)候喝,想喝多少就喝多少,很方便,而且不用花錢(qián)。但是有個(gè)問(wèn)題是,家里面的房子要裝修或是重建,原來(lái)打的井已經(jīng)不適合新建的房子了,也就是說(shuō)需要重新打井,這就很麻煩,建多少次房子,需要打多少次的井(當(dāng)然土豪才這樣)。

我們先看這個(gè)小示例,其實(shí)如果抽象一點(diǎn)的話,有點(diǎn)類(lèi)似工廠模式,為什么?我們分析下:上面例子中的水可以看成一個(gè)產(chǎn)品,每家的井或是電水泵可以看成一個(gè)工廠,自己根據(jù)自家的情況來(lái)“生產(chǎn)”出來(lái)水,只有一家有井或是電水泵還好(其他家去他家取水,但不現(xiàn)實(shí)),如果每家都有一個(gè)井或是電水泵,就有點(diǎn)工廠泛濫的情況發(fā)生了,可能會(huì)出現(xiàn):

水污染:每家都吃不上水,這里面的水出現(xiàn)問(wèn)題就是產(chǎn)品出現(xiàn)問(wèn)題,這樣我們就需要在每個(gè)工廠里面進(jìn)行處理,就比如需要在每家的井或電水泵上安裝一個(gè)凈水器,顯然代價(jià)比較大,也不太現(xiàn)實(shí)。

整體搬遷:原來(lái)的井或電水泵用不了了,每家的井或電水泵就需要重新搞,可能不太現(xiàn)實(shí),當(dāng)然只是做個(gè)假設(shè),細(xì)想一下,這個(gè)問(wèn)題的根源其實(shí)就是井或電水泵太多了,也就是工廠泛濫。

上面所說(shuō)的問(wèn)題為什么會(huì)出現(xiàn)?其實(shí)就是依賴關(guān)系作祟,每一家都要依賴自家的井或電水泵,也沒(méi)辦法,畢竟人要喝水,總不能跑到地下暗河去喝吧,只能通過(guò)井或電水泵(工廠)來(lái)取水(調(diào)用),這個(gè)問(wèn)題在編程中就是依賴倒置原則的反例,何為依賴倒置原則

高層次的模塊不應(yīng)該依賴于低層次的模塊,他們都應(yīng)該依賴于抽象。

抽象不應(yīng)該依賴于具體,具體應(yīng)該依賴于抽象。

第一點(diǎn):高層次模塊(使用者)就是每戶人家,低層次模塊(被使用者)就是壓水井或電水泵,可以看出他們都是依賴于具體的對(duì)象,而并非依賴于抽象;第二點(diǎn):水(抽象)依賴壓水井或電水泵(具體),人(具體)依賴壓水井(具體),而并非具體依賴于抽象??梢钥闯鲞@兩點(diǎn)完全不設(shè)和依賴倒置原則,怎么解決問(wèn)題呢?請(qǐng)看下面。

自來(lái)水廠

上面的示例中其實(shí)有個(gè)三個(gè)對(duì)象:每戶人家、壓水井或電水泵、水,就是在探討他們?nèi)齻€(gè)這之間的依賴關(guān)系,明確這一點(diǎn)很重要。

隨著時(shí)代的發(fā)展,壓水井和電水泵慢慢消失在我們的視野中(當(dāng)然現(xiàn)在還有很多落后的地方在用,比如像我老家),政府就在每個(gè)村莊或是幾個(gè)村莊之間建設(shè)自來(lái)水廠,為什么政府要建設(shè)自來(lái)水廠?難道他們都是搞編程的?知道工廠泛濫的壞處?哈哈,我覺(jué)得應(yīng)該是多收點(diǎn)錢(qián)吧,你覺(jué)得呢?開(kāi)個(gè)玩笑。

不管政府目的如何,但好像解決了工廠泛濫的一些問(wèn)題,我們?cè)賮?lái)分析下有了自來(lái)水廠會(huì)有什么不同,我們畫(huà)個(gè)示意圖看下:

畫(huà)的比較丑(莫笑),但是簡(jiǎn)單的意思還是可以表達(dá)的,圖中的人和水都是抽象的,地下水和水庫(kù)依賴于于抽象的水,A村的人和B村的人依賴于抽象的人,人和水怎么關(guān)系呢?這個(gè)就有自來(lái)水廠決定了,它讓你喝地下水,你就不能喝水庫(kù)的水。這就基本符合依賴倒置原則:抽象不依賴于具體,具體依賴于抽象

這中間關(guān)鍵在于自來(lái)水廠,沒(méi)了壓水井,有了自來(lái)水廠,我們看看上面壓水井的“工廠泛濫”問(wèn)題能不能解決?

水污染:比如地下水出現(xiàn)問(wèn)題,因?yàn)樽詠?lái)水廠不依賴地下水,而是依賴于抽象的水,地下水有問(wèn)題,那我用水庫(kù)的水,水庫(kù)的水如果有問(wèn)題,那我們用雨水凈化。。。我們?nèi)撕鹊降牟还苁裁此??反正都是水,不影響我們喝水就行了?/p>

整體搬遷:比如A村的人因?yàn)槟承┰?,要搬到B村,如果是上面壓水井的模式,幫過(guò)去就需要重新打井了,但是有了自來(lái)水廠,我只需要接個(gè)管線,按個(gè)水龍頭就行了,就這么簡(jiǎn)單。

從上面的分析來(lái)看,建設(shè)自來(lái)水廠確實(shí)比壓水井可靠多了,回到我們這篇要講的正題-控制反轉(zhuǎn)(Ioc),你可能也有些明白了,其實(shí)自來(lái)水廠就可以看做是Ioc,用什么樣的水?給什么樣的人?都是自來(lái)水廠決定,好處就不用多說(shuō)了,上面已經(jīng)講明,套用到編程里面是相同的道理,只可意會(huì)哦。

說(shuō)到這里,你不禁有些驚訝,難道政府里面有系統(tǒng)架構(gòu)師?哈哈笑過(guò)。

上面的示例,下面我們?cè)賮?lái)用代碼復(fù)述一下,畢竟理論要結(jié)合實(shí)踐。

壓水井的問(wèn)題-依賴

壓水井模式有三個(gè)對(duì)象:人、壓水井、水,我們就用常規(guī)的方式簡(jiǎn)單寫(xiě)下代碼:

 1         /// 
 2         /// 村民
 3         /// 
 4         public class VillagePeople
 5         {
 6             public void DrinkWater()
 7             {
 8                 PressWater pw = new PressWater();
 9                 UndergroundWater uw = pw.returnWater();
10                 if (uw!=null)
11                 {
12                     Console.WriteLine("地下水好甜啊!!!");
13                 }
14             }
15         }
16         /// 
17         /// 壓水井
18         /// 
19         public class PressWater
20         {
21             public UndergroundWater returnWater()
22             {
23                 return new UndergroundWater();
24             }
25         }
26         /// 
27         /// 地下水
28         /// 
29         public class UndergroundWater
30         { 
31         }

上面的代碼就是簡(jiǎn)單演示村民通過(guò)壓水井喝水的過(guò)程,因?yàn)榇迕癫荒苤苯尤〉盟荒芡ㄟ^(guò)壓水井取得地下水,很明顯我們可以看出之間的依賴關(guān)系:

VillagePeople依賴于PressWater

VillagePeople依賴于UndergroundWater

PressWater依賴于UndergroundWater

我們?cè)谧鰳I(yè)務(wù)處理的時(shí)候,簡(jiǎn)單的依賴關(guān)系可以用上面的方式處理,如果太復(fù)雜的話就不行了,牽一發(fā)而動(dòng)全身總歸不是很好。

大家可能說(shuō),上面不是講到“工廠泛濫”問(wèn)題,這邊怎么沒(méi)指出?因?yàn)镻ressWater某一方面其實(shí)就可以看做一個(gè)小工廠,每家的壓水井不一樣,這邊只是說(shuō)某一種,“工廠泛濫”其實(shí)就是依賴作祟,上面的例子說(shuō)明的是依賴關(guān)系,一樣的道理,所以下面就用這個(gè)例子來(lái)做一些東西。

壓水井的問(wèn)題解決-依賴倒置

我們?cè)谥v壓水井的時(shí)候提到過(guò)依賴倒置原則,這邊就不再說(shuō)了,因?yàn)閂illagePeople依賴于PressWater、VillagePeople依賴于UndergroundWater、PressWater依賴于UndergroundWater,我們可以把PressWater(壓水井)和UndergroundWater(地下水)抽象出來(lái),UndergroundWater屬于水的一種,可以抽象為IWater,PressWater因?yàn)槭谦@取水的方式之一,可以抽象為IWaterTool,這邊就要面向接口編程了,根據(jù)依賴倒置原則,我們把上面的代碼修改一下:

 1         /// 
 2         /// 村民
 3         /// 
 4         public class VillagePeople
 5         {
 6             public void DrinkWater()
 7             {
 8                 IWaterTool pw = new PressWater();
 9                 IWater uw = pw.returnWater();
10                 if (uw != null)
11                 {
12                     Console.WriteLine("水好甜?。。?!");
13                 }
14             }
15         }
16         /// 
17         /// 壓水井
18         /// 
19         public class PressWater : IWaterTool
20         {
21             public IWater returnWater()
22             {
23                 return new UndergroundWater();
24             }
25         }
26         /// 
27         /// 獲取水方式接口
28         /// 
29         public interface IWaterTool
30         {
31             IWater returnWater();
32         }
33         /// 
34         /// 地下水
35         /// 
36         public class UndergroundWater : IWater
37         { }
38         /// 
39         /// 水接口
40         /// 
41         public interface IWater
42         { }

從上面的代碼可以看出,UndergroundWater依賴接口IWater,PressWater依賴IWaterTool和IWater,VillagePeople依賴IWaterTool和IWater,這樣就符合依賴倒置原則了,都是依賴于抽象,從而降低耦合度,這樣當(dāng)一個(gè)方式變化了不會(huì)影響到其他,地下水污染了,我可以通過(guò)別的獲取工具獲取水,而不至于沒(méi)水喝。

但是上面說(shuō)的忽略了個(gè)問(wèn)題,接口總是會(huì)被實(shí)現(xiàn)的,也就是總會(huì)執(zhí)行:IWaterTool pw =newPressWater();這樣耦合度就產(chǎn)生了,也就是VillagePeople依賴于PressWater,我們可以通過(guò)工廠參數(shù)來(lái)產(chǎn)生不同的獲取工具對(duì)象,這種方式表面上雖然解決了問(wèn)題,但是實(shí)質(zhì)上代碼耦合度并沒(méi)有改變,怎么辦呢?請(qǐng)接著往下看。

自來(lái)水廠-Ioc

通過(guò)Ioc模式可以徹底解決上面我們提到耦合的問(wèn)題,它把耦合從代碼中移出去,放到統(tǒng)一的XML文件中,通過(guò)一個(gè)容器在需要的時(shí)候把這個(gè)依賴關(guān)系形成,即把需要的接口實(shí)現(xiàn)注入到需要它的類(lèi)中。就像自來(lái)水廠一樣,水的來(lái)源、水的去處都是它來(lái)決定,人們只要通過(guò)它來(lái)喝水就行了,而不需要考慮的太多。

早在微軟提供的一個(gè)示例框架PetShop中就有Ioc的體現(xiàn),只不過(guò)那時(shí)候不太懂,PetShop是通過(guò)反射創(chuàng)建對(duì)象,上面的代碼我們修改一下:

 1         /// 
 2         /// 村民
 3         /// 
 4         public class VillagePeople
 5         {
 6             public void DrinkWater()
 7             {
 8                 IWaterTool pw = (IWaterTool)Assembly.Load(ConfigurationManager.AppSettings["AssemName"]).CreateInstance(ConfigurationManager.AppSettings["WaterToolName"]);
 9                 IWater uw = pw.returnWater();
10                 if (uw != null)
11                 {
12                     Console.WriteLine("水好甜啊!??!");
13                 }
14             }
15         }

上面代碼中我們只需要在配置文件中添加獲取水工具的名稱(chēng)WaterToolName就行了,因?yàn)橐环N工具對(duì)應(yīng)獲取特定的一種水,所以水的種類(lèi)不需要配置。地下水污染了,我們只需要在配置文件中修改一下WaterToolName就可以了。

Ioc模式,系統(tǒng)中通過(guò)引入實(shí)現(xiàn)了Ioc模式的Ioc容器,即可由Ioc容器來(lái)管理對(duì)象的生命周期、依賴關(guān)系等,從而使得應(yīng)用程序的配置和依賴性規(guī)范與實(shí)際的應(yīng)用程序代碼分開(kāi)。其中一個(gè)特點(diǎn)就是通過(guò)文本的配置文件進(jìn)行應(yīng)用程序組件間相互關(guān)系的配置,而不用重新修改并編譯具體的代碼。

看到這里,是不是感覺(jué)Ioc模式有點(diǎn)“熱插拔”的意思?有點(diǎn)像USB一樣呢?

自來(lái)水廠運(yùn)行-DI

如果把自來(lái)水廠看做Ioc,那我覺(jué)得依賴注入(DI)就是這個(gè)自來(lái)水廠的運(yùn)行模式,當(dāng)然其實(shí)是一個(gè)意思,依賴注入是什么?全稱(chēng)Dependency Injection,我們從字面上理解下:需要的接口實(shí)現(xiàn)注入到需要它的類(lèi)中,這就是依賴注入的意思。自來(lái)水廠獲取水源的時(shí)候,控制這個(gè)獲取水源的開(kāi)關(guān)可以看做是依賴注入的一種體現(xiàn),話不多說(shuō),懂得就好。

依賴注入的方式有很多,就像控制獲取水源的開(kāi)關(guān)有很多一樣。

構(gòu)造器注入(Constructor Injection):Ioc容器會(huì)智能地選擇選擇和調(diào)用適合的構(gòu)造函數(shù)以創(chuàng)建依賴的對(duì)象。如果被選擇的構(gòu)造函數(shù)具有相應(yīng)的參數(shù),Ioc容器在調(diào)用構(gòu)造函數(shù)之前解析注冊(cè)的依賴關(guān)系并自行獲得相應(yīng)參數(shù)對(duì)象;

屬性注入(Property Injection):如果需要使用到被依賴對(duì)象的某個(gè)屬性,在被依賴對(duì)象被創(chuàng)建之后,Ioc容器會(huì)自動(dòng)初始化該屬性;

方法注入(Method Injection):如果被依賴對(duì)象需要調(diào)用某個(gè)方法進(jìn)行相應(yīng)的初始化,在該對(duì)象創(chuàng)建之后,Ioc容器會(huì)自動(dòng)調(diào)用該方法。

有時(shí)間可以好好研究下依賴注入的各種方式,這邊我們就使用微軟提供的Unity實(shí)現(xiàn)依賴注入,方式是構(gòu)造器注入,首先使用Nuget工具將Unity添加到項(xiàng)目中,安裝Unity需要.net framework4.5支持。

添加完之后,發(fā)下項(xiàng)目中多了Microsoft.Practices.Unity和Microsoft.Practices.Configuation兩個(gè)dll,代碼如下:

 1         /// 
 2         /// 人接口
 3         /// 
 4         public interface IPeople
 5         {
 6             void DrinkWater();
 7         }
 8         /// 
 9         /// 村民
10         /// 
11         public class VillagePeople : IPeople
12         {
13             IWaterTool _pw;
14             public VillagePeople(IWaterTool pw)
15             {
16                 _pw = pw;
17             }
18             public void DrinkWater()
19             {
20                 IWater uw = _pw.returnWater();
21                 if (uw != null)
22                 {
23                     Console.WriteLine("水好甜?。。?!");
24                 }
25             }
26         }

調(diào)用代碼:

1         static void Main(string[] args)
2         {
3             UnityContainer container = new UnityContainer();
4             container.RegisterType();
5             TestFour.IPeople people = container.Resolve();
6             people.DrinkWater();
7         }

首先我們創(chuàng)建一個(gè)Unity容器,接下來(lái)我們需要在容器中注冊(cè)一種類(lèi)型,它是一個(gè)類(lèi)型的映射,接口類(lèi)型是IWaterTool,返回類(lèi)型為PressWater,這個(gè)過(guò)程中就是要告訴容易我要注冊(cè)的類(lèi)型。

比如自來(lái)水廠要用地下水作為水源,這時(shí)候操作員輸入命令,就是RegisterType,參數(shù)為IWaterTool、PressWater,下面就是調(diào)用Resolve生成對(duì)象,這個(gè)過(guò)程表示要把水輸送到哪戶人家,命令是Resolve,參數(shù)為VillagePeople,接下來(lái)就是直接打開(kāi)水龍頭喝水了,很方便吧。

關(guān)于依賴注入其實(shí)有很多的東西,上面的示例只是拋磚引玉,有時(shí)間的話好好研究下,比如依賴注入的其他方式等等。
編輯:hfy

聲明:本文內(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)投訴
  • IOC
    IOC
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    10359
  • Unity
    +關(guān)注

    關(guān)注

    1

    文章

    128

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    基于51/32單片機(jī)按鍵控制步進(jìn)電機(jī)正反轉(zhuǎn),A4988驅(qū)動(dòng)

    基于51/32單片機(jī)按鍵控制步進(jìn)電機(jī)正反轉(zhuǎn),A4988驅(qū)動(dòng)
    發(fā)表于 04-14 15:05 ?5次下載

    BLDC基于脈沖注入法的無(wú)刷直流電機(jī)轉(zhuǎn)子位置

    本文提出了一種采用脈沖注入來(lái)檢測(cè)無(wú)刷直流電機(jī)在靜止?fàn)顟B(tài)時(shí)轉(zhuǎn)子位置的方法。基 于方法依次向定子繞組注入一系列的脈沖,通過(guò)脈沖電流的變化對(duì)轉(zhuǎn)子位置進(jìn)行估算。實(shí)驗(yàn) 結(jié)果表明:該方法不但具有較高的位置檢測(cè)準(zhǔn)確性,同時(shí)對(duì)電機(jī)的參數(shù)依賴性低
    發(fā)表于 03-14 16:24

    可控硅的控制奧秘:依賴直流還是交流?

    可控硅是一種重要的半導(dǎo)體器件,通過(guò)控制極的觸發(fā)信號(hào)實(shí)現(xiàn)對(duì)電流的控制。它可以在直流和交流電路中應(yīng)用,分別用于開(kāi)關(guān)、調(diào)節(jié)、調(diào)光等功能。直流控制和交流控制的特點(diǎn)和應(yīng)用場(chǎng)景有所不同,但都
    的頭像 發(fā)表于 01-10 15:44 ?1917次閱讀
    可控硅的<b class='flag-5'>控制</b>奧秘:<b class='flag-5'>依賴</b>直流還是交流?

    PLC控制電機(jī)正反轉(zhuǎn)的物聯(lián)網(wǎng)解決方案

    機(jī)床工作臺(tái)的前進(jìn)與后退、機(jī)床主軸的正轉(zhuǎn)與反轉(zhuǎn)、升降機(jī)的上升與下降等。為了滿足這些要求,PLC控制電動(dòng)機(jī)必須能夠?qū)崿F(xiàn)正反轉(zhuǎn)。 為實(shí)現(xiàn)對(duì)這類(lèi)自動(dòng)化設(shè)備的遠(yuǎn)程監(jiān)控,數(shù)之能提供高效可靠的物聯(lián)網(wǎng)解決方案。通過(guò)將數(shù)之能數(shù)據(jù)中臺(tái)接入控
    的頭像 發(fā)表于 11-19 15:53 ?700次閱讀
    PLC<b class='flag-5'>控制</b>電機(jī)正<b class='flag-5'>反轉(zhuǎn)</b>的物聯(lián)網(wǎng)解決方案

    SiC的離子注入工藝及其注意事項(xiàng)

    離子注入是SiC器件制造的重要工藝之一。通過(guò)離子注入,可以實(shí)現(xiàn)對(duì)n型區(qū)域和p型區(qū)域?qū)щ娦?b class='flag-5'>控制。本文簡(jiǎn)要介紹離子注入工藝及其注意事項(xiàng)。
    的頭像 發(fā)表于 11-09 11:09 ?1086次閱讀

    什么是電機(jī)正反轉(zhuǎn)?電機(jī)正反轉(zhuǎn)主要應(yīng)用在哪些方面?

    能力。 電機(jī)正反轉(zhuǎn)的基本原理 電機(jī)正反轉(zhuǎn)的實(shí)現(xiàn)主要依賴于電機(jī)的控制方式。在交流電機(jī)中,通過(guò)改變電源的相序或使用變頻器改變電源的頻率和相位,可以實(shí)現(xiàn)電機(jī)的正
    的頭像 發(fā)表于 10-24 13:56 ?6083次閱讀

    drv8412是怎么控制電機(jī)正反轉(zhuǎn)的?

    請(qǐng)問(wèn)drv8412是怎么控制電機(jī)的正反轉(zhuǎn),謝謝
    發(fā)表于 09-20 07:13

    無(wú)刷電機(jī)正反轉(zhuǎn)由什么控制

    無(wú)刷電機(jī)(Brushless DC Motor, BLDC)是一種沒(méi)有電刷的電機(jī),它通過(guò)電子換向器來(lái)控制電流的流向,從而實(shí)現(xiàn)電機(jī)的轉(zhuǎn)動(dòng)。無(wú)刷電機(jī)的正反轉(zhuǎn)控制是其應(yīng)用中的一個(gè)重要方面,涉及到電機(jī)的驅(qū)動(dòng)
    的頭像 發(fā)表于 09-03 14:14 ?1614次閱讀

    碳刷電機(jī)正反轉(zhuǎn)怎么接

    碳刷電機(jī),也稱(chēng)為直流電機(jī),是一種常見(jiàn)的電機(jī)類(lèi)型,廣泛應(yīng)用于各種機(jī)械設(shè)備中。碳刷電機(jī)的正反轉(zhuǎn)控制是通過(guò)改變電源的極性來(lái)實(shí)現(xiàn)的。以下是關(guān)于碳刷電機(jī)正反轉(zhuǎn)接線的指南。 1. 碳刷電機(jī)的基本原理 碳刷電機(jī)
    的頭像 發(fā)表于 09-03 11:26 ?4247次閱讀

    如何將行程開(kāi)關(guān)接入正反轉(zhuǎn)控制電路

    行程開(kāi)關(guān)是一種常見(jiàn)的限位開(kāi)關(guān),用于控制機(jī)械設(shè)備的行程。在正反轉(zhuǎn)控制電路中,行程開(kāi)關(guān)可以用于實(shí)現(xiàn)自動(dòng)控制,當(dāng)設(shè)備到達(dá)預(yù)定位置時(shí),自動(dòng)切換到反向運(yùn)動(dòng)。以下是將行程開(kāi)關(guān)接入正
    的頭像 發(fā)表于 08-26 16:35 ?1642次閱讀

    ESP32控制舵機(jī)的正反轉(zhuǎn)原理是什么

    舵機(jī)是一種將電信號(hào)轉(zhuǎn)換為機(jī)械運(yùn)動(dòng)的設(shè)備,廣泛應(yīng)用于機(jī)器人、無(wú)人機(jī)、汽車(chē)等領(lǐng)域。ESP32是一款功能強(qiáng)大的微控制器,具有豐富的外設(shè)接口和高性能的處理能力,可以方便地控制舵機(jī)實(shí)現(xiàn)正反轉(zhuǎn)等動(dòng)作。本文將介紹
    的頭像 發(fā)表于 08-20 09:13 ?2252次閱讀

    PLSY指令怎樣控制伺服正反轉(zhuǎn)

    PLSY指令(PLC中的脈沖輸出指令)通常用于控制伺服電機(jī)的正反轉(zhuǎn)和速度。 1. 伺服電機(jī)概述 伺服電機(jī)是一種高精度、高響應(yīng)速度的電機(jī),廣泛應(yīng)用于自動(dòng)化設(shè)備、機(jī)器人、數(shù)控機(jī)床等領(lǐng)域。伺服電機(jī)的控制
    的頭像 發(fā)表于 08-19 14:51 ?3988次閱讀

    變頻器控制電機(jī)的正反轉(zhuǎn)控制方式有哪些?

    變頻器是一種廣泛應(yīng)用于工業(yè)領(lǐng)域的電力調(diào)整設(shè)備,它可以通過(guò)改變電源的頻率來(lái)實(shí)現(xiàn)電機(jī)的速度控制。在許多生產(chǎn)過(guò)程中,電機(jī)的正反轉(zhuǎn)控制是非常重要的,變頻器能夠通過(guò)不同的控制方式來(lái)實(shí)現(xiàn)這一功能。
    的頭像 發(fā)表于 08-14 17:04 ?2961次閱讀

    簡(jiǎn)單介紹plc如何控制電機(jī)正反轉(zhuǎn)

    PLC(可編程邏輯控制器)控制電機(jī)正反轉(zhuǎn)的過(guò)程可以通過(guò)以下步驟清晰地表示和歸納: 一、了解電機(jī)正反轉(zhuǎn)工作原理 電機(jī)正反轉(zhuǎn)是指電機(jī)能夠?qū)崿F(xiàn)順時(shí)
    的頭像 發(fā)表于 07-29 10:37 ?1614次閱讀

    兩相正反轉(zhuǎn)開(kāi)關(guān)怎么接線方法

    兩相正反轉(zhuǎn)開(kāi)關(guān)是一種常見(jiàn)的電氣設(shè)備,主要用于實(shí)現(xiàn)電動(dòng)機(jī)的正反轉(zhuǎn)控制。在實(shí)際應(yīng)用中,正確接線是保證設(shè)備正常運(yùn)行的關(guān)鍵。本文將介紹兩相正反轉(zhuǎn)開(kāi)關(guān)的接線方法,包括原理、步驟和注意事項(xiàng)。 一、
    的頭像 發(fā)表于 07-19 10:48 ?7357次閱讀
    主站蜘蛛池模板: 扒开女人下面使劲桶视频 | 美女视频秀色福利视频 | 伦理电影2499伦理片 | 欧美多毛的大隂道 | 久久久96| 欧美 日韩 无码 有码 在线 | 空姐厕所啪啪啪 | 海角社区在线视频播放观看 | 三级黄色在线看 | 午夜dj免费中文字幕 | 国产综合无码一区二区色蜜蜜 | 蜜桃精品成人影片 | 亚洲午夜一区二区电影院 | 星空无限传媒视频在线观看视频 | 欧美性猛交XXXX乱大交极品 | 果冻传媒在线完整免费播放 | 色欲狠狠躁天天躁无码中文字幕 | 色偷偷爱偷偷要 | 视频三区 国产盗摄 | 欧美老妇与zozoz0交 | 日本漫画之无彩翼漫画 | 久久国产精品无码视欧美 | 亚洲精品AV一二三区无码 | 日本不卡免免费观看 | 色琪琪丁香婷婷综合久久 | 大胸美女裸身色诱网站 | 国产毛片A级久久久不卡精品 | 欧美日韩视频一区二区三区 | 樱花草在线影视WWW日本动漫 | 中文字幕偷乱免费视频在线 | 亚洲视频在线免费看 | 亚洲免费黄色 | 小雪奶水涨翁工帮吸的推荐语录 | 嗯啊哈啊好棒用力插啊 | 国产精品96久久久久久AV网址 | 国产成人免费高清在线观看 | 国产色欲一区二区精品久久呦 | 国产久久精品热99看 | 双性被疯狂灌满精NP | 成人天堂婷婷青青视频在线观看 | 一个人免费观看在线视频播放 |

    電子發(fā)燒友

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

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