參考價(jià): | 面議 |
- 西門子EMDT16模塊 產(chǎn)品型號(hào)
- 西門子/SIEMENS 品牌
- 代理商 廠商性質(zhì)
- 上海市 所在地
訪問次數(shù):217更新時(shí)間:2017-05-25 10:10:35
上海朕鋅電氣設(shè)備有限公司在經(jīng)營(yíng)活動(dòng)中精益求精,具備如下業(yè)務(wù)優(yōu)勢(shì):
上海朕鋅*低價(jià)銷售西門子PLC,200,300,400,1200,西門子PLC附件,西門子電機(jī),西門子人機(jī)界面
,西門子變頻器,西門子數(shù)控伺服,西門子總線電纜現(xiàn)貨供應(yīng),咨詢系列產(chǎn)品,折扣低,貨期準(zhǔn)
時(shí),并且備有大量庫存. *有效
西門子數(shù)控伺服系統(tǒng):802C S、802D SL、81
西門子EMDT16模塊哪里有賣
6ES7288-2DT16-0AA0
SIMATIC S7-200SMART, DIGITAL I/O SM DT16, 8DI / 8DO, 8DI DC 24 V, SINK/SOURCE, 8DO, TRANSISTOR 0.75A
SIEMENS西門子上海朕鋅電氣設(shè)備有限公司
:鄭鑫 :
:www.zhenxindianqi。。cn
工作 (同步)
1. 概述
通常情況下,要實(shí)現(xiàn)HMI設(shè)備與V20變頻器的通訊,需要一個(gè)支持USS通訊或MODBUS通訊的PLC,比如S7-200系列PLC。其通訊電纜連接如圖1所示。PLC的一個(gè)通訊端口與觸摸屏連接,可以采用PPI協(xié)議通訊。PLC的另一個(gè)通訊端口與V20的RS485通訊端口連接,采用MODBUS協(xié)議通訊,PLC上編寫MODBUS主站程序,V20為從站。
圖1 觸摸屏通過PLC與V20變頻器通訊
如果只需要對(duì)V2O變頻器做簡(jiǎn)單的運(yùn)行控制和變量監(jiān)視,那么上述配置中PLC的作用僅為數(shù)據(jù)中轉(zhuǎn)。這種情況下,觸摸屏直接和V20變頻器通訊,不僅能夠?qū)崿F(xiàn)監(jiān)控功能,而且可以少用一個(gè)PLC,節(jié)省成本。采用西門子的SMART LINE系列觸摸屏能夠?qū)崿F(xiàn)與V20變頻器直接通訊的功能。通訊電纜連接如圖2所示。SMART LINE觸摸屏作為MODBUS主站,V20為從站。
圖2 觸摸屏直接與V20變頻器通訊
2. 硬件設(shè)備及其安裝
下面用一個(gè)實(shí)例來介紹Smart Line觸摸屏與一臺(tái)V20變頻器通過MODBUS通訊的實(shí)現(xiàn)方法。該例子中用到的主要硬件設(shè)備如表1所示,觸摸屏組態(tài)軟件為WinCC Flexible 2008 SP4 China。
表1 示例主要硬件設(shè)備
名稱 | 訂貨號(hào) | 數(shù)量 | 說明 |
觸摸屏 | 6AV6648-0BE11-3AX0 | 1 | Smart 1000 IE |
24V電源 | 6EP1332-1SH51 | 1 | DC24V/4A |
變頻器 | 6SL3210-5BE17-5UV0 | 1 | V20 變頻器 0.75kW |
電機(jī) | 1LA9060-4KA10-Z | 1 | 1LA9 電機(jī) 0.12kW |
硬件安裝步驟如下:
1)將變頻器、電機(jī)、觸摸屏固定在安裝工位上。
2)連接變頻器到電機(jī)的動(dòng)力電纜和接地電纜。
3)連接供電電源到變頻器的動(dòng)力電纜和接地電纜。
4)連接變頻器和觸摸屏的RS485通訊電纜。觸摸屏RS485的9針接口與 V20端子對(duì)應(yīng)關(guān)系:3對(duì)應(yīng)P+,8對(duì)應(yīng)N-。
5)連接24V直流電源的交流進(jìn)線電纜和到觸摸屏的直流供電電纜。
3. V20變頻器參數(shù)設(shè)置
V20變頻器要采用MODBUS通訊,可以做如下設(shè)置:
1)變頻器恢復(fù)出廠參數(shù):
P0010=30
P0970=21
2)變頻器快速調(diào)試,選擇Cn011-MODBUS通訊連接宏:
a)設(shè)置電網(wǎng)頻率和功率單位
b)輸入電機(jī)銘牌參數(shù)
c)選擇連接宏Cn011-MODBUS通訊
d)選擇應(yīng)用宏AP000
Cn011連接宏對(duì)應(yīng)參數(shù)如表2所示。
表2 Cn011對(duì)應(yīng)參數(shù)設(shè)置
參數(shù) | 描述 | 工廠缺省值 | Cn011默認(rèn)值 | 備注 |
P0700[0] | 選擇命令源 | 1 | 5 | RS485為命令源 |
P1000[0] | 選擇速度給定 | 1 | 5 | RS485為速度設(shè)定值 |
P2023[0] | RS485協(xié)議選擇 | 1 | 2 | MODBUS RTU協(xié)議 |
P2010[0] | USS/MODBUS波特率 | 8 | 6 | 波特率為9600bps |
P2021[0] | MODBUS地址 | 1 | 1 | 變頻器MODBUS地址為1 |
P2022[0] | MODBUS應(yīng)答超時(shí)時(shí)間 | 1000 | 1000 | 向主站發(fā)回應(yīng)答的zui大時(shí)間 |
P2014[0] | USS/MODBUS報(bào)文間斷時(shí)間 | 2000 | 100 | 監(jiān)控報(bào)文間斷時(shí)間 |
3)修改MODBUS通訊參數(shù),其它參數(shù)為Cn011連接宏默認(rèn)參數(shù):
P2014[0]=0 不監(jiān)控報(bào)文間隔時(shí)間,否則可能會(huì)報(bào)F72故障
P2021[0]=3 MODBUS設(shè)備地址為3(與觸摸屏組態(tài)軟件中設(shè)置的從站地址*)
4. 觸摸屏組態(tài)
在WinCC Flexible 2008 SP4 China軟件中組態(tài)Smart 1000 IE觸摸屏。詳細(xì)步驟如下:
1)創(chuàng)建項(xiàng)目。
創(chuàng)建一個(gè)空項(xiàng)目,如圖3所示。
圖3 創(chuàng)建空項(xiàng)目
選擇觸摸屏設(shè)備為Smart 1000 IE,如圖4所示。
圖4 選擇Smart 1000 IE觸摸屏
2)設(shè)置連接。
在連接畫面中新建一個(gè)連接,相關(guān)參數(shù)設(shè)置如下:
通訊驅(qū)動(dòng)程序:Modicon MODBUS
類型:RS485
波特率:9600
奇偶校驗(yàn):偶
數(shù)據(jù)位:8
停止位:1
組幀:RTU Standard
CPU類型:984
從站地址:3
連接設(shè)置如圖5所示。
圖5 連接設(shè)置
3)添加變量。
添加與變頻器監(jiān)控相關(guān)的10個(gè)變量,如表3所示。
表3 變量列表
變量名 | MODBUS寄存器地址 | 說明 |
CtrlWord1 | 40100 | 控制字1 |
SetPoint | 40101 | 速度設(shè)定值 |
StsWord1 | 40110 | 狀態(tài)字1 |
Feedback | 40111 | 速度實(shí)際值 |
ActFreq | 40342 | 頻率實(shí)際值 |
OutpVoltage | 40343 | 輸出電壓 |
DCVol | 40344 | 直流電壓 |
OutpCurrent | 40345 | 輸出電流 |
OutpTorque | 40346 | 輸出轉(zhuǎn)矩 |
OutpPower | 40347 | 輸出功率 |
變量地址參照V20變頻器操作手冊(cè),添加完成后的變量畫面如圖6所示。
圖6 添加變量
速度設(shè)定值變量SetPoint是由-16384(-4000H)到+16384(+4000H)來表示-50Hz到+50Hz的轉(zhuǎn)速,此處采用變量的線性轉(zhuǎn)換屬性,將-16384對(duì)應(yīng)-1500,+16384對(duì)應(yīng)+1500,如圖7所示。再采用變量的限制值屬性,將變量的輸入值限制在-1600和+1600之間,如果超出該限制值的范圍,則輸入不起作用。如圖8所示。
圖7 速度設(shè)定值變量線性轉(zhuǎn)換
圖8 速度設(shè)定值變量限制值
速度反饋值變量Feedback也是由-16384(-4000H)到+16384(+4000H)來表示-50Hz到+50Hz的轉(zhuǎn)速,此處也采用變量的線性轉(zhuǎn)換屬性,將-16384對(duì)應(yīng)-1500,+16384對(duì)應(yīng)+1500,如圖9所示。注意,圖9和圖7所示的線性轉(zhuǎn)換是*的。
圖9 速度反饋值變量線性轉(zhuǎn)換
4)添加畫面。
項(xiàng)目生成時(shí)已經(jīng)有一個(gè)模板和一個(gè)畫面,此例僅用到一個(gè)畫面。修改畫面的名字為V20_Monitor,如圖10所示。
圖10 編輯之前的畫面V20_Monitor
5)編輯模板。
模板中的對(duì)象在選擇使用模板的畫面中會(huì)顯示出來,此處把西門子的LOGO和退出Runtime的按鈕放置在模板中,如圖11所示。
圖11 編輯模板
然后在按鈕的事件屬性中添加函數(shù)。在按鈕STOP RT事件屬性的單擊事件下添加StopRuntime函數(shù),如圖12所示。
圖12 退出運(yùn)行畫面按鈕事件設(shè)置
6)編輯畫面。
在V20_Monitor畫面中放置IO域、文本域、按鈕、棒圖、圓形等對(duì)象。在文本域中輸入相應(yīng)的文本,設(shè)置字號(hào)、顏色等,將相關(guān)對(duì)象分類排列整齊,完成后的V20_Monitor畫面如圖13所示。
圖13編輯完成的畫面V20_Monitor
給10個(gè)IO域分別連接10個(gè)變量。
其中控制字1和狀態(tài)字1采用16進(jìn)制顯示,控制字1類型模式為輸入/輸出,狀態(tài)字1類型模式為輸出,如圖14所示。
圖14 控制字1對(duì)應(yīng)IO域常規(guī)設(shè)置
轉(zhuǎn)速設(shè)定、實(shí)際轉(zhuǎn)速、輸出電壓、直流電壓采用帶符號(hào)整數(shù)顯示,轉(zhuǎn)速設(shè)定類型模式為輸入/輸出,其它三個(gè)變量類型模式為輸出,如圖15所示。
圖15 實(shí)際轉(zhuǎn)速對(duì)應(yīng)IO域常規(guī)設(shè)置
輸出頻率、輸出電流、輸出轉(zhuǎn)矩、輸出功率采用帶符號(hào)整數(shù)顯示,并移動(dòng)小數(shù)點(diǎn)2位,類型模式為輸出,如圖16所示。此處移動(dòng)小數(shù)點(diǎn)2位的作用是將通訊接收到的值除以100并顯示在觸摸屏上,這樣做的理由是V20變頻器在發(fā)送這些值時(shí)將實(shí)際值乘了100。
圖16 輸出電流對(duì)應(yīng)IO域常規(guī)設(shè)置
除了用IO域來顯示實(shí)際轉(zhuǎn)速的數(shù)值外,還采用棒圖這種圖形化的形式來顯示實(shí)際轉(zhuǎn)速,編輯完成的棒圖外觀如圖17所示。
圖17 編輯完成的棒圖外觀
設(shè)置棒圖的常規(guī)屬性,其中連接變量為Feedback,zui大值設(shè)為2000,zui小值設(shè)為-2000,如圖18所示。
圖18 棒圖常規(guī)屬性設(shè)置
設(shè)置棒圖的外觀,如圖19所示。
圖19 棒圖外觀屬性設(shè)置
設(shè)置棒圖刻度,如圖20所示。
圖20 棒圖刻度屬性設(shè)置
運(yùn)行指示燈用來指示變頻器是否處于運(yùn)行狀態(tài),連接變量為StsWord1的第2位,運(yùn)行時(shí)顯示綠色,非運(yùn)行時(shí)顯示白色。其外觀動(dòng)畫設(shè)置如圖21所示。
圖21 運(yùn)行指示及其外觀動(dòng)畫設(shè)置
反轉(zhuǎn)指示燈用來指示變頻器是否處于反轉(zhuǎn)狀態(tài),連接變量為StsWord1的第14位,反轉(zhuǎn)時(shí)顯示綠色,非反轉(zhuǎn)時(shí)顯示白色。其外觀動(dòng)畫設(shè)置如圖22所示。
圖22 反轉(zhuǎn)指示及其外觀動(dòng)畫設(shè)置
故障指示燈用來指示變頻器是否處于故障狀態(tài),連接變量為StsWord1的第3位,故障時(shí)顯示紅色,非故障時(shí)顯示綠色。其外觀動(dòng)畫設(shè)置如圖23所示。
圖23 故障指示及其外觀動(dòng)畫設(shè)置
接著設(shè)置4個(gè)按鈕的功能,此處在按鈕的單擊事件下添加不同的函數(shù)來實(shí)現(xiàn)不同的功能。
啟動(dòng)按鈕:添加SetValue函數(shù),變量為CtrlWord1,值為1150(16進(jìn)制047E)。再添加SetBitInTag函數(shù),變量仍為CtrlWord1,位為0,如圖24所示。每次按下啟動(dòng)按鈕,觸摸屏將先發(fā)送047E,再發(fā)送047F給V20變頻器,實(shí)現(xiàn)啟動(dòng)功能。
圖24 啟動(dòng)按鈕事件設(shè)置
停止按鈕:添加ResetBitInTag函數(shù),變量為CtrlWord1,位為0,如圖25所示。每次按下停止按鈕,控制字1的第0位將被復(fù)位為0,觸摸屏將發(fā)送047E給V20變頻器,實(shí)現(xiàn)OFF1停車功能。
圖25 停止按鈕事件設(shè)置
反向按鈕:添加InvertBitInTag函數(shù),變量為CtrlWord1,位為11,如圖26所示。每次按下反向按鈕,控制字1的第11位將做非運(yùn)算,觸摸屏將相應(yīng)的正轉(zhuǎn)或反轉(zhuǎn)指令發(fā)送給V20變頻器,實(shí)現(xiàn)轉(zhuǎn)向反向功能。
圖26 反向按鈕事件設(shè)置
故障確認(rèn)按鈕:添加SetBitInTag函數(shù),變量為CtrlWord1,位為7。再添加ResetBitInTag函數(shù),變量仍為CtrlWord1,位為7,如圖27所示。每次按下故障確認(rèn)按鈕,觸摸屏將先發(fā)送1狀態(tài)的故障確認(rèn)位,再發(fā)送0狀態(tài)的故障確認(rèn)位給V20變頻器,給故障確認(rèn)位一個(gè)上升沿,實(shí)現(xiàn)故障確認(rèn)功能。
圖27 故障確認(rèn)按鈕事件設(shè)置
5. 系統(tǒng)運(yùn)行效果
完成上述步驟之后,下載組態(tài)程序至觸摸屏中。實(shí)際運(yùn)行效果證明:SMART LINE觸摸屏與V20變頻器通訊正常,觸摸屏可以通過四個(gè)按鈕控制變頻器運(yùn)行、停止、反向以及故障確認(rèn);變頻器相關(guān)變量和狀態(tài)可以在觸摸屏上正確顯示。變頻器運(yùn)行時(shí)觸摸屏顯示畫面如圖28所示。
圖28 變頻器運(yùn)行時(shí)觸摸屏顯示畫面
1. 概述
在現(xiàn)場(chǎng)應(yīng)用中,很多儀表和設(shè)備僅支持Modbus RTU的通訊協(xié)議,第三方儀表可以做Modbus主站或從站,西門子的通訊模塊CP341 / CP441-2 通過Dongle(硬件狗)可以擴(kuò)展該協(xié)議,S7-200 集成的口可以支持自由口通訊,通過指令庫也可以方便的實(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程序,此軟件需要從西門子購買,本文檔中的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)隨購買模板一起提供,也可以從以下的鏈接下載:27013524
2.3 CP PTP Modbus Slave V3.1 SP7
CP341或CP441-2用于Modbus從站時(shí),需要安裝此驅(qū)動(dòng)協(xié)議,但安裝之前必須先安裝PtP Driver,此驅(qū)動(dòng)可以在購買Modbus Dongle時(shí)選擇購買,也可以從以下的鏈接下載:27774276
2.4 STEP7 Micro/WIN V4.0 SP6
用于S7-200編程的軟件,本文檔中的200的程序是使用Step7 Micro/win 的軟件編寫。此軟件可以從西門子下載中心免費(fèi)下載,也可以從以下的鏈接下載。
http://www.ad.siemens.com.cn/download 自動(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的指令庫,要使用西門子的標(biāo)準(zhǔn)指令庫,必須先安裝指令庫的軟件包 Instruction Library,安裝后,可以在Step 7-Micro/WIN軟件的庫中找到Modbus相關(guān)的指令,該軟件包可以從以下的鏈接下載。http://www.ad.siemens.com.cn/download 自動(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通信口引腳定義
圖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位奇/偶/無校驗(yàn);1停止位。通信波特率可以設(shè)置為1200、2400、4800、9600、19200、38400、57600或112500,符合這些格式的串行通訊設(shè)備可以和S7-200進(jìn)行自由口通訊,Modbus RTU指令庫就是使用自由口編程實(shí)現(xiàn)的。
4.1.1 Modbus RTU主站庫
使用Modbus 主站指令庫時(shí)需要注意的幾點(diǎn):
- 需要S7-200的編程軟件是 Micro/WIN V4.0 SP5及以上版本;
- Modbus RTU 主站庫對(duì)CPU的版本有要求,CPU 的版本必須為 2.00 或者 2.01(即訂貨號(hào)為 6ES721*-***23-0BA*);
- Modbus主站可讀/寫的zui大數(shù)據(jù)量為120個(gè)字(指每一個(gè) MBUS_MSG 指令);
- Modbus 主站庫支持Port0和Port1(從站庫只支持Port0口),本例中用Port0;
- 使用Modbus 庫時(shí)必須對(duì)庫存儲(chǔ)區(qū)進(jìn)行分配,見下圖設(shè)置,而且分配的空間不能和程序中其它空間沖突,否則編譯調(diào)用會(huì)報(bào)錯(cuò)。
西門子EMDT16模塊哪里有賣
圖4 庫存儲(chǔ)區(qū)設(shè)置
- Modbus主站庫支持的功能碼和地址對(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ù)的說明也可以從子程序的局部變量表中找到。
圖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=無校驗(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),一旦下載完成后無需再次下載。
需要注意的是,在下載驅(qū)動(dòng)時(shí)(可以在無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 | 初始化完成且無錯(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ù)交換是通過功能碼來控制的,以下對(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è)定的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)行串行通信的參考。
西門子MM變頻器
6SE64402UC112AA1
6SE64402UC125AA1
6SE64402UC137AA1
6SE64402UC155AA1
6SE64402UC175AA1
6SE64402UC211BA1
6SE64402UC215BA1
6SE64402UC222BA1
6SE64402UC230CA1
6SE64402UC240CA1
6SE64402UC255CA1
6SE64402UC275DA1
6SE64402UC311DA1
6SE64402UC315DA1
6SE64402UC318EA1
6SE64402UC322EA1
6SE64402UC330FA1
6SE64402UC337FA1
6SE64402UC345FA1
6SE64402UD137AA1
6SE64402UD155AA1
6SE64402UD175AA1
6SE64402UD211AA1
6SE64402UD215AA1
6SE64402UD222BA1
6SE64402UD230BA1
6SE64402UD240BA1
6SE64402UD255CA1
6SE64402UD275CA1
6SE64402UD311CA1
6SE64402UD315DA1
6SE64402UD315DB1
6SE64402UD318DA1
6SE64402UD318DB1
6SE64402UD322DA1
6SE64402UD322DB1
6SE64402UD330EA1
6SE64402UD330EB1
6SE64402UD337EA1
6SE64402UD337EB1
6SE64402UD345FA1
6SE64402UD345FB1
6SE64402UD355FA1
6SE64402UD355FB1
6SE64402UD375FA1
6SE64402UD375FB1
6SE64402UD388FA1
6SE64402UD388FB1
6SE64402UD411FA1
6SE64402UD411FB1
6SE64402UD413GA1
6SE64402UD413GB1
6SE64402UD416GA1
6SE64402UD416GB1
6SE64402UD420GA1
6SE64402UD420GB1
6SE64402UE175CA1
6SE64402UE215CA1
6SE64402UE222CA1
6SE64402UE240CA1
6SE64402UE255CA1
6SE64402UE275CA1
6SE64402UE311CA1
6SE64402UE315DA1
6SE64402UE318DA1
6SE64402UE322DA1
6SE64402UE330EA1
6SE64402UE337EA1
6SE64402UE345FA1
6SE64402UE355FA1
6SE64402UE375FA1
6SE64402AB112AA1
6SE64402AB125AA1
6SE64402AB137AA1
6SE64402AB155AA1
6SE64402AB175AA1
6SE64402AB211BA1
6SE64402AB215BA1
6SE64402AB222BA1
6SE64402AB230CA1
6SE64402AC230CA1
6SE64402AC240CA1
6SE64402AC255CA1
6SE64402AD222BA1
6SE64402AD230BA1
6SE64402AD240BA1
6SE64402AD255CA1
6SE64402AD275CA1
6SE64402AD311CA1
6SE64402AD315DA1
6SE64402AD318DA1
6SE64402AD322DA1
6SE64402AD330EA1
6SE64402AD337EA1
6SE64402AD345FA1
6SE64402AD355FA1
6SE64402AD375FA1
6SE64302UD275CA0
6SE64302UD311CA0
6SE64302UD315CA0
6SE64302UD318DA0
6SE64302UD318DB0
6SE64302UD322DA0
6SE64302UD322DB0
6SE64302UD330DA0
6SE64302UD330DB0
6SE64302UD337EA0
6SE64302UD337EB0
6SE64302UD345EA0
6SE64302UD345EB0
6SE64302UD355FA0
6SE64302UD355FB0
6SE64302UD375FA0
6SE64302UD375FB0
6SE64302UD388FA0
6SE64302UD388FB0
6SE64302UD411FA0
6SE64302UD411FB0
6SE64302UD413FA0
6SE64302UD413FB0
6SE64302UD416GA0
6SE64302UD416GB0
6SE64302UD420GA0
6SE64302UD420GB0
6SE64302UD425GA0
6SE64302UD425GB0
6SE64302AD275CA0
6SE64302AD311CA0
6SE64302AD315CA0
6SE64302AD318DA0
6SE64302AD322DA0
6SE64302AD330DA0
6SE64302AD337EA0
6SE64302AD345EA0
6SE64302AD355FA0
6SE64302AD375FA0
6SE64302AD388FA0
6SE64202UC112AA1
6SE64202UC125AA1
6SE64202UC137AA1
6SE64202UC155AA1
6SE64202UC175AA1
6SE64202UC211BA1
6SE64202UC215BA1
6SE64202UC222BA1
6SE64202UC230CA1
6SE64202UC240CA1
6SE64202UC255CA1
6SE64202UD137AA1
6SE64202UD155AA1
6SE64202UD175AA1
6SE64202UD211AA1
6SE64202UD215AA1
6SE64202UD222BA1
6SE64202UD230BA1
6SE64202UD240BA1
6SE64202UD255CA1
6SE64202UD275CA1
6SE64202UD311CA1
6SE64202AB112AA1
6SE64202AB125AA1
6SE64202AB137AA1
6SE64202AB155AA1
6SE64202AB175AA1
6SE64202AB211BA1
6SE64202AB215BA1
6SE64202AB222BA1
6SE64202AB230CA1
6SE64202AC230CA1
6SE64202AC240CA1
6SE64202AC255CA1
6SE64202AD222BA1
6SE64202AD230BA1
6SE64202AD240BA1
6SE64202AD255CA1
6SE64202AD275CA1
6SE64202AD311CA1
6SE64000BP000AA1
6SE64000BE000AA1
6SE64000AP000AA1
6SE64000AP000AB0
6SE64000EN000AA0
6SE64001PB000AA0
6SE64001CB000AA0
6SE64001DN000AA0
6SE64001PC000AA0
6SE64000PA000AA0
6SE64000GP000AA0
6SE64000GP000BA0
6SE64000GP000CA0
6SE64000MD000AA0
6SE64000PM000AA0
6SE64004BC050AA0
6SE64004BC112BA0
6SE64004BC130CA0
6SE64004BC180DA0
6SE64004BC212EA0
6SE64004BC225FA0
6SE64004BD110AA0
6SE64004BD120BA0
6SE64004BD165CA0
6SE64004BD212DA0
6SE64004BD222EA1
6SE64004BD240FA0
6SE64004BR110AA0
6SE64004BR120BA0