一种以太网通信主站实现方法

文档序号:7855876阅读:402来源:国知局
专利名称:一种以太网通信主站实现方法
技术领域
本发明涉及以太网技术领域,具体涉及一种以太网通信主站实现方法。
背景技术
随着以太网技术的日益广泛推广,应用于工业自动化领域的以太网一实时工业以太网,已成为工业控制现场总线技术的一个重要发展方向。市场上已有的实时工业以太网根据不同的实时性和成本要求分别使用了不同的实现原理,比较常见的实时以太网总线有 Ethernet/IP、Modbus/TCP> Ethernet Powerlink、EtherCAT> Profinet 等。相比其他总线。EtherCAT总线采用集总帧的调度方式,在数据链路层和物理层 都实现了微秒级的高实时性通信,可以达到小于IOOus的数据刷新周期,各个从站节点设备可以达到纳秒级的时钟同步精度;EtherCAT总线同时具有开放性好和实现成本低等特点,因而在工业自动化领域得到了广泛的应用。EtherCAT总线采用特定的环状拓扑发送数据,从站使用专门的控制器ESC(EtherCAT Slave Controller)实现主要功能,EtherCAT主站使用标准的以太网控制器,通过软件可以实现主站的所有功能。实时操作系统上的软主站通常采用轮询调用网卡驱动方式实现总线通信,总显得同步模式通常是各个从站同步参考时钟从站,而参考时钟从站同步于软主站,由于整个系统都同步于软主站,所以对主站操作系统的实时性要求比较高。通过该方法实现的软主站在运行过程中经常会出现总线同步失败、数据帧丢包等通信错误,特别是当操作系统实时性不高时,总线稳定性更差。

发明内容
针对目前以太网技术存在的上述问题,本发明提供一种以太网通信主站实现方法的技术方案,具体包括
一种以太网通信主站实现方法,包括以太网、主站和从站,所述主站通过连接装置与所述以太网连接,并与所述通过所述以太网与所述主站连接的从站形成总线结构;
所述主站包括用于扫描并获取所述从站信息的扫描模块,,用于配置所述从站并监控所述总线结构实时状态的操作模块,以及用于实现定时中断操作的定时模块;
其中,具体包括
步骤a,对主站进行初始化,并扫描总线;
步骤b,对总线进行配置,同时监控总线的实时状态;
步骤C,总线进入正常运行阶段,完成主站和从站间的数据通信工作。优选地,以太网通信主站实现方法,其中,所述对主站进行初始化的具体步骤包括
步骤al,创建并初始化主站;
步骤a2,通过所述连接装置使所述主站与所述以太网连接;
步骤a3,通过发送数据帧的方式触发所述扫描模块扫描总线。
优选地,以太网通信主站实现方法,其中,所述扫描总线的具体步骤包括
步骤aa,所述主站向总线发送一数据帧,并启动所述扫描模块;
步骤ab,所述从站接收并处理所述数据帧,将处理结果返回所述主站的扫描模块,同时触发所述主站的接收中断; 步骤ac,所述扫描模块接收所述处理结果,并根据所述处理结果分析所述从站的状态,同时启动所述操作模块;
步骤ad,所述操作模块根据所述从站的系统时间确定所述主站的下发数据帧时间,初始化所述定时模块;
步骤ae,所述定时模块启动所述定时中断操作,根据预设的时间间隔驱动所述主站向所述从站发送指令;
步骤af,所述从站响应所述主站发送的指令后,所述数据帧返回所述主站并再次触发所述主站的接收中断,返回所述步骤ac。优选地,以太网通信主站实现方法,其中,所述配置总线的具体步骤包括
步骤bl,请求主站进入操作阶段;
步骤b2,创建用于周期性数据交换的域;
步骤b3,根据扫描模块接收的各从站的基本信息,填充各从站信息;
步骤b4,激活所述主站并启动所述操作模块。优选地,以太网通信主站实现方法,其中,所述总线正常运行阶段的具体步骤包括
步骤Cl,所述操作模块检测总线上的各所述从站都进入操作阶段后,通知所述主站进行数据传输;
步骤c2,所述主站接收到数据帧后触发接收中断,并解析所述数据帧中的数据包;
步骤c3,所述主站根据系统时间计算下次从站同步信号产生的时间,并以此确定主站下发指令的时刻,初始化定时器;
步骤c4,所述主站根据所述定时模块中确定的时刻向所述从站发送指令,所述从站响应所述指令后所述数据帧返回所述主站,并返回所述步骤c2。优选地,以太网通信主站实现方法,其中,在所述总线的正常运行阶段中,当需要处理非周期性数据时,主站激活一非周期性数据通信线程,所述非周期性数据通信线程通过读写操作获取非周期性数据。本发明的有益效果
主站可以根据系统任务调度抖动、应用程序执行时间都懂来动态的调整下发指令的时间,保证了主站和从站读写数据节奏的一致性,这种方法对主站的实时性要求不会很高,随着上层应用程序的执行时间的缩短,可以允许系统任务调度抖动会越来越大。


