如何通過Modbus協(xié)議實(shí)現(xiàn)S7-1200與S7-200通訊_第1頁
如何通過Modbus協(xié)議實(shí)現(xiàn)S7-1200與S7-200通訊_第2頁
如何通過Modbus協(xié)議實(shí)現(xiàn)S7-1200與S7-200通訊_第3頁
如何通過Modbus協(xié)議實(shí)現(xiàn)S7-1200與S7-200通訊_第4頁
如何通過Modbus協(xié)議實(shí)現(xiàn)S7-1200與S7-200通訊_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

學(xué)習(xí)文檔僅供參考學(xué)習(xí)文檔僅供參考如何通過Modbus協(xié)議實(shí)現(xiàn)S7-1200與S7-200通訊文獻(xiàn)涉及產(chǎn)品西門子S7-1200緊湊型PLC在當(dāng)前的市場中有著廣泛的應(yīng)用,由于其性價(jià)比高,所以常被用作小型自動化控制設(shè)備的控制器,這也使得它經(jīng)常與Modbus儀表(掃描槍、打印機(jī)等設(shè)備進(jìn)行通訊。因?yàn)闆]有第三方Modbus儀表,這里就以S7-200作為第三方的儀表為例介紹Modbus通訊。.控制系統(tǒng)原理圖1:通訊系統(tǒng)原理.硬件需求S7-1200PLC目前有3種類型的CPU:1〕S7-1211CCPU。2〕S7-1212CCPU。3〕S7-1214CCPU。這三種類型的CPU最多都可以連接三個(gè)串口通信模版。本例中使用的PLC硬件為:1〕PM1207電源(6EP1332-1SH71)2〕S7-1214C(6ES7214-1BE30-0XB0))CM1241RS485(6ES7241-1CH30-0XB0)4〕CPU224XP(6ES7214-2AD23-0XB0〕.軟件需求1)編程軟件Step7BasicV10.5(6ES7822-0AA0-0YA0)2)編程軟件STEP7MicroWIN;Modbus庫軟件選項(xiàng)包.組態(tài)我們通過下述的實(shí)際操作來介紹如何在Step7BasicV10.5中組態(tài)S7-1214C和S7-200的Modbus通信。

S7-1200作Modbus主站,S7-200作Modbus從站S7-1200作為Modbus主站的配置步驟如下:點(diǎn)擊桌面上的“TotallyIntegratedAutomationPortalV10”圖標(biāo),打開如下列圖:圖2:新建S7-1200項(xiàng)目首先需要選擇“Createnewproject”選項(xiàng),然后在“Projectname:"里輸入Modbus_Master;在“Path:”修改項(xiàng)目的存儲路徑為“C:\”;點(diǎn)擊“Create”,這樣就創(chuàng)建了一個(gè)文件Modbus的新項(xiàng)目。創(chuàng)建后的窗口如下列圖所示:圖3:新建項(xiàng)目后點(diǎn)擊門戶視圖左下角的“ProjectView”切換到項(xiàng)目視圖下,如下列圖:SiEimfns-Modbiu5_UiastFr -BXPtCijeflEditVawInsertOnhn-e。加。廣士TeiliWndtw+-一-一- _一_r- TstallyIntegratedAirtomqt^n_ir*jtJSflrvsproject昌:乂恕=X出啕母晶W——Jgodaiipe' FCRTAL▼FindandReplaceFiftdw^rdsdrilyM必小網(wǎng)WFindinhiddentext?口當(dāng)總wilditArdSUsefegulareMipre-ssionis制KM世FrorwicuvrE-ntpositionSelecuonj_*rnDplfUll&IIIfn3▼FindandReplaceFiftdw^rdsdrilyM必小網(wǎng)WFindinhiddentext?口當(dāng)總wilditArdSUsefegulareMipre-ssionis制KM世FrorwicuvrE-ntpositionSelecuonj_*rnDplfUll&IIIfn3PnrtalmiipwLanguage1■&ffewurFindinsubstructuresBlameCommon,data?*口pin*access卜FjSlUuTicCjrdRf^iwDetatIlsview?DnuunLanguages旦Rjesourczes一一#Ta5*5uCbir.alg5圖4:切換到項(xiàng)目視圖打開后,在“Devices”標(biāo)簽下,點(diǎn)擊“Addnewdevice”,在彈出的菜單中輸入設(shè)備名“PLC1”并在設(shè)備列表里選擇CPU的類型。選擇后如下列圖:

