日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

嵌入式分享合集75

發(fā)布時(shí)間:2023/12/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 嵌入式分享合集75 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、快速找到PCB中的GND

??在維修電路板時(shí),有時(shí)候需要測量板子上某一點(diǎn)的電位,來判斷到底是哪里出了問題,而參考點(diǎn)的選取一般都是選擇電源的負(fù)極,也就是GND地線。如下圖是幾種GND的符號(hào)。

???如何快速尋找出板子中的地線,就成了必須要掌握的知識(shí)了。下面我總結(jié)了幾種方法供大家參考一下。

1 通過電解電容來查找GND

????上圖中是一個(gè)電磁爐主板,我們要找地線,首先要找到板子最大的那個(gè)電解電容。

????一般情況下比較大的電解電容都是作為電源濾波的一種元件,它的負(fù)極就是GND了。

上圖中你看到的最大的電解電容就是一個(gè)電源濾波電容,它是從整流橋整流輸出約300伏的脈動(dòng)直流電,再經(jīng)過此電容濾波才能輸出比較平滑的直流電。它的負(fù)極就是直流電源的負(fù)極,也就是我們要找的GND地線。

2 通過查看大片銅箔來確認(rèn)GND

????上圖中是一個(gè)兩層板,圖中標(biāo)有紅圈的那幾個(gè)點(diǎn)就是地線,可以看出它和大片的銅箔相連。這是由于地線有屏蔽作用,可以有效減小地線環(huán)路帶來的干擾,所以線路板中的地線銅箔一般都是成片出現(xiàn)的。

3 通過查看連接插件上的標(biāo)識(shí)來確認(rèn)GND

?

????如上圖,一般在板子的接插件處都有各種信號(hào)的標(biāo)識(shí),我們可以通過查看這個(gè)標(biāo)識(shí)來確認(rèn)地線,比如上圖紅線圈內(nèi)的GND就是地線了。

4 通過集成芯片來查找

????在線路板中通常有著各種各樣的集成電路,這些集成電路如果要正常工作都需要有供電電源,可以通過查看芯片的引腳來確認(rèn)GND。

????如上圖,這是一個(gè)8腳的LM358比較器,通過查找它的資料可以看出它每個(gè)腳的功能 ,只要知道第四腳為GND就可以在板子上找到地線了。

最后在說說GND的本質(zhì)

電路中的地線GND,它的本質(zhì)是什么?
在PCB Layout布線過程中,工程師都會(huì)面臨不同的GND處理。
? ? 這是為什么呢?在電路原理設(shè)計(jì)階段,為了降低電路之間的互相干擾,工程師一般會(huì)引入不同的GND地線,作為不同功能電路的0V參考點(diǎn),形成不同的電流回路。
GND地線的分類
1 模擬地線AGND
? ? 模擬地線AGND,主要是用在模擬電路部分,如模擬傳感器的ADC采集電路,運(yùn)算放大比例電路等等。
? ? 在這些模擬電路中,由于信號(hào)是模擬信號(hào),是微弱信號(hào),很容易受到其他電路的大電流影響。如果不加以區(qū)分,大電流會(huì)在模擬電路中產(chǎn)生大的壓降,會(huì)使得模擬信號(hào)失真,嚴(yán)重可能會(huì)造成模擬電路功能失效。
2 數(shù)字地線DGND
? ? 數(shù)字地線DGND,顯然是相對(duì)模擬地線AGND而言,主要是用于數(shù)字電路部分,比如按鍵檢測電路,USB通信電路,單片機(jī)電路等等。
? ? 之所以設(shè)立數(shù)字地線DGND,是因?yàn)閿?shù)字電路具有一個(gè)共同的特點(diǎn),都屬于離散型的開光量信號(hào),只有數(shù)字“0”和數(shù)字“1”區(qū)分,如下圖所示。

在由數(shù)字“0”電壓跳變成數(shù)字“1”電壓的過程中,或者由數(shù)字“1”電壓跳變成數(shù)字“0”電壓的過程中,電壓產(chǎn)生了一個(gè)變化,根據(jù)麥克斯韋電磁理論,變化的電流周圍會(huì)產(chǎn)生磁場,也就形成了對(duì)其他電路的EMC輻射。
? ? 沒辦法,為了降低電路的EMC輻射影響,必須使用一個(gè)單獨(dú)的數(shù)字地線DGND,讓其他電路得到有效的隔離。
3 功率地線PGND
? ? 模擬地線AGND也好,數(shù)字地線DGND也罷,它們都是小功率電路。在大功率電路中,如電機(jī)驅(qū)動(dòng)電路,電磁閥驅(qū)動(dòng)電路等等,也是存在一個(gè)單獨(dú)的參考地線,這個(gè)參考地線叫做功率地線PGND。
? ? 大功率電路,顧名思義,是電流比較大的電路。很顯然大的電流,容易造成不同功能電路之間的地偏移現(xiàn)象,如下圖所示。

