西門子代理商13817011145 為你提供;
西門子中國(guó)授權(quán)代理商/西門子華南地區(qū)指定代理商/西門子模塊代理商/西門子變頻器代理商/西門子觸摸屏代理商/西門子PCL200代理商/西門子PLC300代理商/西門子PCL400代理商/西門子數(shù)控伺服代理商/西門子原裝授權(quán)軟件代理商/西門子一級(jí)代理商(西門子核心分銷商)專業(yè)銷售西門子S7-200/300/400/1200/1500PLC、數(shù)控系統(tǒng)、變頻器、人機(jī)界面、觸摸屏、伺服、電機(jī)、西門子通訊電纜、現(xiàn)場(chǎng)總線、DP接頭、工控機(jī)等,并可提供西門子維修服務(wù),歡迎來(lái)電垂詢。
SIEMENS中國(guó)有限公司
聯(lián) 系 人:張柏(銷售經(jīng)理)
工作QQ:254598303
聯(lián)系人 :13817011145 wei信同步
郵箱( Email )::254598303@qq.com
哪里有賣 要多少錢 哪里有 哪里能買到 要在哪里買 在哪里有賣的 價(jià)格,參數(shù),型號(hào),哪家便宜,比較便宜,哪里有,銷售,訂貨號(hào),多少錢?哪家價(jià)格好? 廠家,性能,優(yōu)點(diǎn),包裝,用途,售后服務(wù)!哪里有賣 代理商 總代理商
業(yè)務(wù)范圍:
西門子PLC可編程控制器,西門子PLC200/300/400/1200,西門子變頻器,MM440/430/420/G120/6RA70/6ES70/等系列變頻器及備件。西門子觸摸屏,西門子電纜,西門子網(wǎng)卡,西門子軟啟動(dòng)器,西門子低壓產(chǎn)品,西門子數(shù)控伺服,西門子傳動(dòng),西門子工控系列模塊,CPU.等系列西門子銷售與維修。
西門子S7300plc代理商,西門子代理商,上海西門子總代理,西門子上海代理商,西門子電機(jī)總代理,上海西門子PLC總代理,上海西門子一級(jí)代理,上海西門子變頻器總代理,上海西門子銷售商,中國(guó)總代理西門子電機(jī),西門子中國(guó)總代理 西門子中國(guó)一級(jí)代理 西門子中國(guó)總代理 ,西門子S7-300PLC, 西門子S7-200PLC總代理,西門子PLC中國(guó)總代理,西門子PLC,西門子PLC總代理,,西門子中國(guó)總代理,上海西門子PLC總代理,S7-200西門子PLC總代理,西門子S7-300PLC總代理,西門子plc模塊總代理,西門子plc編程線總代理,西門子plc編程電纜總代理
S7-200與6RA70裝置連接
1. 系統(tǒng)要求
> 安裝MicroWin software(V3.2以上)以及 USS協(xié)議庫(kù)(V2.0以上)
> PC/PPI電纜、S7-200(如CPU 226XM)、電源模塊、通信電纜
> 6RA70驅(qū)動(dòng)裝置及一臺(tái)PC機(jī)
2. 在使用MicroWin software 創(chuàng)建項(xiàng)目之前,先檢查USS protocol協(xié)議是否被正確安裝,此協(xié)議庫(kù)需要單獨(dú)購(gòu)買:
3.我們需要?jiǎng)?chuàng)建一個(gè)簡(jiǎn)單的例程:
> 第一步:設(shè)置通訊接口
> 第二步:建立PC與S2-200之間連接(注意:PC通過PC/PPI電纜與S7-200PORT1口連接;)
> 第三步:用串口電纜將S7-200PORT0端口與6RA70的PMU上X300、CUD1端子X172或CUD2端子X162相連 (注意:端口連接的規(guī)則,X300是3對(duì)3、8對(duì)8;CUD1端子X172是3對(duì)X172:58,8對(duì)X172:59;CUD2端子X162是3對(duì)X162:63,8對(duì)X162:64)
> 第四步:使用USS協(xié)議的初始化模塊初始化S7-200的PORT0端口
二進(jìn)制值2#1000 0000 0000表示要初始化USS地址11的6RA70驅(qū)動(dòng)裝置,波特率為9600,此波特率值要與PC/PPI電纜的設(shè)置相同,詳細(xì)情況請(qǐng)參看USS_INIT的幫助文件;此外我們還需要在6RA70裝置上設(shè)置相應(yīng)的參數(shù)。
表一:
參數(shù) | USS1(PMU:X300) | USS2(CUD1:X172) | USS3(CUD2:X162) |
P780=2 | P790=2 | P800=2 | |
P787=0 | P797=0 | P807=0 | |
P786=11 | P796=11 | P806=11 | |
P783=6 | P793=6 | P803=6 | |
P781=2 | P791=2 | P801=2 | |
P782=127 | P792=127 | P802=127 | |
P927 | P927=6 | P927=42 | P927=82 |
P785.1=1 | P795.1=1 | P805.1=1 | |
P785.2=0 | P795.2=0 | P805.2=0 | |
P644=2002 | P644=6002 | P644=9002 | |
P661=2100 | P661=6100 | P661=9100 |
> 第五步:使用USS_CTRL模塊來(lái)控制USS地址11的6RA70裝置,為了運(yùn)行6RA70需要按照表一設(shè)置參數(shù)
> 第六步:在編譯程序之前,選擇 Program Block -> Library then right mouse click: select Library Memeory. 在點(diǎn)擊Suggested Address選擇V存儲(chǔ)區(qū)的地址后點(diǎn)擊 “OK”退出,如下圖所示:
> 第七步:編譯程序并下載到S7-200,將RUN位置1,并在狀態(tài)表中輸入速度給定,在閉合CUD1端子X172:37和X172:38之后,6RA70直流裝置就可以運(yùn)行起來(lái)了,如下圖狀態(tài)表所示:(注意:由于MM440和6RA70的工作方式和控制字的定義并不完全相同,所以你需要將OFF2、OFF3、F_ACK命令位連接到6SE70相應(yīng)的參數(shù),它們才能起作用;此外,由于控制字的定義不相同,DIR方向控制位并不能起到方向控制的作用;詳細(xì)情況請(qǐng)參看USS_CTRL的幫助文件及6RA70控制字的定義,在本例中將RUN信號(hào)連接到6RA70脈沖使能控制參數(shù)P661,而將速度給定連接到主給定參數(shù)P644)
4. 讀寫O2類型參數(shù):如讀寫參數(shù)P078,使用USS_RPM_W和USS_WPM_W(這兩個(gè)功能塊用來(lái)讀寫16位無(wú)符號(hào)整數(shù))
> 讀參數(shù)P078,其數(shù)據(jù)類型為O2,表示16位無(wú)符號(hào)整數(shù);其程序塊如下圖所示:
在運(yùn)行此程序塊的情況下,只要給S7-200的I0.3置一個(gè)上升沿,就可以完成一次對(duì)參數(shù)P078的讀操作,讀入的值被保存到R_P078。需要特別注意的是USS_RPM_W的INDEX值必須置1,因?yàn)镸M440默認(rèn)的是PXXXX.0參數(shù)組,而6RA70默認(rèn)的是PXXX.1參數(shù)組
> 寫參數(shù)P078,其程序塊如下圖所示:
在運(yùn)行此程序塊的情況下,只要給S7-200的I0.4置一個(gè)上升沿,就可以完成一次對(duì)參數(shù)P078的寫操作,將W_P078中保存的值寫入到參數(shù)P078。USS_WPM_W的EEPROM是邏輯“0”時(shí),寫入的值只被保存到6RA70的RAM中,當(dāng)EEPROM是邏輯“1”時(shí),寫入的值同時(shí)被保存到6RA70的RAM和EEPROM中,但向EEPROM中寫數(shù)據(jù)是有次數(shù)限制,最多不要超過50000次
> 讀寫參數(shù)P078的操作請(qǐng)參照如下的狀態(tài)表所示:
5. 讀寫I2類型參數(shù):如讀寫參數(shù)P320,使用USS_RPM_W和USS_WPM_W(這兩個(gè)功能塊用來(lái)讀寫16位無(wú)符號(hào)整數(shù))
> 讀參數(shù)P320,其數(shù)據(jù)類型為I2,表示16位有符號(hào)整數(shù);其程序塊如下圖所示:
在運(yùn)行此程序塊的情況下,只要給S7-200的I1.1置一個(gè)上升沿,就可以完成一次對(duì)參數(shù)P320的讀操作,讀入的值被保存到R_P320。
> 寫參數(shù)P320,其程序塊如下圖所示:
在運(yùn)行此程序塊的情況下,只要給S7-200的I1.2置一個(gè)上升沿,就可以完成一次對(duì)參數(shù)P320的寫操作,將W_P320中保存的值寫入到參數(shù)P320。
> 讀寫參數(shù)P078的操作請(qǐng)參照如下的狀態(tài)表所示
> 參數(shù)P320的數(shù)據(jù)類型是I2(16位有符號(hào)的整數(shù)),而USS功能塊USS_RPM_W和USS_WPM_W是根據(jù)MM440參數(shù)數(shù)據(jù)類型的定義,用來(lái)讀寫16無(wú)符號(hào)的整數(shù)。因此用這兩個(gè)功能塊讀寫6RA70的I2型參數(shù)時(shí)會(huì)產(chǎn)生一定的問題,如參數(shù)值是正數(shù)是能夠正確讀寫,當(dāng)參數(shù)值是負(fù)數(shù)時(shí),讀寫操作就無(wú)法實(shí)現(xiàn)了
6. 此外S7-200的USS庫(kù)還包括USS_RPM_D和USS_WPM_D(這兩個(gè)功能塊用來(lái)讀寫32位無(wú)符號(hào)整數(shù)),以及USS_RPM_R和USS_WPM_R(這兩個(gè)功能塊用來(lái)讀寫浮點(diǎn)數(shù))
1. 概述
在現(xiàn)場(chǎng)應(yīng)用中,很多儀表和設(shè)備僅支持Modbus RTU的通訊協(xié)議,第三方儀表可以做Modbus主站或從站,西門子的通訊模塊CP341 / CP441-2 通過Dongle(硬件狗)可以擴(kuò)展該協(xié)議,S7-200 集成的口可以支持自由口通訊,通過指令庫(kù)也可以方便的實(shí)現(xiàn)Modbus RTU通訊。本文以S7-200作為Modbus 主站,CP341作為Modbus 從站,實(shí)現(xiàn)Modbus RTU通訊,闡述兩者在通訊方面的設(shè)置和注意事項(xiàng)。
2. 軟件環(huán)境
2.1 STEP7 V5.4 SP4
用于編寫 S7-300/400程序,此軟件需要從西門子購(gòu)買,本文檔中的300的程序是使用Step7 V5.4 SP4的軟件編寫。
2.2 CP PTP Param V5.1 SP11
串行通訊模板的驅(qū)動(dòng)程序,安裝此驅(qū)動(dòng)后才能對(duì)PtP模板進(jìn)行參數(shù)配置,并在Step7中集成通訊編程需要使用的功能塊。此驅(qū)動(dòng)隨購(gòu)買模板一起提供,也可以從以下的鏈接下載:27013524
2.3 CP PTP Modbus Slave V3.1 SP7
CP341或CP441-2用于Modbus從站時(shí),需要安裝此驅(qū)動(dòng)協(xié)議,但安裝之前必須先安裝PtP Driver,此驅(qū)動(dòng)可以在購(gòu)買Modbus Dongle時(shí)選擇購(gòu)買,也可以從以下的鏈接下載:27774276
2.4 STEP7 Micro/WIN V4.0 SP6
用于S7-200編程的軟件,本文檔中的200的程序是使用Step7 Micro/win 的軟件編寫。此軟件可以從西門子下載中心免費(fèi)下載,也可以從以下的鏈接下載。
http://www.ad.siemens.com.cn/download 網(wǎng)站 自動(dòng)化系統(tǒng)>>S7-200>>軟件,文檔編號(hào)S0002。
2.5 Toolbox_V32-STEP 7-Micro WIN 32 Instruction Library
S7-200實(shí)現(xiàn)Modbus RTU功能,可以使用Modbus的指令庫(kù),要使用西門子的標(biāo)準(zhǔn)指令庫(kù),必須先安裝指令庫(kù)的軟件包 Instruction Library,安裝后,可以在Step 7-Micro/WIN軟件的庫(kù)中找到Modbus相關(guān)的指令,該軟件包可以從以下的鏈接下載。http://www.ad.siemens.com.cn/download 網(wǎng)站 自動(dòng)化系統(tǒng)>>S7-200>>軟件,文檔編號(hào)S0010。
3. 硬件列表和接線
3.1 硬件列表
S7-300從站 | CPU315-2DP | 6ES7 315-2AG10-0AB0 |
CP341 RS422/485 | 6ES7 341-1CH01-0AE0 | |
Dongle | 6ES7 870-1AB01-0YA0 | |
PC 適配器(USB) | 6ES7 972-0CB20-0XA0 | |
S7-200主站 | CPU 224XP | 6ES7 214-2BD23-0XB0 |
表1 硬件設(shè)備
3.2 硬件接線
3.2.1 接口定義
S7-200的通訊口為RS485物理口(9針口),CP341是RS422/485的接口類型(15針口),兩種設(shè)備的接口引腳的示意圖如下所示,更詳細(xì)的信息可以參考CP341及S7-200通信接口的手冊(cè)。
圖1 S7-200 CPU通信口引腳定義
6ES7222-1EF22-0XA0
圖2 S7-300 CP341 RS422/485 通訊口引腳定義
3.2.2 接線示意圖
圖3 硬件結(jié)構(gòu)和接線示意圖
4. 組態(tài)設(shè)置和編程
4.1 S7-200做Modbus主站的設(shè)置
S7-200 CPU上的通信口在電氣上是標(biāo)準(zhǔn)的RS-485半雙工串行通信口,此串行字符通信的格式:1個(gè)起始位;7/8位數(shù)據(jù)位;1位奇/偶/無(wú)校驗(yàn);1停止位。通信波特率可以設(shè)置為1200、2400、4800、9600、19200、38400、57600或112500,符合這些格式的串行通訊設(shè)備可以和S7-200進(jìn)行自由口通訊,Modbus RTU指令庫(kù)就是使用自由口編程實(shí)現(xiàn)的。
4.1.1 Modbus RTU主站庫(kù)
使用Modbus 主站指令庫(kù)時(shí)需要注意的幾點(diǎn):
圖4 庫(kù)存儲(chǔ)區(qū)設(shè)置
Modbus 地址 | 讀 / 寫 | Modbus 從站須支持的功能 |
00001~09999 | 讀 | 功能1:讀輸出點(diǎn) |
數(shù)字量輸出 | 寫 | 功能5:寫單個(gè)輸出點(diǎn) |
功能15:寫多個(gè)輸出點(diǎn) | ||
10001~19999 | 讀 | 功能2:讀輸入點(diǎn) |
數(shù)字量輸入 | ||
30001~39999 | 讀 | 功能4:讀輸入寄存器 |
輸入寄存器 | ||
40001~49999 | 讀 | 功能3:讀保持寄存器 |
保持寄存器 | 寫 | 功能6:寫單個(gè)寄存器 |
功能16:寫多個(gè)寄存器 |
表2需要從站支持的功能
4.1.2 S7-200 Modbus主站編程
編程時(shí),使用SM0.0調(diào)用MBUS_CTRL完成主站的參數(shù)初始化,詳細(xì)見下表,參數(shù)的說明也可以從子程序的局部變量表中找到。
圖5 Modbus RTU 主站初始化
圖中各參數(shù)含義如下
編號(hào) | 符號(hào)/含義 | 說 明 |
a | EN / 使能 | 必須保證每一掃描周期都被使能(使用SM0.0)。 |
b | Mode / 模式 | 為1時(shí)使能為Modbus協(xié)議;為0時(shí)恢復(fù)為PPI協(xié)議。 |
c | Baud / 波特率 | 支持的通訊波特率為1200,2400,4800,9600,19200,38400,57600,115200。 |
d | Parity / 校驗(yàn) | 校驗(yàn)方式選擇:0=無(wú)校驗(yàn);1=奇校驗(yàn),2=偶校驗(yàn)。 |
e | Timeout / 超時(shí) | 主站等待從站響應(yīng)的時(shí)間,以毫秒為單位,典型的設(shè)置值為 1000毫秒,允許設(shè)置的范圍為1-32767。這個(gè)值必須設(shè)置足夠大以保證從站有時(shí)間響應(yīng)。 |
f | Done / 完成位 | 初始化完成,此位會(huì)自動(dòng)置1。 |
g | Error / 錯(cuò)誤位 | 初始化錯(cuò)誤代碼。 |
表3
調(diào)用 Modbus RTU 主站讀寫子程序MBUS_MSG,發(fā)送一個(gè)Modbus 請(qǐng)求。
圖6 調(diào)用Modbus RTU 主站讀寫子程序
圖中各參數(shù)含義如下
編號(hào) | 符號(hào)/含義 | 說 明 |
a | EN / 使能 | 同一時(shí)刻只能有一個(gè)讀寫功能使能。 |
b | First / 讀寫請(qǐng)求位 | 每一個(gè)新的讀寫請(qǐng)求必須使用脈沖觸發(fā)。 |
c | Slave / 從站地址 | 可選擇的范圍1–247。 |
d | RW / 讀寫操作位 | 0=讀, 1=寫。 |
e | Addr / 讀寫從站的數(shù)據(jù)地址 | 選擇讀寫的數(shù)據(jù)類型: |
00001 至 0xxxx - 開關(guān)量輸出 | ||
10001 至 1xxxx - 開關(guān)量輸入 | ||
30001 至 3xxxx - 模擬量輸入 | ||
40001 至 4xxxx - 保持寄存器。 | ||
f | Count / 數(shù)據(jù)的個(gè)數(shù) | 通訊的數(shù)據(jù)個(gè)數(shù)(位或字的個(gè)數(shù))。 |
g | DaptPtr / 數(shù)據(jù)指針 | 如果是讀指令,讀回的數(shù)據(jù)放到這個(gè)數(shù)據(jù)區(qū)中; |
如果是寫指令,要寫出的數(shù)據(jù)放到這個(gè)數(shù)據(jù)區(qū)中。 | ||
h | Done / 完成位 | 讀寫功能完成位。 |
i | Error / 錯(cuò)誤代碼 | 只有在Done位為1時(shí),錯(cuò)誤代碼才有效。 |
表4
從上圖中可見,S7-200作為Modbus RTU主站,波特率9.6Kb/s,偶校驗(yàn),連接從站的站地址是3,數(shù)據(jù)存儲(chǔ)區(qū)為VB2000開始的區(qū)域。
4.2 CP341 做Modbus 從站的硬件組態(tài)
4.2.1 硬件組態(tài)
圖7 S7-300側(cè)硬件組態(tài)
4.2.2 設(shè)置Modbus參數(shù)
圖8 消息楨字符結(jié)構(gòu)
按照上述操作設(shè)置參數(shù),從上圖可以看出,本例中的傳輸波特率9.6Kb/s,1位起始位,8位數(shù)據(jù)位,偶校驗(yàn)位,1位停止位,從站站地址是3,主從通訊設(shè)備的字符幀格式和波特率等參數(shù)設(shè)置需要一致。
圖9 RS422/485 接口組態(tài)
RS422/485接口只能一個(gè)有效,接口的選擇只需要組態(tài)而不需要在硬件上短接。
4.2.3 Modbus驅(qū)動(dòng)的下載
當(dāng)配置好Modbus通信的參數(shù)后,保存前需要向CP341下載Modbus Slave的驅(qū)動(dòng),一旦下載完成后無(wú)需再次下載。
需要注意的是,在下載驅(qū)動(dòng)時(shí)(可以在無(wú)Dongle情況下下載),需要將CPU停機(jī),然后下載,操作過程如下所示。
圖10 下載Dongle時(shí),需要CPU停機(jī)
圖11 從站驅(qū)動(dòng)下載后結(jié)果
4.2.4 CP341做Modbus從站的編程
從Step7 軟件下的EXAMPLE目錄中,找到項(xiàng)目名“zXX21_05_PtP_Com_MODSL”的項(xiàng)目,打開,然后將Modbus通訊模塊FB80傳遞到用戶項(xiàng)目中,打開路徑如下所示。
圖12 Modbus Slave 例程打開路徑
OB1中調(diào)用FB80編程如下:
圖13 FB80程序塊調(diào)用
CP卡初始化正常后,CP_START,CP_START_FM和CP_START_OK為1信號(hào),否則CP_START_ERROR為1,同時(shí)可以從ERROR_NR察看錯(cuò)誤信息,也可以在硬件組態(tài)中在線后的CP341的診斷緩沖區(qū)察看詳細(xì)的錯(cuò)誤信息,錯(cuò)誤信息對(duì)照和處理方式可以參考
《S7-300以用于PtP CP Modbus 協(xié)議RTU格式S7的可裝載驅(qū)動(dòng)程序?yàn)閺恼尽返氖謨?cè)。
FB80的各參數(shù)含義如下
LADDR | 硬件組態(tài)中CP341的起始邏輯地址,本例中為256 |
START_TIMER | 初始化超時(shí)定時(shí)器,本例中為T120 |
START_TIME | 初始化定時(shí)器時(shí)間,本例中為5S |
OB_MASK | I/O訪問錯(cuò)誤屏蔽位,本例中為True(I/O訪問錯(cuò)誤已屏蔽) |
CP_START | FB初始化使能位,本例中為M0.0 |
CP_START_FM | CP_START 初始化的上升沿位,本例中為M0.1 |
CP_NDR | 從CP卡寫操作位,本例中為m0.2 |
CP_START_OK | 初始化完成且無(wú)錯(cuò)誤,本例中為M0.3 |
CP_START_ERROR | 初始化完成,但有錯(cuò)誤,本例中為M0.4 |
ERROR_NR | 錯(cuò)誤號(hào),本例中為MW2 |
ERROR_INFO | 錯(cuò)誤信息,本例中為MW4 |
表5
5. 通訊測(cè)試
Modbus RTU格式通信協(xié)議是以主從的方式進(jìn)行數(shù)據(jù)傳輸?shù)?,在傳輸?shù)倪^程中主站是主動(dòng)方,即主站發(fā)送數(shù)據(jù)請(qǐng)求報(bào)文到從站,從站返回響應(yīng)報(bào)文。Modbus 系統(tǒng)間的數(shù)據(jù)交換是通過功能碼來(lái)控制的,以下對(duì)現(xiàn)場(chǎng)常用的功能碼進(jìn)行分類測(cè)試,關(guān)于功能碼的詳細(xì)信息請(qǐng)參考手冊(cè)。
5.1 FC01/05/15功能碼
CP341從站的通訊區(qū)域配置
圖14 FC01/05/15 參數(shù)組態(tài)界面
FC01、FC05、FC15對(duì)應(yīng)的數(shù)據(jù)區(qū)為位輸出,數(shù)據(jù)的傳遞以位為單位,可以讀寫操作,用戶地址區(qū)為0xxxx,Modbus地址在信息傳遞中從0開始。如上圖,左邊為信息傳遞地址(地址區(qū)不能沖突),右邊對(duì)應(yīng)的是S7-300的數(shù)據(jù)區(qū)。例如左邊信息傳遞地址從0 ~ 7對(duì)應(yīng)用戶地址區(qū)為00001 ~ 00008,對(duì)應(yīng)S7-300的M10.0 ~ M10.7,并且以此為例說明FC01功能碼的通訊。
S7-200主站程序調(diào)用
圖15 功能碼FC01使用
S7-200主站,用功能碼FC01讀取從站8點(diǎn)數(shù)字量輸出,接收的數(shù)據(jù)存放在VB2000開始的區(qū)域,測(cè)試截圖結(jié)果如下。
圖16 FC01功能碼數(shù)據(jù)交換
5.2 FC02功能碼
CP341從站的通訊區(qū)域配置
圖17 FC02 參數(shù)組態(tài)界面
FC02對(duì)應(yīng)的數(shù)據(jù)區(qū)為位輸出,數(shù)據(jù)的傳遞以位為單位,只讀操作,用戶地址區(qū)為1xxxx,Modbus地址在信息傳遞中從0開始,如上圖,左邊為信息傳遞地址(地址區(qū)不能沖突),右邊對(duì)應(yīng)的是S7-300的數(shù)據(jù)區(qū)。例如左邊信息傳遞地址從0 ~ 7對(duì)應(yīng)用戶地址區(qū)為10001 ~ 10008,對(duì)應(yīng)S7-300的M20.0 ~ M20.7,并且以此為例說明FC02功能碼的通訊。
S7-200主站程序調(diào)用
圖18 功能碼FC02使用
S7-200主站,用功能碼FC02讀取從站8點(diǎn)數(shù)字量輸入,接收的數(shù)據(jù)存放在VB2000開始的區(qū)域,測(cè)試截圖結(jié)果如下。
圖19 FC02功能碼數(shù)據(jù)交換
5.3 FC03/06/16 功能碼
CP341從站的通訊區(qū)域配置
圖20 FC03/06/16參數(shù)組態(tài)界面
FC03/06/16 對(duì)應(yīng)的數(shù)據(jù)區(qū)為寄存器,數(shù)據(jù)的傳遞以字為單位,可以讀寫操作,用戶地址區(qū)為4xxxx,Modbus地址在信息傳遞中從0開始。如上圖,左邊為信息傳遞地址,右邊對(duì)應(yīng)的是S7-300的數(shù)據(jù)區(qū),左邊傳輸?shù)刂凡豢筛?,右邊只?duì)應(yīng)一個(gè)數(shù)據(jù)區(qū)。例如用戶地址
區(qū)為40001 ~ 40004,對(duì)應(yīng)S7-300數(shù)據(jù)區(qū)為DB1.DBW0 ~ DB1.DBW6,并且以此為例說明
FC03功能碼的通訊。
S7-200主站程序調(diào)用
圖21功能碼FC03使用
S7-200主站,用功能碼FC03讀取從站4個(gè)字寄存器,接收的數(shù)據(jù)存放在VB2000開始的區(qū)域,測(cè)試截圖結(jié)果如下。
圖22 FC03功能碼數(shù)據(jù)交換
5.4 FC04 功能碼
CP341從站的通訊區(qū)域配置
圖23 FC04參數(shù)組態(tài)界面
FC04對(duì)應(yīng)的數(shù)據(jù)區(qū)為寄存器輸入,數(shù)據(jù)的傳遞也以字為單位,只讀操作,用戶地址區(qū)3xxxx,Modbus地址在信息傳送中從0開始。如上圖,左邊為信息傳遞地址,右邊對(duì)應(yīng)的是S7-300的數(shù)據(jù)區(qū),左邊傳輸?shù)刂凡豢筛?,右邊只?duì)應(yīng)一個(gè)數(shù)據(jù)區(qū)。例如用戶地址區(qū)為30001 ~ 30004,對(duì)應(yīng)S7-300數(shù)據(jù)區(qū)為DB1.DBW0 ~ DB1.DBW6,并且以此為例說明FC04功能碼的通訊。
S7-200主站程序調(diào)用
圖24功能碼FC04使用
S7-200主站,用功能碼FC04讀取從站4個(gè)字輸入寄存器,接收的數(shù)據(jù)存放在VB2000開始的區(qū)域,測(cè)試截圖結(jié)果如下。
圖25 FC04功能碼數(shù)據(jù)交換
5.5 Limits 欄
圖26 Limits 參數(shù)組態(tài)界面
對(duì)于寫功能碼FC05、06、15、16,可以禁用或限制訪問相關(guān)S7-300存儲(chǔ)區(qū),即使用這些功能碼時(shí),S7-300存儲(chǔ)區(qū)需要在設(shè)定的最小和最大的范圍之間,如果訪問的區(qū)域超出這個(gè)范圍,則訪問會(huì)被拒絕,同時(shí)輸出報(bào)錯(cuò)誤信息。
6. 總結(jié)
本文檔以S7-200為主站和CP341為從站簡(jiǎn)單介紹了Modbus RTU通訊,關(guān)于通訊的組態(tài)設(shè)置,編程以及常用功能碼的使用,其具體的使用可以作為西門子串行通訊模塊與第三方的儀表、設(shè)備等進(jìn)行串行通信的參考。