(西門子核心分銷商)專業(yè)銷售西門子S7-200/300/400/1200/1500PLC、數(shù)控系統(tǒng)、變頻器、人機界面、觸摸屏、伺服、電機、西門子通訊電纜、現(xiàn)場總線、DP接頭、工控機等,并可提供西門子維修服務,歡迎來電垂詢。
SIEMENS中國有限公司
聯(lián) 系 人:張柏(銷售經(jīng)理)
企業(yè)在線:254598303
移動手機:13817011145 wei信同步
郵箱( Email )::254598303@qq.com
描述
例如,在測量流量或線速度時,可以使用距離或體積作為物理量,使用毫秒,秒,分鐘,小時或者天作為測量時間的單位。
圖 01
"Totalizer" 功能塊必須在循環(huán)中斷(比如OB30)中調(diào)用,表 01 是 "Totalizer" 功能塊的輸入和輸出變量列表
參數(shù) | 變量 | 數(shù)據(jù)類型 | 描述 |
輸入 | Value | Real | 瞬時流量 |
輸入 | Interval | Time | 瞬時流量的時間單位 |
輸入 | Cycle | Time | 掃描時間(循環(huán)中斷周期) |
輸入 | Reset | Bool | 累積值清零 |
輸出 | Total | Real | 累積值輸出 |
在一個循環(huán)中
這樣每次循環(huán)之后,中間結(jié)果值存儲在“Accum” 的緩沖區(qū)中遞增,然后轉(zhuǎn)移到輸出變量“Total” 中。如果變量 “Reset” 有“True” 值,則變量 “Total” 輸出值被復位為零。
例子:
在圖 01 的例子中,“Value” 變量值是 60.0 ,同時變量 “Interval” 的時間值是一分鐘。
被測量值 "Value" (速度或流量)的計量單位可以是米每秒,立方米每分鐘或公里每小時。這時變量 "Interval" 必須輸入對應的間隔時間,例如,
附件 "48799854_Totalizer_Lib_TIA_Portal" 的庫中包含上述的"Totalizer"功能塊。功能塊中包含SCL程序并附有德文和英文的注釋。
復制壓縮文件到一個單獨的目錄,然后雙擊啟動文件解壓。此時庫會自動解壓所有相關的子目錄。然后在 STEP 7 (TIA Portal) 中打開這個庫,并可以添加到S7-1200/S7-1500的項目中使用。
提示:
電源通過背板總線向 S7-400 模塊提供 5V DC 和 24V DC 工作電壓。
電源可提供85到264V的交流電壓和19.2到300V的直流電壓。
每個機架需要一個電源模塊。
傳感器和執(zhí)行器用的負載電壓必須單獨提供。
此外,還有為標準系統(tǒng)和故障安全型 H 系統(tǒng)供電的電源(冗余電源)。
電源模塊插在支架的最左側(cè)(從插槽 1 開始)。根據(jù)不同型號,它們可占用插槽1到3。電源模塊是全封閉的,通過自然對流進行冷卻。
模塊的前面包括:
后備電池是選件,必須另外訂購。對于電流10 A及以上的電源,建議使用兩個后備電池。
訂貨號
6AG1405-0KA02-7AA0
6AG1405-0KR02-7AA0
6AG1407-0KA02-7AA0
6AG1407-0KR02-7AA0
SIPLUS PS 405 10A
SIPLUS S7-400 PS405 10A
SIPLUS S7-400 PS407 10A
SIPLUS S7-400 PS407 10A
一般信息
產(chǎn)品型號標識
PS405, 24/48/60 VDC, 5 VDC/10 A
PS405,24/48/60 VDC,5 VDC/10 A,RED
PS407,UC 120/230 V,5 VDC/10 A,RED.
電源電壓
額定值 (DC)
● 24 VDC
√
√
● 48 VDC
√
√
● 60 VDC
√
√
● 120 VDC
√
√
● 230 V DC
√
√
允許范圍,下限 (DC)
19.2 V,動態(tài) 18.5 V
19.2 V,動態(tài) 18.5 V
88 V
88 V
允許范圍,上限 (DC)
72 V,動態(tài) 75.5 V
72 V,動態(tài) 75.5 V
300 V
300 V
額定值 (AC)
● 120 VAC
√
√
● 230 V AC
√
√
允許范圍,下限 (AC)
85 V
85 V
允許范圍,上限 (AC)
264 V
264 V
電源頻率
● 額定值 50 Hz
√
√
● 額定值 60 Hz
√
√
● 允許范圍,下限
47 Hz
47 Hz
● 允許范圍,上限
63 Hz
63 Hz
電源緩沖
● 電源/電壓故障儲能時間
20 ms
20 ms
20 ms
20 ms
● 建議使用符合 NAMUR 標準的電源緩沖
√
√
√
√
輸入電流
額定值,24 VDC
4 A
4 A
額定值,48 VDC
2 A
2 A
額定值,60 VDC
1.6 A
1.6 A
額定值,110 VDC
1 A;120 VDC 時
1 A;120 VDC 時
額定值,230 VDC
0.5 A
0.5 A
額定值,120 VAC
0.9 A
0.9 A
額定值,230 VAC
0.5 A
0.5 A
最大浪涌電流
18 A;一半最大值 20 ms 時,全寬
18 A;一半最大值 20 ms 時,全寬
63 A;一半最大值 1 ms 時,全寬
63 A;一半最大值 1 ms 時,全寬
輸出電壓
輸出電壓類型
DC
DC
DC
額定值 (DC)
● 5 VDC
√
√
√
√
● 24 VDC
√
√
√
√
輸出電流
從背板總線 5 VDC ,最大
10 A;7A(> 60 °C 時),無需基準負載
10 A;無需基準負載
10 A;無需基準負載
10 A;無需基準負載
從背板總線 24 VDC ,最大
1 A;防空載
1 A;防空載
1 A;防空載
1 A;防空載
短路保護
√
√
√
√
功耗
功耗,典型值
95 W
95 W
95 W
95 W
功耗
功耗,典型值
20 W
20 W
20 W
20 W
電池
后備電池
● 備用電池(選件)
√;2x 鋰電池 AA;3.6 V / 2.3 Ah
√;0 °C ~ +60 °C:2 塊 AA 鋰電池;3.6 V/2.3 Ah // -25 °C ~ +70 °C 和/或 100% RH:2 x 外部電池盒 6AG1971-0AA00-7AA0 和 2 x MONO 電池設計(D 型)
√;0 °C ~ +60 °C:2 塊 AA 鋰電池;3.6 V/2.3 Ah // -25 °C ~ +70 °C 和/或 100% RH:2 x 外部電池盒 6AG1971-0AA00-7AA0 和 2 x MONO 電池設計(D 型)
√;0 °C ~ +60 °C:2 塊 AA 鋰電池;3.6 V/2.3 Ah // -25 °C ~ +70 °C 和/或 100% RH:2 x 外部電池盒 6AG1971-0AA00-7AA0 和 2 x MONO 電池設計(D 型)
硬件配置
插槽
● 所需插槽
2
2
2
2
浮地
初級/次級
√
√
√
√
EMC
符合電源諧波失真限值
● 電源諧波失真符合 IEC 61000-3-2、IEC 61000-3-3 標準
√
√
防護等級和保護類別
保護類別
1;帶保護導體
1;帶保護導體
1;帶保護導體
1;帶保護導體
環(huán)境條件
工作溫度
● 最小值
-25 °C;= Tmin
-25 °C;= Tmin;在緩沖模式下使用外部電池盒 SIPLUS 6AG1971-0AA00-7AA0
-25 °C;在緩沖模式下使用外部電池盒 SIPLUS 6AG1971-0AA00-7AA0
-25 °C;在緩沖模式下使用外部電池盒 SIPLUS 6AG1971-0AA00-7AA0
● 最大值
70 °C;= Tmax
70 °C;= Tmax;在緩沖模式下使用外部電池盒 SIPLUS 6AG1971-0AA00-7AA0
70 °C;在緩沖模式下使用外部電池盒 SIPLUS 6AG1971-0AA00-7AA0
70 °C;在緩沖模式下使用外部電池盒 SIPLUS 6AG1971-0AA00-7AA0
環(huán)境條件寬
● 與環(huán)境溫度、大氣壓力、安裝海拔高度有關
Tmin ... Tmax,在 1080 hPa ... 795 hPa (-1000 m ... +2000 m) 下 // Tmin ...(Tmax - 10K),在 795 hPa ... 658 hPa (+2000 m ... +3500 m) 下 // Tmin ...(Tmax - 20K),658 hPa ... 540 hPa (+3500 m ... +5000 m) 下
Tmin ... Tmax,在 1080 hPa ... 795 hPa (-1000 m ... +2000 m) 下 // Tmin ...(Tmax - 10K),在 795 hPa ... 658 hPa (+2000 m ... +3500 m) 下 // Tmin ...(Tmax - 20K),658 hPa ... 540 hPa (+3500 m ... +5000 m) 下
Tmin ... Tmax,在 1080 hPa ... 795 hPa (-1000 m ... +2000 m) 下 // Tmin ...(Tmax - 10K),在 795 hPa ... 658 hPa (+2000 m ... +3500 m) 下 // Tmin ...(Tmax - 20K),658 hPa ... 540 hPa (+3500 m ... +5000 m) 下
Tmin ... Tmax,在 1080 hPa ... 795 hPa (-1000 m ... +2000 m) 下
相對濕度
— 有冷凝,根據(jù)標準 IEC 60068-2-38 進行測試,最大值
100%;相對濕度,包括冷凝/結(jié)霜(不能在冷凝條件下進行調(diào)試)
100%;相對濕度,包括冷凝/結(jié)霜(不能在冷凝條件下進行調(diào)試)在緩沖模式下,請針對高濕度環(huán)境使用電池盒 SIPLUS 6AG1971-0AA00-7AA0
100%;相對濕度,包括冷凝/結(jié)霜(不能在冷凝條件下進行調(diào)試)在緩沖模式下,請針對高濕度環(huán)境使用電池盒 SIPLUS 6AG1971-0AA00-7AA0
100%;相對濕度,包括冷凝/結(jié)霜(不能在冷凝條件下進行調(diào)試)在緩沖模式下,請針對高濕度環(huán)境使用電池盒 SIPLUS 6AG1971-0AA00-7AA0
電阻
— 防生物活性物質(zhì)/符合標準 EN 60721-3-3
√;Class 3B2 霉菌、真菌和干腐孢子(動物群除外)。在腐蝕性環(huán)境中運行期間,不使用的接口必須插上接頭蓋!
√;Class 3B2 霉菌、真菌和干腐孢子(動物群除外)。運行期間,不使用的接口必須插上接頭蓋!
√;Class 3B2 霉菌、真菌和干腐孢子(動物群除外)。運行期間,不使用的接口必須插上接頭蓋!
√;Class 3B2 霉菌、真菌和干腐孢子(動物群除外)。運行期間,不使用的接口必須插上接頭蓋!
— 防化學活性物質(zhì)/符合標準 EN 60721-3-3
√;Class 3C4,包括 EN 60068-2-52 鹽霧試驗(嚴重程度 3)。運行期間,不使用的接口必須插上接頭蓋!
√;Class 3C4 (RH < 75%),包括 EN 60068-2-52 鹽霧試驗(嚴重程度 3)。運行期間,不使用的接口必須插上接頭蓋!
√;Class 3C4 (RH < 75%),包括 EN 60068-2-52 鹽霧試驗(嚴重程度 3)。運行期間,不使用的接口必須插上接頭蓋!
√;Class 3C4 (RH < 75%),包括 EN 60068-2-52 鹽霧試驗(嚴重程度 3)。運行期間,不使用的接口必須插上接頭蓋!
— 抗機械活性物質(zhì)/符合標準 EN 60721-3-3
√;Class 3S4,包括沙/塵土。運行期間,不使用的接口必須插上接頭蓋!
√;Class 3S4,包括沙/塵土。運行期間,不使用的接口必須插上接頭蓋!
√;Class 3S4,包括沙/塵土。運行期間,不使用的接口必須插上接頭蓋!
√;Class 3S4,包括沙/塵土。運行期間,不使用的接口必須插上接頭蓋!
連接方式
連接電纜/截面積
3x 1.5 mm2;實芯線或絞線,帶終端套管,外部直徑為 3 至 9 mm
3x 1.5 mm2;實芯線或絞線,帶終端套管,外部直徑為 3 至 9 mm
3x 1.5 mm2;實芯線或絞線,帶終端套管,外部直徑為 3 至 9 mm
3x 1.5 mm2;實芯線或絞線,帶終端套管,外部直徑為 3 至 9 mm
外形尺寸
寬
50 mm
50 mm
50 mm
50 mm
高
290 mm
290 mm
290 mm
290 mm
深
217 mm
217 mm
217 mm
217 mm
重量
重量,約
1.2 kg
1 200 g
1 200 g
1 200 g
西門子在 Micro/WIN V4.0 SP5 中正式推出 Modbus RTU 主站協(xié)議庫(西門子標準庫指令)。
圖 1. 西門子標準指令庫(Micro/WIN V4.0 SP5)
使用 Modbus RTU 主站指令庫,可以讀寫 Modbus RTU 從站的數(shù)字量、模擬量 I/O 以及保持寄存器。
要使用 Modbus RTU 主站指令庫,須遵循下列步驟:
1. 調(diào)用 Modbus RTU 主站初始化和控制子程序
使用 SM0.0 調(diào)用 MBUS_CTRL 完成主站的初始化,并啟動其功能控制:
圖 2. 用 SM0.0 調(diào)用 Modbus RTU 主站初始化與控制子程序
各參數(shù)意義如下:
2. 調(diào)用 Modbus RTU 主站讀寫子程序MBUS_MSG,發(fā)送一個Modbus 請求;
圖 3. 調(diào)用Modbus RTU 主站讀寫子程序
各參數(shù)意義如下:
3. 在 CPU 的 V 數(shù)據(jù)區(qū)中為庫指令分配存儲區(qū)(Library Memory)
Modbus Master 指令庫需要一個284個字節(jié)的全局 V 存儲區(qū)。
此為西門子正式推出的標準庫指令說明資料。
Modbus RTU Master 協(xié)議指令庫使通信口工作在自由口模式下,此時不能與 Micro/WIN 軟件通信。要在切換回 PPI 協(xié)議,可以:
Modbus RTU Master 協(xié)議庫的 MBUS_CTRL 指令不需要很長的執(zhí)行時間。MBUS_需要 1.11 ms 用于初始化,在后續(xù)的每個掃描周期中只占用 0.41 ms。
調(diào)用 MBUS_MSG 子程序會加長處理時間。大部分時間都用于 CRC 校驗的計算。每讀、寫一個字的數(shù)據(jù)就需要 1.85 ms 掃描時間。數(shù)據(jù)最多的情況下(讀、寫 120 字的數(shù)據(jù)),掃描時間大概會擴增加 222 ms。讀操作的時間主要消耗在接收數(shù)據(jù)上;寫操作的時間主要消耗在發(fā)送數(shù)據(jù)上。
通常 Modbus 地址由 5 位數(shù)字組成,包括起始的數(shù)據(jù)類型代號,以及后面的偏移地址。Modbus Master 協(xié)議庫把標準的 Modbus 地址映射為所謂 Modbus 功能號,讀寫從站的數(shù)據(jù)。Modbus Master 協(xié)議庫支持如下地址:
為了支持上述 Modbus 地址的讀寫,Modbus Master 協(xié)議庫需要從站支持下列功能:
表 1. 需要從站支持的功能
30001 - 39999
S7-200 通過 Modbus Master 和 Slave 協(xié)議庫通信時,Modbus 地址和 S7-200 內(nèi)存儲區(qū)地址的 映射關系都類似。
Modbus 保持寄存器地址映射舉例:
Modbus 數(shù)字量地址映射舉例:
位地址(0xxxx 和 1xxxx)數(shù)據(jù)總是以字節(jié)為單位打包讀寫。第一個字節(jié)中的最低有效位對應 Modbus 地址的起始地址。如下圖所示:
圖 4. 數(shù)字量地址映射舉例
為了更好地理解 Modbus 主站的編程,可參考下面的例程。
例子程序1: 多個MBUS_MSG指令輪詢執(zhí)行,
Modbus RTU 主站庫對 CPU 的版本確實有要求,CPU 的版本必須為 2.00 或者 2.01(即訂貨號為6ES721*-***23-0BA*),1.22 版本之前(包括 1.22 版本)的 S7-200 CPU 不支持。
Modbus 指令庫使用的是 CPU 的自由口通信功能,工作在自由口模式下的通訊口不能使用 Micro/WIN 的 PPI 編程通信監(jiān)控。如果通信口都已經(jīng)被占用,可以考慮:
Modbus 地址與 Modbus 的功能碼是兩個層次的概念。
根據(jù) Modbus 通信協(xié)議,Modbus 數(shù)據(jù)的地址使用 0xxxx、1xxxx、3xxxx 和 4xxxx 的形式,分別表示數(shù)字量輸出、數(shù)字量輸入、模擬量輸入等數(shù)據(jù)地址。在使用 S7-200 的指令庫時,Modbus 數(shù)據(jù)地址與 S7-200 的 I/O 和數(shù)據(jù)存儲區(qū)地址間有特定的對應關系。
有些設備表明它支持 Modbus RTU 通信協(xié)議,但也詳細提供了讀寫數(shù)據(jù)的詳細通信幀格式,其中包括如何指定 Modbus 站的地址,需要讀寫數(shù)據(jù)類型、長度等等。數(shù)據(jù)幀有特定字節(jié)指出此指令讀寫的數(shù)據(jù)類型和地址,此字節(jié)的數(shù)據(jù)內(nèi)容即所謂"功能碼",如功能 1 指定讀取單個/多個數(shù)字量輸出點的值。
支持 Modbus 協(xié)議的設備或軟件,使用時用戶直接設置或看到的應當是 Modbus 數(shù)據(jù)地址。Modbus 地址所訪問的數(shù)據(jù),是通過各種"功能"讀寫而來。功能碼是 Modbus 地址的底層。如果 Modbus 通信的一方提供的所謂 Modbus 協(xié)議只有功能碼,則需要注意了解此功能號與 Modbus 地址間的對應關系。
通常 Modbus 協(xié)議的保持寄存器地址范圍在 40001 - 49999 之間。對于多數(shù)應用來說已經(jīng)夠了。但有些 Modbus 從站把地址映射到保持寄存器區(qū)的地址超過 9999 的部分。
Modbus Master 協(xié)議庫支持超過 9999 的保持寄存器地址。地址范圍為 400001 - 465536。只需在調(diào)用 MBUS_MSG 子程序時給 Addr 參數(shù)賦相應的值即可,如 416768。
西門子PLC數(shù)據(jù)的存儲格式為高位低存方式。舉例:VD200中包含VW200和VW202,其中VW202是低字,VW200是高字。若第三方設備與西門子數(shù)據(jù)存儲格式不同,是低位低存的方式,那么通信上來的數(shù)據(jù)就會存在錯誤,需要進行轉(zhuǎn)換才能使用。編程的方式比較多樣,針對雙字中高低字的交換可以使用SWAP(字交換)指令,若是字節(jié)交換可以考慮循環(huán)移位指令。
不支持。S7-200自身的通信端口或其通信擴展模塊均不支持 Modbus TCP、CANopen、DeviceNet 以及 BACnet 通信協(xié)議。
引起6號錯誤主要有兩方面的原因:1.多個 MBUS_MSG 指令同時使能執(zhí)行;2. Modbus庫存儲區(qū)中分配的建議地址區(qū)與編程中已使用的V存儲區(qū)有重疊。
2Modbus RTU從站
S7-200 CPU上的通信口Port0可以支持Modbus RTU協(xié)議,成為Modbus RTU從站。此功能是通過S7-200的自由口通信模式實現(xiàn),因此可以通過無線數(shù)據(jù)電臺等慢速通信設備傳輸。
要實現(xiàn)Modbus RTU通信,需要STEP 7-Micro/WIN32 V3.2以上版本的編程軟件,而且須安裝STEP 7-Micro/WIN32 V3.2 Instruction Library(指令庫)。Modbus RTU功能是通過指令庫中預先編好的程序功能塊實現(xiàn)的。
檢查Micro/WIN的軟件版本,應當是STEP 7-Micro/WIN V3.2以上版本。
檢查Micro/WIN的指令樹中是否存在Modbus RTU從站指令庫(圖1),庫中應當包括MBUS_INIT和MBUS_SLAVE兩個子程序。如果沒有,須安裝Micro/WIN32 V3.2的Instruction Library(指令庫)軟件包;
圖1. 指令樹中的庫指令
編程時使用SM0.1調(diào)用子程序MBUS_INIT進行初始化,使用SM0.0調(diào)用MBUS_SLAVE,并指定相應參數(shù)。關于參數(shù)的詳細說明,可在子程序的局部變量表中找到;
圖2. 調(diào)用Modbus RTU通信指令庫
圖中參數(shù)意義如下:
在CPU的V數(shù)據(jù)區(qū)中分配庫指令數(shù)據(jù)區(qū)(Library Memory);
如有必要,使用主站軟件測試。
在圖2的例子中,規(guī)定了 Modbus 保持寄存器區(qū)從 VB0 開始(HoldStart = VB0),并且保持寄存器為1000個字(MaxHold=1000),因保持寄存器以字(兩個字節(jié))為單位,實際上這個通信緩沖區(qū)占用了VB0~VB1999共2000個字節(jié)。因此分配庫指令保留數(shù)據(jù)區(qū)時至少要從VB2000開始。當然保持區(qū)不一定要從VB0開始。
可到一些軟件下載網(wǎng)站尋找類似軟件,如 ModScan32 等。
Modbus地址總是以00001、30004之類的形式出現(xiàn)。S7-200內(nèi)部的數(shù)據(jù)存儲區(qū)與Modbus的0、1、3、4共4類地址的對應關系如下:
表2. Modbus地址對應表
其中T為S7-200中的緩沖區(qū)起始地址,即 HoldStart。
如果已知S7-200中的V存儲區(qū)地址,推算Modbus地址的公式如下:
Modbus地址 = 40000 + (T/2+1) ; T為偶數(shù)
Modbus RTU 從站指令庫支持特定的 Modbus 功能。訪問使用此指令庫的主站必須遵循這個指令庫的要求。
表 3. Modbus RTU 從站功能碼
需要 STEP 7-Micro/WIN V4.0 SP3 以上版打開
沒有關系。支持網(wǎng)絡通信的通信協(xié)議必須有其自己的網(wǎng)絡尋址規(guī)定。 Modbus 從站的地址只是它在 Modbus 網(wǎng)絡上的地址,而通常所說的 S7-200 CPU 地址是 CPU 在西門子的 PPI 網(wǎng)絡上的站地址。S7-200 CPU 的大部分通信功能都通過 PPI 網(wǎng)絡完成,例如編程、網(wǎng)絡讀寫通信等。
Modbus 地址與 Modbus 的功能碼是兩個層次的概念。
根據(jù) Modbus 通信協(xié)議,Modbus 數(shù)據(jù)的地址使用 00xxx、10xxx、30xxx 和 40xxx 的形式,分別表示數(shù)字量輸出、數(shù)字量輸入、模擬量輸入等數(shù)據(jù)地址。在使用 S7-200 的指令庫時,Modbus 數(shù)據(jù)地址與 S7-200 的 I/O 和數(shù)據(jù)存儲區(qū)地址間有特定的對應關系。
有些設備表明它支持 Modbus RTU 通信協(xié)議,但也詳細提供了讀寫數(shù)據(jù)的詳細通信幀格式,其中包括如何指定 Modbus 站的地址,需要讀寫數(shù)據(jù)類型、長度等等。數(shù)據(jù)幀有特定字節(jié)指出此指令讀寫的數(shù)據(jù)類型和地址,此字節(jié)的數(shù)據(jù)內(nèi)容即所謂"功能碼",如功能 1 指定讀取單個/多個數(shù)字量輸出點的值。
支持 Modbus 協(xié)議的設備或軟件,使用時用戶直接設置或看到的應當是 Modbus 數(shù)據(jù)地址。Modbus 地址所訪問的數(shù)據(jù),是通過各種"功能"讀寫而來。功能碼是 Modbus 地址的底層。如果 Modbus 通信的一方提供的所謂 Modbus 協(xié)議只有功能碼,則需要注意了解此功能號與 Modbus 地址間的對應關系。
Modbus 指令庫使用的是 CPU 的自由口通信功能,工作在自由口模式下的通訊口不能使用 Micro/WIN 的 PPI 編程通信監(jiān)控。如果通信口都已經(jīng)被占用,可以考慮:
有些HMI軟件使用Modbus RTU通信協(xié)議時,處理存儲在數(shù)據(jù)保持寄存器中的實數(shù)(浮點數(shù))的方式與西門子的實數(shù)保存格式不同。西門子的PLC遵循"高字節(jié)低地址、低字節(jié)高地址"的規(guī)律。
Modbus RTU的保持寄存器總是以"字(雙字節(jié))"為單位,而一個實數(shù)需要4個字節(jié)(雙字)表示。HMI軟件在處理時可能會把保持寄存器的兩個"字"互換位置,造成不能識別以西門子格式表示的實數(shù)。如果HMI軟件一方無法處理這種實數(shù),則可在S7-200 CPU中編程將存入數(shù)據(jù)緩沖區(qū)(保持寄存器區(qū))的實數(shù)的高字和低字互換。
可能此軟件使用了Modbus功能15(寫多個離散量)或類似功能(功能 16)。S7-200從站協(xié)議遵守"以整字節(jié)地址邊界(如Q0.0、Q2.0)開始、以8的整數(shù)倍為位個數(shù)"的規(guī)約。如果HMI軟件未嚴格執(zhí)行此規(guī)律就可能發(fā)生寫入錯誤的情況。
S7-200可以支持上述模式,但是沒有現(xiàn)成的指令庫,需要用戶自己編程。
使用指令庫時,若編譯后出現(xiàn)很多錯誤,一般是因為未指定庫指令數(shù)據(jù)存儲區(qū)。請參考相關條目。
可以。用戶可以自己編程實現(xiàn)。
S7-200可以組成RS-485基礎上的Modbus RTU網(wǎng)絡。如果通信對象是不同標準的通信口,可能還需要轉(zhuǎn)換。
STEP 7-Micro/WIN V4.0 以上版內(nèi)部已經(jīng)帶有新的指令庫,但在未安裝西門子 Instruction Library 軟件包的情況下,不能顯示出來使用。
用戶可以直接從下面獲得西門子 Instruction Library 軟件安裝包:
最新的 STEP 7-Micro/WIN V4.0 SP5 版本支持以下幾種西門子標準指令庫:
圖1. 西門子標準庫以淺藍色圖標表示(Micro/WIN V4.0 SP5)
從以下兩種途徑可以獲得STEP 7-Micro/WIN指令庫:
調(diào)用STEP 7 - Mciro/WIN32 V3.2 Instruction Library(指令庫)需要分配庫指令數(shù)據(jù)區(qū)(Library Memory)。庫指令數(shù)據(jù)區(qū)是相應庫的子程序和中斷程序所要用到的變量存儲空間。
如果在編程時不分配庫指令數(shù)據(jù)區(qū),編譯時會產(chǎn)生許多相同的錯誤(錯誤18)。
操作步驟(以Modbus RTU庫指令為例):
在指令樹的Project(項目)中,以鼠標右鍵單擊Program Block(程序塊),在彈出的快捷菜單中選擇Library Memory。如圖2所示:
圖2
在彈出的選項卡中設置庫指令數(shù)據(jù)區(qū),如圖2所示:
圖3.缺省情況下是從VB0開始,但因為與Modbus的保持寄存區(qū)沖突,所以手動改為VB2000。按"Suggest Address"按鈕也可以自動分配。
第一步:在Micro/WIN的File(文件)菜單中選擇Add/Remove Libraries...(添加/刪除指令庫)命令 ;或者在指令樹的Libraries(指令庫)分支上單擊鼠標右鍵,選擇Add/Remove Libraries...
圖4. 選擇添加/刪除指令庫命令
添加/刪除對話框中將顯示已經(jīng)在本機的Micro/WIN中集成的用戶自定義指令庫。
圖5. 已安裝的庫指令
第二步:按Add(添加)按鈕,選擇新定義的庫文件路徑。用戶自定義庫將自動添加到Micro/WIN指令樹的Libraries分支下。
圖6. 選擇庫文件
第一步:選擇添加/刪除指令庫命令
圖7. 選擇命令
第二步:選中須卸載的庫所對應的庫文件,按Remove(刪除)按鈕
圖8. 選中要刪除的庫指令文件
4RS-485網(wǎng)絡
S7-200系統(tǒng)支持的PPI、MPI和PROFIBUS-DP協(xié)議通常以RS-485電氣網(wǎng)絡為硬件基礎。
S7-200 CPU通信口的共模抑制電壓是12V。所以對于這類非隔離型的RS-485端口,保證通信口之間的信號地等電位非常重要,最好將它們連接在一起(并不是說一定要接地)。
S7-200系統(tǒng)中的RS-485端口是半雙工的,不能同時發(fā)送和接收信號。
在S7-200系統(tǒng)中,CPU上的通信口(編程口),以及EM277模塊上的通信端口都是符合RS-485電氣標準的。但它們也有所不同:
以下三種協(xié)議,都可以在RS-485的硬件基礎上實現(xiàn)通信:
因此考察上述電氣網(wǎng)絡的通信時,我們應注意到它們都受RS-485網(wǎng)絡電氣基礎的制約。上述網(wǎng)絡所用的網(wǎng)絡硬件基本一樣
6ES7407-0KR02-0AA0
只能在STEP 7 (TIA Portal) 中打開或編輯庫。更多關于如何在STEP 7 (TIA Portal)中打開庫的詳細說明參見 ID:
注
Area of application
例外:
利用帶有電流傳輸?shù)慕涌?,中央控制器中的電源模塊也向擴展單元中的所有模塊供電。
Design
LED 指示內(nèi)部故障、 5 V DC和24 V DC正確輸出電壓以及正確后備電池電壓。
Technical Specifications
Modbus RTU 主站指令庫
安裝西門子標準指令庫
1.2 Modbus RTU 主站功能編程
a.
EN
使能:
必須保證每一掃描周期都被使能(使用 SM0.0)
b.
Mode
模式:
為 1 時,使能 Modbus 協(xié)議功能;為 0 時恢復為系統(tǒng) PPI 協(xié)議
c.
Baud
波特率:
支持的通訊波特率為1200,2400,4800,9600,19200,38400,57600,115200。
d.
Parity
校驗:
校驗方式選擇
0=無校驗
1=奇較驗
2=偶較驗
e.
Timeout
超時:
主站等待從站響應的時間,以毫秒為單位,典型的設置值為 1000 毫秒(1 秒),允許設置的范圍為 1 - 32767。
注意: 這個值必須設置足夠大以保證從站有時間響應。
f.
Done
完成位:
初始化完成,此位會自動置1??梢杂迷撐粏?MBUS_MSG 讀寫操作(見例程)
g.
Error
初始化錯誤代碼(只有在 Done 位為1時有效):
0= 無錯誤
1= 校驗選擇非法
2= 波特率選擇非法
3= 模式選擇非法
常見的錯誤:
a.
EN
使能:
同一時刻只能有一個讀寫功能(即 MBUS_MSG)使能
注意:建議每一個讀寫功能(即 MBUS_MSG)都用上一個 MBUS_MSG 指令的 Done 完成位來激活,以保證所有讀寫指令循環(huán)進行(見例程)。
b.
First
讀寫請求位:
每一個新的讀寫請求必須使用脈沖觸發(fā)
c.
Slave
從站地址:
可選擇的范圍 1 - 247
d.
RW
從站地址:
0 = 讀, 1 = 寫
注意:
1. 開關量輸出和保持寄存器支持讀和寫功能
2. 開關量輸入和模擬量輸入只支持讀功能
e.
Addr
讀寫從站的數(shù)據(jù)地址:
選擇讀寫的數(shù)據(jù)類型
00001 至 0xxxx - 開關量輸出
10001 至 1xxxx - 開關量輸入
30001 至 3xxxx - 模擬量輸入
40001 至 4xxxx - 保持寄存器
f.
Count
數(shù)據(jù)個數(shù)
通訊的數(shù)據(jù)個數(shù)(位或字的個數(shù))
注意: Modbus主站可讀/寫的最大數(shù)據(jù)量為120個字(是指每一個 MBUS_MSG 指令)
g.
DataPtr
數(shù)據(jù)指針:
1. 如果是讀指令,讀回的數(shù)據(jù)放到這個數(shù)據(jù)區(qū)中
2. 如果是寫指令,要寫出的數(shù)據(jù)放到這個數(shù)據(jù)區(qū)中
h.
Done
完成位
讀寫功能完成位
i.
Error
錯誤代碼:
只有在 Done 位為1時,錯誤代碼才有效
0 = 無錯誤
1 = 響應校驗錯誤
2 = 未用
3 = 接收超時(從站無響應)
4 = 請求參數(shù)錯誤(slave address, Modbus address, count, RW)
5 = Modbus/自由口未使能
6 = Modbus正在忙于其它請求
7 = 響應錯誤(響應不是請求的操作)
8 = 響應CRC校驗和錯誤
-
101 = 從站不支持請求的功能
102 = 從站不支持數(shù)據(jù)地址
103 = 從站不支持此種數(shù)據(jù)類型
104 = 從站設備故障
105 = 從站接受了信息,但是響應被延遲
106 = 從站忙,拒絕了該信息
107 = 從站拒絕了信息
108 = 從站存儲器奇偶錯誤
1.3 關于 Modbus RTU 主站協(xié)議及地址
Modbus 地址
讀/寫
Modbus 從站須支持的功能
00001 - 09999
數(shù)字量輸出
讀
功能 1
寫
功能 5:寫單輸出點
功能 15:寫多輸出點
10001 - 19999
數(shù)字量輸入
讀
功能 2
寫
-
輸入寄存器
讀
功能 4
寫
-
40001 - 49999
保持寄存器
讀
功能 3
寫
功能 6:寫單寄存器單元
功能 16:寫多寄存器單元
1.4 Modbus RTU 主站例程
注意:此指令庫/程序的作者和擁有者對于該軟件的功能性和兼容性不負任何責任。使用該軟件的風險完全由用戶自行承擔。由于它是免費的,所以不提供任何擔保,錯誤糾正和熱線支持,用戶不必為 此聯(lián)系西門子技術支持與服務部門。
1.5 Modbus RTU 主站常問問題
Modbus RTU 主站庫對 CPU 的版本是否有要求,為什么編譯例子程序時,會遇到 4 個錯誤?
Modbus 指令庫啟動后,如何通過同一個通信端口進行 CPU 監(jiān)控?
如何理解 Modbus 地址與功能碼的區(qū)別?
如何訪問大于 9999 的保持寄存器地址?
Modubs Master 擴展地址模式僅支持保持寄存器區(qū),不支持其他地址類型。
S7-200 作為 Modbus 主站方接收上來的數(shù)據(jù)格式與第三方設備不一樣怎么辦?
S7-200 是否支持如 Modbus TCP 等其它協(xié)議?
為什么 S7-200 作 Modbus 主站時 MBUS_MSG 指令報6號錯誤?
2.1 CPU 上的通信口(Port0)支持 Modbus RTU 從站通信協(xié)議
詳情請參考《S7-200系統(tǒng)手冊》之相關章節(jié)。
Modbus RTU從站指令庫只支持CPU上的通信0口(Port0)。
2.2 編程基本步驟:
錯誤代碼
描述
0
無錯誤
1
存儲區(qū)范圍錯誤
2
非法波特率或校驗
3
非法從站地址
4
Modbus 參數(shù)的非法值
5
保持寄存器與Modbus從站符號地址重復
6
接收校驗錯誤
7
接收CRC錯誤
8
非法功能請求/不支持的功能
9
請求中有非法存儲區(qū)地址
10
從站功能未使能
注意:由子程序參數(shù)HoldStart和MaxHold指定的保持寄存器區(qū),是在S7-200 CPU的V數(shù)據(jù)存儲區(qū)中分配,此數(shù)據(jù)區(qū)不能和庫指令數(shù)據(jù)區(qū)有任何重疊,否則在運行時會產(chǎn)生錯誤,不能正常通信。注意Modbus 中的保持寄存器區(qū)按"字"尋址,即MaxHold規(guī)定的是VW而不是VB的個數(shù)。
注意:你選用的CPU的V存儲區(qū)大??!CPU型號不同V數(shù)據(jù)存儲區(qū)大小不同。應根據(jù)需要選擇Modbus保持寄存器區(qū)域的大小。
包含 Modbus RTU 從站指令庫的項目編譯、下載到CPU中后,在編程計算機(PG/PC)上運行一些 Modbus 測試軟件可以檢驗S7-200的Modbus RTU通信是否正常,這對查找故障點很有用。測試軟件通過計算機串口(RS-232)和PC/PPI電纜連接CPU。如果必要,須將PC/PPI電纜設置在自由口通信方式。
2.3 Modbus RTU 從站地址與S7-200的地址對應
Modbus地址
S7-200數(shù)據(jù)區(qū)
00001 ~ 00128
Q0.0 ~ Q15.7
10001 ~ 10128
I0.0 ~ I15.7
30001 ~ 30032
AIW0 ~ AIW62
40001 ~ 4xxxx
T ~ T + 2 * (xxxx -1)
2.4 Modbus RTU 從站指令庫支持的功能碼
功能碼
主站使用相應功能碼作用于此從站的效用
1
讀取單個/多個線圈(離散量輸出點)狀態(tài)。 功能 1 返回任意個數(shù)輸出點(Q)的 ON/OFF 狀態(tài)。
2
讀取單個/多個觸點(離散量輸入點)狀態(tài)。 功能 2 返回任意個數(shù)輸入點(I)的 ON/OFF 狀態(tài)。
3
讀取單個/多個保持寄存器。功能 3 返回 V 存儲區(qū)的內(nèi)容。在 Modbus 協(xié)議下保持寄存器都是"字"值,在一次請求中可以讀取最多 120 個字的數(shù)據(jù)。
4
讀取單個/多個輸入寄存器。功能 4 返回 S7-200 的模擬量數(shù)據(jù)值。
5
寫單個線圈(離散量輸出點)。功能 5 用于將離散量輸出點設置為指定的值。這個點不是被強制的,用戶程序可以覆蓋 Modbus 通信請求寫入的值。
6
寫單個保持寄存器。功能 6 寫一個值到 S7-200 的 V 存儲區(qū)的保持寄存器中。
15
寫多個線圈(離散量輸出點)。功能 15 把多個離散量輸出點的值寫到 S7-200 的輸出映像寄存器(Q 區(qū))。輸出點的地址必須以字節(jié)邊界起始(如 Q0.0 或 Q2.0),并且輸出點的數(shù)目必須是 8 的整數(shù)倍。這是此 Modbus RTU 從站指令庫的限制。些點不是被強制的,用戶程序可以覆蓋 Modbus 通信請求寫入的值。
16
些多個保持寄存器。功能 16 寫多個值到 S7-200 的 V 存儲區(qū)的保持寄存器中。在一次請求中可以寫最多 120 個字的數(shù)據(jù)。
2.5 Modbus RTU 從站例程
2.6 Modbus RTU 從站常見問題
Modbus 從站的網(wǎng)絡地址與 S7-200 的 CPU 網(wǎng)絡地址有什么關系?
如何理解 Modbus 地址與功能碼的區(qū)別?
Modbus 指令庫啟動后,如何通過同一個通信端口進行 CPU 監(jiān)控?
為何有些 HMI 軟件使用 Modbus RTU 讀取S7-200中的實數(shù)會出現(xiàn)錯誤?
為何有的HMI軟件用Modbus RTU可以讀取作為從站的S7-200的內(nèi)容,但不能寫入?
S7-200是否支持 Modbus ASCII 模式?
項目編譯后為何出現(xiàn)很多錯誤?
S7-200 CPU的Port1是否可以支持Modbus RTU協(xié)議?
在S7-200的"Tips and Tricks"幫助文檔中,Tip041是Modbus RTU從站程序,用戶可以參考。
S7-200是否可以組成Modbus RTU通信網(wǎng)絡?如何組網(wǎng)?
參見:RS-485網(wǎng)絡組成
要使用西門子的標準指令庫,必須先安裝西門子的指令庫軟件包 Instruction Library。安裝了 Instruction Library 之后,只要安裝的 STEP 7-Micro/WIN 版本是最新的,就能獲得相應版本的新指令庫。安裝 Micro/WIN 的升級包(Service Pack)也會更新指令庫的版本。
可使CPU通信口 Port0 和 Port 1 支持與Micro-Master 3(MM3系列)和Micro-Master 4(MM4系列,如MM420、MM430、MM440等)、SINAMICS G110系列的USS通信控制,通過一些預先編好的子程序和中斷程序,以方便地控制變頻器的運行和讀寫其參數(shù)。
Micro/WIN V4.0的USS指令庫現(xiàn)在已經(jīng)針對西門子的Master Drive做了優(yōu)化。
可使CPU通信口 Port0 支持Modbus RTU從站通信功能。
可使 CPU 通信口 Port 0 和 Port 1 支持 Modbus RTU 主站通信功能。
以上通信協(xié)議庫都是使用了S7-200 CPU的自由口通信功能。
注意:
有時因為系統(tǒng)和軟件安裝有問題,可能在安裝完西門子標準指令庫后仍然不能看到西門子標準庫。這時可以嘗試添加標準庫。標準庫的文件存在Micro/WIN安裝目錄下的Standard Libs目錄下。
3.1 分配庫指令數(shù)據(jù)區(qū)
可以使用Suggest Address(推薦地址)設置數(shù)據(jù)區(qū),但要注意編程軟件設置的數(shù)據(jù)區(qū)地址,只考慮到了其他一般尋址,而未考慮到諸如Modbus數(shù)據(jù)保持寄存器區(qū)等的設置。應當確保不與其他任何已使用的數(shù)據(jù)區(qū)重疊、沖突。不應重復按Suggest Address按鈕,否則也會造成混亂。
在STEP 7-Micro/WIN32 V3.1中,有分配庫指令數(shù)據(jù)區(qū)時有不同的操作方法,需要在Symbol Table(符號表)中設置一個首地址。我們強烈建議使用當時最新的編程版本。
3.2 添加指令庫
注意:添加自定義指令庫,需要關閉編輯庫指令的項目,新建立一個項目。如果要添加其他來源的庫指令自然不需要如此。
缺省情況下,Micro/WIN到圖8中的路徑下尋找?guī)熘噶钗募?。用戶也可以指定其他路徑。但要注意庫文件應當保持在非移動的介質(zhì)上,如果指定了一個可移動硬盤,則硬盤不在時會發(fā)生找不到庫的錯誤。建議用戶使用缺省設置。
3.3 刪除庫指令
RS-485串行通信標準采用平衡信號傳輸方式,或者稱為差動模式。平衡傳輸方式可以有效地抑制傳輸過程中干擾。
平衡方式采用一對導線,利用兩根導線間的電壓差傳輸傳輸信號。這兩根導線被命名為A(TxD/RxD-)和B(TxD/RxD+)。當B的電壓比A高時,認為傳輸?shù)氖沁壿?高"電平;當B的電壓比A低時,認為傳輸?shù)氖沁壿?低"電平信號。能夠有效工作的差動電壓范圍十分寬廣,可以從零點幾伏到接近十伏。
RS-485通信端口可以做到很高的通信速率,較長的通信距離,以及并聯(lián)連接多個端口。
平衡通信方式能否有效工作受到共模電壓差的影響。RS-485接口的兩根導線相對于通信對象信號地的電壓差就是共模電壓。非電氣隔離的RS-485接口能在一定的范圍內(nèi)抵抗共模電壓對通信的干擾。
在S7-200系統(tǒng)中,選擇合適的通信設備,可以做到波特率從1200到12M,單段距離1000m,單段站點32個的通信網(wǎng)絡。通過中繼器,RS-485電氣網(wǎng)絡還可以擴展通信距離,增加通信站點。詳情請參考《S7-200系統(tǒng)手冊》關于通信的專門一章。
雖然常見的RS-485通信器件在電氣性能上基本一致,但物理接口卻五花八門,沒有統(tǒng)一的規(guī)定。
西門子系統(tǒng)中的 D-Sub 9 針型 RS-485 端口,引腳定義是基本一致的。
4.1 S7-200系統(tǒng)中的RS-485通信
實際上,如果各通信站點的地址不同,通信波特率相同,上述三個協(xié)議可以在一個RS-485網(wǎng)絡上同時實現(xiàn)各自的通信。當然,一個站點支持什么協(xié)議受到自身條件所限。