图I是本发明中的主站搭建结构示意 图2是本发明一种以太网通信主站实现方法的流程示意 图3是本发明中对主站进行初始化的流程示意 图4本发明中扫描总线的流程示意图;图5本发明中配置总线的流程示意 图6本发明中总线正常运行的流程示意图。
具体实施例方式下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。如图I所示一种以太网通信主站实现方法中搭建该以太网通信主站的结构示意图,包括以太网、主站和从站,主站通过连接装置与以太网连接,并与通过以太网与主站连接的从站形成总线结构;
主站包括用于扫描并获取从站信息的扫描模块,,用于配置从站并监控总线结构实时状态的操作模块,以及用于实现定时中断操作的定时模块;、
本发明的核心流程为首先主站发送一个数据帧,该数据帧被各个从站处理并返回主站,同时触发主站的接收中断;该主站在中断函数中完成数据接收后,通过对收到的参考时钟从站的系统时间综合分析,确定主站的下发数据时间,并初始化定时模块;然后利用定时中断操作驱动主站发送指令到各个从站,当从站响应主站指令后将数据帧返回主站,并再次触发主站的接收中断,进入下一个周期的处理。上述主站实时读取参考时钟从站的系统时间,综合分析主站系统任务调度、数据传输延时等因素并计算下次从站同步信号产生的时刻,这样可以保证主站和从站读写数据节奏的一致性。如图2所示,该通信主站的实现方法具体包括
步骤a,对主站进行初始化,并扫描总线;该步骤主要实现主站的初始化以及总线对各个从站的扫描;
步骤b,对总线进行配置,同时监控总线的实时状态;在该步骤中主要完成总线配置信息初始化以及配置各个从站到操作状态;
步骤C,总线进入正常运行阶段,完成主站和从站间的数据通信工作;该步骤主要完成周期性和非周期性数据的传输工作。如图3所示,该实现方法中,对主站进行初始化的具体步骤包括
步骤al,创建并初始化主站的各种数据结构和总线通信过程中用到的各种数据包; 步骤a2,通过连接装置使主站与以太网连接;具体为主站加载网卡并打开网卡;
步骤a3,通过发送数据帧的方式触发扫描模块扫描总线。如图4所示,该以太网通信主站实现方法中,扫描总线的具体步骤包括
步骤aa,主站向总线发送一数据帧,并启动扫描模块;
步骤ab,从站接收并处理数据帧,将处理结果返回主站的扫描模块,同时触发主站的接收中断;
步骤ac,扫描模块接收处理结果,并根据处理结果分析从站的状态,同时启动操作模
块;
步骤ad,操作模块根据从站的系统时间确定主站的下发数据帧时间,初始化定时模
块;
步骤ae,定时模块启动定时中断操作,根据预设的时间间隔驱动主站向从站发送指
令;步骤af,从站响应主站发送的指令后,数据帧返回主站并再次触发主站的接收中断,返回步骤ac。如图5所示,该以太网通信主站实现方法中,配置总线的具体步骤包括
步骤bl,请求主站进入操作阶段;
步骤b2,创建用于周期性数据交换的域;
步骤b3,根据扫描模块接收的各从站的基本信息, 填充各从站信息;
步骤b4,激活主站并启动操作模块,并激活操作模块中的操作线程;
步骤b5,修改总线状态,并标识为配置状态。步骤b4中的操作线程主要负责监测总线的运行状态,并根据非周期性数据通信线程的请求人物,提供相应的邮箱通信服务;总线通信的建立主要通过操作线程驱动主站状态机和从站状态机,并配合网卡的中断操作和定时模块中的收发函数完成。如图6所示,该以太网通信主站实现方法中,总线正常运行阶段的具体步骤包括 步骤Cl,操作模块检测总线上的各从站都进入操作状态后,通知主站进行数据传输; 步骤c2,主站接收到数据帧后触发接收中断,并解析数据帧中的数据包;
步骤c3,主站通过读取参考时钟从站的系统时间,计算下次从站同步信号产生的时间,并以此确定主站下发指令的时刻,同时初始化定时模块;
步骤c4,上层应用分析和处理数据;
步骤c5,主站根据定时模块中确定的时刻向从站发送指令,从站响应指令后数据帧返回主站,并返回步骤c2。在总线的正常运行阶段中,当需要处理非周期性数据时,主站激活一非周期性数据通信线程,非周期性数据通信线程通过读写操作获取完成对从站邮箱数据的通信(即非周期性数据的通信);由于读写操作的实现方式是阻塞类型,所以不能在实时线程中调用;当总线没有邮箱数据通信任务时,该线程处于挂起状态,如果上层应用需要邮箱数据通信则可以在实时线程中激活该线程,该线程完成通信任务后又会自动化器,等待下一次服务请求。以上所述仅为本发明较佳的实施例,并非因此限制本发明的申请专利范围,所以凡运用本发明说明书及图示内容所作出的等效结构变化,均包含在本发明的保护范围内。
权利要求
1.ー种以太网通信主站实现方法,包括以太网、主站和从站,所述主站通过连接装置与所述以太网连接,并与所述通过所述以太网与所述主站连接的从站形成总线结构; 所述主站包括用于扫描并获取所述从站信息的扫描模块,,用于配置所述从站并监控所述总线结构实时状态的操作模块,以及用于实现定时中断操作的定时模块; 其特征在于,具体包括 步骤a,对主站进行初始化,并扫描总线; 步骤b,对总线进行配置,同时监控总线的实时状态; 步骤C,总线进入正常运行阶段,完成主站和从站间的数据通信工作。
2.如权利要求I所述的以太网通信主站实现方法,其特征在于,所述对主站进行初始化的具体步骤包括 步骤al,创建并初始化主站; 步骤a2,通过所述连接装置使所述主站与所述以太网连接; 步骤a3,通过发送数据帧的方式触发所述扫描模块扫描总线。
3.如权利要求I所述的以太网通信主站实现方法,其特征在于,所述扫描总线的具体步骤包括 步骤aa,所述主站向总线发送一数据帧,并启动所述扫描模块; 步骤ab,所述从站接收并处理所述数据帧,将处理结果返回所述主站的扫描模块,同时触发所述主站的接收中断; 步骤ac,所述扫描模块接收所述处理結果,并根据所述处理结果分析所述从站的状态,同时启动所述操作模块; 步骤ad,所述操作模块根据所述从站的系统时间确定所述主站的下发数据帧时间,初始化所述定时模块; 步骤ae,所述定时模块启动所述定时中断操作,根据预设的时间间隔驱动所述主站向所述从站发送指令; 步骤af,所述从站响应所述主站发送的指令后,所述数据帧返回所述主站并再次触发所述主站的接收中断,返回所述步骤ac。
4.如权利要求3所述的以太网通信主站实现方法,其特征在于,所述配置总线的具体步骤包括 步骤bl,请求所述主站进入操作阶段; 步骤b2,创建用于周期性数据交换的域; 步骤b3,根据所述扫描模块接收的各从站的基本信息,填充各从站信息; 步骤b4,激活所述主站并启动所述操作模块。
5.如权利要求4所述的以太网通信主站实现方法,其特征在干,所述总线正常运行阶段的具体步骤包括 步骤Cl,所述操作模块检测总线上的各所述从站都进入操作阶段后,通知所述主站进行数据传输; 步骤c2,所述主站接收到数据帧后触发接收中断,并解析所述数据帧中的数据包; 步骤c3,所述主站根据系统时间计算下次从站同步信号产生的时间,并以此确定主站下发指令的时刻,初始化定时器;步骤c4,所述主站根据所述定时模块中确定的时刻向所述从站发送指令,所述从站响应所述指令后所述数据帧返回所述主站,并返回所述步骤c2。
6.如权利要求5所述的以太网通信主站实现方法,其特征在于,在所述总线的正常运行阶段中,当需要处理非周期性数据时,主站激活一非周期性数据通信线程,所述非周期性数据通信线程通过读写操作获取非周期性数据。
全文摘要
本发明公开了一种以太网通信主站实现方法,包括以太网、主站和从站,所述主站通过连接装置与所述以太网连接,并与所述通过所述以太网与所述主站连接的从站形成总线结构;该方法具体包括步骤a,对主站进行初始化,并扫描总线;步骤b,对总线进行配置,同时监控总线的实时状态;步骤c,总线进入正常运行阶段,完成主站和从站间的数据通信工作。本发明的有益效果是主站可以根据系统任务调度抖动、应用程序执行时间都懂来动态的调整下发指令的时间,保证了主站和从站读写数据节奏的一致性,这种方法对主站的实时性要求不会很高,随着上层应用程序的执行时间的缩短,可以允许系统任务调度抖动会越来越大。
文档编号H04L12/40GK102739491SQ20121024204
公开日2012年10月17日 申请日期2012年7月13日 优先权日2012年7月13日
发明者张成瑞, 王政, 许微微 申请人:上海三一精机有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1