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