詳細介紹
那里有賣西門子EMAT04模塊
6ES7288-3AT04-0AA0
SIMATIC S7-200 SMART, 模擬輸入 SM AI04,4 模擬輸入, 4xAI 熱電偶
西門子MM4系列變頻器都集成了串行接口,支持USS通信協議,通過USS協議可以對變頻器進行控制和讀寫變頻器參數。使用S7-300PLC有以下兩種通訊方案:
1. 按照USS協議要求編寫通訊報文,計算BCC校驗,適用于從站數量比較少,較簡單的應用;
2. 采用DriveES SIMATIC軟件提供的S7-300庫程序,自動生成從站輪詢表程序,適用于從站數量比較多,較復雜的應用。
本文主要介紹通過*種方案實現CPU314-2PtP與MM440的USS通訊。使用S7-300編寫USS通訊程序分為以下幾個步驟:
1. 依據USS協議編寫報文;
2. 使用S7-300提供的串口數據發送程序發送USS報文;
3. 使用S7-300提供的串口數據接收程序接收USS報文;
4. 依據USS協議分析接收到的報文。
本文根據這4個步驟編寫了如下內容:第1節簡單介紹USS協議內容,了解USS協議報文格式;第2節根據USS協議列舉了4條報文;第3節介紹PLC和變頻器USS通訊的硬件組態;第4節介紹通過調用PLC中的發送和接收功能塊實現USS協議報文的發送和接收。
1 USS協議介紹
USS協議是西門子專為驅動裝置開發的通信協議。USS的工作機制是,通信是由主站發起,USS主站不斷循環輪詢各個從站,從站根據收到的指令,決定是否響應主站。從站不會主動發送數據。從站在以下條件滿足時應答主站:接收到主站報文沒有錯誤,并且本從站在接收到主站的報文中被尋址,上述條件不滿足或者主站發出的是廣播報文,從站不會做任何響應。USS的字符傳輸格式為11位,其中1位起始位、8位數據位、1偶校驗、1位停止位。如下表所示:
起始位 | 數據位 | 校驗位 | 停止位 | |||||||
1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 偶X1 | 1 |
LSB | MSB |
USS字符幀結構
USS協議的報文由一連串的字符組成,協議中定義了它們的功能,如下表所示:
STX | LGE | ADR | 有效據區 | BCC | ||||
1 | 2 | 3 | … | n |
USS報文結構
? STX:長度1個字節,總是為02(Hex),表示一條信息的開始;
? LGE:長度1個字節,表明在LGE后字節的數量,上表中黃色區域長度;
? ADR:長度1個字節,表明從站地址;
? BCC:長度1個字節,異或校驗和,USS報文中BCC前面所有字節異或運算的結果;
? 有效數據區:由PKW區和PZD區組成,如下表所示。
PKW區 | PZD區 | ||||||||
PKE | IND | PWE1 | PWE2 | … | PWEm | PZD1 | PZD2 | PZD1 | PZDn |
USS有效數據區
PKW區用于主站讀寫從站變頻器參數:
? PKE:長度一個字,結構如下表,任務或應答ID請參考《MM440使用大全》第13章。
Bit15- Bit 12 Bit 11 Bit 10-Bit 0
Bit15- Bit 12 | Bit 11 | Bit 10-Bit 0 |
任務或應答ID | 0 | 基本參數號PNU |
PKW結構
變頻器參數號<2000時,基本參數號PNU=變頻器參數號,例如P700的基本參數號PNU=2BC(Hex)(700(Dec)=2BC(Hex))。
變頻器參數號>=2000時,基本參數號PNU=變頻器參數號-2000(Dec),例如P2155的基本參數號PNU=9B(Hex)(2155-2000=155(Dec)=9B(Hex))。
? IND:長度一個字,結構如下表。
Bit15- Bit 12 | Bit 11- Bit 8 | Bit 7 - Bit 0 |
PNU擴展 | 0(Hex) | 參數下標 |
IND結構
變頻器參數號<2000時,PNU擴展=0(Hex)。
變頻器參數號>=2000時,PNU擴展=8(Hex)。
參數下標,例如P2155[2]中括號中的2表示參數下標為2。
? PWE:讀取或寫入參數的數值
PZD區用于主站與從站交換過程值數據:
? PZD1: 主站?從站 控制字
主站?從站 狀態字
? PZD2: 主站?從站 速度設定值
主站?從站 速度反饋值
? PZDn: MM430/440支持多8個PZD,MM420支持多4個PZD
根據傳輸的數據類型和驅動裝置的不同,PKW和PZD區的數據長度不是固定的,可以通過P2012、P2013 設置。本例采用4PKW,2PZD報文格式。
2 USS協議報文定義
本文通過發送4個不同功能的報文來演示自定義USS報文的方法,USS協議詳細說明請參照《MM440使用大全》第13章。
例1.把參數P2155[2]的數值修改為40.00Hz
字節數 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
發送報文 | 2 | 0E | 1 | 30 | 9B | 80 | 2 | 42 | 20 | 0 | 0 | 4 | 7E | 0 | 0 | 3C |
應答報文 | 2 | 0E | 1 | 20 | 9B | 80 | 2 | 42 | 20 | 0 | 0 | FB | 31 | 0 | 0 | 9C |
報文解釋:
STX | Byte1 | 起始字符 |
LGE | Byte2 | 報文長度(字節3到字節16共14個字節) |
ADR | Byte3 | 從站地址 |
PKW | Byte4-5 | PKE內容: |
Bit15- Bit 12(任務ID) =3(Hex),修改參數數值雙字 | ||
Bit15- Bit 12(應答ID) =2(Hex),傳送參數數值雙字 | ||
Bit10- Bit 0(基本參數號PUN)=2155-2000(Dec)=9B(Hex) | ||
Byte6-7 | IND內容: | |
Bit15- Bit 12(PNU擴展) =8(Hex),參數號大于2000 | ||
Bit7- Bit 0(參數下標)=2(Hex),P2155[2] | ||
Byte8-11 | 參數值,42 20 00 00(Hex)=40.0(浮點數) | |
PZD | Byte12-13 | PZD1 |
Byte14-15 | PZD2 | |
BCC | Byte16 | 異或校驗和 |
注:黃色標記表示應答報文中的內容
例2.讀取參數P0700[0]的數值
字節數 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
發送報文 | 2 | 0E | 1 | 12 | BC | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 7E | 0 | 0 | D9 |
應答報文 | 2 | 0E | 1 | 12 | BC | 0 | 0 | 0 | 0 | 0 | 5 | FB | 31 | 0 | 0 | 6C |
報文解釋:
STX | Byte1 | 起始字符 |
LGE | Byte2 | 報文長度(字節3到字節16共14個字節) |
ADR | Byte3 | 從站地址 |
PKW | Byte4-5 | PKE內容: |
Bit15- Bit 12(任務ID) =1(Hex),讀取參數數值 | ||
Bit15- Bit 12(應答ID) =1(Hex),傳送參數數值單字 | ||
Bit10- Bit 0(基本參數號PUN)=700(Dec)=2BC(Hex) | ||
Byte6-7 | IND內容: | |
Bit15- Bit 12(PNU擴展) =0(Hex),參數號小于2000 | ||
Bit7- Bit 0(參數下標)=0(Hex),P700[0] | ||
Byte8-11 | 參數值,5(Hex)=5(Dec) | |
PZD | Byte12-13 | PZD1 |
Byte14-15 | PZD2 | |
BCC | Byte16 | 異或校驗和 |
注:黃色標記表示應答報文中的內容
例3.不需要讀寫參數只發送停止變頻器報文
字節數 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
發送報文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 7E | 0 | 0 | 77 |
應答報文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FB | 31 | 0 | 0 | C7 |
例4.不需要讀寫參數只送啟動變頻器、設定頻率50Hz報文
字節數 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
發送報文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 7F | 40 | 0 | 36 |
應答報文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FF | 34 | 3F | FF | 6 |
例3、4報文比較簡單只需要定義PZD中的內容,PKW區內容可以設置為0。
請注意:如果按照以上4個例子發送報文可能會收到與例子中不一樣的應答報文,這并不代表報文存在問題,可能由于變頻器狀態不同或參數設置不同造成。例子報文中已經計算了BCC校驗的值,如果使用其他的報文需要自己計算BCC校驗。
3 硬件組態
MM4系列變頻器提供的串行接口為RS485接口,S7-300 PLC有3種通訊模塊支持RS485接口:
1. 采用帶有集成RS485接口的CPU例如CPU31X-2PtP;
2. RS485接口的CP340通訊模塊;
3. RS485接口的CP341通訊模塊;
以上三種模塊都可以通過下表中的接線方式與MM4變頻器連接,本文中采用1臺CPU314-2PtP與1臺MM440通訊。
信號 | CPU314-2PtP | MM430/MM440 | MM420 |
RS485接口針腳 | 端子 | 端子 | |
P+ | 11 | 29 | 14 |
N- | 4 | 30 | 15 |
S7-300 RS485接口與MM440 USS接線
3.1 PLC硬件組態
1) 首先打開STEP7新建項目并插入CPU314-2PtP。
2) 雙擊CPU314-2PtP的X2端口PtP,打開PTP屬性對話框General欄,Protocol復選框中選擇“ASCII”協議。
3) Addresses欄中記錄起始地址“1023”,在后面的編程中使用。
那里有賣西門子EMAT04模塊
4) Transfer欄中設置通訊速率“9600bps”,報文格式:“8”位數據位,“1”位停止位,“Even”偶校驗,數據流控制選擇“None”。
5) End Delimiter欄中設置接收報文結束方式“After character delay time elapses”利用兩個報文的間隔時間來判斷報文是否結束,并設置字符延時時間“4ms”(該時間可使用默認設置,默認設置時間隨通訊速率不同時間也不同)。
西門子MM4系列變頻器都集成了串行接口,支持USS通信協議,通過USS協議可以對變頻器進行控制和讀寫變頻器參數。使用S7-300PLC有以下兩種通訊方案:
1. 按照USS協議要求編寫通訊報文,計算BCC校驗,適用于從站數量比較少,較簡單的應用;
2. 采用DriveES SIMATIC軟件提供的S7-300庫程序,自動生成從站輪詢表程序,適用于從站數量比較多,較復雜的應用。
本文主要介紹通過*種方案實現CPU314-2PtP與MM440的USS通訊。使用S7-300編寫USS通訊程序分為以下幾個步驟:
1. 依據USS協議編寫報文;
2. 使用S7-300提供的串口數據發送程序發送USS報文;
3. 使用S7-300提供的串口數據接收程序接收USS報文;
4. 依據USS協議分析接收到的報文。
本文根據這4個步驟編寫了如下內容:第1節簡單介紹USS協議內容,了解USS協議報文格式;第2節根據USS協議列舉了4條報文;第3節介紹PLC和變頻器USS通訊的硬件組態;第4節介紹通過調用PLC中的發送和接收功能塊實現USS協議報文的發送和接收。
1 USS協議介紹
USS協議是西門子專為驅動裝置開發的通信協議。USS的工作機制是,通信是由主站發起,USS主站不斷循環輪詢各個從站,從站根據收到的指令,決定是否響應主站。從站不會主動發送數據。從站在以下條件滿足時應答主站:接收到主站報文沒有錯誤,并且本從站在接收到主站的報文中被尋址,上述條件不滿足或者主站發出的是廣播報文,從站不會做任何響應。USS的字符傳輸格式為11位,其中1位起始位、8位數據位、1偶校驗、1位停止位。如下表所示:
起始位 | 數據位 | 校驗位 | 停止位 | |||||||
1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 偶X1 | 1 |
LSB | MSB |
USS字符幀結構
USS協議的報文由一連串的字符組成,協議中定義了它們的功能,如下表所示:
STX | LGE | ADR | 有效據區 | BCC | ||||
1 | 2 | 3 | … | n |
USS報文結構
? STX:長度1個字節,總是為02(Hex),表示一條信息的開始;
? LGE:長度1個字節,表明在LGE后字節的數量,上表中黃色區域長度;
? ADR:長度1個字節,表明從站地址;
? BCC:長度1個字節,異或校驗和,USS報文中BCC前面所有字節異或運算的結果;
? 有效數據區:由PKW區和PZD區組成,如下表所示。
PKW區 | PZD區 | ||||||||
PKE | IND | PWE1 | PWE2 | … | PWEm | PZD1 | PZD2 | PZD1 | PZDn |
USS有效數據區
PKW區用于主站讀寫從站變頻器參數:
? PKE:長度一個字,結構如下表,任務或應答ID請參考《MM440使用大全》第13章。
Bit15- Bit 12 Bit 11 Bit 10-Bit 0
Bit15- Bit 12 | Bit 11 | Bit 10-Bit 0 |
任務或應答ID | 0 | 基本參數號PNU |
PKW結構
變頻器參數號<2000時,基本參數號PNU=變頻器參數號,例如P700的基本參數號PNU=2BC(Hex)(700(Dec)=2BC(Hex))。
變頻器參數號>=2000時,基本參數號PNU=變頻器參數號-2000(Dec),例如P2155的基本參數號PNU=9B(Hex)(2155-2000=155(Dec)=9B(Hex))。
? IND:長度一個字,結構如下表。
Bit15- Bit 12 | Bit 11- Bit 8 | Bit 7 - Bit 0 |
PNU擴展 | 0(Hex) | 參數下標 |
IND結構
變頻器參數號<2000時,PNU擴展=0(Hex)。
變頻器參數號>=2000時,PNU擴展=8(Hex)。
參數下標,例如P2155[2]中括號中的2表示參數下標為2。
? PWE:讀取或寫入參數的數值
PZD區用于主站與從站交換過程值數據:
? PZD1: 主站?從站 控制字
主站?從站 狀態字
? PZD2: 主站?從站 速度設定值
主站?從站 速度反饋值
? PZDn: MM430/440支持多8個PZD,MM420支持多4個PZD
根據傳輸的數據類型和驅動裝置的不同,PKW和PZD區的數據長度不是固定的,可以通過P2012、P2013 設置。本例采用4PKW,2PZD報文格式。
2 USS協議報文定義
本文通過發送4個不同功能的報文來演示自定義USS報文的方法,USS協議詳細說明請參照《MM440使用大全》第13章。
例1.把參數P2155[2]的數值修改為40.00Hz
字節數 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
發送報文 | 2 | 0E | 1 | 30 | 9B | 80 | 2 | 42 | 20 | 0 | 0 | 4 | 7E | 0 | 0 | 3C |
應答報文 | 2 | 0E | 1 | 20 | 9B | 80 | 2 | 42 | 20 | 0 | 0 | FB | 31 | 0 | 0 | 9C |
報文解釋:
STX | Byte1 | 起始字符 |
LGE | Byte2 | 報文長度(字節3到字節16共14個字節) |
ADR | Byte3 | 從站地址 |
PKW | Byte4-5 | PKE內容: |
Bit15- Bit 12(任務ID) =3(Hex),修改參數數值雙字 | ||
Bit15- Bit 12(應答ID) =2(Hex),傳送參數數值雙字 | ||
Bit10- Bit 0(基本參數號PUN)=2155-2000(Dec)=9B(Hex) | ||
Byte6-7 | IND內容: | |
Bit15- Bit 12(PNU擴展) =8(Hex),參數號大于2000 | ||
Bit7- Bit 0(參數下標)=2(Hex),P2155[2] | ||
Byte8-11 | 參數值,42 20 00 00(Hex)=40.0(浮點數) | |
PZD | Byte12-13 | PZD1 |
Byte14-15 | PZD2 | |
BCC | Byte16 | 異或校驗和 |
注:黃色標記表示應答報文中的內容
例2.讀取參數P0700[0]的數值
字節數 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
發送報文 | 2 | 0E | 1 | 12 | BC | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 7E | 0 | 0 | D9 |
應答報文 | 2 | 0E | 1 | 12 | BC | 0 | 0 | 0 | 0 | 0 | 5 | FB | 31 | 0 | 0 | 6C |
報文解釋:
STX | Byte1 | 起始字符 |
LGE | Byte2 | 報文長度(字節3到字節16共14個字節) |
ADR | Byte3 | 從站地址 |
PKW | Byte4-5 | PKE內容: |
Bit15- Bit 12(任務ID) =1(Hex),讀取參數數值 | ||
Bit15- Bit 12(應答ID) =1(Hex),傳送參數數值單字 | ||
Bit10- Bit 0(基本參數號PUN)=700(Dec)=2BC(Hex) | ||
Byte6-7 | IND內容: | |
Bit15- Bit 12(PNU擴展) =0(Hex),參數號小于2000 | ||
Bit7- Bit 0(參數下標)=0(Hex),P700[0] | ||
Byte8-11 | 參數值,5(Hex)=5(Dec) | |
PZD | Byte12-13 | PZD1 |
Byte14-15 | PZD2 | |
BCC | Byte16 | 異或校驗和 |
注:黃色標記表示應答報文中的內容
例3.不需要讀寫參數只發送停止變頻器報文
字節數 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
發送報文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 7E | 0 | 0 | 77 |
應答報文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FB | 31 | 0 | 0 | C7 |
例4.不需要讀寫參數只送啟動變頻器、設定頻率50Hz報文
字節數 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
發送報文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 7F | 40 | 0 | 36 |
應答報文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FF | 34 | 3F | FF | 6 |
例3、4報文比較簡單只需要定義PZD中的內容,PKW區內容可以設置為0。
請注意:如果按照以上4個例子發送報文可能會收到與例子中不一樣的應答報文,這并不代表報文存在問題,可能由于變頻器狀態不同或參數設置不同造成。例子報文中已經計算了BCC校驗的值,如果使用其他的報文需要自己計算BCC校驗。
3 硬件組態
MM4系列變頻器提供的串行接口為RS485接口,S7-300 PLC有3種通訊模塊支持RS485接口:
1. 采用帶有集成RS485接口的CPU例如CPU31X-2PtP;
2. RS485接口的CP340通訊模塊;
3. RS485接口的CP341通訊模塊;
以上三種模塊都可以通過下表中的接線方式與MM4變頻器連接,本文中采用1臺CPU314-2PtP與1臺MM440通訊。
信號 | CPU314-2PtP | MM430/MM440 | MM420 |
RS485接口針腳 | 端子 | 端子 | |
P+ | 11 | 29 | 14 |
N- | 4 | 30 | 15 |
S7-300 RS485接口與MM440 USS接線
3.1 PLC硬件組態
1) 首先打開STEP7新建項目并插入CPU314-2PtP。
2) 雙擊CPU314-2PtP的X2端口PtP,打開PTP屬性對話框General欄,Protocol復選框中選擇“ASCII”協議。
3) Addresses欄中記錄起始地址“1023”,在后面的編程中使用。
4) Transfer欄中設置通訊速率“9600bps”,報文格式:“8”位數據位,“1”位停止位,“Even”偶校驗,數據流控制選擇“None”。
5) End Delimiter欄中設置接收報文結束方式“After character delay time elapses”利用兩個報文的間隔時間來判斷報文是否結束,并設置字符延時時間“4ms”(該時間可使用默認設置,默認設置時間隨通訊速率不同時間也不同)。
西門子今天在北京舉辦“西門子能源管理集團化工行業峰會”,重點展示了西門子針對化工行業客戶在能源管理領域提供的優秀的業務組合,并與業界專家和客戶共同探討如何助力化工行業提升能源可靠性和效率。
“西門子擁有覆蓋面廣的能源管理業務組合,致力于實現電網互聯、全集成能源管理和高度靈活的電力供應。中國化工行業市場規模穩定增長,市場發展潛力巨大。我們希望與化工行業的客戶緊密合作,針對他們在能源管理領域所面臨的痛點,幫助他們應對在電力供應的可靠性、能效及環保方面面臨的挑戰,”西門子(中國)有限公司執行副總裁、西門子大中華區能源管理集團總經理麥明銳(Markus Mildner)表示。
化工行業的電力供應面臨的首要挑戰是供電的可靠性。作為重資產行業,化工行業在生產過程中必須確保大量大型機電設備連續不間斷的運轉,持續、穩定的電力供應成為連續生產的先決條件。此外,隨著市場環境和產業政策的變化,化工行業面臨的整體能效挑戰正在不斷加大。一方面,能源成本、勞動力成本不斷上升;另一方面,政府對高能耗、高污染生產方式的監管和遏制力度不斷加大。更高的能源效率成為解決這一問題的關鍵。后,十三五期間政府及社會對于環保生產的要求越來越高,化工行業必須尋求更加清潔的能源,分布式發電成為大勢所趨。因此,可靠、高效和環保的電力供應及能源管理是化工企業保證穩定生產、降低運營成本、實現可持續發展的重要保障之一。
針對化工行業的具體需求,西門子能源管理集團憑借其業界優秀的涵蓋高中低壓的輸配電技術,以及高度自動化和智能化的能源及數字電網解決方案和服務,致力于為化工行業提供高效、可靠和綠色的能源管理解決方案。
2017年2月,西門子與京博石化簽訂戰略合作框架協議,助力京博石化工廠的數字化和智能化轉型。京博石化為中國化工企業500強公司,在業務快速增長的同時,也面臨著面向“中國制造2025”的產業升級。此次西門子能源管理集團六家工廠*次共同簽訂框架合同,將為京博石化提供35千伏及10千伏變壓器、中壓柜、400伏低壓柜、監控后臺保護等產品,為京博煉廠打造完整、智能的能源供應及管理方案,標志著西門子與化工行業客戶的新型戰略合作伙伴關系轉型又邁出堅實一步。
“西門子能源管理集團行業峰會”是繼“西門子能源管理集團中國百城巡展”之后推出的又一大市場戰略舉措,旨在通過舉辦系列行業峰會,向客戶提供行業優選解決方案,加強與行業客戶的交流與合作,從而進一步拓展能源管理的行業應用。此次化工行業峰會是系列行業峰會的*站,未來將針對軌道交通、數據中心等行業舉辦峰會,讓萬千中國客戶領略西門子能源管理解決方案在行業應用方面的無限潛能。