SERCOS总线介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SERCOS总线介绍
SERCOS总线介绍
1、简介
SERCOS协议定义了三种电报类型:主站同步电报MST,伺服电报AT和主站数据电报MDT(下⽂详细介绍)。
如图3是SERCOS 系统的⼯作时序图,周期时间为0.062,0.125,0.25,0.5,1,2,3,…,65ms可选,主要取决于控制⽅式和从站数量。
图3:SERCOS⼯作时序图
通信周期内的数据传输采⽤时分多址TDMA(Time Division Multiple Access)⽅式控制。
主站以固定的周期⼴播发送主站同步电报MST,表⽰⼀个通信周期的开始。
所有的从站将同时接收到MST,并以此为基准,在预定的时刻T1.x发送伺服电报AT x给主站。
在T2时刻,主站⼴播发送主站数据电报MDT给各从站。
MDT中包含了给所有从站的指令数据,由从站到指定位置读取各⾃的数据。
所有从
站在T3时刻同时执⾏新的MDT打住值,在T4时刻同时采样反馈数据,保证了命令执⾏和状态反馈的同步性。
SERCOS在环⽹中所有控制器都接通电源以后,⾸先要进⾏⼀个协议初始化⼯作,以建⽴数据通信链路。
SERCOS的初始化过程分为5个通信阶段(CP,Communication Phase,CP0~CP4):CP0:检查SERCOS环路是否闭合。
SERCOS环路的闭合需要两⽅⾯的保证:正确连接光纤和所有的从站都⼯作在中继器模式(地址⾮0),当然也要保证控制器是好的;
CP1:此阶段识别环路上的伺服装置,使⽤⾮周期性的数据传输,其⼯作原理是:主站依次向每个伺服装置发送MDT m(m 是控制器的站地址)电报,MDT m的地址域中包含的是待识别的伺服装置的地址。
如果被识别的伺服装置⼯作正常,则它应在下⼀个通信周期发送⼀个AT m电报作为应答。
如果所有的伺服装置都正确作出应答,则可以进⼊下⼀个通信阶段CP2;CP2:为周期性通信阶段CP3和CP4设置通信参数,使⽤和CP1相同的⾮周期性的数据传输(⼀般此阶段所⽤的时间最长);CP3:继续设置相关的伺服参数,数据传输通过为周期性运⾏定义的电报来实现;
CP4:结束初始化过程,系统进⼊正常运⾏阶段。
在初始化过程中,如果伺服电源关闭或出现硬件故障,则状态返回到CP0的状态。
2、SERCOS数据传输
在SERCOS通信中,所有的数据都以数据电报的形式进⾏传输。
SERCOS协议通信数据采⽤⾼级数据链路控制HDLC(High level Data Link Control)国际标准,其格式如图4所⽰:
图4:SERCOS协议基本电报格式
SERCOS协议共定义了三种电报类型:
(1)主站同步电报MST(Master Synchronous Telegram)
由主站以固定的周期发向所有的从站,表⽰⼀次通信周期的开始,所有从站都将同时收到该报⽂,主站通过MST来控制SERCOS接⼝的同步运⾏,从站通过MST指令来校验本⾝的时钟,实现命令执⾏和状态反馈的同步性。
下图5是MST电报码的格式:
图5:MST电报码格式
BOF和EOF分别是MST电报的开始和结束符,Address是主站发送电报码到从站的地址,INFO是信息区,指明初始化的阶段或当前通信的阶段,FCS是校验码,来验证所发送的电报码的正确与否。
MST电报码的发送只持续约30µs的时间,但它对于设定整个环⽹的时序和时钟同步⾮常重要。
(2)伺服电报AT(Amplifier (Drive) Telegram)
由各个伺服从站发给主站,可将多种伺服信息实时反馈给主站,如伺服轴的实际位置、转速、扭矩、报警信号、诊断信号、PLC输⼊、伺服参数和电机参数等。
在主站发出MST电报,经过预先设定的⼀段时间后,第1台控制就会通过发送AT指令把它的数据放在预先设定的存储区,每台控制会连续发送AT指令。
图6是控制器AT电报码的格式。
该电报码由5部分构成:
★帧开始标志符BOF
★从站控制器的地址ADR
★数据记录
★帧校验序列FCS
★帧开始标志符EOF
图6:AT电报码格式
数据记录部分由不可改写部分(相对于⽤户来说)和可组态部分两部分组成。
★状态Status(8 bit):指明控制器是否准备好,确认控制器处于正常的运⾏⽅式;
★控制器服务信息Driver Service Info(2个字节Byte):此数据区包含诸如转矩极限,运⾏限位,时间常量,增益等⼀些⾮时间临界值(non time-critical);
★操作数量Operation Data:这是最重要的⼀些数据区,包括1~16个IDN(被称为⽬标识别码,详细介绍见下⽂)报告数据,诸如:速度,转矩和位置等⼀些需要反馈给主机的数据,从⽽可以有效地控制伺服电机运动。
例如,如果控制器的模式是速度模式,意味着它从运动控制器中接收速度信息,此时就可以在控制器电报码中配置成当前的实际速度。
因为所有的控制器都在同时测量其位置,这样,控制器就可以为所有的轴的当前速度建⽴⼀个实时的快照。
下⾯图7是⼀个AT应答的电报例⼦:
图7:控制器应答AT电报码的结构例⼦此AT应答是把伺服电机当前的速度(IDN40)和转矩(IDN84)反馈给主站。
(3)主站数据电报MDT(Master Data Telegram)
由主站在AT命令后发给从站,向从站发出控制指令,如伺服轴的指令位置、转速、扭矩、⼯作⽅式选择、PLC输出、伺服参数和电机参数等,各个从站均能接收到此电报,并在预先设定好的位置找到各⾃和数据。
MDT电报码包含⼀串长的信息,为环⽹上每个控制器分配了相应的区域,如图8所⽰。
图8:MDT电报码格式
MDT电报码和AT电报码⾮常相似,唯⼀不同的是数据记录区(Date Record)包括环⽹上每个控制器相应的数据记录区。
和AT电报码⼀样,在Date Record三部分中,每个记录区也包括⼀个固定记录和可组态记录区。
★控制区Control(8 bit):可以使能或禁⽌相应的从站控制器,并为控制器配置服务通道(服务通道允许在不⼲扰实时数据同步传输的情况下,传送⼀些更⾼优先级和⾮临界时间数据);
★主站服务信息区Master Service Info(2 byte):执⾏参数设定和⼀些特殊功能,如:原点回归,原点探测和坐标偏移等;
★对某个从站的操作数据(Operation Data for driver xx):此数据区包括⼀系列的对某个环⽹上的从站实时控制的数据和指令。
IDN 依照应⽤的不同⽽不同。
下⾯图9是⼀个MDT电报的例⼦(以环⽹中有三台控制器为例):
图9:MDT电报码的结构例⼦
该MDT电报码是分别把速度指令和转矩限制发送给三台控制器。
(4)IDN(⽬标识别码)简介
上⾯在MDT和AT电报码中都⽤到了IDN码,下⾯对IDN码做⼀个简要的介绍。
IDN是IDentification Number缩写,意思是⾝份识别码。
所有的运动控制和控制器通信都要通过IDN来实现,所有参数化的数据,如缩放⽐例,环路增益,实时环通信的判断信息都是通过IDN来实现的。
SERCOS通过此⽅法来标准化⼤部分公共的端⼝数据。
IDN可对下列参数进⾏操作:
★参数(如速度环增益,软件限位等)
★诊断(例如电流过流等)
★状态(例如实际速度,实际扭矩,数字输⼊等)
★命令(例如速度命令,原点回归命令等)
★系统(例如MDT错误计数,周期间隔等)
SERCOS为标准化指令分配了32767个IDN码,其中的500多个就可以定义⼀个复杂的运动控制和I/O指令。
IEC标准中IDN的格式如下:
IDN电报码⼜分2种:实时数据IDN(S)和⼚商⾃定义的IDN (P)。
实时数据IDN(S):IEC标准定义了许多实时数据的IDN,例如在每⼀个通信周期,主站都会发送⼀系列包含IDN的MDT指令来验证环⽹中控制器的实时运⾏数据和驱动命令。
从站使⽤包含1~16个IDN码的AT电报码来报告诸如速度,转矩,和位置给主站。
其序号在0~32767间。
如:IDN040是马达的实际速度,IDN41是回归原点时的速度。
⽤户⾃定义的IDN(P):为了避免限制控制器或驱动器的发展,IEC规定了32767个由⼚家定义的IDN码,从⽽可以由⼚家在他们⾃⼰的产品中加⼊⼀些特殊的功能。
标准规定由⼚家⾃定义的IDN只能⽤在⼀些附加的功能上,⽽不能控制⼀些已经存在的标准函数,以保障SERCOS的通⽤性。
此类IDN的序号在32768~65535间。
如,丹纳赫CD系列伺服控制器的最⼩马达感应系数是P0025,则其IDN为32768+25=32793。
以下是⼀些常见的IDN码列表:
IDN0033 Secondary Operation Mode1
IDN0036 Velocity Command Value
IDN0038Positive Velocity Limit Value
IDN0039Negative Velocity Limit Value
IDN0040 Velocity Feedback Value
IDN0041 Homing Velocity
IDN0042 Homing Acceleration
IDN0043 Velocity Polarity Parameter IDN0045Velocity Data Scaling Type IDN0045 Velocity Data Scaling Factor IDN0046 Velocity Data Scaling Exponent IDN0047 Position Command Value
IDN0049 Positive Position Limit Switch IDN0050 Negative Position Limit Switch IDN0051Position Feedback Value
IDN0095 Diagnostic Message。