詳細介紹
西門子CPUST60通訊模塊
《銷售態度》:質量保證、誠信服務、及時到位!
《銷售宗旨》:為客戶創造價值是我們永遠追求的目標!
《服務說明》:現貨配送至全國各地含稅(16%)含運費!
《產品質量》:原裝產品,*!
《產品優勢》:專業銷售 薄利多銷 信譽好,口碑好,價格低,貨期短,大量現貨,服務周到!
串口引腳定義及協議說明
串口通訊,又經常被稱為點對點通訊或者PtP通訊,是工業設備中的一種非常通用的通訊方式,常用于獲取相對遠程采集設備的數據。
串行通信,通常利用RS232C或者RS485電氣接口,實現ASCII碼或者Modbus通訊;其特點是通信線路簡單,成本較低,用于解決不同廠商產品之間節點少、數據量小、通訊速率低、實時性要求不高的場合,如過程儀表、變頻器、連接掃描儀、條碼閱讀器等帶有串行通訊接口的設備,CP卡加載通訊協議后,還可以和支持Modbus協議的現場儀表通訊。
為了實現設備相互通訊,通訊雙方的通訊接口和通訊協議要*,基本的串行通訊的數據幀格式和波特率也要匹配。
西門子串行通訊支持的數據幀格式:
- 起始位:1位;
- 數據位:7/8位;
- 校驗位:1位奇/偶校驗位,或者沒有校驗位;
- 停止位:1/2位。
凡是符合這些格式的串行通信設備,理論上都可以相互通信。
支持的通訊接口
常用的串行數據接口有:RS232C 和 RS485/422。RS-232C、RS-422/485 標準只對接口的電氣特性做出規定,而不涉及接插件、電纜或協議,在此基礎上用戶可以建立自己的高層通信協議。
注意: 接口和協議是兩個概念。
RS232C接口
RS-232C 是低速率的單端串行通訊,RS-232C 采取不平衡傳輸方式,即所謂單端通訊。
1.RS232C 通訊接口特點
- RS-232采取不平衡傳輸方式,其收、發端的數據信號是相對于信號地,抗共模干擾能力差;
- 近距離通訊,大通信距離15m;
- 只能用于點對點(即一對收/發設備)通訊。
2. RS232C 接口定義
RS232C并未定義連接器的物理特性,不同類型的連接器引腳定義也各不相同,其中9針和25針的引腳定義對照,如圖 1 所示。
圖1 RS232C 串口管腳定義
為簡單且常用的是三線制接法,即Txd,Rxd和地線三根,如上圖中紅色(2,3)和紫色(5)三個針腳。
RS422/485 接口
RS-422/485 改進 RS-232 通信距離短、速率低的缺點。
1.RS422/485接口特點
- RS-422、RS-485與RS-232不一樣,數據信號采用差分傳輸方式,也稱作平衡傳輸;
- 平衡傳輸抗干擾能力更強,使傳輸距離更遠,通訊距離長1200米;
- 可以連接多個設備,RS422總線可支持10個節點(單機發送、多機接收的單向傳輸),RS485可支持32個節點(多點、雙向通訊能力);
- 網絡拓撲一般采用終端匹配的總線型結構,不支持星型或樹形;
- 傳輸距離超過50米,需要在兩端加終端電阻330歐姆(推薦用LIYCY電纜);
2.RS422/485接口定義
RS422/485 的端口有9針、15針,CP340/341/440/441的接口是15針,如圖 2 所示。
圖2 RS422/485 串口管腳定義
常用支持協議
常用的協議類型
- ASCII 協議,又稱自由口
- Modbus 協議
ASCII 協議
ASCII 協議通過通訊處理器和通訊伙伴之間的點對點連接控制數據傳輸。
由于消息的結構*由用戶定義,用戶可以以 ASCII 協議為基礎開發自己的消息。在接收方只需要定義接收消息的結束方式,發送接收雙方協商*。
ASCII 驅動程序允許發送和接收任何結構的數據(所有可打印的 ASCII 碼表字符符以及從 00 到 FFH [帶有 8 個數據位字符幀] 的所有其它字符或從 00 到 7FH [帶有 7 個數據位字符幀]的所有其它字符)。
ASCII協議適用于與支持串行通信的智能儀表、條形碼閱讀器、掃描儀、打印機等設備進行通訊。
MODBUS 協議
MODBUS RTU 通信協議是以主從的方式進行數據傳輸的,主動方發送請求,被動方響應請求,應答的方式。
在傳輸的過程中主站是主動方,即主站發送數據請求報文到從站;從站是被動方,即如果正常從站返回正常響應報文,如果故障從站返回異常響應報文,如圖 3 所示。
西門子CPUST60通訊模塊
圖3 MODBUS 請求響應報文格式
MODBUS 系統中,數據交換需要通過功能代碼(Function Code)來控制的,具體分以下兩類。
有些功能碼是對位操作的,通信的用戶數據是以位為單位的:
- FC01讀輸出位的狀態;
- FC02讀輸入位的狀態;
- FC05寫單個輸出位;
- FC15寫多個輸出位。
有些功能碼是對16位寄存器操作的,通信的用戶數據是以字為單位的:
- FC03讀輸出寄存器;
- FC04讀輸入寄存器;
- FC06寫單個輸出寄存器;
- FC16寫多個輸出寄存器。
這些功能碼是對四個數據區位輸入、位輸出、寄存器輸入、寄存器輸出進行訪問的,如圖 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 消息幀格式
RS232C 接口
1.接口定義
CP340/341集成 RS 232C 口和 RS 232C 接口子模塊的前面板上 9 針 Sub-D 型公連接器的針腳分配,如圖 1 所示。
圖1 RS232C 9 針 Sub-D 型針頭公連接器的針腳圖
2.電纜連接
RS232C電纜連接:9針對9針連接示意圖,如圖 2 所示。
圖2 RS232C電纜連接 9針對9針
常用的是三線制接法,如圖 3 所示。
圖3 RS232C 常用三線制
RS422/485 接口
1.接口定義
CP340/341/440 集成 RS422/485 口和 RS422/485 接口子模塊的前面板上 15 針 Sub-D 型孔頭連接器的針腳分配,如圖 4 所示。
圖4 RS422/485 接口 15 針 Sub-D 型孔頭連接器的針腳圖
2.電纜連接
RS422 接口電纜連接,如圖 5 所示。
圖5 RS422接口電纜連接圖
RS485 接口電纜連接,如圖 6 所示。
圖6 RS485接口電纜連接圖
注意:1)如果電纜長度超過50米,則必須在接收方上焊接一個約 330 ohm的終端電阻,以確保數據傳輸暢通無阻。
接線及拓撲常見問題
RS422/485接口,按照 RS485 方式接線,是否需要外部短接2和4,9和11?
組態選擇成 RS485 方式,內部已經短接2和4,9和11,不需要外部短接線,直接接4-,11+即可。
RS422/485 接口的 15針的Sub-D 型頭是孔,還是針?
是孔,即母頭。
西門子是否用于RS485接口(15針)的通訊電纜?
無此種電纜,需要客戶自行購買15針D型頭,自己焊接4和11,按照圖4連接。
RS485方式通訊,一對多站點時,應采用那種網絡拓撲結構?
網絡拓撲一般采用終端匹配的總線型結構,不支持星型或樹形。
RS485方式做Modbus RTU主站,可以帶多少個從站?
理論上一個網段可以帶31個從站,如果超出31個,可以考慮增加RS485中繼器(西門子無適用于串口通信的中繼器,需選購第三方設備),加一個中繼器可以再增加31個從站。
但是實際上由于串口通信是一個一個站點的輪詢操作,站點增加即輪詢一周的時間也會增大。
因此需要考慮工藝上需求是否能夠滿足。
通常來說,對于各站點的只讀操作(僅用于數據監測),對時間要求較低的工藝,站點數量可以適量增加。
而對于寫操作,或讀寫操作的多站點通信,不推薦使用串口通信,建議采用Profibus總線或Profinet總線通信。
CP341的RS422/485模塊,按照 RS485 方式通訊,實際未接外部線纜,僅硬件組態下載,模塊的SF燈亮?
檢查參數是否配置;硬件組態中的接口選項是否改成RS485(默認的是RS422,會斷線檢測,未接線報故障),如圖 7 所示;模塊是否故障。
圖7 CP341 參數中接口設置
怎么構建一個RS422/485的Modbus 主站帶從站多點網絡?
多點網絡接線圖如下:
圖8 RS422多點接線圖
圖9 RS485多點接線圖
調試接口
1 USB接口(下圖紅框)位于CU單元的中部,是G120調試的通用接口。
2 PROFIBUS DP通訊接口(見下圖紅框),適用于有PROFIBUS DP通訊的CU單元。
通過DP接口可以連接變頻器,用于調試。
3 PROFINET通訊接口,適用于有PROFINET通訊的CU單元。
通過PN接口可以連接變頻器,用于調試。
4 通過路由方式也可以實現跨網絡訪問。
HW_ANY | WORD | 任何硬件組件(如模塊)的標識。 |
HW_DEVICE | HW_ANY | DP 從站/PROFINET IO 設備的標識 |
HW_DPSLAVE | HW_DEVICE | DP 從站的標識 |
HW_IO | HW_ANY | CPU 或接口的標識號 該編號在 CPU 或硬件配置接口的屬性中自動分配和存儲。 |
HW_IOSYSTEM | HW_ANY | PN/IO 系統或 DP 主站系統的標識 |
HW_SUBMODULE | HW_IO | 重要硬件組件的標識 |
HW_INTERFACE | HW_SUBMODULE | 接口組件的標識 |
HW_IEPORT | HW_SUBMODULE | 端口的標識 (PN/IO) |
HW_HSC | HW_SUBMODULE | 高速計數器的標識 此數據類型用于“CTRL_HSC”和“CTRL_HSC_EXT”指令。 |
HW_PWM | HW_SUBMODULE | 脈沖寬度調制標識 例如,此數據類型用于“CTRL_PWM”指令。 |
HW_PTO | HW_SUBMODULE | 脈沖編碼器標識 該數據類型用于運動控制。 |
AOM_IDENT | DWORD | AS 運行系統中對象的標識 |
EVENT_ANY | AOM_IDENT | 用于標識任意事件 |
EVENT_ATT | EVENT_ANY | 用于動態分配給 OB 的事件。 例如,此數據類型用于“ATTACH”和“DETACH”指令。 |
EVENT_HWINT | EVENT_ATT | 用于硬件中斷事件 |
OB_ANY | INT | 用于任意組織塊。 |
OB_DELAY | OB_ANY | 用于發生延時中斷時調用的組織塊。 例如,此數據類型用于“SRT_DINT”和“CAN_DINT”指令。 |
OB_TOD | OB_ANY | 時間中斷 OB 的數量。 例如,此數據類型用于“SET_TINT”、“CAN_TINT”、“ACT_TINT”和“QRY_TINT”指令。 |
OB_CYCLIC | OB_ANY | 用于發生看門狗中斷時調用的組織塊。 |
OB_ATT | OB_ANY | 用于動態分配給事件的組織塊。 例如,此數據類型用于“ATTACH”和“DETACH”指令。 |
OB_PCYCLE | OB_ANY | 用于分配給“循環程序”事件類別事件的組織塊。 |
OB_HWINT | OB_ATT | 用于發生硬件中斷時調用的組織塊。 |
OB_DIAG | OB_ANY | 用于發生診斷中斷時調用的組織塊。 |
OB_TIMEERROR | OB_ANY |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|