聯(lián)系人:喬 靜
電 話:18221796961(同微信號)
傳 真:021-37605857
郵 箱:3548508227@qq.com
Q Q:3548508227
上海市松江區(qū)翔昆路150號
多功能測量表SENTRON PAC3200簡介
SENTRON PAC3200電能設(shè)備可精確提供系統(tǒng)特性,包括電壓和電流最大值、最小值和平均值,功率值、頻率、功率因數(shù)、對稱性、邏輯計算、負載趨勢、諧波和總諧波失真等。SENTRON PAC3200可檢測 50 多個基本數(shù)值,具有 10個電能計數(shù)器,可用于全面負載檢測。它們的測量準確度滿足電能計數(shù)器標(biāo)準所規(guī)定的較高要求。PAC3200帶有MODBUS RTU-RS485接口、PROFIBUS-DP接口和MODBUS TCP 接口,可以很方便將PAC3200的數(shù)據(jù)上傳到PLC中進行處理,也可以上傳到HMI中進行數(shù)據(jù)分析、處理及歸檔。對于西門子系統(tǒng)可以輕松地將PAC3200集成到上位自動化系統(tǒng)中,例如,集成到西門子 SIMATIC PCS 7 powerrate 和SIMATIC WinCC powerrate 軟件包中。
2 PAC3200通信接口對比
PAC3200可以通過MODBUS RTU RS485接口、MODBUS TCP 以太網(wǎng)接口以及現(xiàn)場總線PROFIBUS-DP接口與PLC和HMI通信。下面分別以連接S7-300 PLC為例,在通信性能、連接的個數(shù)、編程方面進行對比:
1) 通信性能:PROFIBUS-DP使用令牌方式由主站依次訪問從站,是實時現(xiàn)場總線,通信響應(yīng)快,通信的響應(yīng)時間應(yīng)考慮PAC3200數(shù)據(jù)的刷新時間(自身刷新時間可能較PROFIBUS-DP刷新時間慢);如果選擇以太網(wǎng)MODBUS TCP 通信,由于不是實時網(wǎng)絡(luò),通信性能次之,通信的響應(yīng)時間也應(yīng)考慮PAC3200數(shù)據(jù)的刷新時間(自身刷新時間可能較以太網(wǎng)刷新時間慢);使用RS485 MODBUS RTU通信,由于基于串口,通信性能不能與以太網(wǎng)與PROFIBUS-DP相比較。
2) 連接個數(shù):使用PROFIBUS-DP,基于主站的性能,最多可以連接126個站點;以太網(wǎng)MODBUS TCP 通信,基于CP的連接個數(shù),通常16個;使用RS485 MODBUS RTU,可以連接一個網(wǎng)段,典型值31個站點。
3) 編程:使用PROFIBUS-DP,不需要編寫通信程序;使用以太網(wǎng)MODBUS TCP 通信,需要編寫發(fā)送接收通信程序;使用RS485 MODBUS RTU通信,需要編寫從站輪詢程序,比較麻煩,如果沒有購買MODBUS RTU的驅(qū)動,還需要編寫通信程序。
4) 價格:PROFIBUS-DP與RS485 MODBUS RTU通信需要購買選件網(wǎng)卡,而PAC3200本身集成以太網(wǎng)接口,支持MODBUS TCP 通信。
下面將介紹PAC3200的MODBUS TCP 通信。
3 MODBUS TCP 通信報文
MODBUS TCP 使MODBUS RTU協(xié)議運行于以太網(wǎng),MODBUS TCP使用TCP/IP和以太網(wǎng)在站點間傳送MODBUS報文,MODBUS TCP結(jié)合了以太網(wǎng)物理網(wǎng)絡(luò)和網(wǎng)絡(luò)標(biāo)準TCP/IP以及以MODBUS作為應(yīng)用協(xié)議標(biāo)準的數(shù)據(jù)表示方法。MODBUS TCP通信報文被封裝于以太網(wǎng)TCP/IP數(shù)據(jù)包中。與傳統(tǒng)的串口方式,MODBUS TCP插入一個標(biāo)準的MODBUS報文到TCP報文中,不再帶有數(shù)據(jù)校驗和地址,如圖1所示:
圖1 MODBUS TCP報文西門子6SL3120-1TE15-0AA3
由于使用以太網(wǎng)TCP/IP數(shù)據(jù)鏈路層的校驗機制而保證了數(shù)據(jù)的完整性,MODBUS TCP 報文中不再帶有數(shù)據(jù)校驗”CHECKSUM”,原有報文中的“ADDRESS”也被“UNIT ID”替代而加在MODBUS應(yīng)用協(xié)議報文頭中。
MODBUS TCP服務(wù)器使用502端口與客戶端進行通信。
S7-300 與PAC3200 之間進行MODBUS TCP 通信時,MODBUS應(yīng)為協(xié)議的報文頭賦值如下:
byte 0: transb identifier (高字節(jié)) – 為0
byte 1:transb 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é)數(shù)
byte 6:unit identifier -原從站地址,這里為0
byte 7:MODBUS 功能碼,通過功能碼發(fā)送通信命令
byte 8 ~:后續(xù)的字節(jié)數(shù)與功能碼相關(guān)
4 PAC3200支持的MODBUS TCP 功能碼
在MODBUS TCP 的報文中,通過使用功能碼請求通信伙伴的數(shù)據(jù),如對內(nèi)部寄存器的讀寫操作、讀輸入寄存器、寫輸出寄存器等。不同的操作使用不同的功能碼,如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:位的個數(shù) (1-2000)
響應(yīng):
Byte 0: 返回的功能碼 2
Byte 1: 返回的字節(jié)個數(shù) (B=(位的個數(shù)+7)/8)
Byte 2-(B+1): 位信號的值 (最低有效位是第一個位信號)
FC3 讀多個寄存器信號:
請求:
Byte 0: 功能碼,3
Byte 1-2: 寄存器開始地址
Byte 3-4: 寄存器的個數(shù) (1-125)
響應(yīng):
Byte 0: 返回的功能碼 3
Byte 1: 返回的字節(jié)個數(shù) (B=2倍寄存器數(shù))
Byte 2-(B+1): 寄存器的值
FC4 讀輸入寄存器信號:
請求:
Byte 0: 功能碼,4
Byte 1-2: 輸入寄存器開始地址
Byte 3-4: 輸入寄存器的個數(shù) (1-125)
響應(yīng):
Byte 0: 返回的功能碼 4
Byte 1: 返回的字節(jié)個數(shù) (B=2倍輸入寄存器數(shù))
Byte 2-(B+1): 輸入寄存器的值
FC6 寫單個寄存器信號:
請求:
Byte 0: 功能碼,6
Byte 1-2: 寄存器地址
Byte 3-4: 寄存器的值
響應(yīng):
Byte 0: 返回的功能碼 6
Byte 1-2: 寄存器地址
Byte 3-4: 寄存器的值
FC16 寫多個寄存器信號:
請求:
Byte 0: 功能碼,10(HEX)
Byte 1-2: 寄存器開始地址
Byte 3-4: 寄存器的個數(shù) (1-100)
Byte 5:字節(jié)的個數(shù) (B=2倍輸入寄存器數(shù))
Byte 6-(B+5) 預(yù)置的寄存器值
響應(yīng):
Byte 0: 返回的功能碼 10(HEX)
Byte 1-2: 寄存器開始地址
Byte 3-4: 寄存器個數(shù)
注:
一個寄存器為兩個字節(jié),上面介紹的首地址為MODBUS TCP 報文中PDU的首地址。
5 PAC3200的地址區(qū)
使用不同的功能碼可以對PAC3200不同的地址區(qū)進行操作:
測量變量:例如電壓、電流值、輸入、輸出等變量可以使用FC3和FC4,F(xiàn)C3與FC4功能相
同,兩者都可以讀。
狀態(tài)參數(shù):例如限制值0、1、2以及輸入0、輸出0等位信號,使用FC2可以讀出這些信
號。
設(shè)定參數(shù):例如連接類型、是否使用電壓變送器電壓、一次側(cè)電壓等,可以使用FC3、FC4進
行讀操作,兩者功能相同,使用FC16進行寫操作。
通信參數(shù):例如IP地址、網(wǎng)關(guān)等參數(shù),可以使用FC3、FC4進
行讀操作,兩者功能相同,使用FC16進行寫操作。
信息參數(shù):例如產(chǎn)品的序列號等,可以使用FC3、FC4進行讀操作,兩者功能相同,使用
FC16進行寫操作。
命令參數(shù):例如復(fù)位最大值、最小值以及能量計數(shù)器等參數(shù),使用FC6進行寫操作。
6 PAC3200側(cè)的配置
使用PAC3200集成的以太網(wǎng)通信接口進行MODBUS TCP通信,需要對接口進行設(shè)置,步驟如下:
1):使用F4(Menu) > "SETTINGS> COMMUNICATION 進入如下界面如圖2所示:
圖2 通信界面
2):使用F4(Edit)鍵對選中的條目進行編輯,在通信界面中設(shè)定MODBUS TCP 通信的IP地
址、子網(wǎng)掩碼及網(wǎng)關(guān),在“PROTOCOL”中選擇“TCP”后退出,PAC3200側(cè)設(shè)置完成。
通信函數(shù)FC5的參數(shù)含義:
ACT :沿觸發(fā)信號。西門子6SL3120-1TE15-0AA3
ID :參考本地CPU連接表中的塊參數(shù)(圖7)。
LADDR :參考本地CPU連接表中的塊參數(shù)(圖7)。
SEND : 發(fā)送區(qū),最大通信數(shù)據(jù)為8K字節(jié)。
LEN : 實際發(fā)送數(shù)據(jù)長度。
DONE :每次發(fā)送成功,產(chǎn)生一個上升沿。
ERROR :錯誤位。
STATUS:通信狀態(tài)字。
通信函數(shù)FC6的參數(shù)含義:
ID :參考本地CPU連接表中的塊參數(shù)。
LADDR :參考本地CPU連接表中的塊參數(shù)。
RECV : 接收區(qū)。接收區(qū)應(yīng)大于等于發(fā)送區(qū)。
NDR : 每次接收到新數(shù)據(jù),產(chǎn)生一個上升沿。
ERROR :錯誤位。
STATUS:通信狀態(tài)字。
LEN : 實際接收數(shù)據(jù)長度。
如何實現(xiàn)MODBUS TCP通信,可以通過例子進行說明,例如讀出PAC3200設(shè)備的IP地址,通過PAC3200的手冊可以知道,IP地址為通信參數(shù),偏移地址(開始地址)為63001,占用兩個寄存器,上面已經(jīng)介紹通信參數(shù)的讀取可以使用功能碼FC3或FC4讀出,MODBUS TCP 的報文頭(參考圖1)BMAP部分占用7個字節(jié),協(xié)議數(shù)據(jù)單元(PDU)部分占用5個字節(jié),那么通過通信函數(shù)FC5一共發(fā)送12個字節(jié),本例中數(shù)據(jù)發(fā)送區(qū)為DB1.DBB0~DB1.DBB11,然后將請求的內(nèi)容分別賦值到DB1.DBB0~DB1.DBB11中,請求報文格式如下:
DB1,DBB0=0 transb identifier (高字節(jié)) – 為0 DB1,DBB1=0 transb 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é)數(shù) DB1,DBB6=7 unit identifier -原從站地址,這里為任意值 |
![]() |
MPAP |
DB1,DBB7=4 MODBUS 功能碼 DB1,DBB8= F6(HEX)輸入寄存器開始地址(高字節(jié)) DB1,DBB9=19 (HEX) 輸入寄存器開始地址(低字節(jié)) DB1,DBB10=0 輸入寄存器的個數(shù)(高字節(jié)) DB1,DBB11=2 輸入寄存器的個數(shù)(低字節(jié)) |
![]() |
PDU |
DB1.DBB0~DB1.DBB11經(jīng)過賦值請求信息后,例子中M0.5每個上升沿將發(fā)送一次請求,如果通信成功,通過FC6將接收到PAC3200的返回信息,返回信息為13個字節(jié),放入到數(shù)據(jù)接收區(qū)DB2.DBB0~DB2.DBB12中,接收報文的格式如下:
DB2,DBB0=0 transb identifier (高字節(jié)) – 為0 DB2,DBB1=0 transb 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é)數(shù) DB2,DBB6=7 unit identifier -返回值 |
![]() |
MBAP |
DB2,DBB7=4 MODBUS 功能碼 DB2,DBB8= 4 返回的字節(jié)個數(shù) DB2,DBB9= C0(HEX) ,192(DEC)第一個寄存器值(高字節(jié)) DB2,DBB10=A8(HEX),168(DEC) 第一個寄存器值(低字節(jié)) DB2,DBB11=1 第二個寄存器值(高字節(jié)) DB2,DBB12=D(HEX),13(DEC)第二個寄存器值(低字節(jié)) |
![]() |
PDU |
西門子6SL3120-1TE15-0AA3
9 通信注意事項
有幾個問題需要注意:
1) 接收區(qū)是一個環(huán)形緩存區(qū),接收區(qū)的長度一定與PAC3200發(fā)送的數(shù)據(jù)相等,如果接收區(qū)大于實際發(fā)送的數(shù)據(jù),每次接收數(shù)據(jù)時都以填充的方式進入接收區(qū),造成數(shù)據(jù)混亂。
2) 如果連接多個PAC3200,除需要建立多個連接,還需要調(diào)用多對FC5和FC6。
3) 如果需要讀出多個數(shù)據(jù),但是相互地址間隔大,超過125個,例如偏移地址為1、201、501、833等,這樣需要發(fā)送多次數(shù)據(jù)請求,比較麻煩,可以購買MODBUS TCP通信函數(shù)塊,這樣將比較簡單,產(chǎn)品信息可以參考西門子網(wǎng)站 Entry ID:22660304訂貨信息,由于此產(chǎn)品為其他部門編寫,可能A&D熱線不負責(zé)解答。
描述
在 SIMATIC 范圍內(nèi),對于三大產(chǎn)品系列:SIMATIC S7、SIMATIC S5 和 PC,都支持時間同步。可以通過以太網(wǎng)、P ROFIBUS 和 MPI 進行時間同步。該 FAQ 描述了一個通過 PROFIBUS 進行時間同步的實例。
下面的表格給出了哪些 PROFIBUS-CP 可以用于使用 PROFIBUS 進行時間同步:
模塊 | 訂貨號 |
CP443-5 基本型 | 從訂貨號6GK7443-5FX01-0XE0 FW V3.0開始 |
CP443-5 基本型 | 6GK7443-5FX02-0XE0 |
CP443-5 擴展型 | 從訂貨號6GK7443-5DX02-0XE0 FW V3.0開始 |
CP443-5 擴展型 | 6GK7443-5DX03-0XE0 |
CP443-5 擴展型 | 6GK7443-5DX04-0XE0 |
CP443-5 擴展型 | 6GK7443-5DX05-0XE0 |