一、摘要
NHR系列智能顯示控制儀表是經(jīng)過多年開發(fā)制造經(jīng)驗而設計生產(chǎn),集諸多全新功能于一身的新一代智能顯示控制儀表。針對現(xiàn)場溫度、壓力、液位、速度、流量等各種信號進行采集、顯示、控制、遠傳、通訊、打印等處理,構成數(shù)字采集系統(tǒng)及控制系統(tǒng),廣泛運用于電力、石化、冶金、輕工、制藥、航空等諸多領域。產(chǎn)品的EMC設計符合GB/T17626.2-11相關規(guī)定,同時產(chǎn)品取得了CE認證。
二、產(chǎn)品的市場背景
在自動化控制領域,隨著分布式控制系統(tǒng)的發(fā)展,在產(chǎn)業(yè)上的分布式控制系統(tǒng)中,經(jīng)常需要采用串行通訊來達到遠程信息交換的目的。目前,用于串行通訊的接口標準包括:rs-232、rs-422、rs-423和rs-485。rs-232是最早的串行接口標準,廣泛應用在短間隔、較低波特率串行通訊中。其后發(fā)展起來的rs-422、rs-485是平衡傳送的電氣標準,比起rs-232非平衡的傳送方式在電氣指標上有了大幅度的進步。rs-485串行接口的電氣標準實際上是rs-422的變型,它屬于七層osi(open system interconnection,開放系統(tǒng)互連)模型物理層的協(xié)議標準。由于性能優(yōu)異、結構簡單、組網(wǎng)輕易,rs-485總線標準得到了越來越廣泛的應用。下面是關于虹潤NHR 系列智能顯示控制儀表在RS-485通信中的應用。
三、產(chǎn)品的技術原理
1、系統(tǒng)技術方案
工業(yè)場合中,經(jīng)常要用一些儀表去控制如溫度、液位、流量等。在某些場合,需要1臺控制器靈活地控制多臺儀表,以達到設計控制目的。
本文利用標準的MODBUS RTU通訊協(xié)議與 RS-485通信指令,方便的實現(xiàn)與多臺虹潤NHR系列儀表的串行通信.成功的實現(xiàn)了用單臺控制器對多臺儀表的靈活控制?删幊炭刂破髟试S在一個RS-485通信接口上連接多達100臺虹潤儀表,儀表大于60臺時,需加一個RS-485中繼器,RS-485通信口通信距離長達1KM以上。
2、RS-485總線的硬件設計
考慮到此控制系統(tǒng)中網(wǎng)絡節(jié)點數(shù)較多,整個網(wǎng)絡超過100個節(jié)點,為保證通訊的可靠性和通訊效率按照儀表在系統(tǒng)中實現(xiàn)的不同功能、數(shù)據(jù)流量、實時性要求把各儀表分布到兩條總線上,而且所選器件中的rs-485芯片驅(qū)動能力均達到255點,通訊速率選9.6Kbps,離主站最遠的節(jié)點不超過50m。
3、網(wǎng)絡協(xié)議
為了能使具體的命令、數(shù)據(jù)在網(wǎng)絡上正確地傳輸,在數(shù)據(jù)鏈路層必須提供一定的網(wǎng)絡協(xié)議,保證在物理層的比特流出現(xiàn)錯誤時進行檢測和校正,同時實現(xiàn)數(shù)據(jù)幀和命令幀的功能。然而,為保證數(shù)據(jù)傳輸質(zhì)量,對每個字節(jié)進行校驗的同時,應盡量減少特征字和校驗字,而常用的數(shù)據(jù)包格式由引導碼、長度碼、地址碼、命令碼、數(shù)據(jù)、校驗碼、尾碼組成,每個數(shù)據(jù)包長度達20~30字節(jié),在rs-485系統(tǒng)中這顯得又有些繁雜。由于modbus協(xié)議是公然的通訊協(xié)議,而且被很多的工控產(chǎn)品生產(chǎn)廠家支持,該協(xié)議已廣泛應用于水利、水文、電力等行業(yè)設備及系統(tǒng)的國際標準中,因此,本系統(tǒng)采用modbus協(xié)議作為此控制系統(tǒng)的網(wǎng)絡協(xié)議。
在此控制中由于對plc和變頻器的通訊數(shù)據(jù)量小而且實時性要求不高,因此采用modbus ascii方式,而對單片機的數(shù)據(jù)通訊量較大且實時性要求高,因此采用modbus rtu方式。
四、產(chǎn)品的應用
考慮到100臺儀表在RS485總線上的實時性、有效性、正確性,現(xiàn)將100臺虹潤NHR系列智能控制儀表通訊組網(wǎng)分為兩條總線,分別由PLC的串口擴展口分別定義為A1、B1和A2、B2 ;下面是虹潤NHR系列智能控制儀表與PLC主機連接圖,見圖1、圖2:
1、 虹潤NHR系列智能顯示控制儀表通信參數(shù)配置
(1)、通信方式為RS-485, (1個起始位,1個或2個停止位,8位數(shù)據(jù),無奇偶校驗)
(2)、通信傳輸數(shù)據(jù)的波特率(1.2K 2.4K 4.8K 9.6K 19.2K )可在儀表叁數(shù)baud中設定
(3)、通信協(xié)議為標準Modbus Rtu 模式
這里重點突出可編程控制器與虹潤NHR儀表RS-485接口部分。在工業(yè)現(xiàn)場,RS-485通信是應用較多的一種通信方式,圖中可編程控制器通過RS-485通信接口與多個NHR儀表相連接,最多可達到100臺,每臺儀表被賦予各自的地址碼,用以識別身份,( 地址碼可在儀表叁數(shù)Addr中設定),子單元和主單元采用地址輪詢方式。這樣可編程控制器的RS-485通信口便能通過RS485總線對掛在下面的所有儀表進行控制操作。
2、 虹潤NHR系列智能數(shù)字顯示控制儀通信數(shù)據(jù)流解析
本通信協(xié)議采用標準ModBus協(xié)議,采用RTU(十六進制數(shù))傳輸模式。ModBus協(xié)議是一種主---從式協(xié)議。任何時刻只有一個設備能夠在線路上進行發(fā)送。由主站管理信息交換,且只有主站能發(fā)起。主站會依次對從站進行輪流查詢。只有當從站地址與輪詢地址相匹配,從站才能回復消息。從站之間不能進行直接通信。協(xié)議楨中不包含任何消息報頭及消息結束符,消息的開始和結束依靠間隔時間來識別,當間隔時間長于或等于3.5個字符時,即作為檢測到楨結束。如果網(wǎng)絡內(nèi)沒有與查詢地址相一致的從站或從站接收時CRC校驗出錯,主站將不會接收到返回楨,這時主站根據(jù)超時設定判斷是否超時,如超時,作出重發(fā)或彈出異常錯誤窗口動作。
協(xié)議楨定義如下:
從站地址 | 功能代碼 | 數(shù)據(jù)區(qū) | CRC16 |
從站地址:地址必須在1---247之間。
在同個主站網(wǎng)絡中每個從站地址必須。
0為廣播地址,從站接收消息并作相應處理,但不能回復消息。
功能代碼:包含讀、寫寄存器。
數(shù)據(jù): 以二進制代碼傳輸。
CRC16: 循環(huán)冗余校驗,校驗從從站地址到數(shù)據(jù)區(qū)最后一個字節(jié),計算多項式碼為A001(hex)。
(1)、通訊口設置
通訊方式 異步串行通訊接口,如RS-485,RS-232等
波特率 2400~9600bps(可由設定儀表二級參數(shù)自由更改,設定儀表二級參數(shù)BT,默認4800)
(2)、字節(jié)數(shù)據(jù)格式 HEX
一位起始位、八位數(shù)據(jù)位、一位停止位、無校驗
起始位 數(shù)據(jù)位(從低到高) 停止位
(3)、消息楨格式 (讀、寫功能是從主站角度定義的)
讀寄存器楨
從站地址 | 功能代碼 | 首寄存器地址 | 寄存器數(shù)N | CRC16 |
1字節(jié) | 1字節(jié) | 2字節(jié) | 2字節(jié) | 2字節(jié) |
0---247 | 03H | AddrH, AddrL | NH, NL (1---24) | CrcL, CrcH |
讀寄存器返回楨
從站地址 | 功能代碼 | 字節(jié)數(shù) | 寄存器數(shù)據(jù) | CRC16 |
1字節(jié) | 1字節(jié) | 1字節(jié) | N*2字節(jié) | 2字節(jié) |
1---247 | 03H | N*2 | DataH, DataL | CrcL, CrcH |
寫寄存器楨
從站地址 | 功能代碼 | 首寄存器地址 | 寄存器數(shù)N | 字節(jié)數(shù) | 寄存器數(shù)據(jù) | CRC16 |
1字節(jié) | 1字節(jié) | 2字節(jié) | 2字節(jié) | 1字節(jié) | N*2字節(jié) | 2字節(jié) |
0---247 | 10H | AddrH, AddrL | NH, NL 1---24 | N*2 | DataH, DataL | CrcL, CrcH |
寫寄存器返回楨
從站地址 | 功能代碼 | 首寄存器地址 | 寄存器數(shù)N | CRC16 |
1字節(jié) | 1字節(jié) | 2字節(jié) | 2字節(jié) | 2字節(jié) |
1---247 | 10H | AddrH, AddrL | NH, NL 1---24 | CrcL, CrcH |
錯誤返回楨
從站地址 | 功能代碼 | 錯誤代碼 | CRC16 |
1字節(jié) | 1字節(jié) | 1字節(jié) | 2字節(jié) |
1---247 | 查詢功能代碼+80H | 見表2 | CrcL, CrcH |
功能代碼表:1
功能代碼 | ModBus名 | 功能名 | 廣播 | 一次連續(xù)的N的最大值 |
03H | Read Holding Registers | 讀N個寄存器值 | No | 24 |
10H | Write Multiple Registers | 寫N個寄存器值 | No | 24 |
錯誤代碼表:2
錯誤代碼 | 說明 |
1 | 寄存器長度超限 |
2 | 寄存器地址超限 |
3 | 從站密碼保護 |
4 | 讀或?qū)懖辉试S 比如有的寄存器只讀,就不可以發(fā)寫命令 |
3 、產(chǎn)品圖片
五、結論
本文利用標準的MODBUS協(xié)議和虹潤NHR系列智能顯示控制儀表進行RS-485通信,實現(xiàn)了單臺控制器控制多臺NHR儀表的任務,并能實時檢測各儀表的運行狀態(tài),整個系統(tǒng)控制靈活方便, 方案結構簡單,開發(fā)成本低,周期短,既使在惡劣的工業(yè)環(huán)境下也能穩(wěn)定工作。