參考價(jià): | 面議 |
- 6ES7332-5HD01-0AB0 產(chǎn)品型號(hào)
- 品牌
- 代理商 廠商性質(zhì)
- 查看pdf文檔 產(chǎn)品資料
- 上海市 所在地
訪問次數(shù):375更新時(shí)間:2017-05-19 12:25:31
《銷售態(tài)度》:質(zhì)量保證、誠(chéng)信服務(wù)、及時(shí)到位!
《銷售宗旨》:為客戶創(chuàng)造價(jià)值是我們永遠(yuǎn)追求的目標(biāo)!
《服務(wù)說(shuō)明》:現(xiàn)貨配送至全國(guó)各地含稅(17%)含運(yùn)費(fèi)!
《產(chǎn)品質(zhì)量》:原裝*,*!
《產(chǎn)品優(yōu)勢(shì)》:專業(yè)銷售 薄利多銷 信譽(yù)好,口碑好,價(jià)格低,貨期短,大量現(xiàn)貨,服務(wù)周到!
哪里有賣西門子SM332模塊
![]() | 6ES7332-5HD01-0AB0 MSIMATIC S7-300,模擬量輸出M 332,光電隔離,4 AO,U/I;診斷;分辨率11/12位,20針,遠(yuǎn)程/插件,帶有源背板總線, |
SIEMENS西門子上海朕鋅電氣設(shè)備有限公司
:鄭鑫 :
:www.zhenxindianqi。。cn
工作 (同步)
1.概述
1.1 S7-1200 的PROFINET 通信口
S7-1200 CPU 本體上集成了一個(gè) PROFINET 通信口,支持以太網(wǎng)和基于 TCP/IP 的通信標(biāo)準(zhǔn)。使用這個(gè)通信口可以實(shí)現(xiàn) S7-1200 CPU 與編程設(shè)備的通信,與HMI觸摸屏的通信,以及與其它 CPU 之間的通信。這個(gè)PROFINET 物理接口是支持10/100Mb/s的 RJ45口,支持電纜交叉自適應(yīng),因此一個(gè)標(biāo)準(zhǔn)的或是交叉的以太網(wǎng)線都可以用于這個(gè)接口。
1.2 S7-1200支持的協(xié)議和zui大的連接資源
S7-1200 CPU 的PROFINET 通信口支持以下通信協(xié)議及服務(wù)
• TCP
• ISO on TCP ( RCF 1006 )
• S7 通信 (服務(wù)器端)
通信口所支持的zui大通信連接數(shù)
S7-1200 CPU PROFINET 通信口所支持的zui大通信連接數(shù)如下:
• 3個(gè)連接用于HMI (觸摸屏) 與 CPU 的通信
• 1個(gè)連接用于編程設(shè)備(PG)與 CPU 的通信
• 8個(gè)連接用于Open IE ( TCP, ISO on TCP) 的編程通信,使用T-block 指令來(lái)實(shí)現(xiàn)
• 3個(gè)連接用于S7 通信的服務(wù)器端連接,可以實(shí)現(xiàn)與S7-200,S7-300以及 S7-400 的以太網(wǎng)S7 通信
S7-1200 CPU可以同時(shí)支持以上15個(gè)通信連接,這些連接數(shù)是固定不變的,不能自定義。
TCP(Transport Connection Protocol)
TCP是由 RFC 793描述的標(biāo)準(zhǔn)協(xié)議,可以在通信對(duì)象間建立穩(wěn)定、安全的服務(wù)連接。如果數(shù)據(jù)用TCP協(xié)議來(lái)傳輸,傳輸?shù)男问绞菙?shù)據(jù)流,沒有傳輸長(zhǎng)度及信息幀的起始、結(jié)束信息。在以數(shù)據(jù)流的方式傳輸時(shí)接收方不知道一 條信息的結(jié)束和下一條信息的開始。因此,發(fā)送方必須確定信息的結(jié)構(gòu)讓接收方能夠識(shí)別 。在多數(shù)情況下TCP應(yīng)用了IP (Internet protocol) ,也就是“TCP/IP 協(xié)議”, 它位于 ISO-OSI 參考模型的第四層。
協(xié)議的特點(diǎn):
• 與硬件綁定的高效通信協(xié)議
• 適合傳輸中等到大量的數(shù)據(jù) (<=8192 bytes)
• 為大多數(shù)設(shè)備應(yīng)用提供
– 錯(cuò)誤恢復(fù)
– 流控制
– 可靠性
• 一個(gè)基于連接的協(xié)議
• 可以靈活的與支持TCP協(xié)議的第三方設(shè)備通信
• 具有路由兼容性
• 只可使用靜態(tài)數(shù)據(jù)長(zhǎng)度
• 有確認(rèn)機(jī)制
• 使用端口號(hào)進(jìn)行應(yīng)用尋址
• 大多數(shù)應(yīng)用協(xié)議,如NET、FTP都使用TCP
• 使用 SEND/RECEIVE 編程接口進(jìn)行數(shù)據(jù)管理需要編程來(lái)實(shí)現(xiàn)
1.3 硬件需求和軟件需求
硬件:
① S7-1200 CPU
② S7-300 CPU + CP343-1(支持S7 Client)
③ PC(帶以太網(wǎng)卡)
④ TP以太網(wǎng)電纜
軟件:
① STEP 7 Basic V10.5
② STEP 7 V5.4
2. ISO on TCP 通信
S7-1200 CPU 與S7-300/400 之間通過ISO on TCP 通信,需要在雙方都建立連接,連接對(duì)象選擇“Unspecified”。
所完成的通信任務(wù)為:
① S7-1200將DB3里的100個(gè)字節(jié)發(fā)送到S7-300的DB2中
② S7-300將輸入數(shù)據(jù)IB0發(fā)送給S7-1200的輸出數(shù)據(jù)區(qū)QB0。
2.1 S7-1200 CPU 的組態(tài)編程
組態(tài)編程過程與 S7-1200 CPU 之間的通信基本相似 (見 6.3 ),這里簡(jiǎn)單描述一下步驟:
① 使用STEP 7 Basic V10.5 軟件新建一個(gè)項(xiàng)目
在STEP 7 Basic 的“Portal View”中選擇 “Create new project”創(chuàng)建一個(gè)新項(xiàng)目
② 添加新設(shè)備
然后進(jìn)入“Project view”,在“Project tree”下雙擊“Add new device”,在對(duì)話框中選擇所使用的S7-1200 CPU添加到機(jī)架上,命名為 PLC_1。
③ 為 PROFINET 通信口分配以太網(wǎng)地址
在“Device View”中點(diǎn)擊 CPU 上代表PROFINET 通信口的綠色小方塊,在下方會(huì)出現(xiàn)PROFINET 接口的屬性,在 “Ethernet addresses”下分配IP 地址為 192.168.0.1 ,子網(wǎng)掩碼為255.255.255.0。
④ 在 S7-1200 CPU 中調(diào)用“TSEND_C”通信指令并配置連接參數(shù)和塊參數(shù)
在主程序中調(diào)用發(fā)送通信指令,進(jìn)入“Project tree” > “ PLC_1”>“Program blocks”>“Main”主程序中,從右側(cè)窗口“Instructions”> “Extended Instructions”>“Communications”下調(diào)用“TSEND_C”指令,并選擇“Single Instance”生成背景 DB塊。然后單擊指令塊下方的“下箭頭”,使指令展開顯示所有接口參數(shù)。
然后,創(chuàng)建并定義發(fā)送數(shù)據(jù)區(qū) DB 塊。通過“Project tree”>“ PLC_1”> “Program blocks” >“Add new block” ,選擇 “Data block”創(chuàng)建 DB 塊,選擇尋址,點(diǎn)擊“OK”鍵,定義發(fā)送數(shù)據(jù)區(qū)為 100個(gè)字節(jié)的數(shù)組。
根據(jù)所使用的參數(shù)創(chuàng)建符號(hào)表,如圖1所示。
配置連接參數(shù),如圖2所示。
配置塊接口參數(shù),如圖3所示。
圖1 創(chuàng)建所使用參數(shù)的符號(hào)表圖PLC tag
圖2 配置連接參數(shù)
圖3 配置 TSEND_C 塊參數(shù)
⑤ 調(diào)用“TRCV”通信指令并配置塊參數(shù)如圖6 47所示。
因?yàn)榕c發(fā)送使用的是同一連接,所以使用的是不帶連接的發(fā)送指令“TRCV”,連接“ID”使用的也是“TSEND_C”中的“Connection ID”號(hào),如圖4所示。
圖4 配置 T_RCV 塊參數(shù)
2.2 S7-300 CPU 的ISO on TCP通信的組態(tài)編程
① 使用STEP 7 軟件新建一個(gè)項(xiàng)目并進(jìn)行硬件組態(tài)
創(chuàng)建完新項(xiàng)目,在項(xiàng)目的窗口下,右鍵菜單里,選擇“Insert New Object”>“SIMATIC 300 Station” ,插入一個(gè)S7-300 站。
為了編程方便,我們使用時(shí)鐘脈沖激活通信任務(wù),在CPU的“Properties”>“Cycle/Clock Memory”中設(shè)置,如圖5所示。
圖5 設(shè)置時(shí)鐘脈沖
每一個(gè)時(shí)鐘位都按照不同的周期/頻率在0和1之間切換變化,見表1。
表1:時(shí)鐘位頻率
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
周期(S) | 2 | 01. Jun | 1 | 0.8 | 0.5 | 0.4 | 0.2 | 0.1 |
頻率(Hz) | 0.5 | 0.625 | 1 | Jan 25 | 2 | 02. Mai | 5 | 10 |
② 配置以太網(wǎng)模塊
進(jìn)入“HW Config”中,組態(tài)所使用的 CPU 及“CP343-1”模板。并新建以態(tài)網(wǎng) Ethernet (1) ,配置“CP343-1”模板IP 地址為:192.168.0.2,子網(wǎng)掩碼為: 255.255.255.0 。如圖6所示。配置完硬件組態(tài)及屬性,編譯存盤并下載所有硬件組態(tài)。
圖6 S7-300 硬件配置
③ 網(wǎng)絡(luò)組態(tài)
打開 “NetPro” 配置網(wǎng)絡(luò),選中 CPU,在連接列表里建立新的連接并選擇連接對(duì)象和通信協(xié)議,如圖7所示。
圖7 創(chuàng)建新的連接并選擇 ISO-on-TCP 協(xié)議
這時(shí)會(huì)跳出通用信息,如圖8所示。
圖8 通用信息
然后,進(jìn)入“Addresses”配置通信雙方的IP 地址及TSAP 地址,如圖9所示。
圖9 配置通信的IP 地址及TSAP 地址
配置完連接并編譯存盤后,將網(wǎng)絡(luò)組態(tài)下載到CPU300中。
④ 軟件編程
在OB1中,從“Libraries”>“SIMATIC_NET_CP”>“CP300”下,調(diào)用FC5(AG_SEND)、FC6(AG_RECV)通信指令。創(chuàng)建接收數(shù)據(jù)區(qū)為 DB2,定義成100個(gè)字節(jié)的數(shù)組。
CALL “ AG_RECV” //調(diào)用FC6
ID :=1 // 連接號(hào),要與連接配置列表中*,見圖8
LADDR :=W#16#100 //CP的地址,要與配置中*,見圖8
RECV :=P#DB2.DBX 0.0 BYTE 100 //接收數(shù)據(jù)區(qū)
NDR :=M10.0 //為1時(shí),接收到新數(shù)據(jù)
ERROR :=M10.1 //為1時(shí),有故障發(fā)生
STATUS :=MW12 //狀態(tài)代碼
LEN :=MW14 //接收到的實(shí)際數(shù)據(jù)長(zhǎng)度
CALL “AG_SEND” //調(diào)用FC5
ACT :=M0.2 //為1時(shí),激活發(fā)送任務(wù)
ID :=1 // 連接號(hào),要與連接配置中*
LADDR :=W#16#100 //CP的地址,要與配置中*
SEND :=IB0 //發(fā)送數(shù)據(jù)區(qū)
LEN :=1 //發(fā)送數(shù)據(jù)的長(zhǎng)度
DONE :=M10.2 //為1時(shí),發(fā)送完成
ERROR :=M10.3 //為1時(shí),有故障發(fā)生
STATUS :=MW16 //狀態(tài)代碼
2.3 監(jiān)控通信結(jié)果
下載S7-1200和S7-300中的所有組態(tài)及程序,監(jiān)控通信結(jié)果,如圖10、圖11所示。
在S7-1200 CPU中向DB3中寫入數(shù)據(jù):“11”、“22”、“33”,則在S7-300中的DB2塊收到數(shù)據(jù)也為“11”、“22”、“33”。
在S7-300 CPU中,將“2#1111_1111”寫入IB0,則在S7-1200 CPU中QB0中收到的數(shù)據(jù)也為“2#1111_1111”。
圖10 S7-1200監(jiān)控表
圖11 S7-300 變量表
3. TCP 通信
使用TCP 協(xié)議通信,除了連接參數(shù)的定義不同,通信雙方的其它組態(tài)及編程與前面的ISO on TCP 協(xié)議通信*相同。
S7-1200 CPU中,使用 TCP 協(xié)議與S7-300通信時(shí),PLC_1的連接參數(shù),如圖12所示。通信伙伴 S7-300 的連接參數(shù),如圖13所示。
圖12 S7-1200 的TCP連接參數(shù)的配置
圖13 S7-300 的TCP連接參數(shù)的配置
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通信口引腳定義
圖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):
- 需要S7-200的編程軟件是 Micro/WIN V4.0 SP5及以上版本;
- Modbus RTU 主站庫(kù)對(duì)CPU的版本有要求,CPU 的版本必須為 2.00 或者 2.01(即訂貨號(hào)為 6ES721*-***23-0BA*);
- Modbus主站可讀/寫的zui大數(shù)據(jù)量為120個(gè)字(指每一個(gè) MBUS_MSG 指令);
- Modbus 主站庫(kù)支持Port0和Port1(從站庫(kù)只支持Port0口),本例中用Port0;
- 使用Modbus 庫(kù)時(shí)必須對(duì)庫(kù)存儲(chǔ)區(qū)進(jìn)行分配,見下圖設(shè)置,而且分配的空間不能和程序中其它空間沖突,否則編譯調(diào)用會(huì)報(bào)錯(cuò)。
圖4 庫(kù)存儲(chǔ)區(qū)設(shè)置
- Modbus主站庫(kù)支持的功能碼和地址對(duì)應(yīng)關(guān)系:
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ù)的說(shuō)明也可以從子程序的局部變量表中找到。
圖5 Modbus RTU 主站初始化
圖中各參數(shù)含義如下
編號(hào) | 符號(hào)/含義 | 說(shuō) 明 |
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哪里有賣西門子SM332模塊
調(diào)用 Modbus RTU 主站讀寫子程序MBUS_MSG,發(fā)送一個(gè)Modbus 請(qǐng)求。
圖6 調(diào)用Modbus RTU 主站讀寫子程序
圖中各參數(shù)含義如下
編號(hào) | 符號(hào)/含義 | 說(shuō) 明 |
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,并且以此為例說(shuō)明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,并且以此為例說(shuō)明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,并且以此為例說(shuō)明
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,并且以此為例說(shuō)明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è)定的zui小和zui大的范圍之間,如果訪問的區(qū)域超出這個(gè)范圍,則訪問會(huì)被拒絕,同時(shí)輸出報(bào)錯(cuò)誤信息。
6. 總結(jié)
本文檔以S7-200為主站和CP341為從站簡(jiǎn)單介紹了Modbus RTU通訊,關(guān)于通訊的組態(tài)設(shè)置,編程以及常用功能碼的使用,其具體的使用可以作為西門子串行通訊模塊與第三方的儀表、設(shè)備等進(jìn)行串行通信的參考。
S7300電源模板
6ES7307-1BA00-0AA0
6ES7307-1EA00-0AA0
6ES7307-1KA01-0AA0
CPU
6ES7312-1AE13-0AB0
6ES7312-5BE03-0AB0
6ES7313-5BF03-0AB0
6ES7313-6BF03-0AB0
6ES7313-6CF03-0AB0
6ES7314-1AG13-0AB0
6ES7314-6BG03-0AB0
6ES7314-6CG03-0AB0
6ES7315-2AG10-0AB0
6ES7315-2EH13-0AB0
6ES7317-2AJ10-0AB0
6ES7317-2EK13-0AB0
6ES7318-3EL00-0AB0
內(nèi)存卡
6ES7 953-8LF20-0AA0
6ES7 953-8LG11-0AA0
6ES7 953-8LJ20-0AA0
6ES7 953-8LL20-0AA0
6ES7 953-8LM20-0AA0
6ES7 953-8LP20-0AA0
開關(guān)量模板
6ES7 321-1BH02-0AA0
6ES7 321-1BH10-0AA0
6ES7 321-1BH50-0AA0
6ES7 321-1BL00-0AA0
6ES7 321-7BH01-0AB0
6ES7 321-1EL00-0AA0
6ES7 321-1FF01-0AA0
6ES7 321-1FF10-0AA0
6ES7 321-1FH00-0AA0
6ES7 321-1CH00-0AA0
6ES7 321-1CH20-0AA0
6ES7 322-1BH01-0AA0
6ES7 322-1BH10-0AA0
6ES7 322-1CF00-0AA0
6ES7 322-8BF00-0AB0
6ES7 322-5GH00-0AB0
6ES7 322-1BL00-0AA0
6ES7 322-1FL00-0AA0
6ES7 322-1BF01-0AA0
6ES7 322-1FF01-0AA0
6ES7 322-5FF00-0AB0
6ES7 322-1HF01-0AA0
6ES7 322-1HF10-0AA0
6ES7 322-1HH01-0AA0
6ES7 322-5HF00-0AB0
6ES7 322-1FH00-0AA0
6ES7 323-1BH01-0AA0
6ES7 323-1BL00-0AA0
模擬量模板
6ES7 331-7KF02-0AB0
6ES7 331-7KB02-0AB0
6ES7 331-7NF00-0AB0
6ES7 331-7NF10-0AB0
6ES7 331-7HF01-0AB0
6ES7 331-1KF01-0AB0
6ES7 331-7PF01-0AB0
6ES7 331-7PF11-0AB0
6ES7 332-5HD01-0AB0
6ES7 332-5HB01-0AB0
6ES7 332-5HF00-0AB0
6ES7 332-7ND02-0AB0
6ES7 334-0KE00-0AB0
6ES7 334-0CE01-0AA0
附件
6ES7 365-0BA01-0AA0
6ES7 360-3AA01-0AA0
6ES7 361-3CA01-0AA0
6ES7 368-3BB01-0AA0
6ES7 368-3BC51-0AA0
6ES7 368-3BF01-0AA0
6ES7 368-3CB01-0AA0
6ES7 390-1AE80-0AA0
6ES7 390-1AF30-0AA0
6ES7 390-1AJ30-0AA0
6ES7 390-1BC00-0AA0
6ES7 392-1AJ00-0AA0
6ES7 392-1AM00-0AA0
6ES7 392-1BM01-0AA0
功能模板
6ES7 350-1AH03-0AE0
6ES7 350-2AH00-0AE0
6ES7 351-1AH01-0AE0
6ES7 352-1AH02-0AE0
6ES7 355-0VH10-0AE0
6ES7 355-1VH10-0AE0
6ES7 355-2CH00-0AE0
6ES7 355-2SH00-0AE0
6ES7 338-4BC01-0AB0
6ES7 352-5AH00-0AE0
6ES7 352-5AH00-7XG0
通訊模板
6ES7 340-1AH02-0AE0
6ES7 340-1BH02-0AE0
6ES7 340-1CH02-0AE0
6ES7 341-1AH01-0AE0
6ES7 341-1BH01-0AE0
6ES7 341-1CH01-0AE0
6ES7 870-1AA01-0YA0
6ES7 870-1AB01-0YA0
6ES7 902-1AB00-0AA0
6ES7 902-1AC00-0AA0
6ES7 902-1AD00-0AA0
6ES7 902-2AB00-0AA0
6ES7 902-2AC00-0AA0
6ES7 902-2AG00-0AA0
6ES7 902-3AB00-0AA0
6ES7 902-3AC00-0AA0
6ES7 902-3AG00-0AA0
6GK7 342-5DA02-0XE0
6GK7 342-5DF00-0XE0
6GK7 343-5FA01-0XE0
6GK7 343-1EX30-0XE0
6GK7 343-1EX21-0XE0
6GK7 343-1CX00-0XE0
6GK7 343-1CX10-0XE0
6GK7 343-1GX20-0XE0
6GK7 343-1GX21-0XE0
6GK7 343-1HX00-0XE0
6GK7 343-2AH00-0XA0
6ES7971-1AA00-0AA0
6ES7971-5BB00-0AA0
6ES7314-6EH04-0AB0