公開課
丨公開課丨串口那些事兒-基礎篇
分享者:狂奔的蝸牛
一、硬體接口
串口和並口的區別
串並口是輸入、輸出接線插座的俗稱,它位於主板上。
電腦連接印表機可用並行輸出口,與其他電腦實施通訊都要用串行接口。並口多為25孔陰插座,串口是9針或25針陽插座。
串口與並口的傳輸方式不一樣,串口傳輸是一位接一位的,象串起的珠子一樣,並口是可以並發數據的,可以同時傳輸多位。
串行接口,簡稱串口,也就是COM接口,是採用串行通信協議的擴展接口。
並行接口,並行接口簡稱並口,也就是LPT接口,是採用並行通信協議的擴展接口。
現場總線層次和OPC簡介
ISO七層網絡模型
上圖是一個通用的通信七層網絡模型,工業上常用也就2層:物理層和應用層
物理層常用接口類型
- RS232(COM口)、RS485、RS422、RJ45(乙太網口)、GPRS(3G/4G)、CAN
- USB轉RS232或485,RS232轉RS485(安裝驅動,虛擬出串口)
- 板卡
- 串口轉乙太網網關(串口伺服器)
應用層
標準協議Modbus、Profibus、Devicenet、自定義協議
如何理解?
很多人容易弄混,下面打幾個比方:
快遞>>
- 應用層:包裹、信件
- 物理層:快遞公司(韻達、順豐、海陸空運輸等)
文章>>
- 應用層:文字(中文、英文)
- 物理層:傳輸>甲骨、竹筒、紙張、Email、簡訊、微信、QQ
常用接口類型-RS232與RJ45
常用的臺式機主機後面一般都自帶2個COM口,默認都是RS 232,而RJ45接t口就是常說的網口。
DB9在設計時一定要註明公母頭。
臺式機、PLC、串口線,DB-9定義,/2收, /3發,/5交叉
232:接收端、發送端交叉接線
RJ45接口,就是所謂的水晶頭。有100Mb、1Gb、10Gb,8根數據線。
家用的一般都是不帶屏蔽的,工業上使用最好買帶銅片屏蔽的。
RJ45早期有2種接線方式,586A和586B,現在由於晶片廠商優化了晶片,全部B接線方式,顏色色號順序可以從下圖中看出來。
普通的網絡:1/2/3/6腳接線,其它腳不接,萬兆網絡其他4個也接上了。
網線類型有很多種:UTP/FTP/SFTP
非屏蔽雙絞線(UTP):UTP無金屬屏蔽材料,只有一層絕緣膠皮包裹,價格相對便宜,組網靈活,目前國內應用最多的布線系統,其線路優點是阻燃效果好,不容易引起火災。適用於傳輸帶寬250MHZ以下,沒有特殊性能要求的網絡應用。
STP, Shielded Twisted Pair 屏蔽網絡線;
FTP, Foiled Twisted Pair, 鋁箔屏蔽網絡線; 前者是一個廣義名字,後者是一個狹義名詞。但實際上,目前屏蔽網絡線就是鋁箔屏蔽網絡線,所以,STP、FTP實際上是一樣的。相對於UTP,FTP/STP只是在芯線的外面多了一層鋁箔,目的在於減少信號的衰減。帶寬較大、抗幹擾性能強,具有低煙無滷的特點。相對的,屏蔽線比非屏蔽線價格及安裝成本要高一些,線纜彎曲性能稍差。 六類線及之前的屏蔽系統多採用這種形式。
SFTP: 雙屏蔽網絡線。這種線的結構,是在FTP/STP的鋁箔基礎上,再加上一層鍍錫銅編織網,最外面是PVC外被。由於多了一層鍍錫銅編織網,可以大大減少外界磁場,信號的幹擾,也可以減少內部信號的衰減,增加線纜的拉力。缺點在於這種線的柔軟度很差,造價昂貴;這種線的價格一般是UTP的兩倍。這種線只在特殊環境裡使用。用量少。
六類網線通常指的是六類非屏蔽雙絞線,超六類網線是在性能上都要比六類線上一個層次的網線。六類網線和超六類網線在結構上都增加了絕緣的十字骨架,並將雙絞線的四對線纜分別置於十字骨架的四個凹槽內。
CAT 6 六類網線
CAT 6e 超六類網線 帶塑料十字架 鋁箔+銅網,超六類網線的線芯絞距更密些,而且導體也比較粗
SFTP CAT6A 超六類雙屏蔽網線 千兆網絡 2-3元1米
SFTP CAT7 七類雙屏蔽網線 萬兆網絡 6-7元1米 直徑0.58以上
常用接口類型-USB轉RS232或485與RS232轉RS485
介紹下串口轉換工具,自動化人必備。如下圖所示,網上很多這種接口轉換設備,其實都一樣,一個晶片(CH-340)用來電平轉換,自帶驅動,USB插入電腦後設備處理器裡面會多出來一個虛擬的COM口
現場經常出差的同學肯定會帶一根這樣的線吧
常用接口類型-板卡
接口PCI/PCIE
COM口數量:2/4/8
安裝驅動才能出現COM口
工控機擴展COM口用,插電腦主板插槽上,外部加一根信號分配線。
常用接口類型-串口轉乙太網網關(串口伺服器)
原理:現場設備串口轉成乙太網或者光纖接到電腦,電腦安裝軟體虛擬成串口,對於組態軟體和plc編程軟體來說,還是串口通信
好了,以上硬體接口就介紹完了,下面介紹通信原理。
二、通信原理
基礎知識-TTL電平和CMOS電平
TTL電平(TRANSISITOR-TRANSISTOR LOGIC)電晶體-電晶體邏輯集成電路
輸出:+5V為邏輯1 0V為邏輯0
輸入:H:大於2.0V,高於2.0為1 L:小於1.2V,小於1.2為0
數字電路課程中的,適合釐米級別,晶片傳輸,PCB板。
232電平不同於TTL和CMOS
EIA-RA-232C:EIA:美國電子工業協會
負邏輯 輸出: -9V代表1,+9V代表0
RS232接口電平:
- 接收端:邏輯1(MARK)=-3到-15V,輸出-9V
- 接收端:邏輯0(MARK)=3到15V,輸出9V
只能1對1,即總線上只能掛2個設備,最大傳輸距離15m,接收和發送獨立,全雙工。
有幾個特點:
負邏輯,1bit起始位,8bit數據位,1bit停止位
起始位值:0 停止位值:1
數據為:0x55AA
波特率(Baud Rate),一秒傳送多少bit位
基礎知識-485
485與232最大的區別
我認為就是傳輸方式,232是兩根線,接收發送可以同一時刻,485採用的是差分方式,雖然也是兩根線,但晶片只認壓差。下圖是TI公司的一個文檔,介紹了485傳輸最多同時帶32個設備,並且波特率和傳輸距離也有關係
下圖中RT為終端電阻,120歐0.25W,
發送端與接收端的定義,對於接收端,兩根線的壓差1.5V之外才算有信號,而對於接收端,兩根線的壓差200mV之外才算有信號。
為什麼232傳輸的近?485傳輸的遠呢?主要就是因為差分方式,傳輸路徑產生的共模幹擾,被差值減掉了。
485通信優缺點
- 理論傳輸距離:1200米
- 理論最大波特率:10Mbps
- 距離越長,波特率越小,15米最大1Mbps
- 半雙工,雙絞線(總線),只能幹一個事情,被一個設備控制
- 同時刻要不只能主站發數據,所有從站接收
- 同時刻要不只能某個從站發數據,主站接收
- 對講機,一個總指揮,多個幹活的
缺陷:輪訓機制
RS485類似1個皇帝N個妃子,一夫多妻制,掛的設備越多,數據更新就慢,32個設備,0.5s一個,也要16秒,主站才能輪訓完所有設備
而RS232為一夫一妻制。
485雙絞線電纜介紹
RVS,S代表雙絞線,麻花線,能夠避免幹擾,增加傳輸距離
RVSP:帶屏蔽網
RVVSP:屏蔽雙絞線,比RVSP多層護套,絕緣等效果好一些
一般現場施工,遠距離都會放4芯線,2芯備用。截面積:0.5mm2以上,越遠要求越粗,線越細阻抗越大,衰減越厲害 R=ρL/S,也可以省事直接用Prifibus電纜,西門子進口10元1米,國產3元1米,紫色pvc護套,鋁箔紙,100%純銅芯 2*0.64,128編織網。當然也有1平方的。
485與profibus區別:
輸出電壓:485是正負1.5V,profibus是正負2.1V,所以抗幹擾能力更強,波特率更大,profibus可以達到40Mbps,232和485最大都是10Mbps
對於有上千米的傳輸要求時,可以用485轉光纖,可自行百度一下,工業現場用的很多。
光纖口3種:SC/FC/ST
光纖2種:多模、單摸
基礎知識-422和乙太網
422比485出現的早,應用範圍小
區別:兩對雙絞線,1對發,1對收,全雙工
485是一根雙絞線,422是兩根,剛才說到485同一時間要麼收,要麼發,422兩根可以同時收發,所以他是全雙工,還有個不同的地方:輸出±2V,不同於485,1.5V,接收200mv,乙太網也是雙絞線差分傳輸,千兆網絡把4,5,7,8也用上了。
二、軟體接口
什麼是OPC?
OPC大家應該不陌生了,為啥要有OPC呢?世界這麼大,這麼多廠商,各家為政,我們不可能每次都為不同的設備開發一款驅動。
OPC了解後來看下工業現場總線
現有的總線類型達2~30種,例如常見的:
Controlnet=AB公司
Profibus profinet=西門子公司
Modbus rtu tcp=施耐德公司
工業總線網絡可歸為三類:485網絡、HART網絡、FieldBus現場總線網絡。
485網絡:RS485/MODBUS是現在流行的一種工業組網方式,其特點是實施簡單方便,而且支持RS485的儀表又特別多。儀表商也紛紛轉而支持RS485/MODBUS,原因很簡單, RS485的轉換接口不僅便宜而且種類繁多。至少在低端市場上,RS485/MODBUS仍將是最主要的工業組網方式。
HART網絡:HART是由艾默生提出的一個過渡性總線標準,主要特徵是在4-20毫安電流信號上面疊加數位訊號,但該協議並未真正開放,要加入他的基金會才能拿到協議,而加入基金會要一定的費用。HART技術主要被國外幾家大公司壟斷,近些年國內也有公司在做,但還沒有達到國外公司的水平。有很多智能儀錶帶有[HART圓卡],支持HART通訊功能。但從國內情況來看,還沒有真正用到這部分功能來進行設備聯網監控,最多只是利用手操器對其進行參數設定。從長遠來看,由於HART通信速率低、組網困難等原因,HART儀表的應用將呈下滑趨勢。
FieldBus現場總線網絡:現場總線是當今自動化領域的熱點技術之一,被譽為自動化領域的計算機區域網。它的出現標誌著自動化控制技術又一個新時代的開始。現場總線是連接控制現場的儀表與控制室內的控制裝置的數位化、串行、多站通信的網絡。其關鍵標誌是能支持雙向、多節點、總線式的全數位化通信。現場總線技術成為國際上自動化和儀器儀表發展的熱點,它的出現使傳統的控制系統結構產生了革命性的變化,使自控系統朝著「智能化、數位化、信息化、網絡化、分散化」的方向進一步邁進,形成新型的網絡通信的全分布式控制系統——現場總線控制系統FCS(Fieldbus Control System)。然而,現場總線還沒有形成真正統一的標準,ProfiBus、CANbus、CC-Link等多種標準並行存在,並且都有自己的生存空間。何時統一,遙遙無期。支持現場總線的儀表種類還比較少,可供選擇的餘地小,價格又偏高,用量也較小。
這麼多類型的總線,把設備比喻成一把鎖,驅動比喻成1把鑰匙,正確的鑰匙才能開對應的鎖,那麼OPC就是一把鑰匙串.
做過OPC server或client開發的同學知道,分三層結構:
Server是一個班級
group是一個組
item是一個學生
OPC基金會官網:
https://opcfoundation.org/
http://opcfoundation.cn/about/opc-foundation/history/index.aspx
https://www.opcconnect.com/index.php?q=source.php
主要的廠商有:kepware、wintech、matrikon OPC、Light OPC。TOP Server OPC與kepware分家,研發部分開了。
下面我們在來理解下傳輸協議:
搭建測試環境
數據幀
Modbus RTU數據傳輸協議
1.搭建測試環境
Win7 32位
VSPD虛擬串口
Modsim32仿真plc或設備
2.數據幀:
畫、膠片、快遞包
數據包(快遞包)由三部分組成,頭部,數據,尾部
基礎知識:8bit=1byte,4個bit組成1個16進位位
Byte用十六進位表示
1個byte是2個16進位位
傳輸1個byte需要11bit,起始位,結束為,校驗位
數據幀和字節byte之間的關係:byte相當於漢子,數據幀相當於簡訊
數據幀之間如何隔斷:時間,modbus是3.5個byte傳輸時間,差不多4ms,1/9600*11*3.5
文章底部附著Honeywell寫的ModeBus集成指南,比官方要好。
ModeBus是莫迪康公司提出的公開協議,接下來公司被施耐德收購,主要關注兩點:去哪裡?去幹什麼?
去哪裡:設備編號、設備內部數據編號。
去幹什麼:讀、寫
這張圖可以解釋為什麼有的上位機軟體地址是400100,有的是40010.
分為六位和五位,標法不一樣。
另外其功能碼要牢記,藍色的為常用的。
Modbus RTU
數據幀是多個數據的組合,不同的協議規定不同,可以理解成,數據是一個漢字,數據幀是一個簡訊。由三部分組成:頭部+數據+尾部
數據幀的構成,傳輸1個byte需要11bit,起始位+結束位+校驗校正。
同一個串口,只能一個軟體佔用,有的數據位是7位的另算,大部分都是8位。
3.數據的傳輸協議:
CRC校驗佔2個Byte
PDU裡面的數據,地址
為什麼要約定協議呢?
協議可以理解成語言,漢語、英語、日語等,你說漢語、我說英語,互相聽不懂。
以上文件都可從頁底的下載連結中獲取。
好了,今天的基礎課程就到這裡,下一節將分享:如何使用VB開發監控軟體。
本文中所有附帶資料及工具軟體的下載方法:
公眾號:電氣CAD論壇後臺回復
串口資料
即可獲取下載連結。歡迎繼續關注「串口那些事兒-應用篇」。如果這篇文章對你有幫助,歡迎向作者打賞!
本分享課來自電氣CAD論壇微信群
我們專為
電氣工程師服務
▼
電氣CAD論壇
www.cad-bbs.com
長按,識別二維碼,加關注
--- QQ千人群 ---
ACE深入淺出:241313463
EPLAN深入淺出:333793864
EB深入淺出:539153016
E3 series深入淺出:815243199