GB Z 26157.9-2010 测量和控制数字数据通信 工业控制系统用现场总线 类型2:ControlNet和EtherNet IP规范 第9部分:站管理.pdf

上传人:吴艺期 文档编号:188858 上传时间:2019-07-14 格式:PDF 页数:36 大小:1.08MB
下载 相关 举报
GB Z 26157.9-2010 测量和控制数字数据通信 工业控制系统用现场总线 类型2:ControlNet和EtherNet IP规范 第9部分:站管理.pdf_第1页
第1页 / 共36页
GB Z 26157.9-2010 测量和控制数字数据通信 工业控制系统用现场总线 类型2:ControlNet和EtherNet IP规范 第9部分:站管理.pdf_第2页
第2页 / 共36页
GB Z 26157.9-2010 测量和控制数字数据通信 工业控制系统用现场总线 类型2:ControlNet和EtherNet IP规范 第9部分:站管理.pdf_第3页
第3页 / 共36页
GB Z 26157.9-2010 测量和控制数字数据通信 工业控制系统用现场总线 类型2:ControlNet和EtherNet IP规范 第9部分:站管理.pdf_第4页
第4页 / 共36页
GB Z 26157.9-2010 测量和控制数字数据通信 工业控制系统用现场总线 类型2:ControlNet和EtherNet IP规范 第9部分:站管理.pdf_第5页
第5页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、ICS 25.040 N 10 远望中华人民共和国国家标准化指导性技术文件GB/Z 26157.9一2010测量和控制数字数据通信工业控制系统用现场总线类型2: ControlNet和EtherNetjIP规范第9部分:站管理Digital data communication for measurement and control一Fieldbus for use in industrial control systems-Type 2: ControlNet & EtherNet/IP specification Part 9 : Station management (IEC 61158

2、:2003 TYPE2 ,MOD) 2011-01-14发布2011-06-01实施 数码防伪中华人民共和国国家质量监督检验检疫总局中国国家标准化管理委员会发布中华人民共和国国家标准化指导性技术文件测量和控制数字数据通信工业控制系统用现场总结类型2:ControlNet和EtherNet/IP规范第9部分:站管理GH/Z 26157. 9-2010 当岳中国标准出版社出版发行北京复兴门外三里河北街16号邮政编码:100045网址电话:6852394668517548 中国标准出版社秦皇岛印刷厂印刷各地新华书店经销 开本880X 1230 1/16 印张2.25字数67千字2011年5月第一版2

3、011年5月第一次印刷争e书号:155066. 1-42797定价33.00元如有印装差错由本社发行中心调换版权专有侵权必究举报电话:(010)68533533GB/Z 26157.9-2010 目次前言.皿引言.凹1 范围-2 指示灯2.1 必备指示灯2. 2 通用指示灯要求22.3 模块状态指示灯22.4 网络状态指示灯3 开关.3. 1 通则.3.2 开关行为的标准化.3.3 网络地址开关4 Ping服务器64. 1 通则64.2 固定标签为Ox09的链路数据格式 6 4.3 固定标签为Ox29的链路数据格式 6 5 WAM1服务器65.1 概述65. 2 固定标签为Ox86的数据包格式

4、 7 6 调试数据包77 同步更改参数7.1 概述-7.2 固定标签为Ox15的数据包格式 7 7.3 固定标签为Ox81的数据包格式 8 8 Im alive 8 8. 1 固定标签为Ox80数据包格式. 8 8.2 lm alive状态处理89 网络附属监视器.10 9.1 概述109.2 简述(资料性)109. 3 缺省参数119.4 自动寻址(Auto-addressing) 1 9.5 有效MAC1D . 11 9.6 状态机描述四川链路参数计算.20 10. 1 链路参数.20 10.2 影响链路参数的条件.20 10.3 协调器改变.20 G/Z 26157.9-2010 10.

5、4 NUT定时 20 10. 5 时隙划分CS!ottiming) 21 10. 6 间歇时间2210. 7 实现实例(资料性)2211 时间同步2911. 1 概述(资料性)m11. 2 固定标签为Ox8C的数据包格式. . . . . . . . . . . . . . . 29 图1IS0/0SI模型的关系.1 图2非冗余网络状态指示灯标志4图3冗余网络状态指示灯标志5图4Im a!ive处理举例(资料性)9图5NAM状态机口图6TimeDist_packetde的ctr!参数m表1网络状态指示灯3表2NAM状态四表3缺省链路参数1表4时间发布优先权.30E G/Z 26157.9-20