?

? 一旦電路中存在地偏移,那么原來的5V電壓就可能不是5V了,而是變成了4V。因?yàn)?V電壓是參考GND地線0V而言,如果地偏移使得GND地線由0V抬升到了1V,那么之前的5V(5V-0V=5V)電壓就變成了現(xiàn)在的4V(5V-1V=4V)了。
4 電源地線GND
? ? 模擬地線AGND,和數(shù)字地線DGND以及功率地線PGND,都被歸類為直流地線GND。這些不同種類的地線,最后都要匯集在一起,作為整個(gè)電路的0V參考地線,這個(gè)地線叫做電源地線GND。
? ? 電源,是所有電路的能量來源。所有電路工作需要的電壓電流,均是來自電源。因此電源的地線GND,是所有電路的0V電壓參考點(diǎn)。
? ? 這就是為什么其他類型的地線,無論是模擬地線AGND,數(shù)字地線DGND還是功率地線PGND,最后都需要與電源地線GND匯集在一起。
5 交流地線CGND
? ? 交流地線CGND,一般是存在于含有交流電源的電路項(xiàng)目中,如AC-DC交流轉(zhuǎn)直流電源電路。
? ? AC-DC電源電路,分為兩個(gè)部分。電路中的前級(jí)是AC交流部分,電路中的后級(jí)是DC直流部分,這就被迫形成了兩個(gè)地線,一個(gè)是交流地線,另一個(gè)是直流地線。
? ? 交流地線作為交流電路部分的0V參考點(diǎn),直流地線作為直流電路部分的0V參考點(diǎn)。通常為了在電路中統(tǒng)一一個(gè)地線GND,工程師會(huì)將交流地線通過一個(gè)耦合電容或者電感與直流地線連接在一起。
6 大地地線EGND
? ? 人體的安全電壓是在36V以下,超過36V的電壓如果施加在人體身上,會(huì)導(dǎo)致人體受到損傷,這是工程師在開發(fā)設(shè)計(jì)電路項(xiàng)目方案的一個(gè)安全常識(shí)。
? ? 為了增強(qiáng)電路的安全系數(shù),工程師一般在高壓大電流的項(xiàng)目中使用大地的地線EGND,例如在家用電器電風(fēng)扇、電冰箱、電視機(jī)等電路中。具有大地地線EGND保護(hù)功能的插座,如下圖所示。

家用電器的插座,為什么是3個(gè)接線端子?220V交流電只需要火線和零線,兩根就可以,那為什么插座是3個(gè)接線端子呢?
? ? 插座的3個(gè)接線端子,其中的兩個(gè)端子是用于220V的火線和零線,另外一個(gè)端子就是起保護(hù)作用的大地地線EGND。
? ? 芯片哥需要重點(diǎn)指出的是大地地線EGND,它僅僅是連接到我們的地球,起到高壓保護(hù)作用,沒有參與項(xiàng)目電路功能,與電路功能無關(guān)。
? ? 所以大地地線EGND,與其他類型的地線GND是存在明顯電路含義區(qū)別的。
細(xì)究GND的原理
? ? 工程師可能會(huì)問,一個(gè)地線GND怎么會(huì)有這么多區(qū)分,簡單的電路問題怎么弄得這么復(fù)雜?
? ? 為什么需要引入這么多細(xì)分的GND地線功能呢?
? ? 工程師一般針對(duì)這類GND地線設(shè)計(jì)問題,都簡單的統(tǒng)一命名為GND,在原理圖設(shè)計(jì)過程中沒有加以區(qū)分,導(dǎo)致在PCB布線的時(shí)候很難有效識(shí)別不同電路功能的GND地線,直接簡單地將所有GND地線連接在一起。
? ? 雖然這樣操作簡便,但這將導(dǎo)致一系列問題:
1 信號(hào)串?dāng)_
? ? 假如將不同功能的地線GND直接連接在一起,大功率電路通過地線GND,會(huì)影響小功率電路的0V參考點(diǎn)GND,這樣就產(chǎn)生了不同電路信號(hào)之間的串?dāng)_。相關(guān)推薦:認(rèn)識(shí)地彈(地噪聲)。
2 信號(hào)精度
? ? 模擬電路,它的考核核心指標(biāo)就是信號(hào)的精度。失去精度,模擬電路也就失去了原本的功能意義。
? ? 交流電源的地線CGND由于是正弦波,是周期性的上下波動(dòng)變化,它的電壓也是上下波動(dòng),不是像直流地線GND一樣始終維持在一個(gè)0V上不變。
? ? 將不同電路的地線GND連接在一起,周期性變化的交流地線CGND會(huì)帶動(dòng)模擬電路的地線AGND變化,這樣就影響了模擬信號(hào)的電壓精度值了。
3 EMC實(shí)驗(yàn)
? ? 信號(hào)越弱,對(duì)外的電磁輻射EMC也就越弱;信號(hào)越強(qiáng),對(duì)外的電磁輻射EMC也就越強(qiáng)。
? ? 假如將不同電路的地線GND連接在一起,信號(hào)強(qiáng)電路的地線GND,直接干擾了信號(hào)弱電路的地線GND。其后果是原本信號(hào)弱的電磁輻射EMC,也成為了對(duì)外電磁輻射強(qiáng)的信號(hào)源,增加了電路處理EMC實(shí)驗(yàn)的難度。 ? ??whaosoft aiot?http://143ai.com
4 電路可靠性
? ? 電路系統(tǒng)之間,信號(hào)連接的部分越少,電路獨(dú)立運(yùn)行的能力越強(qiáng);信號(hào)連接的部分越多,電路獨(dú)立運(yùn)行的能力就越弱。
? ? 試想,如果兩個(gè)電路系統(tǒng)A和電路系統(tǒng)B,沒有任何的交集,電路系統(tǒng)A的功能好壞顯然是不能影響電路系統(tǒng)B的正常工作,同樣電路系統(tǒng)B的功能好壞也是不能影響電路系統(tǒng)A的正常工作。
? ? 這就好比一對(duì)陌生男女,在沒有成為戀人之前,女生的情緒變化是不會(huì)影響這個(gè)男生的心情的,因?yàn)樗麄儧]有任何交集。
? ? 假如在電路系統(tǒng)中,將不同功能的電路地線連接在一起,就相當(dāng)于增加了電路之間干擾的一個(gè)聯(lián)系紐帶,也即降低了電路運(yùn)行的可靠性。

