6ES72882DE080AA0模塊
PLC在工業(yè)自動化控制領域中占有很大的比例,些大型的控制系統(tǒng)中控制點數(shù)量達到上萬,采用常規(guī)的通道測量方法來對PLC通道測量往往需要花費不少的時間,而且效率低。本文針對施耐德電氣的Quantum系列PLC,通過引入Modbus-TCP協(xié)議實現(xiàn)普通計算機與PLC通信,用普通計算機取代編程器去進行通道測量試驗。操作人員不需要對PLC和計算機的通信很熟悉就能夠很快地完成通道檢測,提高了工作效率。
2Modbus通信原理
2.1Modbus應用層協(xié)議
Modbus應用層協(xié)議位于ISO/OSI參考模型中的七層,它是通過請求-響應機制實現(xiàn)不同設備間按客戶/服務器方式通信。首先客戶發(fā)送請求報文到服務器,服務器接收到報文后進行差錯校驗,若報文無誤則執(zhí)行操作,并返回響應報文到客戶端,若傳輸出現(xiàn)錯誤則返回異常響應報文,從而完成次通信周期。Modbus協(xié)議定義了個與傳輸層無關報文格式,該報文稱之為協(xié)議數(shù)據(jù)元(PDU),協(xié)議數(shù)據(jù)元由占用個字節(jié)的功能碼和長252個字節(jié)的數(shù)據(jù)域組成,其組成形式如下圖1所示:
圖1ModbusPDU結構
功能碼的有效取值范圍是1~255,功能碼分類分為三類:公用功能碼、用戶自定義功能碼和保留功能碼。由客戶端發(fā)送到服務器的報文中的功能碼指示服務器所要執(zhí)行的操作,些功能碼還帶有子功能碼,用于執(zhí)行多步操作。如果服務器接收到的報文正確并執(zhí)行,由服務器返回的報文中的功能碼告訴客戶端設備該信息為按照該功能碼執(zhí)行的結果。Modbus網(wǎng)絡通信中常用到的是公用功能碼,它們在不同公司產(chǎn)品之間的通信中具有統(tǒng)的定義。表給出了部分公用功能碼的定義。歡迎轉載,本文來自電子發(fā)燒友網(wǎng)
數(shù)據(jù)域內存放著Modbus設備能夠識別的數(shù)據(jù)信息。由客戶發(fā)送到服務器的數(shù)據(jù)域含有功能碼操作的附加信息,在某些請求報文中數(shù)據(jù)域的長度為零。
6ES72882DE080AA0模塊
由表1中可看出Modbus協(xié)議中依據(jù)數(shù)據(jù)屬性的區(qū)別定義了四種數(shù)據(jù)類型:離散輸入、線圈、輸入寄存器和輸出寄存器。這四種數(shù)據(jù)類型的組合構成了Modbus數(shù)據(jù)模型。它們在不同的設備內存中分配的方式是由生產(chǎn)廠家預先制定的,可以是在同區(qū)域,也可以是有各自的獨立區(qū)域或其他方式。
PDU的尋址方式也在Modbus應用層協(xié)議中作出了具體的定義。在ModbusPDU中每個數(shù)據(jù)都賦予從0~65535中的個值作為該數(shù)據(jù)的地址。而在Modbus數(shù)據(jù)模型中,每種數(shù)據(jù)類型塊中的數(shù)據(jù)單元都定義了個從1到n(設備容量決定)的值作為其地址。
Modbus數(shù)據(jù)模型要與符合IEC-61131標準的實際設備內存或者其他模型對應起來,這方面的映射關系是由設備生產(chǎn)廠家制定的。圖二給出了Modbus尋址模型,設備內存中的四種數(shù)據(jù)模式的組織方式是由廠家決定的。由圖2可知,個ModbusPDU地址所對應的Modbus數(shù)據(jù)模型地址為該PDU地址加1。