Si¥imen5-Modbu-5_Ma5tcrhr&jMEditView巾把此Onhn-eG|Hj包單TeiliWirtd(w?TotallyIntegrdtPdlAutunRtiGnPORTAIMMbmi_Mdittir>PLC_1 ■■■XHntidVT占世ratdlug#tJi'Tv/Qilc [J1“癡"#2 -艮。/小6TaM一用工Su10,Jkiwlbus-JJa:MrSf^diiewvwt品OC-/K*5fi-HeTVSHMr|<,:卜gipixjHRMHK?0l_aingu叫一號&TotallyIntegrdtPdlAutunRtiGnPORTAIMMbmi_Mdittir>PLC_1 ■■■XHntidVT占世ratdlug#tJi'Tv/Qilc [J1“癡"#2 -艮。/小6TaM一用工Su10,Jkiwlbus-JJa:MrSf^diiewvwt品OC-/K*5fi-HeTVSHMr|<,:卜gipixjHRMHK?0l_aingu叫一號&Fes■J/湛快對■:“弓?05MWIGGird庇M/r4III,DetailsviewflameJfirtionnnppiil-eCPU竄號IbQArdDIDOMgXI卬4M口閨0n=3let口omGrik?ral?<ien#ralrrTQFlllETirw?rliC!fnDri4tooic?GcMr』Iftdjeci:IZcmHen^Tr*5山L-bIC-IBlw▼InfornutiDHiSriRrnj-M1▼InfornutiDHiSriRrnj-M1lulnrUiu——hJAIE 十『——『,rlPnrtalmiipw?H冏怎:p曾fd IH3口Pnrtalmiipw?::Overview^圖5:PLC硬件組態(tài)插入CPU后,點(diǎn)擊CPU左邊的空槽,在右邊的“Catalog”里找到“Communication”下的RS485模塊,拖拽或雙擊此模塊,這樣就把串口模塊插入到硬件配置里,接下來就需要配置此RS485模塊硬件接口參數(shù),選擇RS485模塊,在其下方會出現(xiàn)該模塊的硬件屬性配置窗口,在屬性窗口里有下面五個(gè)選項(xiàng),“general”;“PortConfiguration”;“TransmitmessageConfiguration”;“ReceiveMessageConfiguration”;“IOAddress/HWidentify”。在“General”里包括了此模塊的“項(xiàng)目信息”;而在“PortConfiguration”里可以對端口的進(jìn)行參數(shù)配置,波特率為:9600;校驗(yàn)方式:無;數(shù)據(jù)位為:8;停止位:1;硬件流控制:無;等待時(shí)間:1ms設(shè)置參數(shù)如下列圖:

圖6:RS485端口配置ft“TransmitmessageConfiguration”和“ReceiveMessageConfiguration”里保持默認(rèn)設(shè)置,在“IOAddress/HWidentify”里確認(rèn)一下“硬件識別號”為11。此時(shí),完成了硬件的組態(tài),接下來需要編寫Modbus通訊程序。在PLC中編寫發(fā)送程序。在項(xiàng)目管理視圖下雙擊“Device”一》“Programblock”一》“Addnewblock”在彈出的窗口中選擇“OrganizationsBlock(OB)”,然后在其右邊的窗口里選擇“Startup",去除“SymbolicAccessOnly”的選項(xiàng)勾。如下列圖所示:圖7:添加啟動OB塊點(diǎn)擊“OK”后會打開此OB塊,然后在啟動OB塊里用MB_COMM_LOAD〔注:MB_COMM_LOAD和MB_MASTER功能塊是在“ProjectLibrary”下的“Library”如下列圖所示:Libraries▼Projectlibrary超氏AllProjectlibraryME_3hlM_LQ2[I':']_fME」L<JEF[Iu]UE_£LE『E[I':■]'^Globallibraries由03自UJHIJIEutton:皆5Yit小t二▼LUIdODEUSf081".1_1_4:口[Iu]l-.IBJJ/.STEP[Iu]_fME_SI_FE[I0]LUusstParts(Projectlibrary)Ilari'll圖8:Library量-nsrruttisl^因Tesang^Tasks山LihrErfD-si-nslcIJl.t-flMMt--?Lir-gDatablock|MB_CaMM_LaAO_D0▼圖10:創(chuàng)建背景數(shù)據(jù)塊Datablock|MB_CaMM_LaAO_D0▼圖10:創(chuàng)建背景數(shù)據(jù)塊M口化…圖9:調(diào)用MB_COMM_LOAD塊在調(diào)用MB_COMM_LOAD功能塊時(shí),都會自動彈出創(chuàng)建相應(yīng)背景數(shù)據(jù)塊的界面,如下列圖:TOC\o"1-5"\h\z\o"CurrentDocument"Call叩ti口1/ XNumberi 4■ ▼Manual?AutomaticThecalle-clfunctionblocksave5iticl^tainitsownirstancecldtcik'l':'<k按上面的步驟在OB1中插入MBMASTER功能塊如下列圖:

圖11:調(diào)用MB_MASTER塊在插入功能塊的過程,相應(yīng)的生成MB_COMM_LOAD_DB和MB_MASTER_DB,兩個(gè)背景數(shù)據(jù)塊。然后再創(chuàng)建一個(gè)發(fā)送或接收的數(shù)據(jù)緩沖區(qū),點(diǎn)擊PLC_1項(xiàng)目下的“ProgramBlock”下的“Addnewblock”,在彈出的窗口中選擇DB類型為“GlobalDB”,并去掉“Symbolicaccessonly”選項(xiàng)勾(這樣可以對該DB塊進(jìn)行直接地址訪問),并取名該DB塊為MB_COMM_DB。建好這個(gè)DB塊后,雙擊打開MB_COMM_DB預(yù)先定義數(shù)據(jù)區(qū)的大小,如下列圖所示:

圖12:數(shù)據(jù)區(qū)的定義完成數(shù)據(jù)區(qū)的定義后,接下來就可以對MB_COMM_LOAD功能塊和MB_Master功能塊進(jìn)行參數(shù)賦值,賦值的參數(shù)見圖9和圖11。在上面的編程塊里需要注意的是,在MB_MASTER功能塊中的參數(shù)MB_ADDR參數(shù)是從站的Modbus的站地址。這里要讀取的從站的站地址為2;關(guān)于MODE、DATA_ADDR、DATA_LEN可在下表中查看,DATA_PTR存放發(fā)送或接收到的數(shù)據(jù)。

MB_MA57ERModt?us功幅'dQdbus地址寫蒙DAT^_ADDR地址類型Modbus我惘蛇度蠢敕D^TA_LENModbus功匏購QOODC'1髡0^99幡由位1到2000□1H10M-1-19993幡入位1到20M02H30001-39099射入寄存昨1到1匹D4H4口加髡4溝BB40DC<-1fij^5538r獷腰3保持寄存濟(jì)1到1Z&□3H寫入如眈1磐o^gg事刪配1(■單個(gè)也)05H400D1髡4沔9940DC<-1到^5536f獷展)保持寄存那1(■單個(gè)字;□6H00001到09溝9前出位2^IJ196615h40001到4◎螞白4000014S5536(FIR)保持寄養(yǎng)器2 123161-財(cái)2有些Modbus從站不支持使用Modbus劭能0&H和06H寫入單小便或字*班這些情期下,可聿過復(fù)式2強(qiáng)ftl便同Modbus函顫1EH和16H寫入單上也和字.00001到的的9前由位1到196B15h40001到43期400001器465536(獷展〕俊持寄存黑1到12316F摸式11AMB_AEDR貓A引用的Modbus從就中信取事件計(jì)數(shù)基字在SemasS7-1200M&dbus從站中,從站暫決從Modbus主站收到一小有強(qiáng)的遭或?qū)懽坊騮善廣器)時(shí).這計(jì)勤卿就看卷塔.巡回的值存慚在DATA_PTR植入指定的寧位置.,此穗式不就要書蝕的DATA_LEN財(cái)80,檢會口口口艮嫡人引用的ModbJSsUt的通優(yōu)狀超-MB.MASTER指令的NDR給出儻?優(yōu)時(shí),表示所尋址的Modbus從牯■使用請當(dāng)?shù)捻憫?yīng)物據(jù)進(jìn)行了響由,段臺盤據(jù)邈回到用戶程序申-此箱式不扁具幫效眄DATA_LEN摸式用?豆置WB/UD目輸入弓屈的Modbus從骷中的事件芬敬話£即苞式《通回時(shí)他〕冉3TER指奇的NDRlfitB位置性時(shí).表示所尋址的Modbus叢站使用適當(dāng)?shù)纳喂蠑?shù)據(jù)迸行了嘀我用轂據(jù)返回到吊戶程序申曲榛斌不莉要有蚊的DkTM_LEN表1:MB_MASTERModbus功能表上面就完成了程序的編寫,對項(xiàng)目進(jìn)行編譯;右擊PLC_1項(xiàng)目在彈出的菜單里選擇“CompliesALL”選項(xiàng),這樣就對硬件與軟件進(jìn)行編譯,如下列圖:ToMydn婕gratrdALito(niUonPORTALPlrojectEewT0OMadbuc.iMdft?r?Fiji■Pr>Dgiramibhdci?Startup 一■■乂In-itructloi將/一5=內(nèi)|制工=「…專■'.C?P5OpMirbfitfweifitdrMMbULLl才1*■4ddnewde>ic^AfreviMsflrNebwiiE?e/icfl*Online?De-tail-tviewUllill申ILF"II 1"I 回j-vToMydn婕gratrdALito(niUonPORTALPlrojectEewT0OMadbuc.iMdft?r?Fiji■Pr>Dgiramibhdci?Startup 一■■乂In-itructloi將/一5=內(nèi)|制工=「…專■'.C?P5OpMirbfitfweifitdrMMbULLl才1*■4ddnewde>ic^AfreviMsflrNebwiiE?e/icfl*Online?De-tail-tviewUllill申ILF"II 1"I 回j-vBlacktitle:▼FaM4nltetTl-TJJTa終=4r£ct-。n5uvmmtrrQit [上rUH&叩 ftrt-sCFflStE ctri?vXDeletePenarne F2G6co (<■6oln如電下匚出ni^^kw*出Compil*QmnbddtEidevice4jrSoanhrvEiJVGqotilnt電OnlineAdiaqnosncsCetI+Dlldimt__工 3「一’Fi..|i?m|.塞CampfireoRlineJcnftneTWhn^lO^ShoWu5BdepLttd甲 固和3Hgnmem:3HM#tfiblm!RCaIIshucbjntUj_帆mrm£Cm!£-r>£lerEnss-imtruai'onftijnJBrtli>gic■烏|Tm-ZLr-2CpunterjWB十

KMB_E0IUU_

LOSO.DBr中■HB_CflMM_L43A|rEtJ ENGEirdwm”conFigMrfltion 5T和嶼SoFhte'&re,SonwarcCrebuildallhmck5jhiE松E%H01*LT七居Lei聞Edinsl...*JChcktCilend-ai1|jUmgx>Cher?_|Ptoqram<^jntrolk-'lC^rriFfiijni.;jer?"|lnte-rrupt;k^JFID小:」MHIHICvIlErvI且Fiup且由h0lnM圈niwimti"/III I&Tedti-ng%?£雪LUFF山Tli7UbrfiiwWODBLI53opencdPTijifflEdit¥3 WhH*。川raU?&X-X二IBFlint.. CirLP#HlEk”E且Fpt草桿 硬t6腕圖13:編譯項(xiàng)目編譯且沒有錯(cuò)誤后就可以下載程序到PLC中,同樣右擊PLC_1項(xiàng)目,在彈出的菜單項(xiàng)選擇擇“DownloadtoDevice”。S7-200作為Modbus從站的配置步驟如下:點(diǎn)擊桌面上的“V4.0STEP7MicroWINSP6”圖標(biāo)〔因?yàn)镾TEP7MicroWIN安裝時(shí)并沒有安裝Modbus的庫程序,所以Modbus的庫程序是需要單獨(dú)安裝的,安裝后才可以在庫程序中調(diào)用Modbus的通訊功能塊,關(guān)于庫程序可以咨詢西門子熱線或訪問西門子的官方網(wǎng)站),打開后并編寫Modbus從站程序如下列圖:

圖14:S7-200Modbus從站編程在上面調(diào)用的是端口0的程序,所以在連接通訊線時(shí),需要連接到端口0上,編譯并下載項(xiàng)目到S7-200的PLC中。下載后運(yùn)行PLC。用DP電纜連接S7-1200與S7-200。在線監(jiān)控S7-200中的程序,并監(jiān)控變量表,修改VB1000到VB1011的值為1到12〔VB1000到VB1011對應(yīng)的Modbus的地址為40001-40006)。監(jiān)控到的值如下列圖所示:圖15:S7-200監(jiān)控變量值在線監(jiān)控S7-1200變量表如下列圖:圖16:S7-1200監(jiān)控變量值4.2S7-200作Modbus主站,S7-1200作Modbus從站S7-1200作為Modbus從站的配置步驟如下:點(diǎn)擊桌面上的“TotallyIntegratedAutomationPortalV10”圖標(biāo),打開如下列圖:PiiiM HI*s.^z 40nlsc?-Mndh4i5_al^WStartD4?MIO-1.XHel'ivD-rksPruurJUHHiingWlvu^JiEuliomOpfHliltingppmC*1何「工Mfir口j,ctStartD4?MIO-1.XHel'ivD-rksPruurJUHHiingWlvu^JiEuliomOpfHliltingppmC*1何「工Mfir口j,ctCrpilBnowpriajECLGfljtnnivurprnijncfTainllyEritegratrdAntnniatinnPORTALMlddbui.Slj-M口3T1EeniEi匚EdHupfll■iltailxillEdpiDdurtt?HtbpQpienudpiojfeitEMS時(shí)"P同電㈱MM,—$1科君訃"2bUJ,忖”圖17:S7-1200監(jiān)控變量值首先需要選擇“Createnewproject”選項(xiàng),然后在“Projectname:"里輸入Modbus_Slave在“Path:”修改項(xiàng)目的存儲路徑為"C:\Backupfile”;點(diǎn)擊“Create”,這樣就創(chuàng)建了一個(gè)文件Modbus_Slave的新項(xiàng)目。創(chuàng)建后的窗口如下列圖所示:

St"tPt口q弓ViiaiiJtTatidn巾M值總BIjSt"tPt口q弓ViiaiiJtTatidn巾M值總BIjinqma.fti口F^rststepii?OpenHdstiBg|ii0]fct■-Jp中“maw『11叩?ETukmllj1IrvtciqraEfdAuto-in□ti?inPORTALPtuJe-eTz"Mvdbsi_SIhUELcsaFuJIvapEHE-d. rfc.die-nevr□purIhr|nn|?rcEvte?PTa]C-CtYIEWQ網(wǎng)"P4?f”他田?PTa]C-CtYIEW圖18:新建項(xiàng)目后點(diǎn)擊門戶視圖左下角的“ProjectView”切換到項(xiàng)目視圖下,如下列圖:

圖19:切換到項(xiàng)目視圖打開后,在“Devices”標(biāo)簽下,點(diǎn)擊“Addnewdevice”,在彈出的菜單中輸入設(shè)備名“PLC_1”并在設(shè)備列表里選擇CPU的類型。選擇后如下列圖:

icrncm-KModbus口管上Gefi^rilr*oj?cttditVis*nielOnline5f*!U與次pnojett,J】?M2Wr?k7FilS^r0Moidbut5dnt>PIC1rdtalogl.:口,,皿g?icrncm-KModbus口管上Gefi^rilr*oj?cttditVis*nielOnline5f*!U與次pnojett,J】?M2Wr?k7FilS^r0Moidbut5dnt>PIC1rdtalogl.:口,,皿g?|S!M*11■£riinnm<jraicdt]4nimgJuIieIt.PS4MCEj-?jiNFj二ign&KmdOptEoni-lad3Wndwhelp,x3-1jL33XcJ■CalilaqXWNlfr&mphucrk中M什3hv”rtfc**Wo*|t>i*(irfcO'$ti<!&Tftdlly鉗to哪前加凡眈口m名聞口^lordap官?-小P*rtdlYlcttf二<Jw?Infvrmitiwtiin圖20:PLC硬件組態(tài)插入CPU后,點(diǎn)擊CPU左邊的空槽,在右邊的“Catalog”里找到“Communication”下的RS485模塊,拖拽或雙擊此模塊,這樣就把串口模塊插入到硬件配置里,接下來就需要配置此RS485模塊硬件接口參數(shù),選擇RS485模塊,在其下方會出現(xiàn)該模塊的硬件屬性配置窗口,在屬性窗口里有下面五個(gè)選項(xiàng),“general”;“PortConfiguration”;“TransmitmessageConfiguration”;“ReceiveMessageConfiguration”;“IOAddress/HWidentify”。在“General”里包括了此模塊的“項(xiàng)目信息”;而在“PortConfiguration”里可以對端口的進(jìn)行參數(shù)配置,波特率為:9600;校驗(yàn)方式:無;數(shù)據(jù)位為:8;停止位:1;硬件流控制:無;等待時(shí)間:1ms設(shè)置參數(shù)如下列圖:

圖21:RS485端口配置ft“TransmitmessageConfiguration”和“ReceiveMessageConfiguration”里保持默認(rèn)設(shè)置,在“IOAddress/HWidentify”里確認(rèn)一下“硬件識別號”為11。此時(shí),完成了硬件的組態(tài),接下來需要編寫Modbus通訊程序。在PLC中編寫發(fā)送程序。在項(xiàng)目管理視圖下雙擊“Device”一》“Programblock”一》“Addnewblock”在彈出的窗口中選擇“OrganizationsBlock(OB)”,然后在其右邊的窗口里選擇“Startup",去除“SymbolicAccessOnly”的選項(xiàng)勾。如下列圖所示:AddnewblockN目E"KmrtupPrc-grarnl.<leSldrkup?Tiin^dNa.iEfrTLiptLangu日gd◎丐司市:肅iqn

block

(OB)AddnewblockN目E"KmrtupPrc-grarnl.<leSldrkup?Tiin^dNa.iEfrTLiptLangu日gd◎丐司市:肅iqn

block

(OB)?臼七I"imeHLiptHaidxvareinterrupt■iiin?errorm^rnipt■Cuagiioiti亡errorinterrupt:S^rnbolicaccess。力?AutomaticFufirtiftfiNock*B)Deicriprtion;A"Startupu08willexecuteonetimewhe-nth?0[>eratingmod-ectthePLCcf>arg?5from5TC-Pf<PUII-ftercompklaonthematn"Frogcam.c!e"03^1IIKgtnexecutingE51s..卜FurtherinformationCancpl圖22:添加啟動OB塊點(diǎn)擊“OK”后會打開此OB塊,然后在啟動OB塊里用MB_COMM_LOAD〔注:MB_COMM_LOAD和MB_Slave功能塊是在“ProjectLibrary”下的“Library”選項(xiàng)卡里,如下列圖所示:〕眼-nsrructD'ns眼-nsrructD'nsI^Testing-卦Tusks山LlgrErls-sLibraries▼Projectlibrary3liAllProjectlibrary_"1l-,IB_COI.II-,l_LCi.D[I'?]klEJdA-LTEF[Iu]MB_SL^VE[10]▼Globallibraries由0Qtu 12y盟卜卜JJHIJIEutton;E;3v;it小十二▼LUUODELE\.山_8川」_1_43[Iu]MEWLTEF[Iu]_fME_EI_rE[Iij]卜LUUSStParts(Projectlibrary)hJame圖23:Library調(diào)用后如下列圖所示:至a鼻c2MM務(wù)rawk*luL-br0-l5ryALk二三二「土n-I」,trollloIIolI圖24:調(diào)用MB_COMM_LOAD塊在調(diào)用MB_COMM_LOAD功能塊時(shí),都會自動彈出創(chuàng)建相應(yīng)背景數(shù)據(jù)塊的界面,如下列圖:圖25:創(chuàng)建背景數(shù)據(jù)塊按上面的步驟在OB1中插入MB_Slave功能塊如下列圖:i?niem5-MvdlbusSlavePrfljE-rtEditViwDnsm£nhneOpticaslouisMjrmdw■X省?XSi同SI0:?審單If0eI口laMInlFqrdlvdAutvmal.wrPORTALDevicesklodbus'Sl.djeMadbm_SlauebfLC_1卜Prisgrainbllacki?MainFaworiltEs唐MInttrf-ictIlamtsa@?*3Ee?7整可CwtrnentTJTA施工dd廿W點(diǎn)收。晨Devicej£-flet\「口孔JR[CPU121Bf值0*。式d&Ml&OnlineXriba▼通!f闖$1r中nobl守工*"Adkfiftisw?CtJFtup[0vHlfldctitle:C&mmeiitNetwork1;C&rnrnensTL回vInistructionis卜口上|BitlogicI受jTirriHfr^卜工]ri一EMeMd?hlam[Q@i]Wimei--c?白th4-1&l*nida[O5trmgrChar▼DrdIlsYiBwIlameWB2■MB_SLAWE_De-■MB_5Lfl¥FE*lMiB-AD-BOENOk?Ft>>grarft亡oESr仃tI1二ICbEHIUIlId血*卜rjInwrriifKnwamm口BITE2QI=MB_HOLD_REG刈口jNDF-jTsg_rwib3DR-TT-g_4-卻,4ElWRbTigF由”科STATUS:JTag_6J?jFIOI'_(mhqnSrrtr川卜rjnnii*碧IJflgRlsITa**--j-m3一&UVITU-IT---IT5hi且RiopeirtiES/十hifo回DiagnosticsPortalVIEWE3?—丫PortalVIEWE3?—丫Loadingcompleted(errors:0.駟mEimg^圖26:調(diào)用MB_Slave塊在插入功能塊的過程,相應(yīng)的生成MB_COMM_LOAD_DB和MB_Slave_DB,兩個(gè)背景數(shù)據(jù)塊。然后再創(chuàng)建一個(gè)發(fā)送或接收的數(shù)據(jù)緩沖區(qū),點(diǎn)擊PLC_1項(xiàng)目下的“ProgramBlock”下的“Addnewblock”,在彈出的窗口中選擇DB類型為“GlobalDB”,并去掉“Symbolicaccessonly”選項(xiàng)勾(這樣可以對該DB塊進(jìn)行直接地址訪問),并取名該DB塊為MBCOMMDB。建好這個(gè)DB塊后,雙擊打開MBCOMMDB預(yù)先定義數(shù)據(jù)區(qū)的大小,如下列圖所示:

圖27:數(shù)據(jù)區(qū)的定義完成數(shù)據(jù)區(qū)的定義后,接下來就可以對MB_COMM_LOAD功能塊和MB_SLAVE功能塊進(jìn)行參數(shù)賦值,賦值的參數(shù)見圖24和圖26。在上面的編程塊里需要注意的是,在MB_SLAVE功能塊中的參數(shù)MB_ADDR參數(shù)是此從站的Modbus站地址。這里定義為此從站的站地址為2;MB_HOLD_REG是指向Modbus保持寄存器DB的指針。保持寄存器DB必須為典型的全局DB。MB_SLAVE所提供應(yīng)主站的功能見下表:y0_5LAVEVo曲u苫曲語醇加口代碼功能數(shù)據(jù)叵地址萄用敷播區(qū)CFUJSJ±誄但*的1到B192輸出過翔映僮QO.C-^iJQ1023.702該世輸入10001到1B192箱人過程跳像10.0H11023.7C4讀于幅人30001到30512推入過程映傕IW◎君IW1022寫述才明1到5192箍出道理映像口口E,到口1023.715寫便輸由1到8假箱出過程殃便QO.O到11023.了表3:MBSLAVEModbus功能表A

表4:MB_SLAVEModbus功能表B上面就完成了程序的編寫,對項(xiàng)目進(jìn)行編譯;右擊PLC_1項(xiàng)目在彈出的菜單里選擇“CompliesALL”選項(xiàng),這樣就對硬件與軟件進(jìn)行編譯,如下列圖:Sl&inben&-Mfidbui_Klaw —OXTutml?l:iiitegMt?(llAutoin^tlaikPORTALPi物“tEditnaini?nDnhaopcdniT^4u時(shí)相Tutml?l:iiitegMt?(llAutoin^tlaikPORTAL2ULI3?prajwiJl型三乂m31J]內(nèi)尸3MhneJ ttfflFrsjectm*MoribuE^Slaw*PLC_1?Prpgir?nibkcks?Main_??乂ln?trurti^i0fwict5P口向詞ELhint*?L?f&|Cm&ni-IDetail5"viFfw:二£Mfldbu1:SldT^-?&ddiw函53A(devices-£■Hart^-.月通]白M司田2日*23號Frsjectm*MoribuE^Slaw*PLC_1?Prpgir?nibkcks?Main_??乂ln?trurti^i0fwict5P口向詞ELhint*?L?f&|Cm&ni-IDetail5"viFfw:二£Mf

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論