?

二、說說PLC程序

哈哈PLC的內(nèi)容終于來了第二彈

一套完整的PLC程序,并不僅僅是使系統(tǒng)能夠運(yùn)行起來這么簡單,它也需要完整的注釋、精良的架構(gòu)、良好的可擴(kuò)展性、完備的報(bào)警保護(hù)系統(tǒng)、運(yùn)行前的模擬系統(tǒng)。

1、簡單性

使PLC程序盡可能簡單。簡單的含義就是盡可能地使用標(biāo)準(zhǔn)化的程序框架,盡可能使用簡單的指令。

要想程序簡單,從大的方面講,要優(yōu)化程序結(jié)構(gòu),用流程控制指令簡化程序,從小的方面講還要用功能強(qiáng)的指令取代功能單一的指令,以及注意指令的安排順序等。

2、可讀性

要求所設(shè)計(jì)的程序可讀性要好。這不僅便于程序設(shè)計(jì)者加深對(duì)程序的理解,便于調(diào)試,而且,還要便于別人讀懂你的程序,便于使用者維護(hù)。必要時(shí),也可使程序推廣。

要使程序可讀性好,所設(shè)計(jì)的程序就要盡可能清晰。要注意層次,實(shí)現(xiàn)模塊化,以致于用面向?qū)ο蟮姆椒ㄟM(jìn)行設(shè)計(jì)。要多用一些標(biāo)準(zhǔn)的設(shè)計(jì)。

如遇特殊情況下采用語言編程,多數(shù)情況下請(qǐng)使用梯形圖編程,方便閱讀。

再就是I/O分配要有規(guī)律性,便于記憶與理解。必要時(shí),還要做一些注釋工作。內(nèi)部器件的使用也要講規(guī)律性,不要隨便地拿來就用。

可讀性在程序設(shè)計(jì)開始時(shí)就要注意。這不易完全做到。因?yàn)樵诔绦蛘{(diào)試的過程中,指令的增減,內(nèi)部器件的使用變化,可能使原較清晰的程序,變得有些亂。所以在設(shè)計(jì)時(shí)就對(duì)調(diào)試增減留有一定的余地,然后調(diào)試完畢后再做一下整理,這樣所設(shè)計(jì)的程序具有更高的質(zhì)量。

程序的注釋,起碼應(yīng)該有以下幾個(gè)方面:

A、系統(tǒng)注釋:整套程序的版權(quán)公司和此套程序用途;

B、程序塊注釋:此程序塊的主要用途和作者;

C、段注釋:此段代碼的用途;

D、變量注釋:重要性無需多言,包含I/O注釋、中間變量注釋。

而至于保密性的考慮,我覺得應(yīng)該在程序的加密算法或者塊的加密上考慮,而不應(yīng)該用減少注釋這種小聰明來實(shí)現(xiàn)。

3、正確性

PLC的程序一定要正確,并要經(jīng)過實(shí)際工作驗(yàn)證,證明其能夠正確工作。這是對(duì)PLC程序的最根本的要求,若這一點(diǎn)做不到,其它的再好也沒有用。

要使程序正確,一定要準(zhǔn)確地使用指令,正確地使用內(nèi)部器件。準(zhǔn)確de地使用指令與準(zhǔn)確理解指令相聯(lián)系,為此對(duì)指令含義和使用條件一定要弄清楚。必要時(shí),可編些小程序?qū)σ恍┎磺宄闹噶钭餍y試。

