版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 中文3055字</b></p><p> 基于ETHERNET/IP的CONTROLLOGIX系列PLC的接口</p><p> 凱瑟米爾,L.R.戴勒絲,美國(guó)</p><p><b> 摘要</b></p><p> 由美國(guó)A-B公司生產(chǎn)的ControlLog
2、ix系列可編程序邏輯控制器(PLC)提供了多種接口類型:如以太網(wǎng)、ControlNet、DeviceNet、RS-232等等。ControlLogix以太網(wǎng)連接模塊“1756-ENET”使用了EtherNet/IP、ControlNet等協(xié)議,并采用了專業(yè)的服務(wù)代碼封裝于以太網(wǎng)協(xié)議包中。針對(duì)“實(shí)驗(yàn)性物理和工業(yè)控制系統(tǒng)”(EPICS)開發(fā)的驅(qū)動(dòng)程序使用了EtherNet/IP協(xié)議,從而使得控制器可以運(yùn)行vxWorks RTOS、Win32
3、和Unix/Linux的測(cè)試程序?,F(xiàn)在來(lái)分析一下這個(gè)接口的特點(diǎn)和使用場(chǎng)合。</p><p><b> 1 引言</b></p><p> 散裂中子源項(xiàng)目(SNS)的幾個(gè)子系統(tǒng)使用了A-B公司的ControlLogix系列PLC。通過(guò)集成這些EPICS加速器控制系統(tǒng)和輸入輸出控制器(IOC),系統(tǒng)可以直接進(jìn)行讀取和寫入PLC數(shù)據(jù)。有了輸入輸出控制器(IOC),Uni
4、x或Win32系統(tǒng)的計(jì)算機(jī)和所有裝有以太網(wǎng)連接口的個(gè)人計(jì)算機(jī)都可以對(duì)PLC進(jìn)行編程,但它同時(shí)要求必須使用相同的技術(shù)來(lái)傳輸PLC 數(shù)據(jù)。在現(xiàn)有的綜合布線、網(wǎng)絡(luò)硬件、配置和維護(hù)等技術(shù)知識(shí)的支持下,該產(chǎn)品完全可以使用。</p><p> 2 ETHERNET/IP</p><p> ControlNet是一種確定性的串行通信系統(tǒng),它的協(xié)議模型同七層的ISO OSI模型相似,采用了從物理層到應(yīng)
5、用層分層方式。ControlNet2.0版本引入了數(shù)據(jù)包的TCP/IP封裝,而代替了基于以太網(wǎng)(IP/UDP/TCP)的物理層和數(shù)據(jù)鏈路層,最終形成“基于以太網(wǎng)的ControlNet”,稱為EtherNet/IP。默認(rèn)地,使用TCP/IP的端口0xAF12連接到EtherNet/IP目標(biāo)之后,遵循封裝協(xié)議建立一個(gè)身份ID,就可以直接進(jìn)行信息交換了。他們定義了目標(biāo)對(duì)象控制和信息協(xié)議(CIP),此協(xié)議被列為ControlNet協(xié)議的一部分。
6、對(duì)于ControlNet傳送層,協(xié)議區(qū)別“無(wú)關(guān)聯(lián)”和“關(guān)聯(lián)”CIP信息。雖然他們封裝方式不同,但都可以通過(guò)默認(rèn)的TCP協(xié)議進(jìn)行連接。</p><p> 3 CONTROLLOGIX的以太網(wǎng)接口</p><p> ControlLogix系列PLC使用ControlNet總線來(lái)聯(lián)接本地I/O板卡作為平臺(tái),1756-ENET以太網(wǎng)模塊支持EtherNet/IP。只要遵循EtherNet/I
7、P協(xié)議,我們就可以使用SendRRData等封裝命令,發(fā)送CIP 消息即可:</p><p> Service:Get_Attribute_Single(0x0E)</p><p> Path:Identity Object(class 0x01,instance 1),</p><p> Product Name(attrib.7)</p>&
8、lt;p> 作為回復(fù),接口送回如下信息:</p><p> Service:Get_Attribute_Single-Reply(0x8E)</p><p> Response:length=12,“1756-ENET/A”</p><p> CIP對(duì)象模型同樣包括“模擬輸入點(diǎn)”(0x0A)和“離散輸入組”(0x1D)對(duì)象,但是到目前為止,我們一切試圖
9、使用它們來(lái)訪問(wèn)ControlLogix模擬或數(shù)字輸入模塊的行為都失敗了。原因是沒有一個(gè)標(biāo)準(zhǔn)的CIP 對(duì)象可以用來(lái)訪問(wèn)PLC的標(biāo)簽名稱。</p><p> 與此同時(shí),A-B公司針對(duì)ControlLogix推出了新的CIP服務(wù)編碼,包括使用CIP路徑來(lái)命名梯形圖邏輯標(biāo)簽、單獨(dú)使用讀寫的服務(wù)代碼以及結(jié)合了傳輸二進(jìn)制數(shù)據(jù)格式而使用的一些傳輸協(xié)議。</p><p> 使用SendRRData封裝
10、命令來(lái)發(fā)送CIP數(shù)據(jù)到PLC,必須通過(guò)連接管理器對(duì)象1756-ENET模塊來(lái)尋址,見下例:</p><p> Service:CM_Unconnected_Send(0x52)</p><p> Path:Connection Manager(class 0x06,instance 1)</p><p> <encoded timeout>,<
11、;embedded message></p><p> Path:Port1(back plane),Link # (slot # of PLC)。</p><p> 這則消息是讀取一個(gè)標(biāo)簽‘TEST’:</p><p> Service:CIP_Read_Data(0x4C)</p><p> Path:‘TEST’(ANSI
12、 extended symbol segment)</p><p> Elements:UINT1</p><p> 當(dāng)從PLC的回復(fù)顯示端口連接成功則連接管理器開始傳輸:</p><p> Service:CIP_Read_Data-Reply(0xCC)</p><p> Response:CA 00 00 80 38 3B=RE
13、AL 0.002815</p><p> CIP_Write_Data服務(wù)(0x53) 允許在PLC上通過(guò)相似嵌入修改標(biāo)簽。</p><p> 與其它通信協(xié)議相比,它對(duì)梯形邏輯圖的要求并沒有改變!CIP讀寫服務(wù)能夠訪問(wèn)所有控制器標(biāo)簽而不需要預(yù)先在PLC編程的軟件標(biāo)記他們?yōu)椤吧a(chǎn)”或“消費(fèi)”類型,這包括對(duì)I/O模塊的接入:模擬輸入模塊可利用在槽1上的第一通道,即“Local:1:I.Ch
14、0Data”。</p><p> 這種類型的傳輸稱為明確無(wú)關(guān)聯(lián)傳輸,因?yàn)闃?biāo)簽名被明確地提出,各個(gè)協(xié)議包是單獨(dú)尋址。對(duì)于連接信息, 在PLC上的消息路由器被要求打開連接:</p><p> Service:CM_Forward_Open(0x54)</p><p> Path:Connection Manager(class 0x06,instance 1)&l
15、t;/p><p> <timeout,connection ID,update interval,…></p><p> Connection Path: Port1,Link0(back plane,</p><p> PLC slot), Message Router(class 0x02,instance 1)</p><p&
16、gt; 回復(fù)信息中提供一個(gè)號(hào)碼。CIP_Read_Data請(qǐng)求能夠按照SendUnitData封裝命令的連接消息立即發(fā)送, 同時(shí)在信息前加上一個(gè)順序編號(hào),發(fā)送CM_Unconnected_Send消息則并不需要嵌入這些。</p><p><b> 4設(shè)計(jì)的方案</b></p><p> 因?yàn)镃ontrolNet連接信息的優(yōu)勢(shì)不能在EtherNet/IP上體現(xiàn),這
17、時(shí)就可以使用無(wú)關(guān)聯(lián)信息:以太網(wǎng)不預(yù)留帶寬;通過(guò)TCP協(xié)議來(lái)保證傳輸。對(duì)于CIP_Read_Data請(qǐng)求,比起關(guān)聯(lián)信息,無(wú)關(guān)聯(lián)信息有效地壓縮了信息,并且在傳輸中提高了3%的速率。而缺點(diǎn)是,客戶端應(yīng)用程序必須在建立更新連接時(shí)發(fā)送請(qǐng)求,或者更快。以太網(wǎng)的延遲將導(dǎo)致PLC斷開連接。</p><p> ControlLogix多請(qǐng)求服務(wù)(0x0A)是用作合并CIP_Read/Write_Data請(qǐng)求,即當(dāng)總請(qǐng)求或期望的請(qǐng)
18、求值的大小到達(dá)PLC的緩沖極限(大約500字節(jié))的時(shí)候使用。</p><p> 5 EPICS技術(shù)支持的實(shí)施</p><p> 根據(jù)請(qǐng)求的更新率,vxWorks驅(qū)動(dòng)代碼針對(duì)各個(gè)PLC在掃瞄列表中都安排了標(biāo)簽名。一周期內(nèi)每個(gè)PLC將處理所有讀寫請(qǐng)求。</p><p> EPICS設(shè)備的輸入和輸出驅(qū)動(dòng)支持:模擬量、二進(jìn)制數(shù)和多位記錄類型。當(dāng)使用單個(gè)數(shù)組元素或結(jié)構(gòu)體
19、元素,以及并非數(shù)組或結(jié)構(gòu)體的全部時(shí),標(biāo)簽名就必須使用標(biāo)量值??梢蕴幚淼腜LC數(shù)據(jù)類型包括BOOL、SINT、INT、DINT和REAL。也可以在運(yùn)行時(shí)改變記錄的配置,這些是不需要重新起動(dòng)輸入輸出控制器(IOC)的,即所涉及的標(biāo)簽名記錄能實(shí)時(shí)替換。當(dāng)發(fā)生通信錯(cuò)誤或超時(shí),驅(qū)動(dòng)將默認(rèn)斷開PLC連接并嘗試再連接。</p><p> 數(shù)組元素進(jìn)入數(shù)組時(shí),驅(qū)動(dòng)默認(rèn)要求傳輸順序是從第一個(gè)元素到請(qǐng)求最高的元素。這樣就決定了傳送
20、時(shí)間會(huì)大量減少,但可能會(huì)產(chǎn)生其他作用:每當(dāng)輸出改變的記錄超過(guò)一個(gè)元素時(shí),輸入輸出控制器(IOC)總將重寫整個(gè)數(shù)組。因?yàn)槌掷m(xù)傳輸,同樣的PLC 數(shù)組被其它數(shù)據(jù)來(lái)源也修改了(由PanelView顯示),輸入輸出控制器(IOC)對(duì)這些變動(dòng)忽略而重寫他們。數(shù)組傳輸同樣是受到上述PLC緩沖極限和大小限制的。針對(duì)這些情況,記錄配置允許個(gè)別的數(shù)組元素傳輸?shù)焦ぷ鲄^(qū)。</p><p> 對(duì)于輸出記錄, 每當(dāng)記錄被處理時(shí),驅(qū)動(dòng)都將
21、發(fā)送一個(gè)CIP_Write_Data消息。否則它將周期性地從PLC上讀取標(biāo)簽,并且當(dāng)記錄內(nèi)容不同時(shí),在PLC上將不斷更新輸出記錄值。驅(qū)動(dòng)為各掃瞄列表保留統(tǒng)計(jì)信息(錯(cuò)誤計(jì)數(shù),最新/最小/最大傳送時(shí)間)。模擬輸入記錄能夠得到這些值。</p><p> 這樣會(huì)出現(xiàn)一個(gè)問(wèn)題,以BOOL 數(shù)組為例,他們會(huì)被作為DINT值傳輸。對(duì)于一個(gè)模擬值記錄,標(biāo)簽“TEST[5]”會(huì)被作為第5個(gè)元素標(biāo)記“TEST”。同樣地當(dāng)在BOOL
22、 數(shù)組中,結(jié)果會(huì)是標(biāo)記第5個(gè)DINT,160-191位。所以對(duì)于二進(jìn)制記錄,所有數(shù)組被作為BOOL 數(shù)組進(jìn)行連通,并且“TEST[5]”會(huì)在對(duì)DINT[0](第5位)請(qǐng)求時(shí)傳輸。</p><p> 以上情況在PPC和奔騰輸入輸出控制器(IOC)68K上都作了測(cè)試。更底層的驅(qū)動(dòng)層會(huì)依次處理其他的字節(jié)。另外,一條簡(jiǎn)單的命令行編程是可以在Unix 和Win32 上使用的,它允許作為一種對(duì)PLC標(biāo)簽讀寫的調(diào)試工具。&l
23、t;/p><p><b> 6 成果</b></p><p> 請(qǐng)看下面,使用 MVME2100 CPU 與100baseT網(wǎng)絡(luò)接口通過(guò)一個(gè)雙倍速集線器連接到一個(gè)10baseT PLC。其它辦公室個(gè)人計(jì)算機(jī)和Linux文件服務(wù)器連接到同樣的集線器上。網(wǎng)絡(luò)使用率一般在2%以下。若是傳輸標(biāo)量REAL、BOOL或DINT,以及一組15個(gè)REAL或352個(gè)BOOL值,速度是平
24、均11毫秒傳輸一個(gè)單個(gè)的標(biāo)簽。從EPICS驅(qū)動(dòng)合并多個(gè)請(qǐng)求是由PLC決定并受緩沖極限限制的,大約15個(gè)標(biāo)簽,每個(gè)以15個(gè)字符命名,當(dāng)單獨(dú)的傳輸要求超過(guò)160ms時(shí),合并后可能只需大約20ms。</p><p> 而當(dāng)使用普通設(shè)置時(shí),輸入輸出控制器(IOC)配置了352個(gè)二進(jìn)制的輸入記錄,以10Hz掃描一個(gè)BOOL數(shù)組的元素。而120個(gè)模擬輸入記錄,以2Hz掃描的三個(gè)元素為40個(gè)REAL的數(shù)組。因?yàn)橐蕴W(wǎng)的不確定
25、性,由于網(wǎng)絡(luò)擁擠這些傳輸?shù)谋壤龝?huì)隨時(shí)間而變化,造成的傳送時(shí)間如下面直方圖。</p><p> 圖1:3天內(nèi)的傳送時(shí)間。</p><p> 整個(gè)BOOL數(shù)組傳輸時(shí)間平均是在15ms內(nèi),所有REAL的數(shù)組傳輸了25ms,以便于記錄能更容易地在選定的掃瞄速率上更新。</p><p> 對(duì)于這些測(cè)量值,PLC的“系統(tǒng)上限的時(shí)間”設(shè)置到了10%。在增加到50%以后同時(shí)連
26、接CPU和PLC到網(wǎng)絡(luò)交換器,單個(gè)標(biāo)簽的平均時(shí)間減少到了7ms。</p><p><b> 7 結(jié)論</b></p><p> 在使用開放的A-B公司產(chǎn)品進(jìn)行讀寫標(biāo)簽等操作時(shí),遵循EtherNet/IP協(xié)議是十分重要的。</p><p> EPICS使用起來(lái)很方便。在系統(tǒng)運(yùn)行時(shí)也可以隨意改變記錄配置;傳輸中由PLC緩沖極限的限制從而自動(dòng)地
27、決定是否合并。對(duì)比其它協(xié)議,沒有必要定義標(biāo)簽名為“生產(chǎn)者”或“消費(fèi)者”,亦不要求為ControlNet傳輸預(yù)定一個(gè)網(wǎng)絡(luò)帶寬值。</p><p> 根據(jù)以太網(wǎng)的本身特性,傳送速率會(huì)隨時(shí)間自動(dòng)變化。交換網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)也使網(wǎng)絡(luò)的不確定性減到了最小。為了達(dá)到所需的輸出值,也可以將值放在數(shù)組里。這樣保證了梯形邏輯圖的可讀性,傳輸數(shù)組元素時(shí),標(biāo)簽名字盡量使用可理解的而非無(wú)意義的名稱。</p><p>
28、 CIP服務(wù)代碼不允許讀取PLC 標(biāo)簽名字及類型等信息,但它可以使用更為友好的EPICS驅(qū)動(dòng)。</p><p> 各明確信息的標(biāo)簽傳輸信息是雙向的請(qǐng)求。測(cè)試的1756-ENET模塊版本不支持隱性信息。理想的輸入輸出控制器(IOC)能讀取標(biāo)簽并且能接受隨時(shí)變動(dòng)的異步通知或周期性更新,沒有不確定性。</p><p> 對(duì)于目前的實(shí)施水平,已經(jīng)可以在EPICS環(huán)境下成功的使用Control
29、Logix綜合系統(tǒng)。</p><p><b> 附錄2</b></p><p> INTERFACING THE CONTROLLOGIX PLC OVER ETHERNET/IP</p><p> K.U. Kasemir, L.R. Dalesio, LANL, Los Alamos, NM 87545, USA</p>
30、<p><b> Abstract </b></p><p> The Allen-Bradley ControlLogix [1] line of programmable logic controllers (PLCs) offers several interfaces: Ethernet, ControlNet, DeviceNet, RS-232 and other
31、s. The ControlLogix Ethernet interface module 1756-ENET uses EtherNet/IP, the ControlNet protocol [2], encapsulated in Ethernet packages, with specific service codes [3]. A driver for the Experimental Physics and Industr
32、ial Control System (EPICS) has been developed that utilizes this EtherNet/IP protocol for controllers running the vxWorks R</p><p> 1 INTRODUCTION </p><p> Several subsystems of the Spallation
33、 Neutron Source project (SNS) employ Allen-Bradley ControlLogix PLCs [4]. To integrate these into the EPICS-based accelerator control system, the EPICS input/output controllers (IOCs) need read and write access to the PL
34、C data. Since the IOCs, their Unix or Win32 boot hosts as well as almost every PC which is used to program the PLC is already equipped with an Ethernet interface, it is desirable to use the same technology for transferri
35、ng the PLC data. Existin</p><p> 2 ETHERNET/IP </p><p> ControlNet is a deterministic serial communication system, its specification extends from the physical to the application layer of the s
36、even layer ISO OSI model[5]. ControlNet Release 2.0 [2] introduced the TCP/IP encapsulation of data packages, replacing the Physical and Data Link layer with Ethernet respectively IP/UDP/TCP. The result was known as “Con
37、trolNet over Ethernet” and is now called EtherNet/IP [6]. After connecting to an EtherNet/IP target, by default on TCP/IP port 0xAF12, and estab</p><p> 3 CONTROLLOGIX ETHERNET INTERFACE </p><p&g
38、t; The ControlLogix PLC uses ControlNet to communicate with local I/O boards over the back plane, the 1756-ENET Ethernet module supports EtherNet/IP. Following the EtherNet/IP specification, one can use the SendRRData
39、encapsulation command and send this unconnected CIP message to the interface: </p><p> Service: Get_Attribute_Single (0x0E) </p><p> Path: Identity Object (class 0x01, instance 1), </p>
40、<p> Product Name (attrib. 7) </p><p> In response, the interface sends a reply: </p><p> Service: Get_Attribute_Single-Reply (0x8E) </p><p> Response: length=12, “1756-E
41、NET/A ” </p><p> The CIP object model also includes “Analog Input Point” (0x0A) and “Discrete Input Group” (0x1D) objects, but so far our attempts to use these for accessing ControlLogix analog or digital i
42、nput modules have failed. There is no standard CIP object that suggests usability for accessing tag names on the PLC. </p><p> Instead, Allen-Bradley published new CIP service codes specific to ControlLogix
43、 [3], including CIP path names for ladder logic tags, service codes for individual read and write access and combined transfers as well as a binary data format used for these transactions. </p><p> To send
44、CIP extensions to the PLC with an SendRRData encapsulation command, they have to be routed via the Connection Manager object of the 1756-ENET module, i.e. embedded like this: </p><p> Service: CM_Unconnecte
45、d_Send (0x52) </p><p> Path: Connection Manager (class 0x06, instance 1) </p><p> <encoded timeout>, <embedded message> </p><p> Path: Port 1(back plane), Link # (slo
46、t # of PLC). </p><p> This embedded message reads a tag named ‘TEST’: </p><p> Service: CIP_Read_Data (0x4C) </p><p> Path: ‘TEST’ (ANSI extended symbol segment) </p><
47、;p> Elements: UINT 1 </p><p> On success the interface forwards the reply from the PLC, the Connection Manager becomes transparent: </p><p> Service: CIP_Read_Data-Reply (0xCC) </p>
48、<p> Response: CA 00 00 80 38 3B = REAL 0.002815</p><p> The CIP_Write_Data service (0x53) allows modification of tags on the PLC via similar embedding. </p><p> In contrast to other co
49、mmunication protocols, no change to the ladder logic is required! The CIP Read/Write services can access all controller tags with no need to previously mark them as “published” or “consumed” in the PLC programming softwa
50、re. This includes access to I/O modules: The first channel of an analog input module in slot 1 is available as “Local:1:I.Ch0Data”. </p><p> This type of transfer is called explicit unconnected messaging, b
51、ecause the tag name is explicitly mentioned and each packet is individually routed. For connected messaging, the Message Router on the PLC is instructed to open a connection: </p><p> Service: CM_Forward_Op
52、en (0x54 </p><p> Path: Connection Manager (class 0x06, instance 1) </p><p> <timeout, connection ID, update interval, …> </p><p> Connection Path: Port 1, Link 0 (back pla
53、ne, </p><p> PLC slot), Message Router (class 0x02, instance 1) </p><p> The reply provides a serial number. The CIP_Read_Data requests can now be sent as connected </p><p> mess
54、ages with SendUnitData encapsulation, prefixed by a sequence number, without embedding them in a routing CM_Unconnected_Send message. </p><p> 4 DESIGN DECISIONS </p><p> Unconnected messagin
55、g is used since the advantages of connected messaging do not transfer from ControlNet to EtherNet/IP: Ethernet does not reserve bandwidth; guaranteed delivery is already handled by TCP. For CIP_Read_Data requests, compar
56、ison of connected to unconnected messaging resulted in slightly smaller messages and a 3% increase in throughput. As a drawback, the client application has to send requests at the established update interval of the conne
57、ction or faster. Temporary Ethernet dela</p><p> The ControlLogix Multi-Request Service (0x0A) is used to combine CIP_Read/Write_Data requests until either the total request or expected response size reache
58、s the PLC buffer limit of approximately 500 bytes. (Chapter 8.3.1.4 in [2] defines this as 511 bytes, 2-4.1 in [6] as 504 bytes). </p><p> 5 IMPLEMENTATION OF EPICS SUPPORT </p><p> For each P
59、LC, the vxWorks driver code arranges the tags in scan lists depending on the requested update rate. One thread per PLC handles all read/write requests. </p><p> EPICS device support allows analog, binary an
60、d multi-bit records to use the driver for input and output. Tags have to refer to a scalar value, a single array element or a structure element, not whole arrays or structures. The PLC data types BOOL, SINT, INT, DINT an
61、d REAL are handled. </p><p> One can change the record configuration at runtime, without rebooting the IOC, e.g. the tag name that a record refers to can be replaced. In case of a communication error or tim
62、eout, the driver disconnects from the PLC and attempts periodic reconnects. </p><p> Per default, the driver combines requests for array elements into one array transfer from the first to the highest reques
63、ted element. This leads to a significant reduction in transfer times, but might have side effects: The IOC will always write the whole array whenever more than one element has been changed by output records. If the same
64、PLC array has been modified by another source (PanelView display) since the last transfer, the IOC is unaware of these changes and will overwrite them. An arra</p><p> For output records, the driver sends a
65、 CIP_Write_Data message whenever the record is processed. Otherwise it will periodically read the tag from the PLC and update the output record if the value on the PLC differs from the one in the record. </p><
66、;p> The driver keeps statistical information (error counts, last/minimum/maximum transfer time) for each scan list. Analog input records allow access to these values. </p><p> One problem arose with BOO
67、L arrays since they are transferred as DINT values. For an analog record, a tag of “test [5]” is interpreted as addressing the 5th element of tag “test”. When this is applied to a BOOL array, the result would be the 5th
68、DINT, containing bits 160-191. So for binary records, all array access is assumed to target BOOL arrays, and “test [5]” would be transformed in a request to DINT[0], bit 5. </p><p> This software has been t
69、ested on 68K, PPC and Pentium IOCs. The lower driver layer handles the different byte order. In addition, a simple command-line program is available for Unix and Win32 that allows read and write access to PLC tags as a d
70、ebugging aid. </p><p> 6 PERFORMANCE </p><p> For the following, an MVME2100 CPU with a 100baseT-network interface communicated to the PLC with its 10baseT connection via a dual speed hub. Ano
71、ther office PC and a Linux file server were connected to the same hub. Network utilization was generally below 2%. </p><p> On average, 11 milliseconds are required to transfer a single tag, be it a scalar
72、REAL, BOOL or DINT, an array of 15 REAL or 352 BOOL values. Since the EPICS driver combines multiple requests up to the PLC buffer limit, about 15 tags, each with a 15-character name, can be read in one transfer of about
73、 20 ms while the separate transfers would require more than 160 ms. </p><p> In an attempt to simulate a common application, an IOC was configured with 352 binary input records, scanning the elements of a B
74、OOL array at 10Hz, and 120 analog input records, scanning three 40-element REAL arrays at 2 Hz. Since Ethernet is not deterministic, these transfer rates vary over time due to collisions on the network, resulting in a tr
75、ansfer time histogram as shown in Fig. 1.</p><p> Figure 1: Transfer times sampled over 3 days.</p><p> On average, the whole BOOL array transfer was handled in 15ms, all REAL arrays were tran
76、sferred in 25ms, so that the records could easily be updated at the chosen scan rate. </p><p> In these measurements, the “System Overhead Time Slice" of the PLC was set to 10%. After increasing it to
77、50% and connecting the CPU and PLC to a network switch, the average times for a single tag are reduced to 7ms. </p><p> 7 CONCLUSION </p><p> It is possible to use the published EtherNet/IP sp
78、ecification together with the openly available Allen-Bradley extensions to read and write tags on a ControlLogix system. </p><p> The EPICS support is convenient to use. The record configuration can be chan
79、ged at runtime; transfers are automatically combined up to the PLC buffer limit. In contrast to other protocols, there is no need to define the affected tags as “produced” or “consumed”, nor does it require a network-wid
80、e assessment of timing values for scheduling transfers as the original ControlNet did. </p><p> Due to the nature of Ethernet, the exact transfer time varies. A switched network topology will help minimize
81、variations. To reach the required throughput, values of interest should be arranged in arrays. To keep the ladder logic readable, intelligible tag names can be used to alias the meaningless transfer array elements. </
82、p><p> The published CIP service codes do not allow browsing of PLC tag names and type information, which would allow an even more user-friendly EPICS driver. </p><p> With explicit messaging, ea
83、ch tag transfer is a round-trip request. The tested version of the 1756-ENET module does not support implicit messaging. Ideally the IOC could subscribe to the tags of interest and from then on receive asynchronous notif
84、ication of changes or at least periodic updates, eliminating the need to poll. </p><p> The current implementation, however, does already allow for a successful integration of ControlLogix systems into an E
85、PICS environment </p><p> REFERENCES </p><p> [1] Rockwell Automation,,“ControlLogix Selection Guide”,Publication 1756-SG001A-US-P from http://www.ab.com, July 2000. </p><p> [2]
86、 ControlNet International, Ltd, “ControlNet Specifications Release 2.0, Errata 2”, 2000. </p><p> [3] Rockwell Automation, “Logix5000 Data Access”, Pub.1756-RM005A-EN-E from. www.ab.com, March 2000. </p&
87、gt;<p> [4] John K Munro, Jr., John C. Cleaves, Kay-Uwe Kasemir, Ernest Williams, Delphy Nypaver, David Meyer, “Use of EPICS for High-Level Controls of the SNS Conventional Facilities”, ICALEPCS 2001, San Jose,
88、November 2001. </p><p> [5] R. Stevens, “UNIX Network Programming”, Prentice Hall, 1990. </p><p> [6] Open DeviceNet Vendor Assoc., “EtherNet/IP Specification, Preliminary Release 8”, http://w
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于controllogix5550plc的鍋爐水位控制系統(tǒng)畢業(yè)論文外文翻譯
- 畢業(yè)論文外文翻譯--基于plc應(yīng)用的監(jiān)控平臺(tái)的發(fā)展
- plc畢業(yè)論文_的外文文獻(xiàn)(和翻譯)
- 外文翻譯--基于controllogix5550 plc的鍋爐水位控制系統(tǒng)
- 外文翻譯--基于controllogix5550 plc的鍋爐水位控制系統(tǒng)
- 外文翻譯--基于controllogix5550 plc的鍋爐水位控制系統(tǒng)
- 外文翻譯--基于ControlLogix5550 PLC的鍋爐水位控制系統(tǒng).doc
- plc和pid簡(jiǎn)介畢業(yè)論文外文翻譯
- 外文翻譯--基于ControlLogix5550 PLC的鍋爐水位控制系統(tǒng).doc
- 外文翻譯--基于controllogix5550 plc的鍋爐水位控制系統(tǒng)(英文)
- 基于sopc觸控屏接口驅(qū)動(dòng)畢業(yè)論文(含外文翻譯)
- 基于plc的鍋爐溫度控制系統(tǒng)的研究-畢業(yè)論文外文翻譯
- 工廠模型生成plc仿真-畢業(yè)論文外文翻譯
- 基于plc的電梯控制系統(tǒng)的設(shè)計(jì)與應(yīng)用畢業(yè)論文外文翻譯
- 基于plc的起重機(jī)變頻調(diào)速系統(tǒng)設(shè)計(jì)畢業(yè)論文(含外文翻譯)
- plc畢業(yè)論文--基于plc的自動(dòng)車庫(kù)控制
- 畢業(yè)論文--基于plc的污水處理控制系統(tǒng)設(shè)計(jì)(含外文翻譯)
- 基于形式化方法的plc建模和檢測(cè)-畢業(yè)論文外文文獻(xiàn)翻譯
- 畢業(yè)論文--基于plc的污水處理控制系統(tǒng)設(shè)計(jì)(含外文翻譯)
- 畢業(yè)論文----基于fpga的uart設(shè)計(jì)(含外文翻譯)
評(píng)論
0/150
提交評(píng)論