1. plc與C語言有什麼關系啊!
PLC與C語言一點關系都沒有
PLC是一種專門為在工業環境下應用而設計的數字運算操作的電子裝置。它採用可以編制程序的存儲器,用來在其內部存儲執行邏輯運算、順序運算、計時、計 數和算術運算等操作的指令,並能通過數字式或模擬式的輸入和輸出,控制各種類型的機械或生產過程。PLC及其有關的外圍設備都應該按易於與工業控制系統形 成一個整體,易於擴展其功能的原則而設計。
目前,PLC在國內外已廣泛應用於鋼鐵、石油、化工、電力、建材、機械製造、汽車、輕紡、交通運輸、環保及文化娛樂等各個行業,使用情況大致可歸納為如下幾類。
3.1開關量的邏輯控制
這是PLC最基本、最廣泛的應用領域,它取代傳統的繼電器電路,實現邏輯控制、順序控制,既可用於單台設備的控制,也可用於多機群控及自動化流水線。如注塑機、印刷機、訂書機械、組合機床、磨床、包裝生產線、電鍍流水線等。
3.2模擬量控制
在工業生產過程當中,有許多連續變化的量,如溫度、壓力、流量、液位和速度等都是模擬量。為了使可編程式控制制器處理模擬量,必須實現模擬量(Analog) 和數字量(Digital)之間的A/D轉換及D/A轉換。PLC廠家都生產配套的A/D和D/A轉換模塊,使可編程式控制制器用於模擬量控制。
3.3運動控制
PLC可以用於圓周運動或直線運動的控制。從控制機構配置來說,早期直接用於開關量I/O模塊連接位置感測器和執行機構,現在一般使用專用的運動控制模 塊。如可驅動步進電機或伺服電機的單軸或多軸位置控制模塊。世界上各主要PLC廠家的產品幾乎都有運動控制功能,廣泛用於各種機械、機床、機器人、電梯等 場合。
3.4過程式控制制
過程式控制制是指對溫度、壓力、流量等模擬量的閉環控制。作為工業控制計算機,PLC能編制各種各樣的控制演算法程序,完成閉環控制。PID調節是一般閉環控制 系統中用得較多的調節方法。大中型PLC都有PID模塊,目前許多小型PLC也具有此功能模塊。PID處理一般是運行專用的PID子程序。過程式控制制在冶 金、化工、熱處理、鍋爐控制等場合有非常廣泛的應用。
3.5數據處理
現代PLC具有數學運算(含矩陣運算、函數運算、邏輯運算)、數據傳送、數據轉換、排序、查表、位操作等功能,可以完成數據的採集、分析及處理。這些數據 可以與存儲在存儲器中的參考值比較,完成一定的控制操作,也可以利用通信功能傳送到別的智能裝置,或將它們列印製表。數據處理一般用於大型控制系統,如無 人控制的柔性製造系統;也可用於過程式控制制系統,如造紙、冶金、食品工業中的一些大型控制系統。
3.6通信及聯網
PLC通信含PLC間的通信及PLC與其它智能設備間的通信。隨著計算機控制的發展,工廠自動化網路發展得很快,各PLC廠商都十分重視PLC的通信功能,紛紛推出各自的網路系統。新近生產的PLC都具有通信介面,通信非常方便。
PLC軟體系統由系統程序和用戶程序兩部分組成。系統程序包括監控程序、編譯程序、診斷程序等,主要用於管理全機、將程序語言翻譯成機器語言,診斷機器故 障。系統軟體由PLC廠家提供並已固化在EPROM中,不能直接存取和干預。用戶程序是用戶根據現場控制要求,用PLC的程序語言編制的應用程序(也就是 邏輯控制)用來實現各種控制。STEP7是用於SIMATIC可編程邏輯控制器組態和編程的標准軟體包,也就是用戶程序,我們就是使用STEP7來進行硬 件組態和邏輯程序編制,以及邏輯程序執行結果的在線監視。
3.2 PLC提供的編程語言
3.2.1 標准語言梯形圖語言也是我們最常用的一種語言,它有以下特點
3.2.1.1 它是一種圖形語言,沿用傳統控制圖中的繼電器觸點、線圈、串聯等術語和一些圖形符號構成,左右的豎線稱為左右母線。
3.2.1.2 梯形圖中接點(觸點)只有常開和常閉,接點可以是PLC輸入點接的開關也可以是PLC內部繼電器的接點或內部寄存器、計數器等的狀態。
3.2.1.3 梯形圖中的接點可以任意串、並聯,但線圈只能並聯不能串聯。
3.2.1.4 內部繼電器、計數器、寄存器等均不能直接控制外部負載,只能做中間結果供CPU內部使用。
3.2.1.5 PLC是按循環掃描事件,沿梯形圖先後順序執行,在同一掃描周期中的結果留在輸出狀態暫存器中所以輸出點的值在用戶程序中可以當做條件使用。
3.2.2 語句表語言,類似於匯編語言。
3.2.3 邏輯功能圖語言,沿用半導體邏輯框圖來表達,一般一個運算框表示一個功能左邊畫輸入、右邊畫輸出。
2. 搞電子專業的.我需要掌握些什麼必要的知識.會用那些系統軟體工具
掌握了一下的硬體和軟體知識,基本上就可以成為一個合格的電子工程師:
第一部分:硬體知識
一、 數字信號
1、 TTL和帶緩沖的TTL信號
2、 RS232和定義
3、 RS485/422(平衡信號)
4、 干接點信號
二、 模擬信號視頻
1、 非平衡信號
2、 平衡信號
三、 晶元
1、 封裝
2、 7407
3、 7404
4、 7400
5、 74LS573
6、 ULN2003
7、 74LS244
8、 74LS240
9、 74LS245
10、 74LS138/238
11、 CPLD(EPM7128)
12、 1161
13、 max691
14、 max485/75176
15、 mc1489
16、 mc1488
17、 ICL232/max232
18、 89C51
四、 分立器件
1、 封裝
2、 電阻:功耗和容值
3、 電容
1) 獨石電容
2) 瓷片電容
3) 電解電容
4、 電感
5、 電源轉換模塊
6、 接線端子
7、 LED發光管
8、 8字(共陽和共陰)
9、 三極體2N5551
10、 蜂鳴器
五、 單片機最小系統
1、 單片機
2、 看門狗和上電復位電路
3、 晶振和瓷片電容
六、 串列介面晶元
1、 eeprom
2、 串列I/O介面晶元
3、 串列AD、DA
4、 串列LED驅動、max7129
七、 電源設計
1、 開關電源:器件的選擇
2、 線性電源:
1) 變壓器
2) 橋
3) 電解電容
3、 電源的保護
1) 橋的保護
2) 單二極體保護
八、 維修
1、 電源
2、 看門狗
3、 信號
九、 設計思路
1、 電源:電壓和電流
2、 介面:串口、開關量輸入、開關量輸出
3、 開關量信號輸出調理
1) TTL―>繼電器
2) TTL―>繼電器(反向邏輯)
3) TTL―>固態繼電器
4) TTL―>LED(8字)
5) 繼電器―>繼電器
6) 繼電器―>固態繼電器
4、 開關量信號輸入調理
1) 干接點―>光耦
2) TTL―>光耦
5、 CPU處理能力的考慮
6、 成為產品的考慮:
1) 電路板外形:大小尺寸、異形、連接器、空間體積
2) 電路板模塊化設計
3) 成本分析
4) 器件的冗餘度
1. 電阻的功耗
2. 電容的耐壓值等
5) 機箱
6) 電源的選擇
7) 模塊化設計
8) 成本核算
1. 如何計算電路板的成本?
2. 如何降低成本?選用功能滿足價格便宜的器件
十、 思考題
1、 如何檢測和指示RS422信號
2、 如何檢測和指示RS232信號
3、 設計一個4位8字的顯示板
1) 電源:DC12
2) 介面:RS232
3) 4位3」8字(連在一起)
4) 亮度檢測
5) 二級調光
4、 設計一個33位1」8字的顯示板
1) 電源:DC5V
2) 介面:RS232
3) 3排 11位8字,分4個、3個、4個3組,帶行與行之間帶間隔
4) 單片機最小系統
5) 解碼邏輯
6) 顯示驅動和驅動器件
5、 設計一個PCL725和MOXA C168P的介面板
1) 電源:DC5V
2) 介面:PCL725/MOXA 8個RS232
1. PCL725,直立DB37,孔
2. MOXA C168P,DB62彎
3) 開關量輸出信號調理:6個固態繼電器和8個繼電器,可以被任何一路信號控制和驅動,介面:固態繼電器5.08直立,繼電器3.81直立
4) 開關量輸入調理:干接點閉合為1或0可選,介面:3.81直立
5) RS232調理:
1. LED指示
2. 前4路RS232全信號,後4路只需要TX、RX、0
3. 無需光電隔離
4. 介面形式:DB9(針)直立
第二部分:軟體知識
一、 匯編語言
二、 C51
該部分可以從市場上買到的N種開發板上學到,至於第一部分,需要人來帶吧。
為什麼要掌握這些知識?
實際上,電子工程師就是將一堆器件搭在一起,注入思想(程序),完成原來的這
些器件分離時無法完成的功能,做成一個成品。所需要的技能越高、功能越復雜、
成本越低、市場上對相應的東東的需求越大,就越成功。這就是電子工程師的自身
的價值。從成本到產品售出,之間的差價就是企業的追求。作為企業的老闆,是在
市場上去尋找這樣的應用;對電子工程師而言,是將老闆提出的需求或者應用按照
一定的構思原則(成本最低、可靠性最高、電路板最小、功能最強大等)在最短的
時間內完成。最短的時間,跟電子工程師的熟練程度、工作效率和工作時間直接有
關。這就是電子工程師的價值。
將電子產品抽象成一個硬體的模型,大約有以下組成:
1) 輸入
2) 處理核心
3) 輸出
輸入基本上有以下的可能:
1) 鍵盤
2) 串列介面(RS232/485/can bus/乙太網/USB)
3) 開關量(TTL,電流環路,干接點)
4) 模擬量(4~20ma、 0~10ma、0~5V(平衡和非平衡信號))
輸出基本上有以下組成:
1) 串列介面(RS232/485/can bus/乙太網/USB)
2) 開關量(TTL、電流環路、干接點、功率驅動)
3) 模擬量(4~20ma, 0~10ma,0~5V(平衡和非平衡信號))
4) LED顯示:發光管、八字
5) 液晶顯示器
6) 蜂鳴器
處理核心主要有:
1) 8位單片機,主要就是51系列
2) 32位arm單片機,主要有atmel和三星系列
51系列單片機現在看來,只能做一些簡單的應用,說白了,這個晶元也就是做單一
的一件事情,做多了,不如使用arm來做;還可以在arm上加一個操作系統,程序既
可靠又容易編寫。
最近三星的arm受到追捧,價格便宜,乙太網和USB的介面也有,周立功的開發系統
也便宜,作為學習ARM的產品來說,應該是最好的;作為工業級的控制,是不是合
適,在網友中有不同的看法和爭議。本公司使用atmel ARM91系列開發的1個室外使
用的產品,在北京室外使用,沒有任何的通風和加熱的措施,從去年的5月份到現
在,運行情況良好。已經有個成功應用的案例。
但對於初學者來說,應該從51著手,一方面,51還是入門級的晶元,作為初學者練
手還是比較好的,可以將以上的概念走一遍;很多特殊的單片機也是在51的核的基
礎上增加了一些I/O和A/D、D/A;也為今後學習更高一級的單片機和ARM打下基礎。
再說了,哪個老闆會將ARM級別的開發放在連51也沒有學過的新手手中?
在51上面去做復雜的並行擴展是沒有必要的,比如,擴展I/O口和A/D、D/A等等,
可以直接買帶有A/D、D/A的單片機;或者直接使用ARM,它的I/O口線口多。可以使
用I2C介面的晶元,擴展I/O口和A/D、D/A,以及SPI介面擴展LED顯示,例如:
MAX7219等晶元。
市面上一些比較古老的書籍中還有一些並行擴展的例子,如:RAM、EPROM、A/D、
D/A等,我覺得已經沒有必要去看了,知道歷史上有這些一回事就行了;
這些知識,是所有產品都具備的要素。所以要學,再具體應用。
說一個小的故事:野人獻曝。
從前,有一個農民,冬天幹了活後,休息曬太陽。好舒服呀。
他想,這么舒服的享受,我要獻給國王,讓他也能得到享受。
於是他興沖沖地到了王宮,將他的寶貴經驗獻給了國王。
我現在就象這個農民,把自己認為很寶貴的經驗獻給大家。希望大家多提寶貴意見
;拍板磚也可以,罵我也無所謂,呵呵,隨便。
第一課:51單片機最小系統
實際上,51單片機核心外圍電路是很簡單的,一個單片機+一個看門狗+一個晶振
+2個磁片電容;
1. 單片機:atmel的89C51系列、winbond的78E52系列,還有philips的系列,都差
不多;現在有一些有ISP(在線下載的),就更好用了;
2. 看門狗:種類很多,我常用的有max691/ca1161和DS1832等,具體看個人習慣、
晶元工作電壓、封裝等。Max系列和DS系列,還有IMP公司的,種類很多,一般只需
要有最基本的功能就可以了;原來我使用max691,但是max691比較貴,因為它有電
池切換功能,後來新設計電路板,就都採用ca1161了。
很早以前的電路設計中,現在可能還有人使用,使用一個電阻和一個電容達成的上
電復位電路;但是,這樣的復位電路一個是不可靠,為什麼不可靠,網路上能找得
到專門論述復位電路的文章;更重要的是,51系列的單片機比較容易受到干擾;沒
有看門狗電路是不行的,當程序跑飛時,回不來了,死在那裡。
常規的做法是買一個專門的看門狗電路,完成復位電路和看門狗電路的功能。
這些晶元的資料很容易在網路上找到,通常使用網路搜索就可以了;看見有PDF的
字樣,就點擊下載;使用網際快車flashget下載也是最好的;
這些資料通常是pdf格式的文件,所以,還需要一個pdf的閱讀器。
網路網址:http://www..com
網際快車下載網址:http://www.skycn.com/soft/879.html
PDF閱讀器下載網址:http://www.chinapdf.com/download.htm
實際上,有了網路和其它的搜索引擎,很方便下載到這些晶元的資料,比光碟還方
便,不需要去到處找。
單片機和單片機抗干擾能力是不一樣的。如果你的產品是工作在干擾比較大的環境
,可以試試選用不同品牌的單片機;原來我在一個光電所,做YAG激光治療機的控
制部分,脈沖激光機的電源放電的時候,能量是很大的,在採取了所有能夠想到的
光電隔離等措施之後,還是不行;後來,選用了intel的8031,就可以了。小聲的
說:當時的philips的單片機抗干擾性能是最差的,可能跟Philips主要是用在民用
領域有關。現在不知道怎麼樣了,有人知道的話告訴我。
單片機的輸入輸出口線是最容易引進干擾的地方;在嚴重干擾的情況下,需要將所
有的口線光電隔離。
3. 晶振:一般選用11.0592M,因為可以准確地得到9600波特率和19200波特率;也
可以使用36.864M,這個頻率是1.8432M的20倍,看別人的電路板上用過,我也沒有
用到。這2種晶振很容易買到,價錢跟12M的一樣。書上說,12M的晶振也能得到
9600的波特率,但是,實際用的時候,會每隔一段時間就出錯一次,好像累積誤差
一樣,比較奇怪。
即使你的單片機系統不使用RS232介面,也可以做一個Rs232,留著做測試,或者預
留等等,沒有壞處。除非你的單片機系統的口線不夠用了。
4. 磁片電容:22pf~30pf,可以在有些書上找到什麼晶振頻率對應什麼容量的磁
片電容,但是,我都是隨便拿來使用,反正在11.0592M下,都沒有問題;如果你用
到了更高的頻率,最好還是找找資料看看。
參見以下電路圖:
如果你的單片機系統沒有工作,檢查步驟如下:
1. 查看門狗的復位輸出,可能的話在電路板上加一個LED,下拉,這樣看起來就更
方便;要是看門狗復位信號有,往下;
2. 查單片機,看看管腳有沒有問題;一般編程器能夠將程序寫入,說明單片機是
好的;最好手頭上准備一個驗證過的單片機,內部有一個簡單的程序,比如,在某
個口線上輸出1個1秒占空比的方波等,可以使用萬用表測量。
加一句:設計產品時,要在關鍵的地方:電源、串口、看門狗的輸出和輸入、I/O
口等加不同顏色的LED指示,便於調試;作為批量大的產品,可以去掉部分LED,一
方面是降低成本、一方面是流程保密;
3. 再查磁片電容,有些瓷片電容質量不行,乾脆換了;順便說一下,換器件最好
使用吸錫帶,將焊盤內的錫吸干凈,再將器件拔出,這樣不會損傷焊盤內的過孔;
再將新的瓷片電容焊接上去的時候,用萬用表量量是好的再焊;
4. 最後只有換晶振了;切記要買好的晶振,有些品牌質量比較好。
5. 以上按照以上步驟檢測時,將無關的外圍晶元去掉;因為有一些是外圍器件的
故障導致單片機最小系統沒有工作。
第二課 基本的晶元和分立器件
2.1 簡述
2.2 74系列
2.3 CD4000系列
2.4 光耦與光電管
2.5 三極體
2.6 電容電阻
2.7 固態繼電器
2.8 繼電器
2.9 變壓器和三端穩壓器
2.10 開關電源晶元
2.11 封裝知識、晶元批號等
2.12 接插件
2.13 器件選購的知識
第三課 數字量的輸入輸出
第四課 單片機的通訊介面
第五課 單片機系統設計的硬體構思
第六課 單片機程序的框架(匯編版本)
第七課 模擬量的輸入輸出
……
各位多提寶貴意見。
保證實用。如果程序裡面有一些常式,也是已經經過測試可以拿來就用的;實際上
是我早年的一些產品的程序的一部分;不好意思,都是匯編的。
寫的時間只有周末會多一些,可以保證做到一周一課;盡量能夠提前,但是這要看
看工作忙不忙了。
坊間有一些參考書,准備今天上午到北京中發市場轉了一圈,我記得以下參考書目
較好:
1. 周航慈:《單片機程序設計》
2. 徐涵芳:《MCS-51單片機結構與設計》
3. 何立民:《......》
有了這些就基本夠用了;其它的很多都是資料的翻譯;如果英文不好,可以看看;
英文好的話,可以不必了,省電錢買開發系統和編程器、開發板什麼的,需要什麼
資料直接下載PDF文件好了。
要想成為電子工程師,需要寬頻,在家裡安裝包月的adsl或者長寬,絕對值得。
實際上,網路上什麼都有了,就是一個網路資料庫,要好好利用。
網上自有黃金屋,網上自有顏如玉……
第二課 基本的晶元和分立器件
2.1 簡述
有必要對以下系列的晶元和分立器件進行介紹。
除了單片機作為控制器的核心外,作為一個產品,由很多東西構成;所以,在講系
統之前,先將這些零零碎碎的東西一並交待。就好像一棟房子,有各種各樣的構件
組成,下面的這些東東就像磚瓦一樣,沒有不行。
2.2 74系列晶元
74系列的晶元的下載地址:
http://www.dainau.com/TTLDATASHEET.htm
http://www.100y.com.tw/asp/class36_40.htm
http://www.mcu51.com/download/digitpdf/74xx/default.htm
74系列的晶元是古老的一族,大部分的晶元現在均已不用了,但是,實際上,在目
前的系統中,還能看到一些晶元,有些晶元現在還在系統中使用,例如:
1、 7404 – 6個反相門
下載地址:
http://www.hqew.com/document/detail.asp?pdid=125533
將輸入的TTL邏輯反相,如:0->1,1->0
2、 7407 – 6個集電極開路門
下載地址:
http://www.hqew.com/document/detail.asp?pdid=125518
由於集電極開路門可以外接高電壓,可以最高到DC30V,電流最大到39mA,通常我
用它驅動8字數碼管和繼電器等大電流的負載;開路門內部結構是達林頓管的,輸
出的邏輯是正的;
與其類似的晶元是7406,只不過是反相開路門。
3、 74LS573與74LS373 – 8 數據鎖存器
74LS373下載地址:
http://www.hqew.com/document/detail.asp?pdid=129171
74LS573下載地址:
http://www.yddz.net/yddzsourse/pdf/74hc573.pdf
引入幾個概念:
1. 真值表
參見74LS373的PDF的第2頁:
Dn LE OE On
H H L H
L H L L
X L L Qo
X X H Z
這個就是真值表,表示這個晶元在輸入和其它的情況下的輸出情況。
每個晶元的數據手冊(datasheet)中都有真值表。
布爾邏輯比較簡單,在此不贅述;
2. 高阻態
就是輸出既不是高電平,也不是低電平,而是高阻抗的狀態;在這種狀態下,可以
多個晶元並聯輸出;但是,這些晶元中只能有一個處於非高阻態狀態,否則會將芯
片燒毀;
高阻態的概念在RS232和RS422通訊中還可以用到。
3. 數據鎖存
當輸入的數據消失時,在晶元的輸出端,數據仍然保持;
這個概念在並行數據擴展中經常使用到。
4. 數據緩沖
加強驅動能力。74LS244/74LS245/74LS373/74LS573都具備數據緩沖的能力。
OE:output_enable,輸出使能;
LE:latch_enable,數據鎖存使能,latch是鎖存的意思;
Dn:第n路輸入數據;
On:第n路輸出數據;
再看這個真值表,意思如下:
第四行:當OE=1是,無論Dn、LE為何,輸出端為高阻態;
第三行:當OE=0、LE=0時,輸出端保持不變;
第二行第一行:當OE=0、LE=1時,輸出端數據等於輸入端數據;
結合下面的波形圖,在實際應用的時候是這樣做的:
a. OE=0;
b. 先將數據從單片機的口線上輸出到Dn;
c. 再將LE從0->1->0
d. 這時,你所需要輸出的數據就鎖存在On上了,輸入的數據在變化也影響不到輸
出的數據了;實際上,單片機現在在忙著干別的事情,串列通信、掃描鍵盤……單
片機的資源有限啊。
在單片機按照RAM方式進行並行數據的擴展時,使用movx @dptr, A這條指令時,這
些時序是由單片機來實現的。
後面的表格中還有需要時間的參數,你不需要去管它,因為這些參數都是幾十ns級
別的,對於單片機在12M下的每個指令周期最小是1us的情況下,完全可以實現;如
果是你自己來實現這個邏輯,類似的指令如下:
mov P0,A ;將數據輸出到並行數據埠
clr LE
setb LE
clr LE ;上面三條指令完成LE的波形從0->1->0的變化
74ls573跟74LS373邏輯上完全一樣,只不過是管腳定義不一樣,數據輸入和輸出端
各在一側,PCB容易走線;所以大家都喜歡使用這個晶元。
4、 74LS244 – 數據緩沖器
下載地址:
http://www.mcu51.com/download/digitpdf/74xx/74F244.pdf
數據輸出能力比較強,輸出電流可以到40mA以上;
4個緩沖器分成2組,具有高阻態控制埠
5、 74LS245 – 匯流排緩沖器
http://www.mcu51.com/download/digitpdf/74xx/74F245.pdf
雙向數據介面,通常在ISA板卡上可以看到;
早期的51系統中,為了擴展RAM、eprom、A/D、D/A、I/O等經常可以看到這個片子
;
為了增強驅動能力,有時是為了隔離輸入和輸出,主要是布線方便,象74LS573一
樣,輸入、輸出在一側,經常用到這個片子
6、 74LS138 – 三-八解碼器
http://www.mcu51.com/download/digitpdf/74xx/74F138.pdf
在早期的51系統的擴展中,作為地址選通的片子,可以經常看到。
另外一個類似的晶元是74LS154,是4-16解碼器,現在更是少見了。
有興趣的可以研究一下何立民的經典著作中的有關章節。
知道有這么一個晶元就可以了。
2.3 CD4000系列
CD4000系列的晶元,除了跟74系列的電氣特性有所區別外,例如:
1) 電壓范圍寬,應該可以工作在3V~15V,輸入阻抗高,驅動能力差外,跟74系列
的功能基本沒有區別;
2) 輸入時,1/2工作電壓以下為0,1/2工作電壓以上為1;
3) 輸出時,1=工作電壓;0=0V
4) 驅動能力奇差,在設計時最多隻能帶1個TTL負載;
5) 如果加上拉電阻的話,至少要100K電阻;
6) 唯一現在使用的可能就是計數器,CD4060的計數器可以到14級二進制串列計數/
分頻器,這個74系列的做不到這么高;
下載地址:
http://www.100y.com.tw/asp/class36_40.htm
http://www.100y.com.tw/pdf_file/CD4060.PDF
2.4 ULN2003/ULN2008
它的內部結構也是達林頓的,專門用來驅動繼電器的晶元,甚至在晶元內部做了一
個消線圈反電動勢的二極體。ULN2003的輸出端允許通過IC 電流200mA,飽和壓降
VCE 約1V左右,耐壓BVCEO 約為36V。用戶輸出口的外接負載可根據以上參數估算
。採用集電極開路輸出,輸出電流大,故可以直接驅動繼電器或固體繼電器(SSR)
等外接控制器件,也可直接驅動低壓燈泡。
經常在工控的板卡中見到這個晶元。
有個完全一樣的型號:MC1413,不過現在好像不怎麼見到這個型號了,但是管腳與
2003完全兼容。
ULN2003可以驅動7個繼電器;ULN2008驅動8個繼電器。
ULN2003下載地址:
http://www.hqew.com/document/detail.asp?pdid=148212
ULN2008下載地址:
沒有找到。奇怪啊。
2.5 光耦
光耦是做什麼用的?光耦是用來隔離輸入輸出的,主要是隔離輸入的信號。
在各種應用中,往往有一些遠距離的開關量信號需要傳送到控制器,如果直接將這
些信號接到單片機的I/O上,有以下的問題:
1) 信號不匹配,輸入的信號可能是交流信號、高壓信號、按鍵等干接點信號;
2) 比較長的連接線路容易引進干擾、雷擊、感應電等,不經過隔離不可靠
所以,需要光耦進行隔離,接入單片機系統。
常見的光耦有:
1) TLP521-1/ TLP521-2/ TLP521-4,分別是1個光耦、2個光耦和4個光耦,HP公司
和***的東芝公司生產。
下載地址:
http://www.100y.com.tw/pdf_file/TLP521-1-2,4.PDF
發光管的工作電流要在10mA時,具有較高的轉換速率;
在5V工作時,上拉電阻不小於5K,一般是10K;太小容易損壞光耦;
2) 4N25/4N35,motorola公司生產
下載地址:
http://www.100y.com.tw/pdf_file/4N25-8,35-7,H11A1-5.PDF
隔離電壓高達5000V;
3) 6N136,HP公司生產
下載地址:
http://www.100y.com.tw/pdf_file/6N135-6.PDF
要想打開6N136,需要比較大的電流,大概在15~20mA左右,才能發揮高速傳輸數據
的作用。
如果對速率要求不高,其實TLP521-1也可以用,實際傳輸速率可以到19200波特率
。
選擇光耦看使用場合,tlp521-1是最常用的,也便宜,大概0.7~1元;
要求隔離電壓高的,選用4N25/4N35,大概在3元左右;
要求在通訊中高速傳輸數據的,選用6N136,大概在4元左右。
光耦應用的原理框圖如下所示:
1. 輸入干接點隔離
2. 輸入TTL電平隔離
3. 輸入交流信號隔離
4. 輸出RS232信號隔離
5. 輸出RS422信號隔離
光耦除了隔離數字量外,還可以用來隔離模擬量。將在今後的章節中描述。
2.6 三極體
2.7 光電管
2.8 電容
2.9 電阻
2.10 固態繼電器
2.11 繼電器
2.12 變壓器與整流橋
2.13 三端穩壓器
2.14 開關電源晶元
2.15 封裝知識、晶元批號等
2.16 接插件
2.17 器件選購的知識
2.6 三極體
2.6.1 三極體的4種工作狀態
1) 飽和導通狀態
飽和導通=0
2) 截止狀態
飽和導通=1
3) 線性放大狀態
作為低頻放大器時使用,具體的可參見有關電子線路的書籍;
4) 非線性工作狀態
在無線電通信系統中,作為混頻器等使用。具體的可參見有關電子線路的書籍;
愚記得南京工學院也就是現在的東南大學在80年代初期有一套《電子線路》5本,
是電子專業的書籍,比較難懂;現在,即使是在電子專業的學生中,也應該降低了
對三極體的哪些復雜的參數的要求了吧;在實際使用時,即使是模擬電路、非線性
電路,也都是集成電路了,誰還使用三極體自己做呢?如果萬一需要,現學也來得
及。這套書很強的。編寫人在那個年代肯定都是牛人。
學三極體這些參數很繁瑣的,要是現在的非電子類的大學生或者大專生們還學這些
玩意,我只能說是學校在誤人子弟了。
好多學校都在擴招,很多學生念了4年下來,學了一堆過時的理論,跟實際的東西
一點沒有接軌,不知道7407是干什麼用得,不知道三極體的幾個狀態;我只能無話
可說。
所以,念了4年下來,跟企業的需求還有一段距離,還需要從頭來過;聰明的學生
趕緊抓住機會去學習,去實習,這樣,還可以趕緊補上實際應用的這一課。
言歸正傳。
參見下圖:
當單片機的口線輸出電平為1時,三極體的be結導通,ce結導通,輸出的電壓值為
0V;
當單片機的口線輸出電平為0時,三極體的be結不導通,ce結截止,輸出的電壓值
為5V;
在這種數字電路的應用中,相當於三極體是一個反相開路門。
計算是否導通,公式如下:
I=B(放大倍數,希臘字母的貝塔)×Ibe
當Ice<I時,即為飽和導通;
相差越大,飽和程度越深,Vce越小,三極體的輸出內阻越小;
這個概念要用到光電管中。
設計使用時大概算算,心裡有個數;在電路板上試試,行的通,那就是它了。可以
測量Vce值,至少要小於0.1V就可以了。
常用的PNP三極體是2N5551,驅動40mA的LED(電壓在24V)、蜂鳴器等均沒有問題
。
2.6.2 三極體的具體應用
實際上,已經有象7407、ULN2003可以取代三極體在數字電路中的作用;但是,有
時是受到PCB面積的制約,有時是為了降低成本,有時是因為布局方便,在1~2個輸
出點時,還是可以使用三極體來做驅動的。
例如:驅動一個蜂鳴器;往往系統中的蜂鳴器跟其它驅動設備,繼電器等,距離較
遠;這時,沒有必要使用一片7407,或者ULN2003來驅動;驅動的介面如下:
Re:從51初學者到電子工程師(轉帖)
2.7 光電管
我這里所謂的光電管有2種:
1) 反射型光電管
2) 對射型光電管
這2種產品在市場上又可分為調理好的和沒有調理好的;
這2種光電管在電子產品世界和電子技術應用雜志上都有大量的廣告。隨便找一本
都有。
我所說的調理好的指的是內部已經加了限流電阻和輸出的放大驅動電路了。它的特
點是只有3根線,電源2根,輸出信號一根,TTL電平的;但是,有時受到某種限制
,需要使用沒有調理好的,怎麼辦呢?
參見下圖:光電管原理框圖
這種沒有調理好的光電管在使用時,需要做一塊小的電路板,在發光管加限流電
3. 編程要學啥要掌握哪些可以找工作
可以先從《微機原理與匯編技術》學習,有了基本的計算機基礎,你才會對整個計算機編程的原理以及來龍去脈有個大致的了解。
然後把C語言學好,可以不要求精通,但是一定要掌握的全面一點。C語言的編碼軟體很多,比如borland C,網上很多,網路可以找到。
可以接觸Borland C Builder V6.0。學習的教材有 「C++程序設計譚浩強100%25完整·清華大學」,網上有其電子書。第三部學好C++之後,可以陸續瀏覽下C#,VB之類的高級語言。
把握好心態,准備學習電腦編程。了解一下電腦發展史,如果想學匯編的話就需要大量的記憶,適合記性好,而且很用功的。
首先會教你C語言的編程格式和注意事項,記住一個標點符號都不能錯。其次就開始考驗你的數學功底,開始編一下簡單的邏輯程序,再然後就要考驗你的思路。
大概一個月左右學習完C語言,才開始真正學習編程,這時在C語言牢靠的功底下一切就簡單多了,只是換了一個編程格式和其它編程工具。
4. 西門子PLC用什麼語言編程,用梯形圖么還是什麼語言
西門子PLC支持以下編程語言,包括梯形圖:
1、順序功能圖
西門子STEP7的編程語言為圖形。這是在其他編程語言之上的一種圖形語言,用於編程順序控製程序(如機械手控製程序)。在撰寫本文時,該過程被分為幾個連續的步驟,每個步驟包括控制輸出的動作,並且通過改變條件來控制從一個步驟到另一個步驟的過渡,這特別適合於生產和製造過程。
2、梯形圖
這是應用最廣泛的PLC編程語言,由於它與繼電器相似,特別適用於數字邏輯控制。梯形圖由觸點、線圈和用方框表示的指令組成。
觸點代表邏輯輸入條件,線圈代表邏輯操作結果,常用指示燈、開關和內部標志。指令框用於表示附加指令,如計時器、計數器或數學運算。在程序中,最左邊的是主信號流,它總是從左向右流動。
3、語句表
是一種類似於微機匯編語言的文本編程語言,由若干語句組成。語言表適合有經驗的程序員使用。可以實現一些梯形圖無法實現的功能。
4、功能塊圖
功能塊圖使用類似於布爾數的圖形邏輯符號來表示控制邏輯,指令塊表中顯示了一些復雜的函數,適用於具有數字電路基礎的程序員。
(4)電子負載編程開發用什麼語言擴展閱讀:
西門子PLC安裝及注意事項:
1、輔助電源功率小,只能驅動小功率設備(光電感測器等);
2、一般來說,PLC有一定數量的佔有點(即空地址終端),不接電線;
3、PLC存在I/O響應延遲的問題,特別是在快速響應設備中;
4、輸出有繼電器型、晶體管型(高速輸出時最好選擇),輸出可直接帶輕載(LED指示燈等);
5、輸入或斷開時間應大於PLC掃描時間;
6、由於PLC輸出迴路無保護,所以外部迴路應串聯使用熔斷器等保護裝置,防止PLC因負載短路而損壞;
7、不要將交流電源線連接到輸入端,以免燒毀可編程邏輯控制器;
8、接地端子應單獨接地,不得與其他設備接地端子串接,接地線切割面不小於2mm2;
9、輸入、輸出信號線應盡量分開,不得與電源線在同一管線內或捆綁在一起,以免干擾信號和誤操作;信號傳輸線應採用屏蔽線,屏蔽線應接地;為保證信號可靠,輸入、輸出線一般控制在20米以內。
參考資料來源:網路-西門子PLC
5. java可以開發什麼項目
Java是一種可以撰寫跨平台應用程序的面向對象的程序設計語言。Java 技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網等領域
1、Java SE(Java Platform,Standard Edition)。Java SE 以前稱為J2SE。它允許開發和部署在桌面、伺服器、嵌入式環境和實時環境中使用的Java應用程序。Java SE 包含了支持Java Web 服務開發的類,並為Java Platform,Enterprise Edition(Java EE)提供基礎。
2、Java EE(Java Platform,Enterprise Edition)。這個版本以前稱為J2EE。企業版本幫助開發和部署可移植、健壯、可伸縮且安全的伺服器端 Java 應用程序。Java EE 是在Java SE 的基礎上構建的,它提供Web 服務、組件模型、管理和通信API,可以用來實現企業級的面向服務體系結構(service-oriented architecture,SOA)和Web 2.0 應用程序。
3、Java ME(Java Platform,Micro Edition)。這個版本以前稱為J2ME,也叫K-JAVA。Java ME 為在移動設備和嵌入式設備(比如手機、PDA、電視機頂盒和列印機)上運行的應用程序提供一個健壯且靈活的環境。Java ME 包括靈活的用戶界面、健壯的安全模型、許多內置的網路協議以及對可以動態下載的連網和離線應用程序的豐富支持。基於Java ME 規范的應用程序只需編寫一次,就可以用於許多設備,而且可以利用每個設備的本機功能
4、Android是第一個內置支持Java的操作系統,Android應用程序使用Java語言編寫。Android開發水平的高低很大程度上取決於Java語言核心能力是否扎實。另外一方面,3G應用往往會和企業級應用相互結合。因此,在3G—Android課程體系中將Android課程與Java EE課程緊密結合,以Android課程為主,以Java EE課程為輔,配合真實的企業級項目,不但可以深入掌握基於Android平台的智能手機開發技術,更重要的是還系統掌握了智能移動終端與Java EE伺服器端相結合的諸多領域商業的應用
6. Java開發主要都學些什麼內容
學習內容大致可分為以下10點,都是我從動力節點自學教程里學習的時候總結出來的,但java編程日新月異,每天都在變化,即便現在掌握了一些知識也不要驕傲,更要跟上技術發展的步伐,實時更新。
1、Java語言
Java語言體系比較龐大,包括多個模塊。從WEB項目應用角度講有JSP、Servlet、JDBC、JavaBean(Application)四部分技術。
(1)、Java Database Connectivity(JDBC)技術
在Java Web應用開發中,資料庫管理系統(RDBMS)的使用是不可缺少的。JDBC(Java Database Connectivity) 是一種用於執行SQL 語句的 Java API。它由一組用 Java 編程語言編寫的類和介面組成。JDBC 為工具/資料庫開發人員提供了一個標準的API,使他們能夠用純Java API 來編寫資料庫應用程序。
簡單地說,JDBC 可做三件事:
l 與資料庫建立連接,
l 發送SQL 語句,
l 處理結果。
(2)、Servlet技術
Servlet是運行在伺服器端的程序,可以被認為是伺服器端的applet。servlet被Web伺服器(例如Tomcat)載入和執行,就如同applet被瀏覽器載入和執行一樣。servlet從客戶端(通過Web伺服器)接收請求,執行某種操作,然後返回結果。
Servlet的主要優點包括
l Servlet是持久的。servlet只需Web伺服器載入一次,而且可以在不同請求之間保持服務(例如一次資料庫連接)。
l Servlet是與平台無關的。如前所述,servlet是用Java編寫的,它自然也繼承了Java的平台無關性。
l Servlet是可擴展的。由於servlet是用Java編寫的,它就具備了Java所能帶來的所有優點。Java是健壯的、面向對象的編程語言,它很容易擴展以適應你的需求。servlet自然也具備了這些特徵。
l Servlet是安全的。從外界調用一個servlet的惟一方法就是通過Web伺服器。這提供了高水平的安全性保障,尤其是在你的Web伺服器有防火牆保護的時候。
l Servlet可以在多種多樣的客戶機上使用。由於servlet是用Java編寫的,所以你可以很方便地在HTML中使用它們。
(3)、JavaServer Pages(JSP)技術
JSP是從Servlet上分離出來的一小部分,簡化了開發,加強了界面設計。JSP定位在交互網頁的開發。運用Java語法,但功能較Servlet弱了很多,並且高級開發中只充當用戶界面部分。JSP容器收到客戶端發出的請求時,首先執行其中的程序片段,然後將執行結果以HTML格式響應給客戶端。其中程序片段可以是:操作資料庫、重新定向網頁以及發送 E-Mail 等等,這些都是建立動態網站所需要的功能。所有程序操作都在伺服器端執行,網路上傳送給客戶端的僅是得到的結果,與客戶端的瀏覽器無關,因此,JSP 稱為Server-Side Language。
JavaServer Pages的主要優點包括
●一次編寫,各處執行(Write Once, Run Anywhere)特性
作為Java 平台的一部分,JavaServer Pages 技術擁有Java語言「一次編寫,各處執行」的特點。隨著越來越多的供貨商將JavaServer Pages 技術添加到他們的產品中,您可以針對自己公司的需求,做出審慎評估後,選擇符合公司成本及規模的伺服器,假若未來的需求有所變更時,更換伺服器平台並不影響之前所投下的成本、人力所開發的應用程序。
● 搭配可重復使用的組件
JavaServer Pages技術可依賴於重復使用跨平台的組件(如:JavaBean或Enterprise JavaBean組件)來執行更復雜的運算、數據處理。開發人員能夠共享開發完成的組件,或者能夠加強這些組件的功能,讓更多用戶或是客戶團體使用。基於善加利用組件的方法,可以加快整體開發過程,也大大降低公司的開發成本和人力。
● 採用標簽化頁面開發
Web 網頁開發人員不一定都是熟悉Java 語言的程序員。因此,JSP 技術能夠將許多功能封裝起來,成為一個自定義的標簽,這些功能是完全根據XML 的標准來制訂的,即JSP 技術中的標簽庫(Tag Library)。因此,Web 頁面開發人員可以運用自定義好的標簽來達成工作需求,而無須再寫復雜的Java 語法,讓Web 頁面開發人員亦能快速開發出一動態內容網頁。
今後,第三方開發人員和其他人員可以為常用功能建立自己的標簽庫,讓Web 網頁開發人員能夠使用熟悉的開發工具,如同HTML 一樣的標簽語法來執行特定功能的工作。
● N-tier 企業應用架構的支持
有鑒於網際網路的發展,為因應未來服務越來越繁雜的要求,且不再受地域的限制,因此,
必須放棄以往Client-Server的Two-tier 架構,進而轉向更具威力、彈性的分散性對象系統。由於JavaServer Page 技術是Java 2 Platform Enterprise Edition (J2EE)集成中的一部分,它主要是負責前端顯示經過復雜運算後之結果內容,而分散性的對象系統則是主要依賴EJB ( Enterprise JavaBean )和JNDI ( Java Naming and Directory Interface )構建而成。
(4)、JavaBean(Application)應用組件技術
Application是Java應用程序,在WEB項目和一些開發中主要應用JavaBean。它就是Application的一部分,邏輯運算能力很強,能極大的發揮Java語言的優點。JavaBean 被稱為是Java 組件技術的核心。JavaBean 的結構必須滿足一定的命名約定。JavaBean能提供常用功能並且可以重復使用,這使得開發人員可以把某些關鍵功能和核心演算法提取出來封裝成為一個組件對象,這樣就增加了代碼的重用率和系統的安全性。
高級的WEB項目會應用到以上所有技術,它們之間聯合使用和協作開發會提高開發的效率和系統的性能。
2、面向對象分析設計思想
Java語言是完全面向對象的語言,所以在項目設計時會有很大的幫助,在設計時應盡量舍棄以往的面向過程的設計方式。
在分析項目業務關系的時候,應用一些UML(Unified Modeling Language)圖,例如常用的用例圖(use case diagram),類圖(class diagram),時序圖(sequence diagram)等等,會有很大的幫助,這樣能盡快找出業務邏輯主要面對的對象,然後對每個對象進行行為劃分,最後再實現對象之間的集成和通信。
3、設計模式和框架結構
Java從語言角度來講不是很難,但是從整體設計角度來講我們還需要了解一些高級應用框架。如果要設計一個良好的框架結構,單單只掌握Java語言遠遠不夠。這就涉及到一個設計模式,還有和設計模式相關的一些知識。
設計模式在Java項目實施過程更是重中之重。主要在與兩層的設計模式、三層的設計模式和N層的設計模式。它直接決定著項目的應用、部署和實際開發設計。
在普通的WEB項目中很多採用兩層的開發結構。JSP+Servlet或JSP+JavaBean。當對開發要求高的項目中使用很多的還是MVC的三層開發結構,也就是JSP+Servlet+JavaBean。它能分有效的分離邏輯開發,使開發人員能專注於各自的開發。同時也能時整個開發結構流程更清晰,但是需要比較高的開發配合度。
在項目中,我們經常使用著名的Model-View-Controller(MVC)架構。MVC架構是隨著smalltalk language語言的發展提出的,它是一個著名的用戶界面設計架構。經典的MVC架構把一個組件(可認為是整個應用程序的一個模塊)劃分成三部分組 Model管理這個模塊中所用到的數據和業務邏輯。而View 管理模塊如何顯示給用戶,Controller 決定如何處理用戶和該模塊互動式時候產生的事件如用戶點擊一個按鈕等。
4、XML語言
在伺服器和設計模式結構中會應用到自定義文件,而且在應用高級設計時也會定義自用的標簽,現在流行的是用XML去定義配置,所以XML語言應該有一定掌握。
當前,Java 2平台企業版(J2EE)架構在廠商市場和開發者社區中倍受推崇。作為一種工具,可擴展標記語言(XML)簡化了數據交換、進程間消息交換這一類的事情,因而對開發者逐漸變得有吸引力,並開始流行起來。自然,在J2EE架構中訪問或集成XML解決方案的想法也很誘人。因為這將是強大系統架構同高度靈活的數據管理方案的結合。
XML的應用似乎是無窮無盡的,但它們大致上可以分為三大類:
1、簡單數據的表示和交換(針對XML的簡單API(SAX)和文檔對象模型(DOM)語法解析,不同的文檔類型定義(DTDs)和概要(schemas))
2、用戶界面相關、表示相關的上下文(可擴展樣式表語言(XSL),可擴展樣式表語言轉換(XSLT))
3、面向消息的計算(XML-RPC(遠程過程調用),基於SOAP協議的Web 服務(Web Services),電子化業務XML(ebXML))
5、網頁腳本語言
為了提高WEB項目的整體性能,提高人機交互的友好界面,網頁的腳本語言是很有用處的,有的時候可以解決很大的難題或提高程序的性能和應用性。
網頁腳本語言的執行都是在客戶端執行的,速度很很快,並且大多的操作與伺服器沒有交互運算,所以在一些應用中非常理想。在設計WEB項目的應用中,網頁的腳本語言起著不能忽視的作用,所以如果設計WEB項目的應用中,對JavaScript應有一定的了解。
JavaScript是一種基於對象(Object Based)和事件驅動(Event Driven)並具有安全性能(Secure)的腳本語言。使用它的目的是與HTML超文本標記語言、Java 腳本語言(Java小程序)一起實現在一個Web頁面中鏈接多個對象,與Web客戶交互作用。從而可以開發客戶端的應用程序等。它是通過嵌入或調入在標準的HTML語言中實現的。