西門子直流調速器一級代理商
_______________________
SIEMENS(西門子銷售中心)
上海朕鋅電氣設備有限公司
zx-plc.com )
:萬紫云(銷售經理)
手 機:(同步)
Q Q:27798 23058 zx-plc.com )
座 機:
公司網址http://zhenxindianqi.cn/
______________________________________
(SIEMENS) 誠信走天下,走遍天下有朋友;上海朕鋅電氣設備有限公司是一家從事西門子工業(yè)自動化產品和數控系統(tǒng)銷售、技術服務及培訓的工程服務公司。
銷售代理西門子WINCC組態(tài)軟件,西門子PLC編程軟件,西門子PLC,S7-200CN/S7-200/S7-300/S7-400/S7-1200/(6ES7/6GK/6AV/6FC/6SN/6FX/6SE/6RA/6DD/7ML/7MH/7KM/7MF/3RV/3RH/3TF)西門子PROFIBUS-DP總線,RS485總線接頭,CP網卡,變頻器,觸摸屏,低壓電器,數控伺服備件。
6AV6 640-0BA11-0AX0OP 73 micro s7-200系列用
6AV6 640-0CA11-0AX1TP177 micro 觸摸式 s7-200系列用
6AV6 640-0DA11-0AX0K-TP 178 micro s7-200系列用
6AV6 641-0AA11-0AX0OP 73 單色 3英寸
6AV6641-0BA11-0AX0OP 77A 單色 4.5英寸
6AV6641-0CA01-0AX0OP 77B 單色 4.5英寸
6AV6642-0AA11-0AX1TP 177A 單色 5.7英寸
6AV6642-0BC01-1AX1TP 177B DP 單色 5.7英寸
6AV6642-0BA01-1AX1TP 177B PN/DP 彩色 5.7英寸
6AV6642-0DC01-1AX1OP 177B DP 單色 5.7英寸
6AV6642-0DA01-1AX1OP 177B PN/DP 彩色 5.7英寸
6AV6643-0BA01-1AX0OP 277-6操作員面板,5.7寸彩色中文顯示
6AV6643-0AA01-1AX0TP277-6 觸摸式面板,5.7寸彩色中文顯示
6AV6643-0CB01-1AX1MP277-8 觸摸式面板,8寸64K色中文
6AV6643-0DB01-1AX1MP277-8 按鍵式面板,8寸64K色中文顯示
6AV6643-0CD01-1AX1MP277-10 觸摸式面板,10寸64K色中文
6AV6643-0DD01-1AX1MP277-10 按鍵式面板,10寸64K色中文顯示
6AV6671-1CB00-0AX2 MMC 存儲卡 128 MB 用于 OP77B, OP/TP 177B, MOBILE PANEL 177
6AV6671-1CB00-0AX1 MMC 存儲卡 64 MB 用于 OP77B, OP/TP 177B, MOBILE PANEL 177
6AV6644-0AA01-2AX0SIMATIC MP 377 12" TOUCH
6AV6644-0AB01-2AX0SIMATIC MP 377 15" TOUCH
6AV6644-0AC01-2AX0SIMATIC MP 377 19" TOUCH
6AV6644-0BA01-2AX0SIMATIC MP 377 12" KEY
舊屏
6AV6 545-0BA15-2AX0TP170A觸摸式面板
6AV6 545-0BB15-2AX0TP170B觸摸式面板,5.7寸單色中文顯示
6AV6 545-0BC15-2AX0TP170B觸摸式面板,5.7寸彩色中文顯示
6AV6 542-0BB15-2AX0OP170B操作員面板,5.7寸單色中文顯示
6AV6 545-0CA10-0AX0TP270-6觸摸式面板,5.7寸彩色中文顯示
6AV6 545-0CC10-0AX0TP270-10觸摸式面板,10.4寸彩色中文顯示
6AV6 542-0CA10-0AX0OP270-6操作員面板,5.7寸彩色中文顯示
6AV6 542-0CC10-0AX0OP270-10操作員面板,10.4寸彩色中文顯示
6AV6 542-0AG10-0AX0MP270B按鍵式面板,10.4寸彩色中文顯示
6AV6 545-0AH10-0AX0MP270B-6 觸摸式面板,5.7寸彩色中文
6AV6 545-0AG10-0AX0MP270B-10 觸摸式面板,10.4寸彩色中文顯示
6AV6 542-0DA10-0AX0MP370按鍵式面板,12寸256色中文顯示
6AV6 545-0DA10-0AX0MP370觸摸式面板,12寸256色中文顯示
6AV6 545-0DB10-0AX0MP370觸摸式面板,15寸256色中文顯示
1多功能測量表SENTRON PAC3200簡介SENTRON PAC3200電能監(jiān)視設備可提供系統(tǒng)特性,包括電壓和電流大值、小值和平均值,功率值、頻率、功率因數、對稱性、邏輯計算、負載趨勢、諧波和諧波失真等。SENTRON PAC3200可檢測 50 多個基本數值,具有 10個電能計數器,可用于全面負載檢測。它們的測量準確度滿足電能計數器標準所規(guī)定的較高要求。PAC3200帶有MODBUS RTU-RS485接口、PROFIBUS-DP接口和MODBUS TCP 接口,可以很方便將PAC3200的數據上傳到PLC中進行處理,也可以上傳到HMI中進行數據分析、處理及歸檔。對于西門子系統(tǒng)可以輕松地將PAC3200集成到上位自動化系統(tǒng)中,例如,集成到西門子 SIMATIC PCS 7 powerrate 和SIMATIC WinCC powerrate 軟件包中。
2 PAC3200通信接口對比PAC3200可以通過MODBUS RTU RS485接口、MODBUS TCP 以太網接口以及現場總線PROFIBUS-DP接口與PLC和HMI通信。下面分別以連接S7-300 PLC為例,在通信性能、連接的個數、編程方面進行對比:
1) 通信性能:PROFIBUS-DP使用令牌方式由主站依次訪問從站,是實時現場總線,通信響應快,通信的響應時間應考慮PAC3200數據的刷新時間(自身刷新時間可能較PROFIBUS-DP刷新時間慢);如果選擇以太網MODBUS TCP 通信,由于不是實時網絡,通信性能次之,通信的響應時間也應考慮PAC3200數據的刷新時間(自身刷新時間可能較以太網刷新時間慢);使用RS485 MODBUS RTU通信,由于基于串口,通信性能不能與以太網與PROFIBUS-DP相比較。2) 連接個數:使用PROFIBUS-DP,基于主站的性能,多可以連接126個站點;以太網MODBUS TCP 通信,基于CP的連接個數,通常16個;使用RS485 MODBUS RTU,可以連接一個網段,典型值31個站點。3) 編程:使用PROFIBUS-DP,不需要編寫通信程序;使用以太網MODBUS TCP 通信,需要編寫發(fā)送接收通信程序;使用RS485 MODBUS RTU通信,需要編寫從站輪詢程序,比較麻煩,如果沒有購買MODBUS RTU的驅動,還需要編寫通信程序。4) 價格:PROFIBUS-DP與RS485 MODBUS RTU通信需要購買選件網卡,而PAC3200本身集成以太網接口,支持MODBUS TCP 通信。下面將介紹PAC3200的MODBUS TCP 通信。
3 MODBUS TCP 通信報文MODBUS TCP 使MODBUS RTU協(xié)議運行于以太網,MODBUS TCP使用TCP/IP和以太網在站點間傳送MODBUS報文,MODBUS TCP結合了以太網物理網絡和網絡標準TCP/IP以及以MODBUS作為應用協(xié)議標準的數據表示方法。MODBUS TCP通信報文被封裝于以太網TCP/IP數據包中。與傳統(tǒng)的串口方式,MODBUS TCP插入一個標準的MODBUS報文到TCP報文中,不再帶有數據校驗和地址,如圖1所示:
圖1 MODBUS TCP報文
由于使用以太網TCP/IP數據鏈路層的校驗機制而保證了數據的完整性,MODBUS TCP 報文中不再帶有數據校驗”CHECKSUM”,原有報文中的“ADDRESS”也被“UNIT ID”替代而加在MODBUS應用協(xié)議報文頭中。MODBUS TCP服務器使用502端口與客戶端進行通信。
S7-300 與PAC3200 之間進行MODBUS TCP 通信時,MODBUS應為協(xié)議的報文頭賦值如下:byte 0: transaction identifier (高字節(jié)) – 為0byte 1:transaction identifier(低字節(jié)) - 為0byte 2:protocol identifier(高字節(jié)) = 0byte 3:protocol identifier (低字節(jié)) = 0byte 4:length field (高字節(jié)) = 0 (因為所有的報文小于256)byte 5:length field (低字節(jié)) = 后面跟隨的字節(jié)數byte 6:unit identifier -原從站地址,這里為0byte 7:MODBUS 功能碼,通過功能碼發(fā)送通信命令byte 8 ~:后續(xù)的字節(jié)數與功能碼相關
4 PAC3200支持的MODBUS TCP 功能碼在MODBUS TCP 的報文中,通過使用功能碼請求通信伙伴的數據,如對內部寄存器的讀寫操作、讀輸入寄存器、寫輸出寄存器等。不同的操作使用不同的功能碼,如FC1、2、3、4、5、6、7、15、16等,PAC3200支持FC2、FC3、FC4、FC6、FC16,在下面將介紹PAC3200這些功能碼的報文格式:
FC2 讀輸入的位信號:請求:Byte 0: 功能碼,2Byte 1-2: 開始的位地址Byte 3-4:位的個數 (1-2000)
響應:
Byte 0: 返回的功能碼 2Byte 1: 返回的字節(jié)個數 (B=(位的個數+7)/8)Byte 2-(B+1): 位信號的值 (低有效位是個位信號)
FC3 讀多個寄存器信號:請求:Byte 0: 功能碼,3Byte 1-2: 寄存器開始地址Byte 3-4: 寄存器的個數 (1-125)
Byte 0: 返回的功能碼 3Byte 1: 返回的字節(jié)個數 (B=2倍寄存器數)Byte 2-(B+1): 寄存器的值
FC4 讀輸入寄存器信號:請求:Byte 0: 功能碼,4Byte 1-2: 輸入寄存器開始地址Byte 3-4: 輸入寄存器的個數 (1-125)
Byte 0: 返回的功能碼 4Byte 1: 返回的字節(jié)個數 (B=2倍輸入寄存器數)Byte 2-(B+1): 輸入寄存器的值
FC6 寫單個寄存器信號:請求:Byte 0: 功能碼,6Byte 1-2: 寄存器地址Byte 3-4: 寄存器的值
Byte 0: 返回的功能碼 6Byte 1-2: 寄存器地址Byte 3-4: 寄存器的值
FC16 寫多個寄存器信號:請求:Byte 0: 功能碼,10(HEX)Byte 1-2: 寄存器開始地址Byte 3-4: 寄存器的個數 (1-100)Byte 5:字節(jié)的個數 (B=2倍輸入寄存器數)Byte 6-(B+5) 預置的寄存器值
Byte 0: 返回的功能碼 10(HEX)Byte 1-2: 寄存器開始地址Byte 3-4: 寄存器個數
注:
一個寄存器為兩個字節(jié),上面介紹的首地址為MODBUS TCP 報文中PDU的首地址。
5 PAC3200的地址區(qū)使用不同的功能碼可以對PAC3200不同的地址區(qū)進行操作:測量變量:例如電壓、電流值、輸入、輸出等變量可以使用FC3和FC4,FC3與FC4功能相同,兩者都可以讀。狀態(tài)參數:例如限制值0、1、2以及輸入0、輸出0等位信號,使用FC2可以讀出這些信號。設定參數:例如連接類型、是否使用電壓變送器電壓、一次側電壓等,可以使用FC3、FC4進行讀操作,兩者功能相同,使用FC16進行寫操作。通信參數:例如IP地址、網關等參數,可以使用FC3、FC4進行讀操作,兩者功能相同,使用FC16進行寫操作。信息參數:例如產品的序列號等,可以使用FC3、FC4進行讀操作,兩者功能相同,使用FC16進行寫操作。命令參數:例如復位大值、小值以及能量計數器等參數,使用FC6進行寫操作。
6 PAC3200側的配置使用PAC3200集成的以太網通信接口進行MODBUS TCP通信,需要對接口進行設置,步驟如下:
1):使用F4(Menu) > "SETTINGS> COMMUNICATION 進入如下界面如圖2所示:
圖2 通信界面
2):使用F4(Edit)鍵對選中的條目進行編輯,在通信界面中設定MODBUS TCP 通信的IP地址、子網掩碼及網關,在“PROTOCOL”中選擇“TCP”后退出,PAC3200側設置完成。
7 PLC側設置在PLC側作的設置是為了與PAC3200建立TCP連接,以S7-300為例,步驟如下:1):在SIMATIC Manager中創(chuàng)建一個S7-300的項目,本例中項目名為MODBUS_TCP。2):插入一個S7-300站,從硬件目錄中插入CP343-1,本例為CP343-1IT,如圖3所示:
圖3 插入以太網模塊
3):雙擊CP343-1的PN IO 槽,配置IP地址、子網掩碼,CP343-1的IP地址必須與PAC3200在一個網段中,否則需要配置路由器地址,如圖4所示:
圖4 設置CP地址參數
4):在硬件界面中點擊“Options”->“configure network”進入網絡連接界面,如圖5所示:
圖5 網絡配置界面
5):點擊CPU,出現網絡連接表,雙擊表中任一空格,選擇通信連接類型,由于CP343-1與PAC3200使用以太網TCP/IP的通信方式,所以連接類型選擇為“TCP CONNECTION”,如圖6所示:
西門子6FX1121-4BA03圖6 選擇連接類型
6):確認選擇的連接類型后,進入屬性界面,如圖7所示:
圖7 連接屬性-通用信息欄
選擇“Active connection establishment”選項,表示在通信連接初始化中由CP343-1主動發(fā)出連接請求。同樣在“Block parameters”中自動生成通信參數,用于編程時的參數賦值。
7):在連接屬性的地址欄中,配置通信雙方的地址,如圖8所示:
圖8 連接屬性-地址欄
在IP地址中填寫PAC3200的地址,本例中為192.168.1.13,在PORT端口號中定義本方的端口號,為了不與網絡中固定功能的端口號沖突,西門子PLC通常以2000開始,PAC3200的端口號由MODBUS TCP規(guī)定固定為502。
8):配置完成后,存盤編譯,將整個硬件配置下載到PLC中,使用網線連接PAC3200后,在網絡配置界面中使用菜單命令:“PLC”->“activate connection status”,查看實際連 接狀態(tài),如圖9所示:
圖9 查看連接狀態(tài)
如果連接狀態(tài)顯示(符號為綠色的三角),可以進行下一步工作,如果出現紅方塊,表示沒有建立連接,需要檢查通信雙方的設置及網線,通常的情況下,PAC3200設置完成后需要重新上電啟動。如果需要與多個設備進行MODBUS TCP通信,則需要建立多個通信連接,PLC側的端口號不能相同,可以為2000、2001、2002等,但是連接的不同MODBUS TCP的服務器端口號必須為502,只是IP地址不同。
8 PLC編程在前面的章節(jié)中已經介紹了MODBUS TCP的報文格式,在PLC側的通信程序就必須符合這種報文格式。下面以例子的方式介紹通信程序的編寫。在OB1中調用用于CP343-1的通信函數FC5和FC6,如果是S7-400,需要在S7-400的函數庫中調用FC50和FC60,如圖10所示:
圖10 調用通信函數
通信函數FC5的參數含義:ACT :沿觸發(fā)信號。ID :參考本地CPU連接表中的塊參數(圖7)。LADDR :參考本地CPU連接表中的塊參數(圖7)。SEND : 發(fā)送區(qū),大通信數據為8K字節(jié)。LEN : 實際發(fā)送數據長度。DONE :每次發(fā)送,產生一個上升沿。ERROR :錯誤位。STATUS:通信狀態(tài)字。通信函數FC6的參數含義:ID :參考本地CPU連接表中的塊參數。LADDR :參考本地CPU連接表中的塊參數。RECV : 接收區(qū)。接收區(qū)應大于等于發(fā)送區(qū)。NDR : 每次接收到新數據,產生一個上升沿。ERROR :錯誤位。STATUS:通信狀態(tài)字。LEN : 實際接收數據長度。
通信函數FC5的參數含義:ACT :沿觸發(fā)信號。ID :參考本地CPU連接表中的塊參數(圖7)。LADDR :參考本地CPU連接表中的塊參數(圖7)。SEND : 發(fā)送區(qū),大通信數據為8K字節(jié)。LEN : 實際發(fā)送數據長度。DONE :每次發(fā)送,產生一個上升沿。ERROR :錯誤位。STATUS:通信狀態(tài)字。
通信函數FC6的參數含義:ID :參考本地CPU連接表中的塊參數。LADDR :參考本地CPU連接表中的塊參數。RECV : 接收區(qū)。接收區(qū)應大于等于發(fā)送區(qū)。NDR : 每次接收到新數據,產生一個上升沿。ERROR :錯誤位。STATUS:通信狀態(tài)字。LEN : 實際接收數據長度。
如何實現MODBUS TCP通信,可以通過例子進行說明,例如讀出PAC3200設備的IP地址,通過PAC3200的手冊可以知道,IP地址為通信參數,偏移地址(開始地址)為63001,占用兩個寄存器,上面已經介紹通信參數的讀取可以使用功能碼FC3或FC4讀出,MODBUS TCP 的報文頭(參考圖1)BMAP部分占用7個字節(jié),協(xié)議數據單元(PDU)部分占用5個字節(jié),那么通過通信函數FC5一共發(fā)送12個字節(jié),本例中數據發(fā)送區(qū)為DB1.DBB0~DB1.DBB11,然后將請求的內容分別賦值到DB1.DBB0~DB1.DBB11中,請求報文格式如下:
M
PDU
DB1.DBB0~DB1.DBB11經過賦值請求信息后,例子中M0.5每個上升沿將發(fā)送一次請求,如果通信,通過FC6將接收到PAC3200的返回信息,返回信息為13個字節(jié),放入到數據接收區(qū)DB2.DBB0~DB2.DBB12中,接收報文的格式如下:
其他推薦產品
首頁| 關于我們| 聯(lián)系我們| 友情鏈接| 廣告服務| 會員服務| 付款方式| 意見反饋| 法律聲明| 服務條款
西門子直流調速器一級代理商
西門子直流調速器一級代理商
西門子直流調速器一級代理商
_______________________
SIEMENS(西門子銷售中心)
上海朕鋅電氣設備有限公司
zx-plc.com )
:萬紫云(銷售經理)
手 機:(同步)
Q Q:27798 23058 zx-plc.com )
座 機:
公司網址http://zhenxindianqi.cn/
______________________________________
(SIEMENS) 誠信走天下,走遍天下有朋友;上海朕鋅電氣設備有限公司是一家從事西門子工業(yè)自動化產品和數控系統(tǒng)銷售、技術服務及培訓的工程服務公司。
銷售代理西門子WINCC組態(tài)軟件,西門子PLC編程軟件,西門子PLC,S7-200CN/S7-200/S7-300/S7-400/S7-1200/(6ES7/6GK/6AV/6FC/6SN/6FX/6SE/6RA/6DD/7ML/7MH/7KM/7MF/3RV/3RH/3TF)西門子PROFIBUS-DP總線,RS485總線接頭,CP網卡,變頻器,觸摸屏,低壓電器,數控伺服備件。
6AV6 640-0BA11-0AX0OP 73 micro s7-200系列用
6AV6 640-0CA11-0AX1TP177 micro 觸摸式 s7-200系列用
6AV6 640-0DA11-0AX0K-TP 178 micro s7-200系列用
6AV6 641-0AA11-0AX0OP 73 單色 3英寸
6AV6641-0BA11-0AX0OP 77A 單色 4.5英寸
6AV6641-0CA01-0AX0OP 77B 單色 4.5英寸
6AV6642-0AA11-0AX1TP 177A 單色 5.7英寸
6AV6642-0BC01-1AX1TP 177B DP 單色 5.7英寸
6AV6642-0BA01-1AX1TP 177B PN/DP 彩色 5.7英寸
6AV6642-0DC01-1AX1OP 177B DP 單色 5.7英寸
6AV6642-0DA01-1AX1OP 177B PN/DP 彩色 5.7英寸
6AV6643-0BA01-1AX0OP 277-6操作員面板,5.7寸彩色中文顯示
6AV6643-0AA01-1AX0TP277-6 觸摸式面板,5.7寸彩色中文顯示
6AV6643-0CB01-1AX1MP277-8 觸摸式面板,8寸64K色中文
6AV6643-0DB01-1AX1MP277-8 按鍵式面板,8寸64K色中文顯示
6AV6643-0CD01-1AX1MP277-10 觸摸式面板,10寸64K色中文
6AV6643-0DD01-1AX1MP277-10 按鍵式面板,10寸64K色中文顯示
6AV6671-1CB00-0AX2 MMC 存儲卡 128 MB 用于 OP77B, OP/TP 177B, MOBILE PANEL 177
6AV6671-1CB00-0AX1 MMC 存儲卡 64 MB 用于 OP77B, OP/TP 177B, MOBILE PANEL 177
6AV6644-0AA01-2AX0SIMATIC MP 377 12" TOUCH
6AV6644-0AB01-2AX0SIMATIC MP 377 15" TOUCH
6AV6644-0AC01-2AX0SIMATIC MP 377 19" TOUCH
6AV6644-0BA01-2AX0SIMATIC MP 377 12" KEY
舊屏
6AV6 545-0BA15-2AX0TP170A觸摸式面板
6AV6 545-0BB15-2AX0TP170B觸摸式面板,5.7寸單色中文顯示
6AV6 545-0BC15-2AX0TP170B觸摸式面板,5.7寸彩色中文顯示
6AV6 542-0BB15-2AX0OP170B操作員面板,5.7寸單色中文顯示
6AV6 545-0CA10-0AX0TP270-6觸摸式面板,5.7寸彩色中文顯示
6AV6 545-0CC10-0AX0TP270-10觸摸式面板,10.4寸彩色中文顯示
6AV6 542-0CA10-0AX0OP270-6操作員面板,5.7寸彩色中文顯示
6AV6 542-0CC10-0AX0OP270-10操作員面板,10.4寸彩色中文顯示
6AV6 542-0AG10-0AX0MP270B按鍵式面板,10.4寸彩色中文顯示
6AV6 545-0AH10-0AX0MP270B-6 觸摸式面板,5.7寸彩色中文
6AV6 545-0AG10-0AX0MP270B-10 觸摸式面板,10.4寸彩色中文顯示
6AV6 542-0DA10-0AX0MP370按鍵式面板,12寸256色中文顯示
6AV6 545-0DA10-0AX0MP370觸摸式面板,12寸256色中文顯示
6AV6 545-0DB10-0AX0MP370觸摸式面板,15寸256色中文顯示
1多功能測量表SENTRON PAC3200簡介
SENTRON PAC3200電能監(jiān)視設備可提供系統(tǒng)特性,包括電壓和電流大值、小值和平均值,功率值、頻率、功率因數、對稱性、邏輯計算、負載趨勢、諧波和諧波失真等。SENTRON PAC3200可檢測 50 多個基本數值,具有 10個電能計數器,可用于全面負載檢測。它們的測量準確度滿足電能計數器標準所規(guī)定的較高要求。PAC3200帶有MODBUS RTU-RS485接口、PROFIBUS-DP接口和MODBUS TCP 接口,可以很方便將PAC3200的數據上傳到PLC中進行處理,也可以上傳到HMI中進行數據分析、處理及歸檔。對于西門子系統(tǒng)可以輕松地將PAC3200集成到上位自動化系統(tǒng)中,例如,集成到西門子 SIMATIC PCS 7 powerrate 和SIMATIC WinCC powerrate 軟件包中。
2 PAC3200通信接口對比
PAC3200可以通過MODBUS RTU RS485接口、MODBUS TCP 以太網接口以及現場總線PROFIBUS-DP接口與PLC和HMI通信。下面分別以連接S7-300 PLC為例,在通信性能、連接的個數、編程方面進行對比:
3 MODBUS TCP 通信報文
MODBUS TCP 使MODBUS RTU協(xié)議運行于以太網,MODBUS TCP使用TCP/IP和以太網在站點間傳送MODBUS報文,MODBUS TCP結合了以太網物理網絡和網絡標準TCP/IP以及以MODBUS作為應用協(xié)議標準的數據表示方法。MODBUS TCP通信報文被封裝于以太網TCP/IP數據包中。與傳統(tǒng)的串口方式,MODBUS TCP插入一個標準的MODBUS報文到TCP報文中,不再帶有數據校驗和地址,如圖1所示:
圖1 MODBUS TCP報文
由于使用以太網TCP/IP數據鏈路層的校驗機制而保證了數據的完整性,MODBUS TCP 報文中不再帶有數據校驗”CHECKSUM”,原有報文中的“ADDRESS”也被“UNIT ID”替代而加在MODBUS應用協(xié)議報文頭中。
MODBUS TCP服務器使用502端口與客戶端進行通信。
S7-300 與PAC3200 之間進行MODBUS TCP 通信時,MODBUS應為協(xié)議的報文頭賦值如下:
byte 0: transaction identifier (高字節(jié)) – 為0
byte 1:transaction identifier(低字節(jié)) - 為0
byte 2:protocol identifier(高字節(jié)) = 0
byte 3:protocol identifier (低字節(jié)) = 0
byte 4:length field (高字節(jié)) = 0 (因為所有的報文小于256)
byte 5:length field (低字節(jié)) = 后面跟隨的字節(jié)數
byte 6:unit identifier -原從站地址,這里為0
byte 7:MODBUS 功能碼,通過功能碼發(fā)送通信命令
byte 8 ~:后續(xù)的字節(jié)數與功能碼相關
4 PAC3200支持的MODBUS TCP 功能碼
在MODBUS TCP 的報文中,通過使用功能碼請求通信伙伴的數據,如對內部寄存器的讀寫操作、讀輸入寄存器、寫輸出寄存器等。不同的操作使用不同的功能碼,如FC1、2、3、4、5、6、7、15、16等,PAC3200支持FC2、FC3、FC4、FC6、FC16,在下面將介紹PAC3200這些功能碼的報文格式:
FC2 讀輸入的位信號:
請求:
Byte 0: 功能碼,2
Byte 1-2: 開始的位地址
Byte 3-4:位的個數 (1-2000)
響應:
Byte 0: 返回的功能碼 2
Byte 1: 返回的字節(jié)個數 (B=(位的個數+7)/8)
Byte 2-(B+1): 位信號的值 (低有效位是個位信號)
FC3 讀多個寄存器信號:
請求:
Byte 0: 功能碼,3
Byte 1-2: 寄存器開始地址
Byte 3-4: 寄存器的個數 (1-125)
響應:
Byte 0: 返回的功能碼 3
Byte 1: 返回的字節(jié)個數 (B=2倍寄存器數)
Byte 2-(B+1): 寄存器的值
FC4 讀輸入寄存器信號:
請求:
Byte 0: 功能碼,4
Byte 1-2: 輸入寄存器開始地址
Byte 3-4: 輸入寄存器的個數 (1-125)
響應:
Byte 0: 返回的功能碼 4
Byte 1: 返回的字節(jié)個數 (B=2倍輸入寄存器數)
Byte 2-(B+1): 輸入寄存器的值
FC6 寫單個寄存器信號:
請求:
Byte 0: 功能碼,6
Byte 1-2: 寄存器地址
Byte 3-4: 寄存器的值
響應:
Byte 0: 返回的功能碼 6
Byte 1-2: 寄存器地址
Byte 3-4: 寄存器的值
FC16 寫多個寄存器信號:
請求:
Byte 0: 功能碼,10(HEX)
Byte 1-2: 寄存器開始地址
Byte 3-4: 寄存器的個數 (1-100)
Byte 5:字節(jié)的個數 (B=2倍輸入寄存器數)
Byte 6-(B+5) 預置的寄存器值
響應:
Byte 0: 返回的功能碼 10(HEX)
Byte 1-2: 寄存器開始地址
Byte 3-4: 寄存器個數
注:
一個寄存器為兩個字節(jié),上面介紹的首地址為MODBUS TCP 報文中PDU的首地址。
5 PAC3200的地址區(qū)
使用不同的功能碼可以對PAC3200不同的地址區(qū)進行操作:
測量變量:例如電壓、電流值、輸入、輸出等變量可以使用FC3和FC4,FC3與FC4功能相
同,兩者都可以讀。
狀態(tài)參數:例如限制值0、1、2以及輸入0、輸出0等位信號,使用FC2可以讀出這些信
號。
設定參數:例如連接類型、是否使用電壓變送器電壓、一次側電壓等,可以使用FC3、FC4進
行讀操作,兩者功能相同,使用FC16進行寫操作。
通信參數:例如IP地址、網關等參數,可以使用FC3、FC4進
行讀操作,兩者功能相同,使用FC16進行寫操作。
信息參數:例如產品的序列號等,可以使用FC3、FC4進行讀操作,兩者功能相同,使用
FC16進行寫操作。
命令參數:例如復位大值、小值以及能量計數器等參數,使用FC6進行寫操作。
6 PAC3200側的配置
使用PAC3200集成的以太網通信接口進行MODBUS TCP通信,需要對接口進行設置,步驟如下:
1):使用F4(Menu) > "SETTINGS> COMMUNICATION 進入如下界面如圖2所示:
圖2 通信界面
2):使用F4(Edit)鍵對選中的條目進行編輯,在通信界面中設定MODBUS TCP 通信的IP地
址、子網掩碼及網關,在“PROTOCOL”中選擇“TCP”后退出,PAC3200側設置完成。
7 PLC側設置
在PLC側作的設置是為了與PAC3200建立TCP連接,以S7-300為例,步驟如下:
1):在SIMATIC Manager中創(chuàng)建一個S7-300的項目,本例中項目名為MODBUS_TCP。
2):插入一個S7-300站,從硬件目錄中插入CP343-1,本例為CP343-1IT,如圖3所示:
圖3 插入以太網模塊
3):雙擊CP343-1的PN IO 槽,配置IP地址、子網掩碼,CP343-1的IP地址必須與
PAC3200在一個網段中,否則需要配置路由器地址,如圖4所示:
圖4 設置CP地址參數
4):在硬件界面中點擊“Options”->“configure network”進入網絡連接界面,如圖5所示:
圖5 網絡配置界面
5):點擊CPU,出現網絡連接表,雙擊表中任一空格,選擇通信連接類型,由于CP343-1與
PAC3200使用以太網TCP/IP的通信方式,所以連接類型選擇為“TCP CONNECTION”,如
圖6所示:
西門子6FX1121-4BA03
圖6 選擇連接類型
6):確認選擇的連接類型后,進入屬性界面,如圖7所示:
圖7 連接屬性-通用信息欄
選擇“Active connection establishment”選項,表示在通信連接初始化中由CP343-1主動發(fā)出連接請求。同樣在“Block parameters”中自動生成通信參數,用于編程時的參數賦值。
7):在連接屬性的地址欄中,配置通信雙方的地址,如圖8所示:
圖8 連接屬性-地址欄
在IP地址中填寫PAC3200的地址,本例中為192.168.1.13,在PORT端口號中定義本方的端口號,為了不與網絡中固定功能的端口號沖突,西門子PLC通常以2000開始,PAC3200的端口號由MODBUS TCP規(guī)定固定為502。
8):配置完成后,存盤編譯,將整個硬件配置下載到PLC中,使用網線連接PAC3200后,在
網絡配置界面中使用菜單命令:“PLC”->“activate connection status”,查看實際連 接狀態(tài),如圖9所示:
圖9 查看連接狀態(tài)
如果連接狀態(tài)顯示(符號為綠色的三角),可以進行下一步工作,如果出現紅方塊,表示沒有建立連接,需要檢查通信雙方的設置及網線,通常的情況下,PAC3200設置完成后需要重新上電啟動。
如果需要與多個設備進行MODBUS TCP通信,則需要建立多個通信連接,PLC側的端口號不能相同,可以為2000、2001、2002等,但是連接的不同MODBUS TCP的服務器端口號必須為502,只是IP地址不同。
8 PLC編程
在前面的章節(jié)中已經介紹了MODBUS TCP的報文格式,在PLC側的通信程序就必須符合這種報文格式。下面以例子的方式介紹通信程序的編寫。
在OB1中調用用于CP343-1的通信函數FC5和FC6,如果是S7-400,需要在S7-400的函數庫中調用FC50和FC60,如圖10所示:
圖10 調用通信函數
如何實現MODBUS TCP通信,可以通過例子進行說明,例如讀出PAC3200設備的IP地址,通過PAC3200的手冊可以知道,IP地址為通信參數,偏移地址(開始地址)為63001,占用兩個寄存器,上面已經介紹通信參數的讀取可以使用功能碼FC3或FC4讀出,MODBUS TCP 的報文頭(參考圖1)BMAP部分占用7個字節(jié),協(xié)議數據單元(PDU)部分占用5個字節(jié),那么通過通信函數FC5一共發(fā)送12個字節(jié),本例中數據發(fā)送區(qū)為DB1.DBB0~DB1.DBB11,然后將請求的內容分別賦值到DB1.DBB0~DB1.DBB11中,請求報文格式如下:
DB1,DBB1=0 transaction identifier(低字節(jié)) - 為0
DB1,DBB2=0 protocol identifier(高字節(jié)) = 0
DB1,DBB3=0 protocol identifier (低字節(jié)) = 0
DB1,DBB4=0 length field (高字節(jié)) = 0 (因為所有的報文小于256)
DB1,DBB5=6 后面跟隨的字節(jié)數
DB1,DBB6=7 unit identifier -原從站地址,這里為任意值
M
DB1,DBB8= F6(HEX)輸入寄存器開始地址(高字節(jié))
DB1,DBB9=19 (HEX) 輸入寄存器開始地址(低字節(jié))
DB1,DBB10=0 輸入寄存器的個數(高字節(jié))
DB1,DBB11=2 輸入寄存器的個數(低字節(jié))
PDU
DB1.DBB0~DB1.DBB11經過賦值請求信息后,例子中M0.5每個上升沿將發(fā)送一次請求,如果通信,通過FC6將接收到PAC3200的返回信息,返回信息為13個字節(jié),放入到數據接收區(qū)DB2.DBB0~DB2.DBB12中,接收報文的格式如下:
DB2,DBB1=0 transaction identifier(低字節(jié)) - 為0
DB2,DBB2=0 protocol identifier(高字節(jié)) = 0
DB2,DBB3=0 protocol identifier (低字節(jié)) = 0
DB2,DBB4=0 length field (高字節(jié)) = 0 (因為所有的報文小于256)
DB2,DBB5=7 后面跟隨的字節(jié)數
DB2,DBB6=7 unit identifier -返回值