同一指令,由于PLC的出廠批次不同或是PLC的系列型號(hào)的不同,一些指令細(xì)節(jié)有可能不一樣,應(yīng)仔細(xì)查閱編程手冊(cè)。

內(nèi)部器件正確使用也是重要的。如有的PLC有掉電保護(hù),有的PLC沒有。一定要做到該掉電保護(hù)的一定要用掉電保護(hù)的器件,反之則不能用。

總之,要準(zhǔn)確地使用指令,正確使用內(nèi)部器件,使所編的程序能正確動(dòng)作,這是對(duì)PLC程序最根本的要求。

舉個(gè)簡單的例子,西門子的上升沿和下降沿需要使用帶存儲(chǔ)功能的變量作為中間變量,比如M點(diǎn)或者DB點(diǎn),如果使用FC的temp變量就會(huì)出問題的。

4、可靠性

程序不僅要正確,還要可靠。可靠反映著PLC程序的穩(wěn)定性,這也是對(duì)PLC程序的基本要求。

有的PLC程序,在正常的工作條件下或合法操作時(shí)能正確工作,而出現(xiàn)非正常工作條件(如臨時(shí)停電,又很快再通電)或進(jìn)行非法操作(如一些按鈕不按順序按,或同時(shí)按若干按鈕)后,程序就不能正常工作了。這種程序,就不大可靠,或說不穩(wěn)定,就是不好的程序。

好的PLC程序?qū)Ψ钦9ぷ鳁l件出現(xiàn),能予以識(shí)別,并能使其與正常條件銜接,可使程序適應(yīng)于多種情況。好的PLC程序?qū)Ψ欠ú僮髂苡枰跃芙^,且不留下“痕跡”。只接受合法操作。

聯(lián)鎖是拒絕非法操作常用的手段,繼電電路常用這個(gè)方法,PLC也可繼承這個(gè)方法。

5、易改性

要使程序易改,也就是要便于修改。PLC的特點(diǎn)之一就是方便,可靈活地適用于各種情況。其辦法就是靠修改或重新設(shè)計(jì)程序。

重新設(shè)計(jì)程序用于改變PLC工藝的用途要求的情況,不僅程序重編,而且I/O也要重新分配。多數(shù)情況下不需要重編程序,做一些修改就可以了。這就要求程序具有易性,便于修改。

易改也就是彈性,要求只要做很少的改動(dòng),即可達(dá)到改變參數(shù)或修改動(dòng)作的目的。

6、擴(kuò)展性

許多程序可能在進(jìn)現(xiàn)場之前都已經(jīng)編好,但是到了現(xiàn)場,可能還需要添加另外的程序,為了避免打亂整套系統(tǒng)的結(jié)構(gòu),需要在每個(gè)功能區(qū)預(yù)留一定的空間作為備用。

硬件上留出足夠的余量,軟件在編寫的時(shí)候把手動(dòng),自動(dòng),半自動(dòng)考慮好,位置留出來。

7、完備報(bào)警系統(tǒng)

PLC系統(tǒng)往往用于工業(yè)環(huán)境中,每一次的事故都會(huì)造成或大或小的損失,為了做到事故預(yù)處理或者在事故中將損失降到最小,必須重視PLC的報(bào)警和保護(hù),在此將其摘出來作為系統(tǒng)的一個(gè)重要組成部分。

8、程序模擬

為了保證現(xiàn)場的調(diào)試進(jìn)度或者給客戶展示,往往在進(jìn)現(xiàn)場之前,要對(duì)自己的程序進(jìn)行全自動(dòng)的模擬。為此需要在程序中加入模擬程序部分,模擬程序部分在正常現(xiàn)場運(yùn)行之后斷開。為了使程序具備模擬功能,需要做以下工作:

(1)將實(shí)際的PLC的I/O點(diǎn)轉(zhuǎn)換為PLC的中間變量或者數(shù)據(jù)塊變量;

(2)根據(jù)工藝要求編寫各個(gè)設(shè)備的模擬程序;

在設(shè)計(jì)PLC程序的過程中,能夠滿足以上幾個(gè)方面的要求的就能稱得上是一個(gè)好程序了。

PLC程序的設(shè)計(jì)規(guī)范

1、選擇合適的PLC型號(hào)及I/O點(diǎn)數(shù),有特殊功能需求時(shí)選擇特殊功能模塊。

2、熟悉所選擇的PLC編程指令及編譯軟件。