6、10 目U吕IEC 61158:2003(测量和控制数字数据通信工业控制系统用现场总线包括了10种现场总线类型:一一类型l:IEC技术报告:一类型2:ControlNet和Ethernet/IP;类型3: PROFIBUS; 一一类型4:P-Net; 一一一类型5:FFHSE; 类型6: SwiftN et ; 一一类型7:WorldFIP; 一一类型8:Interbus; -一类型9:FFAL; 一一类型10:PROFINETo本指导性技术文件修改采用IEC61158 :2003(测量和控制数字数据通信工业控制系统用现场总线类型2:ControlNet和EtherNet/IP规范第9部分:站

7、管理。由于IEC61158系列标准将10种现场总线技术混合在一起进行编写,不便于国内的工程技术及相关人员对各种总线技术的阅读和理解,因此全国工业过程测量和控制标准化技术委员会在采用国际标准时,只采用了其中在国内有广泛应用的类型2:ControlNet和EtherNct/IP规范的相关技术内容,并根据技术开发人员的习惯将其分为10个部分进行编写。在技术内容上与国际标准没有差异,为方便我国用户使用,在文本结构编排上进行了适当调整,并按GB/T1. 1的要求进行编写。GB/Z 26157-2010(测量和控制数字数据通信工业控制系统用现场总线类型2:Cor山olNet和EtherNct/IP规范分为

8、如下10个部分:GB/Z 26157. 1 一般描述;GB/Z 26157.2 物理层和介质;GB/Z 26157.3 数据链路层;GB/Z 26157.4 网络和传输层;GB/Z 26157.5 数据管理;GB/Z 26157.6 对象模型;GB/Z 26157. 7 设备行规;GB/Z 26157.8 电子数据表;GB/Z 26157. 9 站管理;GB/Z 26157. 10 对象库。本指导性技术文件为GB/Z26157的第9部分。本指导性技术文件由中国机械工业联合会提出。本指导性技术文件由全国工业过程测量和控制标准化技术委员会CSAC/TC124)归口。本指导性技术文件起草单位:机械工

9、业仪器仪表综合技术经济研究所、清华大学、西南大学、北京钢铁设计研究总院、中国仪器仪表协会、中国机电一体化技术应用协会、上海自动化仪表股份有限公司、上海工业自动化仪表研究所、上海电器科学研究所(集团)有限公司、罗克韦尔自动化研究(上海)有限公司。本指导性技术文件主要起草人:王玉敏、王春喜、陈开泰、王锦标、彭瑜、刘枫、包伟华、夏德海、董景辰、阮于东、李百煌、郑旭、梅恪。阳皿GB/Z 26157.9-2010 站管理的功能允许:访问每一层中的变量和事件;通用用户接口;一一链路参数修改协调:在不断开链路的情况下添加节点;一协调链路参数整定;节点间的时钟同步。引通过定义每一层中的变量和事件的对象接口实现

10、对这些参数的访问。ControlNet对象CGB/Z 26157. 10-2010,第2章)提供了向物理层和数据链路层的接口。报文路由器对象CGB/Z 26157. 10-2010,第240章)和连接管理对象CGB/Z26157. 10-2010,第6章)提供了至网络和传输层的接口。这些对象详细规定见GB/Z26157. 10 2010(对象库),但因其执行站管理功能,故在本指导性技术文件阐述Q本指导性技术文件描述了一组通用指示灯,使ControlNct网络上的所有设备提供一致的用户接口。通过这些指示灯(通常用LED),可以使维护人员快速诊断介质、物理层和数据链路层的故障。ControlNet

11、网路是相当灵活的,它可以在节点最大距离25km、速率高达每1ms仍能提供确定性1/0通信。在更大程度上,其灵活性可追溯到其对链路参数组态的能力。在许多不同的应用场合,可对这些决定链路访问方式的参数进行整定。站管理实体允许在网络运行时改变参数,即允许在连接新添或移除节点时继续链路功能。本指导性技术文件最后还描述了用于在链路的节点问保持时钟同步的数据包格式。由于ControlNet是一个确定性、多主、时基协议,使用这些包格式可以获得小于10阳的时钟伺步精度。N GB/Z 26157.9-2010 1 范围测量和控制数字数据通信工业控制系统用现场总线类型2:ControlNet和EtherNetjI

