CN102739491B - 一种以太网通信主站实现方法 - Google Patents
一种以太网通信主站实现方法 Download PDFInfo
- Publication number
- CN102739491B CN102739491B CN201210242043.1A CN201210242043A CN102739491B CN 102739491 B CN102739491 B CN 102739491B CN 201210242043 A CN201210242043 A CN 201210242043A CN 102739491 B CN102739491 B CN 102739491B
- Authority
- CN
- China
- Prior art keywords
- main website
- bus
- slave station
- master station
- ethernet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种以太网通信主站实现方法,包括以太网、主站和从站,所述主站通过连接装置与所述以太网连接,并与所述通过所述以太网与所述主站连接的从站形成总线结构;该方法具体包括:步骤a,对主站进行初始化,并扫描总线;步骤b,对总线进行配置,同时监控总线的实时状态;步骤c,总线进入正常运行阶段,完成主站和从站间的数据通信工作。本发明的有益效果是:主站可以根据系统任务调度抖动、应用程序执行时间都懂来动态的调整下发指令的时间,保证了主站和从站读写数据节奏的一致性,这种方法对主站的实时性要求不会很高,随着上层应用程序的执行时间的缩短,可以允许系统任务调度抖动会越来越大。
Description
技术领域
本发明涉及以太网技术领域,具体涉及一种以太网通信主站实现方法。
背景技术
随着以太网技术的日益广泛推广,应用于工业自动化领域的以太网——实时工业以太网,已成为工业控制现场总线技术的一个重要发展方向。市场上已有的实时工业以太网根据不同的实时性和成本要求分别使用了不同的实现原理,比较常见的实时以太网总线有Ethernet/IP、Modbus/TCP、Ethernet Powerlink、EtherCAT、Profinet等。相比其他总线。EtherCAT总线采用集总帧的调度方式,在数据链路层和物理层都实现了微秒级的高实时性通信,可以达到小于100us的数据刷新周期,各个从站节点设备可以达到纳秒级的时钟同步精度;EtherCAT总线同时具有开放性好和实现成本低等特点,因而在工业自动化领域得到了广泛的应用。
EtherCAT总线采用特定的环状拓扑发送数据,从站使用专门的控制器ESC(EtherCAT Slave Controller)实现主要功能,EtherCAT主站使用标准的以太网控制器,通过软件可以实现主站的所有功能。实时操作系统上的软主站通常采用轮询调用网卡驱动方式实现总线通信,总显得同步模式通常是各个从站同步参考时钟从站,而参考时钟从站同步于软主站,由于整个系统都同步于软主站,所以对主站操作系统的实时性要求比较高。通过该方法实现的软主站在运行过程中经常会出现总线同步失败、数据帧丢包等通信错误,特别是当操作系统实时性不高时,总线稳定性更差。
发明内容
针对目前以太网技术存在的上述问题,本发明提供一种以太网通信主站实现方法的技术方案,具体包括:
一种以太网通信主站实现方法,包括以太网、主站和从站,所述主站通过连接装置与所述以太网连接,并与所述通过所述以太网与所述主站连接的从站形成总线结构;
所述主站包括用于扫描并获取所述从站信息的扫描模块,,用于配置所述从站并监控所述总线结构实时状态的操作模块,以及用于实现定时中断操作的定时模块;
其中,具体包括:
步骤a,对主站进行初始化,并扫描总线;
步骤b,对总线进行配置,同时监控总线的实时状态;
步骤c,总线进入正常运行阶段,完成主站和从站间的数据通信工作。
优选地,以太网通信主站实现方法,其中,所述对主站进行初始化的具体步骤包括:
步骤a1,创建并初始化主站;
步骤a2,通过所述连接装置使所述主站与所述以太网连接;
步骤a3,通过发送数据帧的方式触发所述扫描模块扫描总线。
优选地,以太网通信主站实现方法,其中,所述扫描总线的具体步骤包括:
步骤aa,所述主站向总线发送一数据帧,并启动所述扫描模块;
步骤ab,所述从站接收并处理所述数据帧,将处理结果返回所述主站的扫描模块,同时触发所述主站的接收中断;
步骤ac,所述扫描模块接收所述处理结果,并根据所述处理结果分析所述从站的状态,同时启动所述操作模块;
步骤ad,所述操作模块根据所述从站的系统时间确定所述主站的下发数据帧时间,初始化所述定时模块;
步骤ae,所述定时模块启动所述定时中断操作,根据预设的时间间隔驱动所述主站向所述从站发送指令;
步骤af,所述从站响应所述主站发送的指令后,所述数据帧返回所述主站并再次触发所述主站的接收中断,返回所述步骤ac。
优选地,以太网通信主站实现方法,其中,所述配置总线的具体步骤包括:
步骤b1,请求主站进入操作阶段;
步骤b2,创建用于周期性数据交换的域;
步骤b3,根据扫描模块接收的各从站的基本信息,填充各从站信息;
步骤b4,激活所述主站并启动所述操作模块。
优选地,以太网通信主站实现方法,其中,所述总线正常运行阶段的具体步骤包括:
步骤c1,所述操作模块检测总线上的各所述从站都进入操作阶段后,通知所述主站进行数据传输;
步骤c2,所述主站接收到数据帧后触发接收中断,并解析所述数据帧中的数据包;
步骤c3,所述主站根据系统时间计算下次从站同步信号产生的时间,并以此确定主站下发指令的时刻,初始化定时器;
步骤c4,所述主站根据所述定时模块中确定的时刻向所述从站发送指令,所述从站响应所述指令后所述数据帧返回所述主站,并返回所述步骤c2。
优选地,以太网通信主站实现方法,其中,在所述总线的正常运行阶段中,当需要处理非周期性数据时,主站激活一非周期性数据通信线程,所述非周期性数据通信线程通过读写操作获取非周期性数据。
本发明的有益效果:
主站可以根据系统任务调度抖动、应用程序执行时间都懂来动态的调整下发指令的时间,保证了主站和从站读写数据节奏的一致性,这种方法对主站的实时性要求不会很高,随着上层应用程序的执行时间的缩短,可以允许系统任务调度抖动会越来越大。
附图说明
图1是本发明中的主站搭建结构示意图;
图2是本发明一种以太网通信主站实现方法的流程示意图;
图3是本发明中对主站进行初始化的流程示意图;
图4本发明中扫描总线的流程示意图;
图5本发明中配置总线的流程示意图;
图6本发明中总线正常运行的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
如图1所示一种以太网通信主站实现方法中搭建该以太网通信主站的结构示意图,包括以太网、主站和从站,主站通过连接装置与以太网连接,并与通过以太网与主站连接的从站形成总线结构;
主站包括用于扫描并获取从站信息的扫描模块,,用于配置从站并监控总线结构实时状态的操作模块,以及用于实现定时中断操作的定时模块;
本发明的核心流程为:首先主站发送一个数据帧,该数据帧被各个从站处理并返回主站,同时触发主站的接收中断;该主站在中断函数中完成数据接收后,通过对收到的参考时钟从站的系统时间综合分析,确定主站的下发数据时间,并初始化定时模块;然后利用定时中断操作驱动主站发送指令到各个从站,当从站响应主站指令后将数据帧返回主站,并再次触发主站的接收中断,进入下一个周期的处理。
上述主站实时读取参考时钟从站的系统时间,综合分析主站系统任务调度、数据传输延时等因素并计算下次从站同步信号产生的时刻,这样可以保证主站和从站读写数据节奏的一致性。
如图2所示,该通信主站的实现方法具体包括:
步骤a,对主站进行初始化,并扫描总线;该步骤主要实现主站的初始化以及总线对各个从站的扫描;
步骤b,对总线进行配置,同时监控总线的实时状态;在该步骤中主要完成总线配置信息初始化以及配置各个从站到操作状态;
步骤c,总线进入正常运行阶段,完成主站和从站间的数据通信工作;该步骤主要完成周期性和非周期性数据的传输工作。
如图3所示,该实现方法中,对主站进行初始化的具体步骤包括:
步骤a1,创建并初始化主站的各种数据结构和总线通信过程中用到的各种数据包;
步骤a2,通过连接装置使主站与以太网连接;具体为主站加载网卡并打开网卡;
步骤a3,通过发送数据帧的方式触发扫描模块扫描总线。
如图4所示,该以太网通信主站实现方法中,扫描总线的具体步骤包括:
步骤aa,主站向总线发送一数据帧,并启动扫描模块;
步骤ab,从站接收并处理数据帧,将处理结果返回主站的扫描模块,同时触发主站的接收中断;
步骤ac,扫描模块接收处理结果,并根据处理结果分析从站的状态,同时启动操作模块;
步骤ad,操作模块根据从站的系统时间确定主站的下发数据帧时间,初始化定时模块;
步骤ae,定时模块启动定时中断操作,根据预设的时间间隔驱动主站向从站发送指令;
步骤af,从站响应主站发送的指令后,数据帧返回主站并再次触发主站的接收中断,返回步骤ac。
如图5所示,该以太网通信主站实现方法中,配置总线的具体步骤包括:
步骤b1,请求主站进入操作阶段;
步骤b2,创建用于周期性数据交换的域;
步骤b3,根据扫描模块接收的各从站的基本信息,填充各从站信息;
步骤b4,激活主站并启动操作模块,并激活操作模块中的操作线程;
步骤b5,修改总线状态,并标识为配置状态。
步骤b4中的操作线程主要负责监测总线的运行状态,并根据非周期性数据通信线程的请求人物,提供相应的邮箱通信服务;总线通信的建立主要通过操作线程驱动主站状态机和从站状态机,并配合网卡的中断操作和定时模块中的收发函数完成。
如图6所示,该以太网通信主站实现方法中,总线正常运行阶段的具体步骤包括:
步骤c1,操作模块检测总线上的各从站都进入操作状态后,通知主站进行数据传输;
步骤c2,主站接收到数据帧后触发接收中断,并解析数据帧中的数据包;
步骤c3,主站通过读取参考时钟从站的系统时间,计算下次从站同步信号产生的时间,并以此确定主站下发指令的时刻,同时初始化定时模块;
步骤c4,上层应用分析和处理数据;
步骤c5,主站根据定时模块中确定的时刻向从站发送指令,从站响应指令后数据帧返回主站,并返回步骤c2。
在总线的正常运行阶段中,当需要处理非周期性数据时,主站激活一非周期性数据通信线程,非周期性数据通信线程通过读写操作获取完成对从站邮箱数据的通信(即非周期性数据的通信);由于读写操作的实现方式是阻塞类型,所以不能在实时线程中调用;当总线没有邮箱数据通信任务时,该线程处于挂起状态,如果上层应用需要邮箱数据通信则可以在实时线程中激活该线程,该线程完成通信任务后又会自动化器,等待下一次服务请求。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的申请专利范围,所以凡运用本发明说明书及图示内容所作出的等效结构变化,均包含在本发明的保护范围内。
Claims (4)
1.一种以太网通信主站实现方法,包括以太网、主站和从站,所述主站通过连接装置与所述以太网连接,并与所述通过所述以太网与所述主站连接的从站形成总线结构;
所述主站包括用于扫描并获取所述从站信息的扫描模块,用于配置所述从站并监控所述总线结构实时状态的操作模块,以及用于实现定时中断操作的定时模块;
其特征在于,具体包括:
步骤a,对主站进行初始化,并扫描总线;
步骤b,对总线进行配置,同时监控总线的实时状态;
步骤c,总线进入正常运行阶段,完成主站和从站间的数据通信工作;
所述对主站进行初始化的具体步骤包括:
步骤a1,创建并初始化主站;
步骤a2,通过所述连接装置使所述主站与所述以太网连接;
步骤a3,通过发送数据帧的方式触发所述扫描模块扫描总线;
所述扫描总线的具体步骤包括:
步骤aa,所述主站向总线发送一数据帧,并启动所述扫描模块;
步骤ab,所述从站接收并处理所述数据帧,将处理结果返回所述主站的扫描模块,同时触发所述主站的接收中断;
步骤ac,所述扫描模块接收所述处理结果,并根据所述处理结果分析所述从站的状态,同时启动所述操作模块;
步骤ad,所述操作模块根据所述从站的系统时间确定所述主站的下发数据帧时间,初始化所述定时模块;
步骤ae,所述定时模块启动所述定时中断操作,根据预设的时间间隔驱动所述主站向所述从站发送指令;
步骤af,所述从站响应所述主站发送的指令后,所述数据帧返回所述主站并再次触发所述主站的接收中断,返回所述步骤ac。
2.如权利要求1所述的以太网通信主站实现方法,其特征在于,所述配置总线的具体步骤包括:
步骤b1,请求所述主站进入操作阶段;
步骤b2,创建用于周期性数据交换的域;
步骤b3,根据所述扫描模块接收的各从站的基本信息,填充各从站信息;
步骤b4,激活所述主站并启动所述操作模块。
3.如权利要求2所述的以太网通信主站实现方法,其特征在于,所述总线正常运行阶段的具体步骤包括:
步骤c1,所述操作模块检测总线上的各所述从站都进入操作阶段后,通知所述主站进行数据传输;
步骤c2,所述主站接收到数据帧后触发接收中断,并解析所述数据帧中的数据包;
步骤c3,所述主站根据系统时间计算下次从站同步信号产生的时间,并以此确定主站下发指令的时刻,初始化定时器;
步骤c4,所述主站根据所述定时模块中确定的时刻向所述从站发送指令,所述从站响应所述指令后所述数据帧返回所述主站,并返回所述步骤c2。
4.如权利要求3所述的以太网通信主站实现方法,其特征在于,在所述总线的正常运行阶段中,当需要处理非周期性数据时,主站激活一非周期性数据通信线程,所述非周期性数据通信线程通过读写操作获取非周期性数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210242043.1A CN102739491B (zh) | 2012-07-13 | 2012-07-13 | 一种以太网通信主站实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210242043.1A CN102739491B (zh) | 2012-07-13 | 2012-07-13 | 一种以太网通信主站实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102739491A CN102739491A (zh) | 2012-10-17 |
CN102739491B true CN102739491B (zh) | 2015-01-14 |
Family
ID=46994315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210242043.1A Expired - Fee Related CN102739491B (zh) | 2012-07-13 | 2012-07-13 | 一种以太网通信主站实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102739491B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176164A (zh) * | 2019-12-30 | 2020-05-19 | 深圳市英威腾电气股份有限公司 | 一种扩展多个远程输入输出模块的方法、装置及介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188122B (zh) * | 2013-03-19 | 2017-05-03 | 深圳市汇川控制技术有限公司 | 基于can网络的通讯系统及方法 |
CN103812635B (zh) * | 2014-03-05 | 2017-01-11 | 武汉迈信电气技术有限公司 | 基于MCU的POWERLINK SoC帧同步降低抖动的方法 |
CN104539412B (zh) * | 2014-12-30 | 2019-05-07 | 深圳市英威腾电气股份有限公司 | Ethercat主从同步方法及装置和主从站系统 |
CN106814657B (zh) * | 2015-12-02 | 2019-02-15 | 沈阳高精数控智能技术股份有限公司 | 基于ARM的嵌入式实时EtherCAT主站构建方法 |
CN105843764B (zh) * | 2016-04-07 | 2019-02-12 | 大族激光科技产业集团股份有限公司 | 机器人的控制方法和装置 |
CN106230814A (zh) * | 2016-07-29 | 2016-12-14 | 上海爱数信息技术股份有限公司 | 分布式站点的管理方法、系统及具有该系统的服务器 |
CN107402534B (zh) * | 2017-07-21 | 2021-02-19 | 上海新时达机器人有限公司 | 调节方法、EtherCAT主站及计算机可读存储介质 |
CN108173734B (zh) * | 2018-01-02 | 2021-03-23 | 杭州和利时自动化有限公司 | 一种分布式控制系统内部总线通讯系统及方法 |
CN111490918B (zh) * | 2019-01-29 | 2021-07-30 | 广州汽车集团股份有限公司 | 车载以太网网络唤醒系统、方法、装置和计算机设备 |
CN111478834B (zh) * | 2020-03-25 | 2022-04-29 | 武汉迈信电气技术有限公司 | 一种基于非实时系统的EtherCAT主站同步方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339027A (zh) * | 2011-06-22 | 2012-02-01 | 北京康拓红外技术股份有限公司 | 一种plc设备的基于网络异步回调的分布式上位机控制方法及控制装置 |
-
2012
- 2012-07-13 CN CN201210242043.1A patent/CN102739491B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339027A (zh) * | 2011-06-22 | 2012-02-01 | 北京康拓红外技术股份有限公司 | 一种plc设备的基于网络异步回调的分布式上位机控制方法及控制装置 |
Non-Patent Citations (2)
Title |
---|
基于Linnux的EtherCAT主站的研究;马春敏等;《制造业自动化》;20110430;第33卷(第8期);第78-82页 * |
总线型数控系统软件平台的研究与实现;黄兴等;《组合机床与自动化加工技术》;20101231(第12期);第39-43页 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176164A (zh) * | 2019-12-30 | 2020-05-19 | 深圳市英威腾电气股份有限公司 | 一种扩展多个远程输入输出模块的方法、装置及介质 |
CN111176164B (zh) * | 2019-12-30 | 2021-03-30 | 深圳市英威腾电气股份有限公司 | 一种扩展多个远程输入输出模块的方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102739491A (zh) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102739491B (zh) | 一种以太网通信主站实现方法 | |
CN105024777B (zh) | 基于EtherCAT实时以太网的伺服驱动器同步方法 | |
CN102655467B (zh) | 一种以太网现场总线主站结构及控制方法 | |
CN106603367A (zh) | 一种用于时间同步的can总线通信方法 | |
CN104539412B (zh) | Ethercat主从同步方法及装置和主从站系统 | |
Wandeler et al. | Optimal TDMA time slot and cycle length allocation for hard real-time systems | |
CN107276711B (zh) | EtherCAT主站装置 | |
CN107465474B (zh) | 数控系统总线设备的时间同步系统及方法 | |
CN106685735B (zh) | Epa片上系统、epa通信系统及通信方法 | |
CN103607270B (zh) | 提高Powerlink以太网同步性能的方法 | |
CN106012275B (zh) | 一种嵌入式压电贾卡控制系统及控制方法 | |
CN101009546A (zh) | 采用不同时间同步协议的网段间实现时间同步的方法 | |
CN103713940A (zh) | 一种基于rtx-hla-反射内存卡的可重构分布式实时仿真方法 | |
CN103957233A (zh) | 基于处理器分核以及虚拟机的实时通信平台 | |
CN110519016B (zh) | 一种基于实时优先级动态调整的三网合一数据发送方法 | |
CN105577310A (zh) | 一种时间触发网络中任务分区与通信调度的同步方法 | |
KR101435181B1 (ko) | 배전 지능화 시스템의 마스터와 슬레이브 간 시각동기 및 전송 지연시간 보정 방법 | |
CN105743758A (zh) | 通讯方法 | |
CN214627000U (zh) | 一种兼容可定义确定性通信以太网的网卡设备 | |
CN214480655U (zh) | 一种兼容可定义确定性通信以太网的嵌入式设备 | |
CN113225768B (zh) | 一种4g/5g传输网络的同步方法 | |
CN214627023U (zh) | 一种兼容可定义确定性通信以太网的交换设备 | |
CN210780847U (zh) | 一种EtherCAT总线时钟分布系统 | |
JP2018174445A (ja) | 仮想lanの時刻同期方法 | |
CN109586978B (zh) | 总线拓扑网络自组网方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150114 Termination date: 20150713 |
|
EXPY | Termination of patent right or utility model |