3、進(jìn)行軟元件規(guī)劃,包括內(nèi)部繼電器、保持繼電器、數(shù)據(jù)寄存器、定時(shí)器、計(jì)數(shù)器等。

4、進(jìn)行程序規(guī)劃,一般以故障提取、故障處理、手動(dòng)處理、自動(dòng)處理、輸出處理這樣的順序進(jìn)行編程。比較大型的工程或設(shè)備按功能單元分段、分塊進(jìn)行處理,如一條自動(dòng)化生產(chǎn)線中有提升機(jī)、移行、頂起旋轉(zhuǎn)裝置等,則應(yīng)按上述單元分段分塊編程。

?

5、在分段分塊編寫的程序前應(yīng)加上簡短的段注釋,說明此段程序的功能,如有必要可以注明相應(yīng)的工藝流程。分塊或分段的程序在總體程序的位置順序應(yīng)基本上按工藝流程順序排列,便于程序的可讀性。

6、在程序設(shè)計(jì)之前,應(yīng)對(duì)設(shè)備進(jìn)行抽象,對(duì)如停止、急停、過載、超限、超時(shí)、安全光幕、碰停、門開關(guān)等共用因子進(jìn)行提取,放在啟動(dòng)回路或啟動(dòng)主控、連鎖回路,作為整個(gè)程序結(jié)構(gòu)的大前提,在此基礎(chǔ)下,再將程序分為自動(dòng)、手動(dòng)兩大功能區(qū)。

7、將程序結(jié)構(gòu)手動(dòng)功能區(qū)共用因子,如手動(dòng)、危及設(shè)備人身安全等因數(shù)因子進(jìn)行提取,放在手動(dòng)主控、連鎖回路,對(duì)手動(dòng)控制進(jìn)行保護(hù)、屏蔽、報(bào)警。

8、將程序結(jié)構(gòu)自動(dòng)功能區(qū)共用因子,如自動(dòng)、超限、超時(shí)等因數(shù)因子進(jìn)行提取,放在自動(dòng)主控、連鎖回路,對(duì)自動(dòng)控制下設(shè)備進(jìn)行保護(hù)、屏蔽、報(bào)警。一個(gè)總的原則就是,在確保安全的前提下,嚴(yán)格限制設(shè)備的進(jìn),寬松限制設(shè)備的出。

9、程序設(shè)計(jì)時(shí)應(yīng)設(shè)計(jì)程序總復(fù)位功能,便于使用者在設(shè)備出現(xiàn)故障情況下,可以方便盡快恢復(fù)設(shè)備正常工作。總復(fù)位應(yīng)充分考慮在復(fù)位過程中設(shè)備和人員的安全。

10、自動(dòng)模式切換到手動(dòng)模式時(shí),程序應(yīng)清除自動(dòng)模式下的輸出和中間狀態(tài)。特別是在自動(dòng)模式使用SET指令時(shí),必須在手動(dòng)模式用RESET指令予以清除。

11、嚴(yán)禁在編制程序中使用雙輸出,即同一條輸出語句或同一個(gè)輸出線圈在程序中出現(xiàn)2次及以上。在不同模式條件下的對(duì)同一輸出點(diǎn)的輸出使用中間繼電器進(jìn)行中轉(zhuǎn),最后集中到一起并列到輸出點(diǎn)。

12、使用觸摸屏?xí)r,對(duì)觸摸屏和PLC公用的控制區(qū)和狀態(tài)區(qū),不得做其他功能方面的編程使用。

13、對(duì)PLC的特殊模塊,在使用之前,應(yīng)先查明其控制區(qū)和狀態(tài)區(qū)是否占用工作字,若占用,不得將這些工作字做其他方面的編程。

14、PLC的輸入、輸出、中間繼電器、定時(shí)器、計(jì)數(shù)器、數(shù)據(jù)寄存器等都要加中文注釋。輸入、輸出還要有元器件名稱位號(hào)。對(duì)應(yīng)的輸入點(diǎn),一般情況下默認(rèn)為外圍開關(guān)連接的是NO觸點(diǎn),對(duì)于需要接NC觸點(diǎn)的須在注釋中標(biāo)明。所有注釋應(yīng)當(dāng)清晰明了,不易產(chǎn)生誤解,盡量少使用泛指。

15、工程調(diào)試完成后,系統(tǒng)必須保留最終軟件程序,保存的文件名應(yīng)包含項(xiàng)目編號(hào)/作者/日期信息/版本號(hào)等。

16、關(guān)于程序加密:對(duì)于加密程序的密碼必須有專門的文件予以保存,并注明相應(yīng)的用戶名+密碼+權(quán)限,分發(fā)給至少兩個(gè)人以上了解密碼,防止密碼丟失帶來無法打開程序的情況。

PLC程序的編程建議