12、P规范第9部分:站管理本指导性技术文件规定了挂在确定性控制网络上的设备的站管理实体要求。本指导性技术文件适用于确定性控制网络的站管理实体对应于GB/T9378 0日七层模型的站管理定义。图1显示了站管理实体在OSI模型中的位置。051参考模型的分层第6、7、8部分应用层第5部分表示层空会话层传输层第4部分网络层第3部分数据链路层第2部分物理层2 指示灯2. 1 必备指示灯应提供两类状态指示灯:-一一个模块状态指示灯;-一一两个网络状态指示灯。层7层6层5层4层3层2 一主 、 层1 一-32Tx nut= MAC 10 % Backoff Tx Count =0 Current Nut= Nu

13、t # from AS1C % Backoff 1=0 =0 Tx Count =1 !=1 图4Im alive处理举例(资料性)9 GB/Z 26157.9-2010 9 网络附属监视器9. 1 概述网络附属监视器CNAM)用于控制DDL以允许节点在非破坏性的情况下加入正在运行的链路。9.2 简述(资料性)NAM控制将DLL加到一个已存在的链路,并且不影响该链路的传输。其实现是通过站管理和DLL正常发送/接收接口来监视和控制DLL,见表2和图50状态Check for Cable Wait to Rogue 表2NAM状态动作1.在加入链路前auto-address节点应找到一个地址见9.

14、的2.使用缺省参数(见9.3)3.传输MAC帧,但元协调器4.如果接收游离节点协调器,转入CheckforModerator状态5.如果接收到正常的MAC帧,再发送一个MAC帧,然后转入Waitto Rogue状态1.使用缺省参数(见9.3) 2.不传输MAC帧3.如果侦昕到游离节点协调器,转入Checkfor Moderator状态4.如果在400ms 600 ms内禾侦听到游离节点协调器,转入ImAlive状态1.不传输MAC帧Z.如果侦昕到9个同样的有效协调器,使用这些协调器中的参数转人勺mAlive状态Check for协调器| 川口果在川s3.0 s内未侦听到协调器,转转甲人Che阳

