在做Profinet通訊時(shí),Control和Device有什圖2 RS422/485 串口管腳定義 常用支持協(xié)議常用的協(xié)議類型 ASCII 協(xié)議,又稱自由口 Modbus 協(xié)議
ASCII 協(xié)議 ASCII 協(xié)議通過通訊處理器和通訊伙伴之間的點(diǎn)對點(diǎn)連接控制數(shù)據(jù)傳輸。 由于消息的結(jié)構(gòu)*由用戶定義,用戶可以以 ASCII 協(xié)議為基礎(chǔ)開發(fā)自己的消息。在接收方只需要定義接收消息的結(jié)束方式,發(fā)送接收雙方協(xié)商一致。 ASCII 驅(qū)動(dòng)程序允許發(fā)送和接收任何結(jié)構(gòu)的數(shù)據(jù)(所有可打印的 ASCII 碼表字符符以及從 00 到 FFH [帶有 8 個(gè)數(shù)據(jù)位字符幀] 的所有其它字符或從 00 到 7FH [帶有 7 個(gè)數(shù)據(jù)位字符幀]的所有其它字符)。 ASCII協(xié)議適用于與支持串行通信的智能儀表、條形碼閱讀器、掃描儀、打印機(jī)等設(shè)備進(jìn)行通訊。 MODBUS 協(xié)議 MODBUS RTU 通信協(xié)議是以主從的方式進(jìn)行數(shù)據(jù)傳輸?shù)模鲃?dòng)方發(fā)送請求,被動(dòng)方響應(yīng)請求,應(yīng)答的方式。 在傳輸?shù)倪^程中主站是主動(dòng)方,即主站發(fā)送數(shù)據(jù)請求報(bào)文到從站;從站是被動(dòng)方,即如果正常從站返回正常響應(yīng)報(bào)文,如果故障從站返回異常響應(yīng)報(bào)文,如圖 3 所示。
圖3 MODBUS 請求響應(yīng)報(bào)文格式 MODBUS 系統(tǒng)中,數(shù)據(jù)交換需要通過功能代碼(Function Code)來控制的,具體分以下兩類。 有些功能碼是對位操作的,通信的用戶數(shù)據(jù)是以位為單位的: FC01讀輸出位的狀態(tài); FC02讀輸入位的狀態(tài); FC05寫單個(gè)輸出位; FC15寫多個(gè)輸出位。
有些功能碼是對16位寄存器操作的,通信的用戶數(shù)據(jù)是以字為單位的: FC03讀輸出寄存器; FC04讀輸入寄存器; FC06寫單個(gè)輸出寄存器; FC16寫多個(gè)輸出寄存器。
這些功能碼是對四個(gè)數(shù)據(jù)區(qū)位輸入、位輸出、寄存器輸入、寄存器輸出進(jìn)行訪問的,如圖 4 所示。
圖4 訪問的數(shù)據(jù)區(qū) Modbus地址由起始的數(shù)據(jù)類型代號和地址偏移量組成。功能碼決定對Modbus地址進(jìn)行操作類型,其可根據(jù)需要傳輸?shù)臄?shù)據(jù)類型和個(gè)數(shù)來決定
|