1、PLC和上位機(jī)(或觸摸屏)組成監(jiān)控系統(tǒng)時(shí),在畫面上很多時(shí)候需要有“手動(dòng)”、“自動(dòng)”等控制模式(一般都是多個(gè)只能一個(gè)時(shí))。在程序里面可以用“MOV”指令。如:當(dāng)選擇“手動(dòng)”就將常數(shù)1 MOV到一個(gè)寄存器VB10里面,當(dāng)選擇“自動(dòng)”就將2 MOV到同一寄存器VB10。只要判斷寄存器的數(shù)據(jù)是多少,就知道系統(tǒng)是哪種控制方式。這樣的思路好處是容易理解,不需要互鎖之類的麻煩程序。

2、程序有模擬量控制時(shí),如果讀取的模擬量基本上沒誤差,可以采取時(shí)間濾波的方式,延時(shí)一段時(shí)間。如果讀取的數(shù)據(jù)誤差很大,就需要采取其它的濾波方式,如算平均值等。可以查閱相關(guān)的資料。

3、在程序調(diào)試過程中(特別是設(shè)備改造時(shí),你的程序是加入到原來設(shè)備的程序中時(shí)),當(dāng)程序語句中出現(xiàn)條件滿足,而輸出線圈不接通時(shí),可以檢查你的這段程序是否是在這樣的語句之間,如JUMPgo to等語句。還有一種可能就是在中斷程序之后,條件滿足而沒輸出不接通,一般都是這段的程序不被掃描。

4、在順序控制程序時(shí),即一個(gè)動(dòng)作完成后,進(jìn)入到下一個(gè)動(dòng)作,等類似的順序控制,采用+10+10控制模式,本人覺得很方便。其思路是:預(yù)置一個(gè)寄存器,在初始化時(shí)值為0,當(dāng)系統(tǒng)啟動(dòng)后,對(duì)它+10,此時(shí)寄存器為10,寄存器等于10時(shí)可以做第一個(gè)動(dòng)作;第一個(gè)動(dòng)作完成后,再對(duì)寄存器+10,此時(shí)寄存器等于20,可以做第二個(gè)動(dòng)作,第二個(gè)動(dòng)作完成后又+10,此時(shí)寄存器等于30,這樣只要判斷寄存器里面數(shù)據(jù)為多少,就知道要完成那個(gè)動(dòng)作。當(dāng)需要跳躍動(dòng)作時(shí),可以不再+10,可以加+20+30....,看實(shí)際的需要而定。

為什么加10而不是加1,因?yàn)榧?0之后,如果插入一段,只要在這10個(gè)空余的地方隨便選擇一個(gè)位置就可以了。

5、在設(shè)計(jì)程序的時(shí)候,當(dāng)出現(xiàn)工藝上的故障(非控制系統(tǒng)控制),最好將故障現(xiàn)象保持,并有燈光聲音報(bào)警。直到操作工復(fù)位,以便讓其知道系統(tǒng)出現(xiàn)了故障。不然停機(jī)了,別人還認(rèn)為你的程序出問題了,一般在設(shè)計(jì)一個(gè)新系統(tǒng)時(shí)是要注意到這些。

6、對(duì)于經(jīng)常調(diào)用的子程序,可以做成子模塊,頻繁調(diào)用。

7、由于生產(chǎn)機(jī)械在工作循環(huán)中的各工步運(yùn)動(dòng)在執(zhí)行時(shí)需要一定的時(shí)間,且這些時(shí)間都有一定的限度,因此可以以這些時(shí)間為參考,在要檢測的工步動(dòng)作開始的同時(shí),起動(dòng)一個(gè)定時(shí)器,定時(shí)器的時(shí)間設(shè)定值比正常情況下該動(dòng)作要持續(xù)的時(shí)間長20%~30%,而定時(shí)器的輸出信號(hào)可以用于報(bào)警或自動(dòng)停機(jī)裝置。當(dāng)生產(chǎn)機(jī)械某工步動(dòng)作的時(shí)間超過規(guī)定時(shí)間,達(dá)到對(duì)應(yīng)的定時(shí)器預(yù)置時(shí)間,還未轉(zhuǎn)入下一工步動(dòng)作時(shí)定時(shí)器發(fā)出故障信號(hào),該信號(hào)停止正常工作循環(huán)程序,起動(dòng)報(bào)警或停機(jī)程序,這就是我們常說的超節(jié)拍保護(hù)。

8、一些安全用檢測開關(guān)(如急停按鈕、安全光幕、極限開關(guān)等)實(shí)用常閉(NC)輸入。

9、為安全、節(jié)能考慮,盡量將輸出設(shè)計(jì)成需要?jiǎng)幼鲿r(shí)才動(dòng)作,一旦到位就停止輸出,而不要設(shè)計(jì)成平時(shí)一直輸出,需要停止時(shí)才讓輸出斷開。