15、1町lec臼ck川巾f旬O叫able咔态lm Alive Attached 10 1(.如果接收到的协调器带有无效链跻参数,保持这一状态,但改变网络状态指示灯指示无效链路参数(红灯闪烁/常绿)1.在加入链路前auto-address节点应找到一个地址(见9.的2.传输MAC帧,如果节点具有最低MACID则包含协调器3.传输3个固定标签为Ox80的数据包/ 4.发送完毕转入Attached状态/ 5.如果接收到游离节点协调器,转入Checkfor Modrator 1.正常网络操作2.传输MAC帧,如果节点具有最低MACID则包含协调器3.如果接收到游离节点协调器,转入Checkfor 4.如果

16、在8个NUT内禾检测到链路上的其他节点,转入Checkfor Cable状态GB/Z 26157.9-2010 游理节点中断图5NAM状态机9.3 缺省参数节点的缺省链路参数见表30表3缺省链路参数我二,数数据类型值NUT_length UINT 100 ms(lO 000个每个为10阳的间隔)smax USINT 。umax USINT 99 slotTime USINT 254(255s) blanking USINT 6 (byte times) gb_start USINT 610阳(61个每个为10阳的间隔)gb_center USINT 450s(45个每个为10阳的问隔)modu

17、lus USINT 127 gb_prestart USINT 920阳(92个每个为10阳的间隔)9.4 自动寻址CAuto-addressing)某些节点可以不预先分配MACID。这些节点称为自动寻址节点,他们通过侦测链路寻找未使用的MACIDo在发现空闲MACID之前,自动寻址节点不应传输信息。注:典型的自动寻址节点为暂态节点,例如手持式终端。9.5 有效MACID在一个具有缺省配置参数的链路上,自动寻址节点在9299范围内搜索。在一个具有其他配置参数的链路上,自动寻址节点的搜索范围为SMAX+l至UMAX。如果在至少三个连续非调度传输时机后,未接收到某MACID发出的任何MAC帧,则该

18、MACID可声明为空闲MACID。注:ControlNet对象提供了一个接口来确定已被选择的MACID. 11 GB/Z 26157.9-2010 9.6 状态机描述下列状态机描述定义了网络附属监视器的行为:/ / File:nam. cpp / / Network Attachment Monitor state machine description / / / This state machine monitors and co卫trolsthe DLL to make sure that it goes on-line / / in a fashion that does not di

19、srupt a running network. / / / / Lpacket constants: masks for ctl byte / :fI: def ine FIXEDSCREEN 1 :fI: define TAGPAD 2 :fI: def ine DATAPAD 4 :fI: def ine BYTEWORD 8 / / / moderator Lpacket constants / :fI: define moderator_SIZE 9 / / moderator Lpacket size byte :fI: define moderator_CTL 1 / / mod

20、erator Lpacket control byte :fI: define moderator_TAG 0 / / moderator Lpacket tag byte / / / Lpacket class / class Lpacket 12 public: USINT size; / / return the size byte USINT ctl; / / return the control byte / / return the value of the tag pad bit int tag_pad(void) return(ctl&TAGPAD) 1; / / return

21、 the value of the data pad bit int data_pad(void) return(ctl&DATAPAD) 2; / / return the number of bytes in the Lpacket int wire_size(void) return size祷2-tag_padO- data_padO; G/Z 26157.9-2010 / / get the next byte to be transmitted USINT get_next_byte(void); / / is this Lpacket aborted? BOOL abort(vo

22、id); class fixedLpacket :public Lpacket ., L gs ae 巳td-lmim-ANN -DIT-uququ pUU class moderatorLpacket :public fixedLpacket public: UINT NUT_length; USINT smax; USINT umax; USINT slotTime; USINT blanking; USINT gb_start; USINT gb_center; USINT usr; USINT interval_count; USINT modul us ; USINT tMinus;

23、 USINT gb_prestart; USINT spare; BOOL isValid(void); / / this checks for umax / :j:j: def ine usec :j:j: define msec *1000 :j:j: define sec *1000000 class timer timer(ONCE_DOWN); / / general职lrposetimer int counter; / / general purpose counter moderatorLpacket new_mod; / / buffer for getting new mod

24、erator Lpackets moderatorLpacket old_mod; / / buffer for saving moderator Lpackets DLL_config_data default_config; / / DLL config parameters for default mode DLL_config_data dll_config; / / scratch DLL config buffer / / Wait for powerup. / / Bring the DLL on-line. / / It is assumed that the node s M

25、AC ID is known before this machine is allowed to power-up. / / If this node is auto-addressed,a free MAC ID shall be determined before enabling this machine. 15 GB/Z 26157.9-2010 state:powerupO event:SM_powerup destination,checkForCableO action, DLL_set_current_request(default_config); / set default

26、 parameters state,checkForCableO event:DLL_set_current_confirm() / / default parameters were set destination,checkForCablel action, DLL_enable_moderator_request(FALSE); / disable moderators DLL_online_request(TRUE) ; / / send DLL on-line state,checkForCablel e四n吐t七:D肌LLL_七,_odestination,checkForCabl

27、e2 state,checkForCable2 / / rogue checkForModerator event:DLL_SM_report(ro职le)destination,checkFormoderatorO action. DLL_listen_only_request(TRUE); / / send DLL to listen only DLL_enable_fixed_request(Moderator_TAG); / enable reception of moderators eve吐:DLL_recv_fixed_indicationllDLL_recv_gen_indic

28、ation / / any Lpacket received destination:waitForRogue action, wait until transmit once more; DLL_listen_only_request(TRUE); / / send DLL to listen only DLL_enable_moderator_request(FALSE); / r e-enable moderators timer.start(500 msec); state:waitForRogue / / / rogue-) checkForModerator event:DLL_S

29、M_report(rogue) destination,checkForModeratorO action. DLL_listen_only_request(TRUE); / / send DLL to listen only DLL_enable_fixed_request(Moderator_TAG); / enable reception of moderators event:timer.expired() destination,aliveO action, DLL_listen_only_request(FALSE); / / send DLL to listen only DLL

30、_xmit_fixed_request(send an 11m alive message); / / in the alive states, the DLL is on-line / / three 11m alive message are sent 16 . GB/Z 26157.9-2010 / / if lonely is detected,do nothing / state,aliveO / / rogue-)checkForModerator event:DLL_SM_report(rogue) destination,checkForModeratorO action. D

