串口通訊,又經常被稱為點對點通訊或者PtP通訊,是工業設備中的一種非常通用的通訊方式,常用于獲取相對遠程采集設備的數據。
串行通信,通常利用RS232C或者RS485電氣接口,實現ASCII碼或者Modbus通訊;其特點是通信線路簡單,成本較低,用于解決不同廠商產品之間節點少、數據量小、通訊速率低、實時性要求不高的場合,如過程儀表、變頻器、連接掃描儀、條碼閱讀器等帶有串行通訊接口的設備,CP卡加載通訊協議后,還可以和支持Modbus協議的現場儀表通訊。
為了實現設備相互通訊,通訊雙方的通訊接口和通訊協議要一致,最基本的串行通訊的數據幀格式和波特率也要匹配。
西門子串行通訊支持的數據幀格式:
凡是符合這些格式的串行通信設備,理論上都可以相互通信。
常用的串行數據接口有:RS232C 和 RS485/422。RS-232C、RS-422/485 標準只對接口的電氣特性做出規定,而不涉及接插件、電纜或協議,在此基礎上用戶可以建立自己的高層通信協議。
注意: 接口和協議是兩個概念。
RS-232C 是低速率的單端串行通訊,RS-232C 采取不平衡傳輸方式,即所謂單端通訊。
1.RS232C 通訊接口特點
2. RS232C 接口定義
RS232C并未定義連接器的物理特性,不同類型的連接器引腳定義也各不相同,其中9針和25針的引腳定義對照,如圖 1 所示。
圖1 RS232C 串口管腳定義
最為簡單且常用的是三線制接法,即Txd,Rxd和地線三根,如上圖中紅色(2,3)和紫色(5)三個針腳。
RS-422/485 改進 RS-232 通信距離短、速率低的缺點。
1.RS422/485接口特點
2.RS422/485接口定義
RS422/485 的端口有9針、15針,CP340/341/440/441的接口是15針,如圖 2 所示。
圖2 RS422/485 串口管腳定義
常用的協議類型
ASCII 協議通過通訊處理器和通訊伙伴之間的點對點連接控制數據傳輸。
由于消息的結構完全由用戶定義,用戶可以以 ASCII 協議為基礎開發自己的消息。在接收方只需要定義接收消息的結束方式,發送接收雙方協商一致。
ASCII 驅動程序允許發送和接收任何結構的數據(所有可打印的 ASCII 碼表字符符以及從 00 到 FFH [帶有 8 個數據位字符幀] 的所有其它字符或從 00 到 7FH [帶有 7 個數據位字符幀]的所有其它字符)。
ASCII協議適用于與支持串行通信的智能儀表、條形碼閱讀器、掃描儀、打印機等設備進行通訊。
MODBUS RTU 通信協議是以主從的方式進行數據傳輸的,主動方發送請求,被動方響應請求,應答的方式。
在傳輸的過程中主站是主動方,即主站發送數據請求報文到從站;從站是被動方,即如果正常從站返回正常響應報文,如果故障從站返回異常響應報文,如圖 3 所示。
圖3 MODBUS 請求響應報文格式
MODBUS 系統中,數據交換需要通過功能代碼(Function Code)來控制的,具體分以下兩類。
有些功能碼是對位操作的,通信的用戶數據是以位為單位的:
有些功能碼是對16位寄存器操作的,通信的用戶數據是以字為單位的:
這些功能碼是對四個數據區位輸入、位輸出、寄存器輸入、寄存器輸出進行訪問的,如圖 4 所示。
圖4 訪問的數據區
Modbus地址由起始的數據類型代號和地址偏移量組成。功能碼決定對Modbus地址進行操作類型,其可根據需要傳輸的數據類型和個數來決定,如圖 5 所示。
圖5 MODBUS 地址對應關系
注意:在傳輸消息楨中,用戶使用的地址是0為基準,而對應的Modbus地址是1為基準,如FC16功能碼時以16進制的0000為起始地址,對應的寄存器是從40001開始。
MODBUS RTU 傳輸模式:消息楨中的每個8位分成2個4位16進制的字符。
每個字符幀格式(11位),如圖 6 所示。
圖6 字符幀格式
注意:如果無奇偶校驗位,停止位是2位。
消息幀格式,如圖 7 所示。
圖7 消息幀格式
電話:13916183699
郵箱:13916183699@139.com
網址:http://www.nabaiqian.cn
地址:中國上海市青浦區北青公路7171號111-112室