10、執(zhí)行元件的動(dòng)作原則應(yīng)當(dāng)是寧可不動(dòng),也不要亂動(dòng)!

11、單臺(tái)設(shè)備控制:單臺(tái)設(shè)備必須有軟手操/自動(dòng)切換以及軟手操時(shí)可以啟/停功能,由自動(dòng)切換到軟手操時(shí),設(shè)備不能停機(jī);由軟手操切換到自動(dòng)時(shí),設(shè)備啟/停取決于自動(dòng)程序。

12、單臺(tái)設(shè)備(泵、風(fēng)機(jī)及其它大型設(shè)備)運(yùn)行滿24小時(shí)必須進(jìn)行輪換,且必須有運(yùn)行時(shí)間累計(jì),如果由上位機(jī)設(shè)定啟/停順序除外,操作人員自行設(shè)定。

PLC程序的命名通用規(guī)則

1、駝峰命令法(CamelCase)

也稱駱駝式命名法,就是當(dāng)變量名或函數(shù)名由一個(gè)或多個(gè)單詞連接在一起構(gòu)成唯一標(biāo)識(shí)符時(shí),作為邏輯斷點(diǎn)的單詞的首字母都采用大寫,例如:“myName”,這樣的變量名或函數(shù)名看上去就像駱駝峰一樣此起彼伏,故得名。駝峰命名法又分為小駝峰法和大駝峰法。

(1)小駝峰法:第一個(gè)單詞首字母小寫,其余單詞首字母大寫。變量一般使用小駝峰法命名。例如:“myName”。

(2)大駝峰法:又稱帕斯卡命名法,即所有單詞首字母大寫。函數(shù)、類,一般使用大駝峰法命名。例如:“MyName”。

2、匈牙利命名法(Hungarian)

開頭字母用變量類型的縮寫,其余部分用變量的英文或英文的縮寫,要求單詞第一個(gè)字母大寫。基本原則:變量名=屬性+類型+對(duì)象描述。例如:Int iMyAge; “i”是“int”類型的縮寫;char cMyName[10]; “c”是“char”類型的縮寫;float fManHeight; “f”是“float”類型的縮寫。

3、帕斯卡命名法(PascalCase)

即前面所述大駝峰命名法。每個(gè)單詞的第一個(gè)字母都大寫。例如:“MyName”。

4、下劃線命名法(UnderScoreCase)

變量名或函數(shù)名的每個(gè)邏輯斷點(diǎn)都有一個(gè)下劃線來標(biāo)記。例如:“my_name”。

三、嵌入式硬件設(shè)計(jì)的注意事項(xiàng)

嵌入式設(shè)計(jì)是個(gè)龐大的工程,今天就說說硬件電路設(shè)計(jì)方面的幾個(gè)注意事項(xiàng),首先,咱們了解下嵌入式的硬件構(gòu)架。

? ? 我們知道,CPU是整個(gè)系統(tǒng)的靈魂,所有的外圍配置都與其相關(guān)聯(lián),這也突出了嵌入式設(shè)計(jì)的一個(gè)特點(diǎn)硬件可剪裁。在做嵌入式硬件設(shè)計(jì)中,以下幾點(diǎn)需要關(guān)注。
1、電源的確定

? ? 電源對(duì)于嵌入式系統(tǒng)中的作用可以看做是空氣對(duì)人體的作用,甚至更重要:人呼吸的空氣中有氧氣、二氧化碳和氮?dú)獾鹊呛糠€(wěn)定,這就相當(dāng)于電源系統(tǒng)中各種雜波,我們希望得到純凈和穩(wěn)定符合要求的電源,但由于各種因素制約,只是我們的夢(mèng)想。這個(gè)要關(guān)注兩個(gè)方面:
a、電壓
? ? 嵌入式系統(tǒng)需要各種量級(jí)的電源比如常見的5v、3.3v、1.8v等,為盡量減小電源的紋波,在嵌入式系統(tǒng)中使用LDO器件。如果采用DC-DC不僅個(gè)頭大,其紋波也是一個(gè)很頭疼的問題。
b、電流
? ? 嵌入式系統(tǒng)的正常運(yùn)行不但需要穩(wěn)定足夠的電源,還要有足夠的電流,因此在選擇電源器件的時(shí)候需要考慮其負(fù)載,一般留有30%的余量。
? ? 如果是多層板,電源部分在layout的時(shí)候需電源分割,這時(shí)需要注意分割路徑,盡量將一定量的電源放置在一起。如果是雙面板,則走線寬度需要注意,在板子允許的情況下盡量加寬。合適的退耦電容盡量靠近電源管腳。
2、晶振的確定

? ? 晶振相當(dāng)于嵌入式系統(tǒng)的心臟,其穩(wěn)定與否直接關(guān)系其運(yùn)行狀態(tài)和通訊性能。常見的振有無源晶振,有源晶振,首先要確定其振蕩頻率,其次要確定晶振類型。
a、無源晶振
? ? 其匹配電容和匹配電阻的選擇,這部分一般依據(jù)參考手冊(cè)。在單片機(jī)設(shè)計(jì)中,經(jīng)常使用插件晶振配合瓷片電容。在ARM中,為了減少空間和便于布線,經(jīng)常使用四角無源晶振配合貼片電容。
? ? 雖然我們對(duì)于固定晶振的匹配電路比較熟悉,但是為了達(dá)到萬無一失,還是要看參考手冊(cè)確定電容大小,是否需要匹配電阻等細(xì)節(jié)。
b、有源晶振
? ? 具有更好的更準(zhǔn)確的時(shí)鐘信號(hào),但是相比之下,比無緣晶振價(jià)格高,因此這也是在硬件電路設(shè)計(jì)中需要關(guān)注的成本。在做電路板設(shè)計(jì)時(shí)需要注意晶振走線盡量靠近芯片,關(guān)鍵信號(hào)遠(yuǎn)離時(shí)鐘走線。
? ? 在條件允許的情況下增加接地保護(hù)環(huán)。如果是多層板,也要講關(guān)鍵信號(hào)遠(yuǎn)離晶振的走線。
3、預(yù)留測試IO口

? ? 在嵌入式調(diào)試階段,在管腳資源豐富的情況下,我通常預(yù)留一個(gè)IO口連接led或者喇叭,為下一步軟件的編寫做鋪墊。在嵌入式系統(tǒng)運(yùn)行過程中適當(dāng)控制該IO接口,從而判斷系統(tǒng)是否正常運(yùn)行。
4、外擴(kuò)存儲(chǔ)器

? ? 一個(gè)嵌入式系統(tǒng)如果有電源、晶振和CPU,那么這就是我們熟悉的最小系統(tǒng)。如果該嵌入式系統(tǒng)需要運(yùn)行大點(diǎn)的操作系統(tǒng),那么不但需要CPU具有MMU,CPU還需要外接SDRAM和NANDFLASH。

?如果該cpu具有SDRAM和NANDFLASH控制器,那么在硬件設(shè)計(jì)上不用過多的考慮地址線的使用。如果沒有相關(guān)的控制器,那么需要注意地址線的使用。
? ? 這部分在LAYOUT的時(shí)候是一個(gè)重點(diǎn),究其原因就是要使相關(guān)信號(hào)線等長以確保信號(hào)的延時(shí)相等,時(shí)鐘和DQS的差分信號(hào)線走線。在布線的時(shí)候各種布線技巧需要綜合使用,例如與cpu對(duì)稱分布,菊花鏈布線、T型布線,這都需要依據(jù)內(nèi)存的個(gè)數(shù)多少來進(jìn)行選擇,一般來說個(gè)數(shù)越多,布線越復(fù)雜,但是知道其關(guān)鍵點(diǎn),一切迎刃而解。
5、功能接口

? ? 一個(gè)嵌入式系統(tǒng)最重要的就是通過各種接口來控制外圍模塊,達(dá)到設(shè)計(jì)者預(yù)設(shè)的目的。常用的接口有串口(可用來連接藍(lán)牙,wifi和4G等模塊),USB接口、網(wǎng)絡(luò)接口、JTAG接口、音視頻接口、HDMI接口等等。
? ? 由于這些接口與外部模塊連接,做好電磁兼容設(shè)計(jì)是重要的一項(xiàng)工作。除此之外,在LAYOUT的時(shí)候注意差分線的使用。
6、屏幕

? ? 這個(gè)功能之所以單獨(dú)列出來,是由于其可有可無。如果一個(gè)嵌入式系統(tǒng)只是作為一個(gè)連接器連接外圍設(shè)備模塊,通過相關(guān)接口連接到電腦主機(jī)或者直接掛在網(wǎng)絡(luò)上,那么屏幕就不需要了。
? ? 但是如果做出來的是一個(gè)消費(fèi)類產(chǎn)品,與用戶交互頻繁,這就不得不嘮叨幾句。電容屏幕是嵌入式屏幕的主要部件,在電路設(shè)計(jì)中需要注意觸屏連接線和顯示屏連接線的布局。
? ? 在走線的過程中盡量短的靠近主控cpu,同時(shí)注意配對(duì)信號(hào)走差分線,RGB控制信號(hào)走等長。各種信號(hào)走線間距遵循3W規(guī)則,避免相互干擾。在屏幕的設(shè)計(jì)中,一定要確保功率和防止干擾,以防屏幕閃屏和花屏現(xiàn)象的出現(xiàn)。

總結(jié)

以上是生活随笔為你收集整理的嵌入式分享合集75的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。