31、LL_listen_only_request(TRUE); / / send DLL to listen only DLL_enable_fixed_request(Moderator_TAG); / enable reception of moderators / / first message sent, send the second event:DLL_xmit_fixed_conf土rmO;destination:aLvel action, DLL_xI(tit_fixed_request(send an 1m alive message勺;state.alivel / / rogu

32、e checkForModerator event:DLL_SM_report(rogue) destination:checkForModeratorO action. DLL_listen_only_request(TRUE); / / send DLL to listen only DLIenable_fixed_request(Moderator_TAG); / enable reception of moderators / / second rnessage sent, send the third event:DLL_xmit_fixed confirmO; destinatio

33、n:alive2 action, DLL_xmit_fixed_request(send an 1m alive message); state.alive2 / / rogue checkEorModerator event:DLL_SMreport(rogue) destination:checkEorModeratorO action, DLL_listen_only_request(TRUE); / / send DLL to listen only DLL_enable_fixed_request(Moderator_TAG); 11 enable reception of mode

34、rators / / third message send,consider attachment to be complete event:DLL_xmit_fixed_confirm(); destination:attached / / / the DLL is on-line and fully functional / state.attached / / rogue一)checkForModeratorevent:DLL_SM_report(rogue) destination:checkForModeratorO 17 GB/Z 26157.9-2010 / action. DL

35、L_l isten_only_request (TRUE) ; / / send DLL to listen only DLL_enable_fixed_request(MODERATOR_TAG); / enable reception of moderators event:DLL_SM_report(lonely) destination.checkForCable action. DLL_enable_moderator_request(FALSE); / disablemoderators / / a rogue event was detected / / the DLL inst

36、antly disables itself(it goes to its rogue state) / state:checkForModeratorO event:DLL_enable_fixed_confirm(); / receive moderators enabled destination,checkForModeratorl action. counter = 0; / / init moderator counter old_mod = NULL; timer. start(3 sec) ; state,checkForModeratorl 18 / / timeout eve

37、nt:timer.expired destination, checkForCableO action, DLL_set_current_request(default_params); / set default parameters / / ignore irrelevant received frames event:DLL_recv_fixed_indication(new_mod) / got amoderator Lpacket condition:received Lpacket is not mod 11 received Lpacket is not TUI 11 TUI.

38、net_change = = false destination,checkFormMderatorl / / received a TUI indicating a net change in progress- reset counter event:DLL_recv_fixed_indicatio叫new_mod)/ / got a moderator Lpacket condition:received Lpacket is TUI & TUI. net_change = = TRUE / / the new moderator is different destination,che

39、ckFormoderatorl action. counter = 0; / / received a modera tor that would not permit this node / / to opera te normally(e. g. - myaddrumax) / / reset counter and flash bad_net_parameter indicator event:DLL_recv_fixed_indication(new_mod) / got amoderator Lpacket condition: ! isValid(new_mod) / / the

40、new moderator is no good for us destination, checkForModeratorl / GB/Z 26157.9-2010 action, SM一LEDS(LED_bad_network_pararneters);/ / flash the indicator old_mod = new_mod; counter = 0; / / received moderator that doesnt match the last on reset c ounter event: DLL_recv _f ixed_indication(new_mod) / /

41、 got a moderator Lpacket condition:received Lpacket is mod & new_mod! = old_mod / / the new moderator is different destination,checkForModeratorl action. old_mod = new_mod; counter = 0; / / received moderator that matches ,but not the ninth match- just increment the counter event:DLL_recv_fixed_indi

42、cation(new_mod) / got amoderator Lpacket condition:received Lpacket is mod & isValid(new_mod) E& new mod = = old mod & counter :1+ include :1+ include :l+ define roundup(x,y) (x) -lL)j(y) + 1L)j*Round up integer division :1+ define F_TURN 16060L j*ns for firmware turnaround and detect :1+ define B_T

43、URN 5720L尸nsextra turnaround with largeblankingvalue :1+ define NULLFRAME 7L j每bytesfor length of a null packet transmission曾/:1+ define DELAY 4110L j*ns per 1000 meters cable delay :1+ define RPT_DLY 815L j骨nsper repeater delay :1+ define PPMT 1500L j *Max crystal error in tenths of PPM = + j _ 150.0 ppm :1+ def ine MODBEFORE 2 j气ninmoderator overhead before packet(hous巳keeping):1+ define MODRECOV 3 j *worst case min moderator overhead after any packet :1+ def ine MODTIME 5 j骨ticksfor the moderator plus error recovery if bad :1+ def ine MINUNSCHED 850 j气nir山numunscheduled time int main(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 标准规范 > 国家标准

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1