本发明涉及通信,尤其涉及一种基于ethercat的通信方法、装置、系统及计算设备。
背景技术:
1、ethercat是开放的实时以太网络通讯协议,具有通用性好、低成本、高效率、高可靠性和稳定性,在日常信息生活与各种商业邻域都有广泛应用。
2、目前开源ethercat方案中均不支持热连接功能。当用户现场需要调试设备或其中某从站故障,必然导致ethercat链路的断开,不利于数据处理、收发的实时性。
技术实现思路
1、鉴于现有技术的以上问题,本申请提供一种基于ethercat的通信方法、装置、系统及计算设备,其能够实现ethercat总线热连接而不影响数据收发的实时性,能够不影响其它从站通讯的情况下进行特定从站及其所控制设备的调试。
2、为达到上述目的,本申请第一方面提供一种基于ethercat的通信方法,包括:
3、通过实时任务执行pdo数据通信;
4、当所述pdo数据通信空闲时,通过非实时任务执行sdo数据通信,所述执行sdo数据通信包括:监测各ethercat从站在线状态和各ethercat从站处理pdo数据的状态。
5、本实施方式中,通过sdo服务获取数据信息和状态信息,对ethercat总线设备进行监控,不会占用pdo服务的带宽,不抢占实时任务的资源,不影响pdo服务的实时性。并且,本实施方式对ethercat总线设备进行监控时,不在pdo高速交换过程中持续检测esc端口寄存器状态,不影响pdo数据处理的实时性,减少了主站端的负担。
6、作为第一方面的一种可能的实现方式,监测各ethercat从站在线状态和各ethercat从站处理pdo数据的状态,包括:
7、广播第一指令;
8、接收至少一ethercat从站响应所述第一指令而发送的其工作状态参数和工作计数值;
9、根据所述工作状态参数确定相应ethercat从站在线状态,以及根据所述工作计数值确定相应ethercat从站处理pdo数据的状态。
10、本实施方式中,通过广播指令获取所有从站的工作状态参数和工作计数值确定是否有从站发生异常,不单独轮询所有从站,可以降低资源占用,提高主站的反应速度。
11、作为第一方面的一种可能的实现方式,还包括:
12、所述监测各ethercat从站在线状态和各ethercat从站处理pdo数据的状态阶段,当确定出现异常时,轮询各ethercat从站状态并相应处理;
13、若轮询的当前ethercat从站的工作状态参数表示所述当前ethercat从站已经从ethercat总线上移除,则将所述当前ethercat从站标记为离线;
14、若轮询的当前ethercat从站的工作状态参数表示所述当前ethercat从站工作在异常状态,则执行异常状态处理。
15、作为第一方面的一种可能的实现方式,所述异常状态处理包括:若当前ethercat从站被标记为离线状态,则表示所述当前ethercat从站被重新插入到ethercat总线,执行对所述当前ethercat从站的初始化,以及向所述当前ethercat从站发送工作指令,以使所述当前ethercat从站工作正常状态;若当前ethercat从站未被标记为离线状态,则表示所述当前ethercat从站工作状态发生了错误,则执行对所述当前ethercat从站的清除错误,以及向所述当前ethercat从站发送工作指令,以使所述当前ethercat从站工作正常状态。
16、作为第一方面的一种可能的实现方式,还包括:
17、向所述各ethercat从站发送设置信息,所述设置信息用于使所述ethercat从站配置为自动模式,所述自动模式下的ethercat从站检测到其某个端口没有外部连接时,自动闭合该端口。
18、作为第一方面的一种可能的实现方式,向所述异常从站发送命令,包括:
19、所述执行pdo数据通信的数据包与所述执行sdo数据通信的数据包不同。
20、本实施方式中,sdo数据和pdo数据通过不同的数据包发送,sdo不会占用pdo的带宽,不抢占实时任务的资源,故不会发生资源争夺,不影响任务处理的实时性。
21、本申请第二方面提供一种基于ethercat的通信装置,用于ethercat主站,包括:
22、pdo模块,用于通过实时任务执行pdo数据通信;
23、监测模块,用于当所述pdo数据通信空闲时,通过非实时任务执行sdo数据通信,所述执行sdo数据通信包括:监测各ethercat从站在线状态和各ethercat从站处理pdo数据的状态。
24、作为第一方面的一种可能的实现方式,还包括:
25、配置模块,用于提供设置信息,所述设置信息包括用于使所述ethercat从站配置为自动模式的设置。
26、本申请第三方面提供一种基于ethercat的通信系统,包括:
27、ethercat主站,用于执行如上所述的基于ethercat的通信方法;
28、ethercat从站,用于通过ethercat总线与所述ethercat主站通信。
29、本申请第四方面提供一种计算设备,包括:
30、处理器,以及
31、存储器,其上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行如上所述的基于ethercat的通信方法。
32、本发明的这些和其它方面在以下(多个)实施例的描述中会更加简明易懂。
1.一种基于ethercat的通信方法,用于ethercat主站,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述监测各ethercat从站在线状态和各ethercat从站处理pdo数据的状态,包括:
3.根据权利要求1所述的方法,其特征在于,还包括:
4.根据权利要求3所述的方法,其特征在于,所述异常状态处理包括:若当前ethercat从站被标记为离线状态,则表示所述当前ethercat从站被重新插入到ethercat总线,执行对所述当前ethercat从站的初始化,以及向所述当前ethercat从站发送工作指令,以使所述当前ethercat从站工作正常状态;若当前ethercat从站未被标记为离线状态,则表示所述当前ethercat从站工作状态发生了错误,则执行对所述当前ethercat从站的清除错误,以及向所述当前ethercat从站发送工作指令,以使所述当前ethercat从站工作正常状态。
5.根据权利要求1所述的方法,其特征在于,还包括:
6.根据权利要求1所述的方法,其特征在于,包括:
7.一种基于ethercat的通信装置,用于ethercat主站,其特征在于,包括:
8.根据权利要求7所述的通信装置,其特征在于,还包括:
9.一种基于ethercat的通信系统,其特征在于,包括:
10.一种计算设备,其特征在于,包括: