簡(jiǎn)單的DeviceNet開(kāi)發(fā)實(shí)驗(yàn)網(wǎng)絡(luò)搭建
簡(jiǎn)介:
為了讓剛剛從事Devicenet開(kāi)發(fā)的朋友能夠?qū)eviceNet網(wǎng)絡(luò)的總體架構(gòu)及工作方式有一個(gè)大致的了解,并同時(shí)提供給從事工程項(xiàng)目的朋友作為項(xiàng)目規(guī)劃中的參考,DND推出此文章以期為各位DeviceNet開(kāi)發(fā)及應(yīng)用的朋友帶來(lái)方便,本文分為如下幾個(gè)部分:
一 軟件需求環(huán)境;
二 網(wǎng)絡(luò)組成;
三 連接工具RsLinx;
四 Devicenet組態(tài);
五 簡(jiǎn)單的SLC梯形圖程序以實(shí)現(xiàn)簡(jiǎn)單任務(wù);
六 實(shí)驗(yàn)網(wǎng)絡(luò)架構(gòu)的總結(jié);
本文的寫(xiě)作是基于Rockwell Automation Allen-Bradley的SLC500 PLC系統(tǒng),組建一個(gè)簡(jiǎn)單的電機(jī)驅(qū)動(dòng)器控制系統(tǒng),通過(guò)IO節(jié)點(diǎn)可以給變頻器發(fā)送啟動(dòng),停止等控制命令,使用模擬量模塊作為變頻器的頻率給定,同時(shí)IO模塊也有數(shù)字輸出的部分,可以顯示變頻器的運(yùn)行與停止?fàn)顟B(tài)。也有很多Devicenet的系統(tǒng)是基于OMRON的DeviceNet系統(tǒng),但原理大同小異。
一 軟件需求環(huán)境
使用AB的SLC 500 PLC作為主站,必須要安裝幾個(gè)配套軟件,如果你是通過(guò)正常渠道購(gòu)買(mǎi)的產(chǎn)品,則會(huì)附帶安裝光盤(pán),在我們的實(shí)驗(yàn)系統(tǒng)中,需要如下的軟件支持(相關(guān)的硬件配置請(qǐng)參閱本文第二部分):
1)RSlinx——用于建立PC與SLC之間的串行連接和PC與1770-KFD模塊之間的連接;
2)RSNetWorx——用于Devicenet組態(tài)的軟件工具,與1770-KFD配套使用對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行配置;
3)RSLogix 500——用于SLC 500 PLC應(yīng)用編程的工具,一般的梯形圖程序及指令等程序都可以使用;
各軟件的安裝請(qǐng)參照附加的幫助文檔,或在論壇中提出,以獲取最快的幫助。
二 網(wǎng)絡(luò)組成
本文所使用的幾個(gè)節(jié)點(diǎn)配置如下。
PLC配置:
1) AB SLC500 4-SLOT RACK(1746-A4)
2) AB SLC500 Power Supply (1746-P1)
3) AB SLC 5/03 CPU (1747-L531)
4) AB SLC500 Analog bbbbb Module (1747-N14)
5) AB SLC500 Devicenet Scanner Module (1747-SDN/B)
Slave配置:
1) AB RediSTATION IO Module (2705T)
2) AB Enhanced Devicenet Communications Module (1203-GU6)
+ AB 1305 Adjustable Freqency AC Drive
組態(tài)模塊:
1) AB 1770-KFD Moudle
網(wǎng)絡(luò)電源模塊:
1) AB PowerTap (1485T-P2T5-T5/B) Devicenet compatible
網(wǎng)絡(luò)接線:
主干線與支線都使用協(xié)議規(guī)定的標(biāo)準(zhǔn)線,主線與支線連接使用T型分接頭,支線頭上用迷你型連接器。支線與節(jié)點(diǎn)之間全部用開(kāi)放型連接器。
在PLC的配置中,第1項(xiàng)為PLC的機(jī)架,使用4插槽的PLC機(jī)架;第2項(xiàng)為PLC的電源供給模塊,一般與機(jī)架構(gòu)成PLC的基本單元;第三項(xiàng)為PLC的核心運(yùn)算單元CPU,一般將CPU插在第一個(gè)插槽內(nèi);第四項(xiàng)為AB提供的SLC 500 CPU用的模擬量輸入模塊,在此用于變頻器的頻率給定;而最后一項(xiàng)則為Devicenet網(wǎng)絡(luò)的驅(qū)動(dòng)者——Master。
相關(guān)的產(chǎn)品的詳細(xì)信息請(qǐng)查閱Rockwell Automation Allen-Bradley
使用上述網(wǎng)絡(luò)構(gòu)件后,可以組成一個(gè)簡(jiǎn)單的Devicenet實(shí)驗(yàn)網(wǎng)絡(luò),其示意圖如下:
在上圖中,PC通過(guò)1770-KFD節(jié)點(diǎn)對(duì)網(wǎng)絡(luò)進(jìn)行配置,配置信息也通過(guò)此節(jié)點(diǎn)從Devicenet網(wǎng)絡(luò)上送到掃描模塊,而SLC中的PLC編程部分則通過(guò)SLC本身帶的RS232通訊端口進(jìn)行編程下載。 三 連接工具RSLinx
這個(gè)部分我們會(huì)介紹如何配置RSLinx以實(shí)現(xiàn)與1770-KFD的連接,和實(shí)現(xiàn)與PLC的連接,在此我們假設(shè)你已經(jīng)完全按要求搭建好網(wǎng)絡(luò),所有的連線都已經(jīng)連好,所有的節(jié)點(diǎn)都可以正常加電且工作正常,如果你在各個(gè)產(chǎn)品的電源供給或是加電等方面遇到了麻煩,請(qǐng)參閱各產(chǎn)品的使用手冊(cè),建議你在加電之前最好詳細(xì)閱讀產(chǎn)品的使用說(shuō)明書(shū),以免因輸入電源不當(dāng)造產(chǎn)品的損壞。
1、PC與1770-KFD的連接
如果你已經(jīng)安裝好了所需的軟件,并且使用附帶的串行通訊線將PC的COM1口與1770-KFD的RS232接口相連,則可以按如下步驟進(jìn)行操作:
1)點(diǎn)擊“開(kāi)始”—“程序”—“Rockwell Software”—“RSLinx”—"RSLinx",啟動(dòng)RSLinx;
2)點(diǎn)擊“Communications”—"Configure Drivers...",則會(huì)出現(xiàn)"Configure Drivers"的對(duì)話框。在上方的下拉列表里選擇“Devicenet Drivers (1784 PCD/PCIDS,1770-KFD....)”此項(xiàng),點(diǎn)擊“Add New...”按鈕以添加此驅(qū)動(dòng),接著會(huì)出現(xiàn)驅(qū)動(dòng)選擇的對(duì)話框,在此我們選擇“Allen-Bradley 1770-KFD”并點(diǎn)“Select”按鈕以確認(rèn)選擇。
3)接著會(huì)出現(xiàn)1770-KFD的配置對(duì)話框,在此可以對(duì)通訊的一些參數(shù)進(jìn)行設(shè)置,如串行口,串行通訊波特率,還可以設(shè)定1770-KFD作為一個(gè)Devicenet節(jié)點(diǎn)的一些參數(shù),如節(jié)點(diǎn)地址(MAC ID)及波特率。設(shè)置好了以后點(diǎn)OK進(jìn)行測(cè)試。
4)如果RSLinx有測(cè)試到通訊正常,則會(huì)出現(xiàn)如下對(duì)話框,告知你要為連接取一個(gè)名字,你可以默認(rèn)也可以自己輸入新的名稱(chēng)。最后點(diǎn)OK確認(rèn)。
5)此時(shí)可以在驅(qū)動(dòng)列表里看到已經(jīng)加入了一項(xiàng)驅(qū)動(dòng),且狀態(tài)處于Running。關(guān)閉此對(duì)話框返回到RSLinx的主界面,可以看到左邊的列表里多了一項(xiàng)連接:1770-KFD-1, Devicenet(取決于你所起的名稱(chēng))。選中此列表或點(diǎn)擊旁邊的“+”號(hào),RSLinx則會(huì)搜索網(wǎng)絡(luò)上的存在的節(jié)點(diǎn),在右邊的窗口中你可以看到網(wǎng)絡(luò)上存在的節(jié)點(diǎn)的圖標(biāo)及MAC ID 還有名稱(chēng)。如果你看不到節(jié)點(diǎn),則可能你的節(jié)點(diǎn)與網(wǎng)絡(luò)的連接有問(wèn)題,如果你所有的節(jié)點(diǎn)都看不到,則可能你的網(wǎng)絡(luò)波特率不統(tǒng)一。
2、PC與PLC的連接
確定你已經(jīng)將專(zhuān)門(mén)用于PC與PLC連接的串行線將PC和PLC連接起來(lái),則可以如下操作:
1)與連接1770-KFD相同的操作;
2)在選擇驅(qū)動(dòng)類(lèi)型的時(shí)候請(qǐng)選擇“RS-232 DF1 devices”,然后“Add new...”,則會(huì)出現(xiàn)如下配置對(duì)話框。設(shè)定好COM端口,選擇設(shè)備類(lèi)型為:SLC-CH0/Micro/PanelView...,然后點(diǎn)下邊的“Auto-Configure”,如果配置無(wú)誤,則在右邊的只讀框中會(huì)出現(xiàn)“自動(dòng)配置成功”。
3)同樣在驅(qū)動(dòng)列表中你會(huì)看到剛剛配置好的類(lèi)似“AB_DF1...”的驅(qū)動(dòng)。
四 Devicenet組態(tài)
這部分主要實(shí)現(xiàn)簡(jiǎn)單的Devicenet網(wǎng)絡(luò)的配置組態(tài),使用的工具是Rockwell提供的軟件——RSNetWorx。例子雖然簡(jiǎn)單但期望各位網(wǎng)友以一當(dāng)十,達(dá)成更復(fù)雜的應(yīng)用,此才為此文章的最終目的。
1、點(diǎn)擊“開(kāi)始”—“程序”—“Rockwell Software”—"RSNetWorx"—"RSNetWorx for Devicenet"以正常啟動(dòng)RSNetWorx;也許你會(huì)遇到找不到當(dāng)前字體的對(duì)話框,因操作系統(tǒng)的問(wèn)題,你盡可以回答“是”。
2、RSNetWorx啟動(dòng)后,也許你可看到左邊有一個(gè)硬件列表框,如果沒(méi)有你可以在View菜單里找到,點(diǎn)擊就可以顯現(xiàn)出此列表。而主視圖框中有一條網(wǎng)絡(luò)線,這是最初的狀況,因?yàn)檫€沒(méi)有一個(gè)節(jié)點(diǎn)被加到當(dāng)前的網(wǎng)絡(luò)中,所以右邊這條線上沒(méi)有一個(gè)節(jié)點(diǎn)。你當(dāng)然可以在左邊的列表框里選擇你目前已經(jīng)連接好的設(shè)備并雙擊使其加到右邊的網(wǎng)絡(luò)線上,但我們不這樣做,RSNetWorx有一個(gè)最簡(jiǎn)單的做法就是利用網(wǎng)絡(luò)掃描功能,如下圖:點(diǎn)擊圖中的Online圖標(biāo)或點(diǎn)“NetWork”—"Online"菜單,則可以啟動(dòng)掃描功能。
3、點(diǎn)擊“Online”圖標(biāo)后會(huì)彈出一個(gè)對(duì)話框,要你選擇用于連接的驅(qū)動(dòng),你應(yīng)該可以看到1770-KFD的連接,如果沒(méi)有,則請(qǐng)參閱本文的第三部分。
4、選中“1770-KFD”驅(qū)動(dòng)并點(diǎn)擊OK,或直接雙擊,會(huì)告訴你一個(gè)同步確認(rèn)對(duì)話框,點(diǎn)擊OK。RSNetWorx即開(kāi)始Browsing Network...
5、如果此對(duì)話框的進(jìn)度條一直沒(méi)有動(dòng)作則表示你的串行通訊連接線有問(wèn)題,或是你的PC上正有其它程序使用串行口。掃描完畢后網(wǎng)絡(luò)上能找到的所有節(jié)點(diǎn)都會(huì)顯示出來(lái)。在此例中Master(1747-SDN/B)的地址為01,而1770-KFD節(jié)點(diǎn)地址為05。
6、雙擊其中的圖標(biāo),可以查看節(jié)點(diǎn)的信息:General, bbbbbeters, I/O Defaults, EDS File。其中第一項(xiàng)可以清楚的知道供應(yīng)商,及其它一些詳細(xì)信息,參數(shù)部分可以顯示此節(jié)點(diǎn)所有本身提供可訪問(wèn)的參數(shù),這些參數(shù)根據(jù)屬性的不同可以讀寫(xiě)或只讀。在第一次查看參數(shù)的時(shí)候提示“upload or download”的時(shí)候最好是"upload"。
7、雙擊Scanner的圖標(biāo),會(huì)出現(xiàn)其配置對(duì)話框。點(diǎn)擊“Module”選項(xiàng)卡,并選擇“upload”按鈕,以讀取當(dāng)前Scanner中的配置信息。當(dāng)讀取完畢后,可以看到“Module”選項(xiàng)卡中有幾個(gè)信息值:Interscan Delay和Foreground to Background Poll Ratio。前一項(xiàng)表示兩次發(fā)送輪詢(xún)IO信息的間隔時(shí)間;后一項(xiàng)表示發(fā)送多少次IO報(bào)文后才對(duì)特定的節(jié)點(diǎn)發(fā)送一次IO報(bào)文,默認(rèn)值為1,則表示每次都會(huì)發(fā)送IO報(bào)文,這主要用于通訊較慢的設(shè)備與較快的設(shè)備同時(shí)在一個(gè)網(wǎng)絡(luò)上的時(shí)候,也可以減少某些不必很快的設(shè)備的CPU資源開(kāi)銷(xiāo)。
8、選擇“Scanlist”選項(xiàng)卡,可以看到左邊的列表里有當(dāng)前可以使用的設(shè)備,此例中為兩個(gè)。右邊有一空的掃描列表。在此我們選中節(jié)點(diǎn)“1305 Drive”,并注意“Automap on Add”前的框里打上勾,使其自動(dòng)映射地址。然后點(diǎn)“>”按鈕將此節(jié)點(diǎn)加入掃描列表。當(dāng)選中一個(gè)節(jié)點(diǎn)后,可以點(diǎn)擊下方的“Edit I/O bbbbbeters...”來(lái)編輯節(jié)點(diǎn)的IO數(shù)據(jù)長(zhǎng)度,其中就可以設(shè)置此節(jié)點(diǎn)是否使用Foreground to Background Poll Ratio功能。
9、點(diǎn)擊“bbbbb”, "Output"選項(xiàng)卡,可以看到節(jié)點(diǎn)的地址已經(jīng)被映射到Scanner的bbbbb和Output地址上了,此地址直接映射到PLC的CPU內(nèi)存地址上,用于在SLC 500中進(jìn)行編程控制。
10、同樣地將另一個(gè)節(jié)點(diǎn)2705T(I/O Module)也加入到掃描列表中。
11、點(diǎn)擊“確定”按鈕,提示是否將此配置下載到Scanner中,將PLC的控制鑰匙打到“PROG”狀態(tài),確定即可以下載此配置到Scanner了。當(dāng)你把PLC上的控制鑰匙打到RUN,則可以看到Scanner的“MODULE”和“NET”LED都是綠色。 到此簡(jiǎn)單的Devicenet組態(tài)就完成了。
另外,相信大家都知道每個(gè)Devicenet設(shè)備組態(tài)時(shí)都需要EDS文件,為什么我們一直沒(méi)有使用EDS文件呢?這是因?yàn)槲覀兪褂玫脑O(shè)備都是AB的設(shè)備,而配置工具也是AB的設(shè)備,配置工具已經(jīng)預(yù)先將AB的DeviceNet的EDS文件導(dǎo)入了此配置工具中,所以我們不需要做這一步,如果你是自己開(kāi)發(fā)的設(shè)備要使用RSNetWorx連到DeviceNet網(wǎng)絡(luò)中,那你必須使用RSNetWorx所提供的EDS導(dǎo)入向?qū)О炎约壕帉?xiě)的EDS文件導(dǎo)入到系統(tǒng)中。此功能可以通過(guò)菜單“Tools”—"EDS Wizard..."來(lái)啟動(dòng),根據(jù)提示很容易就可以導(dǎo)入自己的EDS文件。如果你的設(shè)備還未導(dǎo)入EDS文件就接上了DeviceNet網(wǎng)絡(luò),則RSNetWorx同樣會(huì)發(fā)現(xiàn)此節(jié)點(diǎn),只是處于不能識(shí)別的狀態(tài),雙擊圖標(biāo)也可以啟動(dòng)EDS文件向?qū)б詫?dǎo)入正確的EDS文件。
五 簡(jiǎn)單的SLC梯形圖程序以實(shí)現(xiàn)簡(jiǎn)單任務(wù)
有關(guān)SLC系列PLC的應(yīng)用編程工具RSLogix 500,是一個(gè)功能強(qiáng)大且復(fù)雜的工具,在此我們不準(zhǔn)備做詳細(xì)的介紹,但我們會(huì)完成一個(gè)簡(jiǎn)單的例子,來(lái)達(dá)成通過(guò)Devicenet上的I/O控制變頻器的啟動(dòng)與停止,并且在IO模塊的輸出上顯示變頻器的運(yùn)行/停止?fàn)顟B(tài)。
在啟動(dòng)RSLogix之前請(qǐng)認(rèn)真參閱此文第三部分:RSLinx的使用。以保證已經(jīng)正確的配置好了PLC與PC的連接。其結(jié)果應(yīng)該是可以在驅(qū)動(dòng)列表里看到AB_DF1....類(lèi)似的連接處于RUNNING狀態(tài),為避免發(fā)生錯(cuò)誤,如果你是在同一臺(tái)PC上進(jìn)行的,可以先刪除1770-KFD的連接驅(qū)動(dòng)后再增加RS232的連接驅(qū)動(dòng)。
確認(rèn)RSLinx的連接沒(méi)有問(wèn)題后,可以按如下的步驟進(jìn)入RSLogix編程。
1、點(diǎn)擊“開(kāi)始”—“程序”—“Rockwell Software”—"RSLogix 500 English"—"RSLogix 500 English"以啟動(dòng)RSLogix 500。啟動(dòng)后的主界面如下面所示。首先需要新建一個(gè)文件,點(diǎn)擊新建圖標(biāo)出現(xiàn)處理器選擇對(duì)話框。在此對(duì)話框中選擇你的CPU,此例中的CPU為“1747-L531 5/03”,選中此CPU,然后在對(duì)話框下方的“Communication setting”里設(shè)定通訊的驅(qū)動(dòng)為“AB_DF1.....”,點(diǎn)OK確認(rèn)。
2、新生成的項(xiàng)目文件有兩個(gè)部分,一個(gè)是項(xiàng)目管理,位于左邊的窗口,一個(gè)為梯形圖編輯器,位于右邊。在左邊的列表中,可以看到有許多能使用的資源,但我們首先要對(duì)“Controller”的部分進(jìn)行配置,不然項(xiàng)目管理程序不知道當(dāng)前PLC的插槽上都插有哪些卡?也就無(wú)法正確的對(duì)各擴(kuò)充卡進(jìn)行尋址。雙擊左邊項(xiàng)目列表里“Controller”下的“IO Configuration”,可以看到一個(gè)配置對(duì)話框。選擇“Racks”為:1746-A4 4-slot rack,以選定所使用的機(jī)架。在下方的列表中,可以看到已經(jīng)把CPU插入了第一個(gè)插槽中。
3、現(xiàn)在要將另外的擴(kuò)充卡也加入到此項(xiàng)目中來(lái),點(diǎn)擊旁邊的“Read IO Configuration”,出現(xiàn)讀取確認(rèn)框,這時(shí)可以看到驅(qū)動(dòng)里面已經(jīng)選中了AB-DF1,如果你在第一步里忘了選擇,也可以在這里選擇驅(qū)動(dòng)。
4、點(diǎn)擊上圖中的“Read IO Configuration”,出現(xiàn)“Confirm Change Processor Type”對(duì)話框,點(diǎn)擊OK。
5、這時(shí)可以很清楚的看到機(jī)架上所插入的模塊,第二槽為模擬量輸入模塊,第四槽為Devicenet Scanner。
7、當(dāng)這此模塊都配置好后,就可以進(jìn)行PLC梯形圖程序的編寫(xiě)了,這部分不準(zhǔn)備對(duì)如何編寫(xiě)梯形圖做介紹,詳細(xì)的編程手冊(cè)請(qǐng)到Rockwell AB的網(wǎng)站上找尋或參考購(gòu)買(mǎi)產(chǎn)品時(shí)所附帶的手冊(cè)。但我們需要一個(gè)簡(jiǎn)單的例子程序來(lái)完成對(duì)變頻器的操作,頻率給定和狀態(tài)監(jiān)控。
有關(guān)各節(jié)點(diǎn)在master中的地址映射如下表:
1)在Scanner模塊中,提供了一個(gè)指令控制字,就是可以讓CPU對(duì)掃描模塊進(jìn)行控制,要想CPU在運(yùn)行的時(shí)候使掃描模塊把數(shù)據(jù)送到總線上,必須在梯形圖中先對(duì)掃描模塊的這個(gè)控制字進(jìn)行設(shè)置,在掃描模塊安裝手冊(cè)中有講到此字Bit 0為1表示掃描模塊為RUN MODE,否則為IDLE MODE,所以應(yīng)先將此位元設(shè)為有效,否則掃描模塊總會(huì)顯示80代碼,表示處于IDLE狀態(tài)。下面是梯形圖程序的一個(gè)示例:
說(shuō)明:在此例中,因?yàn)閽呙枘K是插到第四插槽的,所以槽號(hào)為3(0~3),控制字的尋址方式為O:S.1,其中的S表示掃描模塊所在的槽號(hào)。
2)變頻器啟動(dòng)與停止的控制。
參考1305變頻器的手冊(cè),設(shè)置其控制指令來(lái)源為通訊適配置器,以選擇使用通訊來(lái)控制變頻器。1305變頻器的Control Command字的bit0 表示停止,bit1表示啟動(dòng)。故實(shí)際的操作中我們可以通過(guò)送控制字到1305的端口來(lái)控制變頻器.下面是梯形圖程序的一個(gè)示例:
啟動(dòng)變頻器:bit1 置1
停止變頻器:bit0 置1
說(shuō)明:上例中,輸入的信號(hào)I:3.3/1來(lái)自IO模塊的bit 1,表示按下啟動(dòng)按鈕;O:3.1/1是映射到1203-GU6模塊的通訊地址上面的,GU6會(huì)將其送到變頻器的控制端口,實(shí)現(xiàn)啟動(dòng)的操作;停止變頻器的操作同理。
3)變頻器頻率給定。
此例中我們使用模擬量輸入模塊來(lái)獲取頻率給定值,模擬量輸入模塊外部需要接入一電位器產(chǎn)生可調(diào)節(jié)的電壓信號(hào)送入模塊中(相關(guān)的詳細(xì)說(shuō)明參閱手冊(cè))。在GU6模塊默認(rèn)的2WORDS的bbbbb數(shù)據(jù)中,后一個(gè)字表示為頻率給定值,故只要在梯形圖中將模擬量模塊的輸出值送到GU6第二個(gè)字當(dāng)中,GU6即會(huì)將其送到變頻器。下面是梯形圖的一個(gè)示例:
讀取模擬量模塊的值,并送到GU6的第二個(gè)字上面
為了降低模擬量變化的精度,以降低網(wǎng)絡(luò)對(duì)變頻器頻率給定的頻繁程度(就是去掉頻率值的低位部分不關(guān)心),你可以把讀取的模擬量模塊的值先送到整形文件N中,然后再換成二進(jìn)制B,然后與0XFF00相與,就可以去掉頻率值的低八位,這樣只有頻率值高八位產(chǎn)生變化時(shí)才會(huì)引起變頻器頻率值的改變。這點(diǎn)在這里不再做詳細(xì)敘述。
4)接下來(lái)我們需要在IO模塊上顯示變頻器的運(yùn)行/停止?fàn)顟B(tài)。
在變頻器返回到Devicenet的數(shù)據(jù)(bbbbb Data)中,前一個(gè)字為變頻器的狀態(tài)值,讀取Bit 1位可以獲取當(dāng)前變頻器是否在運(yùn)行。下面是梯形圖的一個(gè)示例:
I:3.1/1表示變頻器返回的第一個(gè)字的Bit 1位,O:3.3/0表示IO模塊的輸出數(shù)據(jù)的Bit 0,在節(jié)點(diǎn)中表示上面的一個(gè)LED燈。
由此,我們就實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的IO控制變頻器啟動(dòng)/停止,模擬量模塊給定變頻器的頻率的一個(gè)SLC梯形圖程序,通過(guò)此程序,在網(wǎng)絡(luò)上的表現(xiàn)為:按IO上的啟動(dòng)按鈕實(shí)現(xiàn)變頻器啟動(dòng),按IO上的停止按鈕實(shí)現(xiàn)變頻器停止,調(diào)整模擬量模塊的電位器(需要外接)可以調(diào)整變頻器的頻率,當(dāng)變頻器處于RUNNING,則IO模塊上的LED會(huì)亮,當(dāng)變頻器停止,則LED會(huì)滅。
六 實(shí)驗(yàn)網(wǎng)絡(luò)架構(gòu)的總結(jié)
至此為止,我們已經(jīng)搭建了一個(gè)簡(jiǎn)單但卻典型的Devicenet實(shí)驗(yàn)網(wǎng)絡(luò),利用此網(wǎng)絡(luò),開(kāi)發(fā)者可以從多種角度去觀察及了解DeviceNet的總體架構(gòu)與運(yùn)行的機(jī)制,以此會(huì)對(duì)DeviceNet總線有一個(gè)全面的認(rèn)識(shí)。在從站開(kāi)發(fā)的過(guò)程中(甚至也可以作為主站開(kāi)發(fā)的一部分實(shí)驗(yàn)網(wǎng)絡(luò)),開(kāi)發(fā)者很有必要首先認(rèn)真熟讀DeviceNet協(xié)議,然后通過(guò)實(shí)驗(yàn)系統(tǒng)的幫助來(lái)認(rèn)識(shí)總線上各節(jié)點(diǎn)間的報(bào)文交換,這樣就會(huì)更加明確DeviceNet如何實(shí)現(xiàn)數(shù)據(jù)在各節(jié)點(diǎn)間的傳送。
當(dāng)你準(zhǔn)備開(kāi)發(fā)Devicenet從站設(shè)備的時(shí)候,你一定要對(duì)單片機(jī)知識(shí)有所了解,我們所描述的所有文檔都是針對(duì)DeviceNet技術(shù)本身來(lái)說(shuō)的,而這意味著在所有動(dòng)作之前有一個(gè)假設(shè),就是你對(duì)單片機(jī)的開(kāi)發(fā)很熟悉且不會(huì)遇到問(wèn)題(其實(shí)如果你真有問(wèn)題也很容易在網(wǎng)上找到幫助)。
此文的寫(xiě)作是基于Rockwell Automation Allen-Bradley的SLC 500系列PLC及1747-SDN掃描模塊來(lái)完成,此系統(tǒng)其實(shí)更適合于工業(yè)現(xiàn)場(chǎng)的使用,而在實(shí)驗(yàn)中,或許使用PCI式的插卡會(huì)更方便,而且實(shí)驗(yàn)設(shè)備的成本會(huì)低很多,所以遠(yuǎn)方是建議大家會(huì)去選擇基于PC的主站方式,一方面,基于PCI的主站可以很方便且靈活的來(lái)配置Devicenet報(bào)文,很方便實(shí)現(xiàn)對(duì)從站設(shè)備的監(jiān)控,盡管可能要你去寫(xiě)一些大量的PC端的應(yīng)用程序,但這會(huì)為開(kāi)發(fā)帶來(lái)更大的便利。另一方面,使用PCI方式的接口卡還可以開(kāi)發(fā)其它的一些接點(diǎn),如可以使用其提供的驅(qū)動(dòng)及API接口來(lái)實(shí)現(xiàn)一個(gè)從站,或?qū)崿F(xiàn)一個(gè)模擬主站等。
開(kāi)發(fā)從站設(shè)備的平臺(tái)中還有一個(gè)非常重要的因素,就是總線分析儀。協(xié)議上很明確的規(guī)定了各種報(bào)文的格式,如果請(qǐng)求如何回答,其實(shí)一看多了就云里霧里,如果有一個(gè)工具可以把一個(gè)實(shí)際的節(jié)點(diǎn)與主站交換的報(bào)文呈現(xiàn)出來(lái)豈不是一切都變得如此簡(jiǎn)單?分析儀就可以做到這樣,分析儀其實(shí)也就是一個(gè)節(jié)點(diǎn),不同公司設(shè)計(jì)的分析儀可能有些差別,但功能都是將總線上的數(shù)據(jù)全部抓取下來(lái),進(jìn)行分析后再呈現(xiàn)給使用者,通過(guò)分析這些報(bào)文可以很清楚的看到節(jié)點(diǎn)間如何傳送數(shù)據(jù)。一些公司提供的分析儀產(chǎn)品功能非常強(qiáng)大,但價(jià)格也不菲,很多使用者可能也無(wú)法支付這樣高的費(fèi)用,如果你對(duì)CAN的報(bào)文了解到一定的程度的時(shí)候(了解CAN控制器的工作及如何編程時(shí)),就可以自己試著實(shí)現(xiàn)分析儀的功能,或許你自己的分析儀功能并不強(qiáng)大,但能夠滿(mǎn)足你實(shí)驗(yàn)用就OK了。關(guān)于這部分的一些知識(shí)論壇里已經(jīng)有些討論,感興趣的朋友也可以去看看。
斷斷續(xù)續(xù)寫(xiě)完這篇文章后,一看嚇了一跳,怎么和AB的產(chǎn)品使用手冊(cè)這么像呢?但大家相信這不是翻譯自產(chǎn)品使用手冊(cè),里面的每一個(gè)字都是我輸入,每一張圖片都是我抓取的,我只是想把自己建立這個(gè)實(shí)驗(yàn)平臺(tái)的過(guò)程原始的呈現(xiàn)在這里,希望對(duì)從事此項(xiàng)開(kāi)發(fā)的朋友有用,也為剛剛從事Devicenet工程項(xiàng)目的朋友提供一點(diǎn)信息,起到拋磚引玉的作用。
最后,感謝一些網(wǎng)友的鼓勵(lì)和支持!希望有興趣的網(wǎng)友把自己的經(jīng)驗(yàn)及經(jīng)歷寫(xiě)下來(lái),讓大家都來(lái)分享你的寶貴的經(jīng)驗(yàn)。
為了讓剛剛從事Devicenet開(kāi)發(fā)的朋友能夠?qū)eviceNet網(wǎng)絡(luò)的總體架構(gòu)及工作方式有一個(gè)大致的了解,并同時(shí)提供給從事工程項(xiàng)目的朋友作為項(xiàng)目規(guī)劃中的參考,DND推出此文章以期為各位DeviceNet開(kāi)發(fā)及應(yīng)用的朋友帶來(lái)方便,本文分為如下幾個(gè)部分:
一 軟件需求環(huán)境;
二 網(wǎng)絡(luò)組成;
三 連接工具RsLinx;
四 Devicenet組態(tài);
五 簡(jiǎn)單的SLC梯形圖程序以實(shí)現(xiàn)簡(jiǎn)單任務(wù);
六 實(shí)驗(yàn)網(wǎng)絡(luò)架構(gòu)的總結(jié);
本文的寫(xiě)作是基于Rockwell Automation Allen-Bradley的SLC500 PLC系統(tǒng),組建一個(gè)簡(jiǎn)單的電機(jī)驅(qū)動(dòng)器控制系統(tǒng),通過(guò)IO節(jié)點(diǎn)可以給變頻器發(fā)送啟動(dòng),停止等控制命令,使用模擬量模塊作為變頻器的頻率給定,同時(shí)IO模塊也有數(shù)字輸出的部分,可以顯示變頻器的運(yùn)行與停止?fàn)顟B(tài)。也有很多Devicenet的系統(tǒng)是基于OMRON的DeviceNet系統(tǒng),但原理大同小異。
一 軟件需求環(huán)境
使用AB的SLC 500 PLC作為主站,必須要安裝幾個(gè)配套軟件,如果你是通過(guò)正常渠道購(gòu)買(mǎi)的產(chǎn)品,則會(huì)附帶安裝光盤(pán),在我們的實(shí)驗(yàn)系統(tǒng)中,需要如下的軟件支持(相關(guān)的硬件配置請(qǐng)參閱本文第二部分):
1)RSlinx——用于建立PC與SLC之間的串行連接和PC與1770-KFD模塊之間的連接;
2)RSNetWorx——用于Devicenet組態(tài)的軟件工具,與1770-KFD配套使用對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行配置;
3)RSLogix 500——用于SLC 500 PLC應(yīng)用編程的工具,一般的梯形圖程序及指令等程序都可以使用;
各軟件的安裝請(qǐng)參照附加的幫助文檔,或在論壇中提出,以獲取最快的幫助。
二 網(wǎng)絡(luò)組成
本文所使用的幾個(gè)節(jié)點(diǎn)配置如下。
PLC配置:
1) AB SLC500 4-SLOT RACK(1746-A4)
2) AB SLC500 Power Supply (1746-P1)
3) AB SLC 5/03 CPU (1747-L531)
4) AB SLC500 Analog bbbbb Module (1747-N14)
5) AB SLC500 Devicenet Scanner Module (1747-SDN/B)
Slave配置:
1) AB RediSTATION IO Module (2705T)
2) AB Enhanced Devicenet Communications Module (1203-GU6)
+ AB 1305 Adjustable Freqency AC Drive
組態(tài)模塊:
1) AB 1770-KFD Moudle
網(wǎng)絡(luò)電源模塊:
1) AB PowerTap (1485T-P2T5-T5/B) Devicenet compatible
網(wǎng)絡(luò)接線:
主干線與支線都使用協(xié)議規(guī)定的標(biāo)準(zhǔn)線,主線與支線連接使用T型分接頭,支線頭上用迷你型連接器。支線與節(jié)點(diǎn)之間全部用開(kāi)放型連接器。
在PLC的配置中,第1項(xiàng)為PLC的機(jī)架,使用4插槽的PLC機(jī)架;第2項(xiàng)為PLC的電源供給模塊,一般與機(jī)架構(gòu)成PLC的基本單元;第三項(xiàng)為PLC的核心運(yùn)算單元CPU,一般將CPU插在第一個(gè)插槽內(nèi);第四項(xiàng)為AB提供的SLC 500 CPU用的模擬量輸入模塊,在此用于變頻器的頻率給定;而最后一項(xiàng)則為Devicenet網(wǎng)絡(luò)的驅(qū)動(dòng)者——Master。
相關(guān)的產(chǎn)品的詳細(xì)信息請(qǐng)查閱Rockwell Automation Allen-Bradley
使用上述網(wǎng)絡(luò)構(gòu)件后,可以組成一個(gè)簡(jiǎn)單的Devicenet實(shí)驗(yàn)網(wǎng)絡(luò),其示意圖如下:
在上圖中,PC通過(guò)1770-KFD節(jié)點(diǎn)對(duì)網(wǎng)絡(luò)進(jìn)行配置,配置信息也通過(guò)此節(jié)點(diǎn)從Devicenet網(wǎng)絡(luò)上送到掃描模塊,而SLC中的PLC編程部分則通過(guò)SLC本身帶的RS232通訊端口進(jìn)行編程下載。 三 連接工具RSLinx
這個(gè)部分我們會(huì)介紹如何配置RSLinx以實(shí)現(xiàn)與1770-KFD的連接,和實(shí)現(xiàn)與PLC的連接,在此我們假設(shè)你已經(jīng)完全按要求搭建好網(wǎng)絡(luò),所有的連線都已經(jīng)連好,所有的節(jié)點(diǎn)都可以正常加電且工作正常,如果你在各個(gè)產(chǎn)品的電源供給或是加電等方面遇到了麻煩,請(qǐng)參閱各產(chǎn)品的使用手冊(cè),建議你在加電之前最好詳細(xì)閱讀產(chǎn)品的使用說(shuō)明書(shū),以免因輸入電源不當(dāng)造產(chǎn)品的損壞。 1、PC與1770-KFD的連接
如果你已經(jīng)安裝好了所需的軟件,并且使用附帶的串行通訊線將PC的COM1口與1770-KFD的RS232接口相連,則可以按如下步驟進(jìn)行操作:
1)點(diǎn)擊“開(kāi)始”—“程序”—“Rockwell Software”—“RSLinx”—"RSLinx",啟動(dòng)RSLinx;
2)點(diǎn)擊“Communications”—"Configure Drivers...",則會(huì)出現(xiàn)"Configure Drivers"的對(duì)話框。在上方的下拉列表里選擇“Devicenet Drivers (1784 PCD/PCIDS,1770-KFD....)”此項(xiàng),點(diǎn)擊“Add New...”按鈕以添加此驅(qū)動(dòng),接著會(huì)出現(xiàn)驅(qū)動(dòng)選擇的對(duì)話框,在此我們選擇“Allen-Bradley 1770-KFD”并點(diǎn)“Select”按鈕以確認(rèn)選擇。
3)接著會(huì)出現(xiàn)1770-KFD的配置對(duì)話框,在此可以對(duì)通訊的一些參數(shù)進(jìn)行設(shè)置,如串行口,串行通訊波特率,還可以設(shè)定1770-KFD作為一個(gè)Devicenet節(jié)點(diǎn)的一些參數(shù),如節(jié)點(diǎn)地址(MAC ID)及波特率。設(shè)置好了以后點(diǎn)OK進(jìn)行測(cè)試。
4)如果RSLinx有測(cè)試到通訊正常,則會(huì)出現(xiàn)如下對(duì)話框,告知你要為連接取一個(gè)名字,你可以默認(rèn)也可以自己輸入新的名稱(chēng)。最后點(diǎn)OK確認(rèn)。
5)此時(shí)可以在驅(qū)動(dòng)列表里看到已經(jīng)加入了一項(xiàng)驅(qū)動(dòng),且狀態(tài)處于Running。關(guān)閉此對(duì)話框返回到RSLinx的主界面,可以看到左邊的列表里多了一項(xiàng)連接:1770-KFD-1, Devicenet(取決于你所起的名稱(chēng))。選中此列表或點(diǎn)擊旁邊的“+”號(hào),RSLinx則會(huì)搜索網(wǎng)絡(luò)上的存在的節(jié)點(diǎn),在右邊的窗口中你可以看到網(wǎng)絡(luò)上存在的節(jié)點(diǎn)的圖標(biāo)及MAC ID 還有名稱(chēng)。如果你看不到節(jié)點(diǎn),則可能你的節(jié)點(diǎn)與網(wǎng)絡(luò)的連接有問(wèn)題,如果你所有的節(jié)點(diǎn)都看不到,則可能你的網(wǎng)絡(luò)波特率不統(tǒng)一。
2、PC與PLC的連接
確定你已經(jīng)將專(zhuān)門(mén)用于PC與PLC連接的串行線將PC和PLC連接起來(lái),則可以如下操作:
1)與連接1770-KFD相同的操作;
2)在選擇驅(qū)動(dòng)類(lèi)型的時(shí)候請(qǐng)選擇“RS-232 DF1 devices”,然后“Add new...”,則會(huì)出現(xiàn)如下配置對(duì)話框。設(shè)定好COM端口,選擇設(shè)備類(lèi)型為:SLC-CH0/Micro/PanelView...,然后點(diǎn)下邊的“Auto-Configure”,如果配置無(wú)誤,則在右邊的只讀框中會(huì)出現(xiàn)“自動(dòng)配置成功”。
3)同樣在驅(qū)動(dòng)列表中你會(huì)看到剛剛配置好的類(lèi)似“AB_DF1...”的驅(qū)動(dòng)。
四 Devicenet組態(tài)
這部分主要實(shí)現(xiàn)簡(jiǎn)單的Devicenet網(wǎng)絡(luò)的配置組態(tài),使用的工具是Rockwell提供的軟件——RSNetWorx。例子雖然簡(jiǎn)單但期望各位網(wǎng)友以一當(dāng)十,達(dá)成更復(fù)雜的應(yīng)用,此才為此文章的最終目的。 1、點(diǎn)擊“開(kāi)始”—“程序”—“Rockwell Software”—"RSNetWorx"—"RSNetWorx for Devicenet"以正常啟動(dòng)RSNetWorx;也許你會(huì)遇到找不到當(dāng)前字體的對(duì)話框,因操作系統(tǒng)的問(wèn)題,你盡可以回答“是”。
2、RSNetWorx啟動(dòng)后,也許你可看到左邊有一個(gè)硬件列表框,如果沒(méi)有你可以在View菜單里找到,點(diǎn)擊就可以顯現(xiàn)出此列表。而主視圖框中有一條網(wǎng)絡(luò)線,這是最初的狀況,因?yàn)檫€沒(méi)有一個(gè)節(jié)點(diǎn)被加到當(dāng)前的網(wǎng)絡(luò)中,所以右邊這條線上沒(méi)有一個(gè)節(jié)點(diǎn)。你當(dāng)然可以在左邊的列表框里選擇你目前已經(jīng)連接好的設(shè)備并雙擊使其加到右邊的網(wǎng)絡(luò)線上,但我們不這樣做,RSNetWorx有一個(gè)最簡(jiǎn)單的做法就是利用網(wǎng)絡(luò)掃描功能,如下圖:點(diǎn)擊圖中的Online圖標(biāo)或點(diǎn)“NetWork”—"Online"菜單,則可以啟動(dòng)掃描功能。
3、點(diǎn)擊“Online”圖標(biāo)后會(huì)彈出一個(gè)對(duì)話框,要你選擇用于連接的驅(qū)動(dòng),你應(yīng)該可以看到1770-KFD的連接,如果沒(méi)有,則請(qǐng)參閱本文的第三部分。
4、選中“1770-KFD”驅(qū)動(dòng)并點(diǎn)擊OK,或直接雙擊,會(huì)告訴你一個(gè)同步確認(rèn)對(duì)話框,點(diǎn)擊OK。RSNetWorx即開(kāi)始Browsing Network...
5、如果此對(duì)話框的進(jìn)度條一直沒(méi)有動(dòng)作則表示你的串行通訊連接線有問(wèn)題,或是你的PC上正有其它程序使用串行口。掃描完畢后網(wǎng)絡(luò)上能找到的所有節(jié)點(diǎn)都會(huì)顯示出來(lái)。在此例中Master(1747-SDN/B)的地址為01,而1770-KFD節(jié)點(diǎn)地址為05。
6、雙擊其中的圖標(biāo),可以查看節(jié)點(diǎn)的信息:General, bbbbbeters, I/O Defaults, EDS File。其中第一項(xiàng)可以清楚的知道供應(yīng)商,及其它一些詳細(xì)信息,參數(shù)部分可以顯示此節(jié)點(diǎn)所有本身提供可訪問(wèn)的參數(shù),這些參數(shù)根據(jù)屬性的不同可以讀寫(xiě)或只讀。在第一次查看參數(shù)的時(shí)候提示“upload or download”的時(shí)候最好是"upload"。
7、雙擊Scanner的圖標(biāo),會(huì)出現(xiàn)其配置對(duì)話框。點(diǎn)擊“Module”選項(xiàng)卡,并選擇“upload”按鈕,以讀取當(dāng)前Scanner中的配置信息。當(dāng)讀取完畢后,可以看到“Module”選項(xiàng)卡中有幾個(gè)信息值:Interscan Delay和Foreground to Background Poll Ratio。前一項(xiàng)表示兩次發(fā)送輪詢(xún)IO信息的間隔時(shí)間;后一項(xiàng)表示發(fā)送多少次IO報(bào)文后才對(duì)特定的節(jié)點(diǎn)發(fā)送一次IO報(bào)文,默認(rèn)值為1,則表示每次都會(huì)發(fā)送IO報(bào)文,這主要用于通訊較慢的設(shè)備與較快的設(shè)備同時(shí)在一個(gè)網(wǎng)絡(luò)上的時(shí)候,也可以減少某些不必很快的設(shè)備的CPU資源開(kāi)銷(xiāo)。
8、選擇“Scanlist”選項(xiàng)卡,可以看到左邊的列表里有當(dāng)前可以使用的設(shè)備,此例中為兩個(gè)。右邊有一空的掃描列表。在此我們選中節(jié)點(diǎn)“1305 Drive”,并注意“Automap on Add”前的框里打上勾,使其自動(dòng)映射地址。然后點(diǎn)“>”按鈕將此節(jié)點(diǎn)加入掃描列表。當(dāng)選中一個(gè)節(jié)點(diǎn)后,可以點(diǎn)擊下方的“Edit I/O bbbbbeters...”來(lái)編輯節(jié)點(diǎn)的IO數(shù)據(jù)長(zhǎng)度,其中就可以設(shè)置此節(jié)點(diǎn)是否使用Foreground to Background Poll Ratio功能。
9、點(diǎn)擊“bbbbb”, "Output"選項(xiàng)卡,可以看到節(jié)點(diǎn)的地址已經(jīng)被映射到Scanner的bbbbb和Output地址上了,此地址直接映射到PLC的CPU內(nèi)存地址上,用于在SLC 500中進(jìn)行編程控制。
10、同樣地將另一個(gè)節(jié)點(diǎn)2705T(I/O Module)也加入到掃描列表中。
11、點(diǎn)擊“確定”按鈕,提示是否將此配置下載到Scanner中,將PLC的控制鑰匙打到“PROG”狀態(tài),確定即可以下載此配置到Scanner了。當(dāng)你把PLC上的控制鑰匙打到RUN,則可以看到Scanner的“MODULE”和“NET”LED都是綠色。 到此簡(jiǎn)單的Devicenet組態(tài)就完成了。
另外,相信大家都知道每個(gè)Devicenet設(shè)備組態(tài)時(shí)都需要EDS文件,為什么我們一直沒(méi)有使用EDS文件呢?這是因?yàn)槲覀兪褂玫脑O(shè)備都是AB的設(shè)備,而配置工具也是AB的設(shè)備,配置工具已經(jīng)預(yù)先將AB的DeviceNet的EDS文件導(dǎo)入了此配置工具中,所以我們不需要做這一步,如果你是自己開(kāi)發(fā)的設(shè)備要使用RSNetWorx連到DeviceNet網(wǎng)絡(luò)中,那你必須使用RSNetWorx所提供的EDS導(dǎo)入向?qū)О炎约壕帉?xiě)的EDS文件導(dǎo)入到系統(tǒng)中。此功能可以通過(guò)菜單“Tools”—"EDS Wizard..."來(lái)啟動(dòng),根據(jù)提示很容易就可以導(dǎo)入自己的EDS文件。如果你的設(shè)備還未導(dǎo)入EDS文件就接上了DeviceNet網(wǎng)絡(luò),則RSNetWorx同樣會(huì)發(fā)現(xiàn)此節(jié)點(diǎn),只是處于不能識(shí)別的狀態(tài),雙擊圖標(biāo)也可以啟動(dòng)EDS文件向?qū)б詫?dǎo)入正確的EDS文件。
五 簡(jiǎn)單的SLC梯形圖程序以實(shí)現(xiàn)簡(jiǎn)單任務(wù)
有關(guān)SLC系列PLC的應(yīng)用編程工具RSLogix 500,是一個(gè)功能強(qiáng)大且復(fù)雜的工具,在此我們不準(zhǔn)備做詳細(xì)的介紹,但我們會(huì)完成一個(gè)簡(jiǎn)單的例子,來(lái)達(dá)成通過(guò)Devicenet上的I/O控制變頻器的啟動(dòng)與停止,并且在IO模塊的輸出上顯示變頻器的運(yùn)行/停止?fàn)顟B(tài)。 在啟動(dòng)RSLogix之前請(qǐng)認(rèn)真參閱此文第三部分:RSLinx的使用。以保證已經(jīng)正確的配置好了PLC與PC的連接。其結(jié)果應(yīng)該是可以在驅(qū)動(dòng)列表里看到AB_DF1....類(lèi)似的連接處于RUNNING狀態(tài),為避免發(fā)生錯(cuò)誤,如果你是在同一臺(tái)PC上進(jìn)行的,可以先刪除1770-KFD的連接驅(qū)動(dòng)后再增加RS232的連接驅(qū)動(dòng)。
確認(rèn)RSLinx的連接沒(méi)有問(wèn)題后,可以按如下的步驟進(jìn)入RSLogix編程。
1、點(diǎn)擊“開(kāi)始”—“程序”—“Rockwell Software”—"RSLogix 500 English"—"RSLogix 500 English"以啟動(dòng)RSLogix 500。啟動(dòng)后的主界面如下面所示。首先需要新建一個(gè)文件,點(diǎn)擊新建圖標(biāo)出現(xiàn)處理器選擇對(duì)話框。在此對(duì)話框中選擇你的CPU,此例中的CPU為“1747-L531 5/03”,選中此CPU,然后在對(duì)話框下方的“Communication setting”里設(shè)定通訊的驅(qū)動(dòng)為“AB_DF1.....”,點(diǎn)OK確認(rèn)。
2、新生成的項(xiàng)目文件有兩個(gè)部分,一個(gè)是項(xiàng)目管理,位于左邊的窗口,一個(gè)為梯形圖編輯器,位于右邊。在左邊的列表中,可以看到有許多能使用的資源,但我們首先要對(duì)“Controller”的部分進(jìn)行配置,不然項(xiàng)目管理程序不知道當(dāng)前PLC的插槽上都插有哪些卡?也就無(wú)法正確的對(duì)各擴(kuò)充卡進(jìn)行尋址。雙擊左邊項(xiàng)目列表里“Controller”下的“IO Configuration”,可以看到一個(gè)配置對(duì)話框。選擇“Racks”為:1746-A4 4-slot rack,以選定所使用的機(jī)架。在下方的列表中,可以看到已經(jīng)把CPU插入了第一個(gè)插槽中。
3、現(xiàn)在要將另外的擴(kuò)充卡也加入到此項(xiàng)目中來(lái),點(diǎn)擊旁邊的“Read IO Configuration”,出現(xiàn)讀取確認(rèn)框,這時(shí)可以看到驅(qū)動(dòng)里面已經(jīng)選中了AB-DF1,如果你在第一步里忘了選擇,也可以在這里選擇驅(qū)動(dòng)。
4、點(diǎn)擊上圖中的“Read IO Configuration”,出現(xiàn)“Confirm Change Processor Type”對(duì)話框,點(diǎn)擊OK。
5、這時(shí)可以很清楚的看到機(jī)架上所插入的模塊,第二槽為模擬量輸入模塊,第四槽為Devicenet Scanner。
7、當(dāng)這此模塊都配置好后,就可以進(jìn)行PLC梯形圖程序的編寫(xiě)了,這部分不準(zhǔn)備對(duì)如何編寫(xiě)梯形圖做介紹,詳細(xì)的編程手冊(cè)請(qǐng)到Rockwell AB的網(wǎng)站上找尋或參考購(gòu)買(mǎi)產(chǎn)品時(shí)所附帶的手冊(cè)。但我們需要一個(gè)簡(jiǎn)單的例子程序來(lái)完成對(duì)變頻器的操作,頻率給定和狀態(tài)監(jiān)控。
有關(guān)各節(jié)點(diǎn)在master中的地址映射如下表:
1)在Scanner模塊中,提供了一個(gè)指令控制字,就是可以讓CPU對(duì)掃描模塊進(jìn)行控制,要想CPU在運(yùn)行的時(shí)候使掃描模塊把數(shù)據(jù)送到總線上,必須在梯形圖中先對(duì)掃描模塊的這個(gè)控制字進(jìn)行設(shè)置,在掃描模塊安裝手冊(cè)中有講到此字Bit 0為1表示掃描模塊為RUN MODE,否則為IDLE MODE,所以應(yīng)先將此位元設(shè)為有效,否則掃描模塊總會(huì)顯示80代碼,表示處于IDLE狀態(tài)。下面是梯形圖程序的一個(gè)示例:
說(shuō)明:在此例中,因?yàn)閽呙枘K是插到第四插槽的,所以槽號(hào)為3(0~3),控制字的尋址方式為O:S.1,其中的S表示掃描模塊所在的槽號(hào)。
2)變頻器啟動(dòng)與停止的控制。
參考1305變頻器的手冊(cè),設(shè)置其控制指令來(lái)源為通訊適配置器,以選擇使用通訊來(lái)控制變頻器。1305變頻器的Control Command字的bit0 表示停止,bit1表示啟動(dòng)。故實(shí)際的操作中我們可以通過(guò)送控制字到1305的端口來(lái)控制變頻器.下面是梯形圖程序的一個(gè)示例:
啟動(dòng)變頻器:bit1 置1
停止變頻器:bit0 置1
說(shuō)明:上例中,輸入的信號(hào)I:3.3/1來(lái)自IO模塊的bit 1,表示按下啟動(dòng)按鈕;O:3.1/1是映射到1203-GU6模塊的通訊地址上面的,GU6會(huì)將其送到變頻器的控制端口,實(shí)現(xiàn)啟動(dòng)的操作;停止變頻器的操作同理。
3)變頻器頻率給定。
此例中我們使用模擬量輸入模塊來(lái)獲取頻率給定值,模擬量輸入模塊外部需要接入一電位器產(chǎn)生可調(diào)節(jié)的電壓信號(hào)送入模塊中(相關(guān)的詳細(xì)說(shuō)明參閱手冊(cè))。在GU6模塊默認(rèn)的2WORDS的bbbbb數(shù)據(jù)中,后一個(gè)字表示為頻率給定值,故只要在梯形圖中將模擬量模塊的輸出值送到GU6第二個(gè)字當(dāng)中,GU6即會(huì)將其送到變頻器。下面是梯形圖的一個(gè)示例:
讀取模擬量模塊的值,并送到GU6的第二個(gè)字上面
為了降低模擬量變化的精度,以降低網(wǎng)絡(luò)對(duì)變頻器頻率給定的頻繁程度(就是去掉頻率值的低位部分不關(guān)心),你可以把讀取的模擬量模塊的值先送到整形文件N中,然后再換成二進(jìn)制B,然后與0XFF00相與,就可以去掉頻率值的低八位,這樣只有頻率值高八位產(chǎn)生變化時(shí)才會(huì)引起變頻器頻率值的改變。這點(diǎn)在這里不再做詳細(xì)敘述。
4)接下來(lái)我們需要在IO模塊上顯示變頻器的運(yùn)行/停止?fàn)顟B(tài)。
在變頻器返回到Devicenet的數(shù)據(jù)(bbbbb Data)中,前一個(gè)字為變頻器的狀態(tài)值,讀取Bit 1位可以獲取當(dāng)前變頻器是否在運(yùn)行。下面是梯形圖的一個(gè)示例:
I:3.1/1表示變頻器返回的第一個(gè)字的Bit 1位,O:3.3/0表示IO模塊的輸出數(shù)據(jù)的Bit 0,在節(jié)點(diǎn)中表示上面的一個(gè)LED燈。
由此,我們就實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的IO控制變頻器啟動(dòng)/停止,模擬量模塊給定變頻器的頻率的一個(gè)SLC梯形圖程序,通過(guò)此程序,在網(wǎng)絡(luò)上的表現(xiàn)為:按IO上的啟動(dòng)按鈕實(shí)現(xiàn)變頻器啟動(dòng),按IO上的停止按鈕實(shí)現(xiàn)變頻器停止,調(diào)整模擬量模塊的電位器(需要外接)可以調(diào)整變頻器的頻率,當(dāng)變頻器處于RUNNING,則IO模塊上的LED會(huì)亮,當(dāng)變頻器停止,則LED會(huì)滅。
六 實(shí)驗(yàn)網(wǎng)絡(luò)架構(gòu)的總結(jié)
至此為止,我們已經(jīng)搭建了一個(gè)簡(jiǎn)單但卻典型的Devicenet實(shí)驗(yàn)網(wǎng)絡(luò),利用此網(wǎng)絡(luò),開(kāi)發(fā)者可以從多種角度去觀察及了解DeviceNet的總體架構(gòu)與運(yùn)行的機(jī)制,以此會(huì)對(duì)DeviceNet總線有一個(gè)全面的認(rèn)識(shí)。在從站開(kāi)發(fā)的過(guò)程中(甚至也可以作為主站開(kāi)發(fā)的一部分實(shí)驗(yàn)網(wǎng)絡(luò)),開(kāi)發(fā)者很有必要首先認(rèn)真熟讀DeviceNet協(xié)議,然后通過(guò)實(shí)驗(yàn)系統(tǒng)的幫助來(lái)認(rèn)識(shí)總線上各節(jié)點(diǎn)間的報(bào)文交換,這樣就會(huì)更加明確DeviceNet如何實(shí)現(xiàn)數(shù)據(jù)在各節(jié)點(diǎn)間的傳送。
當(dāng)你準(zhǔn)備開(kāi)發(fā)Devicenet從站設(shè)備的時(shí)候,你一定要對(duì)單片機(jī)知識(shí)有所了解,我們所描述的所有文檔都是針對(duì)DeviceNet技術(shù)本身來(lái)說(shuō)的,而這意味著在所有動(dòng)作之前有一個(gè)假設(shè),就是你對(duì)單片機(jī)的開(kāi)發(fā)很熟悉且不會(huì)遇到問(wèn)題(其實(shí)如果你真有問(wèn)題也很容易在網(wǎng)上找到幫助)。
此文的寫(xiě)作是基于Rockwell Automation Allen-Bradley的SLC 500系列PLC及1747-SDN掃描模塊來(lái)完成,此系統(tǒng)其實(shí)更適合于工業(yè)現(xiàn)場(chǎng)的使用,而在實(shí)驗(yàn)中,或許使用PCI式的插卡會(huì)更方便,而且實(shí)驗(yàn)設(shè)備的成本會(huì)低很多,所以遠(yuǎn)方是建議大家會(huì)去選擇基于PC的主站方式,一方面,基于PCI的主站可以很方便且靈活的來(lái)配置Devicenet報(bào)文,很方便實(shí)現(xiàn)對(duì)從站設(shè)備的監(jiān)控,盡管可能要你去寫(xiě)一些大量的PC端的應(yīng)用程序,但這會(huì)為開(kāi)發(fā)帶來(lái)更大的便利。另一方面,使用PCI方式的接口卡還可以開(kāi)發(fā)其它的一些接點(diǎn),如可以使用其提供的驅(qū)動(dòng)及API接口來(lái)實(shí)現(xiàn)一個(gè)從站,或?qū)崿F(xiàn)一個(gè)模擬主站等。
開(kāi)發(fā)從站設(shè)備的平臺(tái)中還有一個(gè)非常重要的因素,就是總線分析儀。協(xié)議上很明確的規(guī)定了各種報(bào)文的格式,如果請(qǐng)求如何回答,其實(shí)一看多了就云里霧里,如果有一個(gè)工具可以把一個(gè)實(shí)際的節(jié)點(diǎn)與主站交換的報(bào)文呈現(xiàn)出來(lái)豈不是一切都變得如此簡(jiǎn)單?分析儀就可以做到這樣,分析儀其實(shí)也就是一個(gè)節(jié)點(diǎn),不同公司設(shè)計(jì)的分析儀可能有些差別,但功能都是將總線上的數(shù)據(jù)全部抓取下來(lái),進(jìn)行分析后再呈現(xiàn)給使用者,通過(guò)分析這些報(bào)文可以很清楚的看到節(jié)點(diǎn)間如何傳送數(shù)據(jù)。一些公司提供的分析儀產(chǎn)品功能非常強(qiáng)大,但價(jià)格也不菲,很多使用者可能也無(wú)法支付這樣高的費(fèi)用,如果你對(duì)CAN的報(bào)文了解到一定的程度的時(shí)候(了解CAN控制器的工作及如何編程時(shí)),就可以自己試著實(shí)現(xiàn)分析儀的功能,或許你自己的分析儀功能并不強(qiáng)大,但能夠滿(mǎn)足你實(shí)驗(yàn)用就OK了。關(guān)于這部分的一些知識(shí)論壇里已經(jīng)有些討論,感興趣的朋友也可以去看看。
斷斷續(xù)續(xù)寫(xiě)完這篇文章后,一看嚇了一跳,怎么和AB的產(chǎn)品使用手冊(cè)這么像呢?但大家相信這不是翻譯自產(chǎn)品使用手冊(cè),里面的每一個(gè)字都是我輸入,每一張圖片都是我抓取的,我只是想把自己建立這個(gè)實(shí)驗(yàn)平臺(tái)的過(guò)程原始的呈現(xiàn)在這里,希望對(duì)從事此項(xiàng)開(kāi)發(fā)的朋友有用,也為剛剛從事Devicenet工程項(xiàng)目的朋友提供一點(diǎn)信息,起到拋磚引玉的作用。
最后,感謝一些網(wǎng)友的鼓勵(lì)和支持!希望有興趣的網(wǎng)友把自己的經(jīng)驗(yàn)及經(jīng)歷寫(xiě)下來(lái),讓大家都來(lái)分享你的寶貴的經(jīng)驗(yàn)。
本文標(biāo)簽:簡(jiǎn)單的DeviceNet開(kāi)發(fā)實(shí)驗(yàn)網(wǎng)絡(luò)搭建
* 由于無(wú)法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《簡(jiǎn)單的DeviceNet開(kāi)發(fā)實(shí)驗(yàn)網(wǎng)絡(luò)搭建》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
關(guān)于“簡(jiǎn)單的DeviceNet開(kāi)發(fā)實(shí)驗(yàn)網(wǎng)絡(luò)搭建”的更多資訊
個(gè)人求購(gòu)










