基于共享内存池和改进型时间片轮转法的工业网络节点的制作方法

文档序号:15516877发布日期:2018-09-25 18:36阅读:2142来源:国知局

本发明属于工业控制技术领域,由其涉及一种基于共享内存池和改进型时间片轮转法的工业网络节点。



背景技术:

随着计算机技术的发展和工艺要求的不断提高,工业网络开始出现并广泛应用于各个领域。工业网络经历了几个阶段:计算机集中控制系统ccs,集散控制系统dcs,现场总线控制系统fcs和工业以太网。计算机集中控制系统由于其自身集中了危险,可靠性低,实时性差等缺点,慢慢地淡出了历史舞台。目前广泛应用的有集散控制系统、现场总线和工业以太网。尤其是工业以太网,由于其协议透明和统一,从而使得控制层很容易与信息层无缝对接,实现“一网到底”,因此在实际的应用中越来越广泛。

工业网络就是计算机网络技术在工业控制领域的具体应用。由于工业控制领域本身的特点,因此也对工业网络提出了一系列的要求,比如可靠性、实时性和安全性。工业网络发展至今,要求现场的数据能够发送到服务器端或云端,用户可以通过客户端或手机app访问现场的数据并且对现场的设备进行控制。对于整个工业网络系统来说,实时性一方面体现在现场数据的变化要尽快反映到客户端,另一方面体现在从客户端或手机app发出的控制命令要尽快到达现场层的设备,但是一旦现场设备数量庞大,实时性就是一个很大的问题。

如图1所示,假设节点1下面连接100个子节点,目前通常的做法是采用轮询的方式,读取完子节点1的数据后再读取子节点2……依次类推,等到读取完节点100以后再返回重新读取子节点1的数据。对于这种方式,最坏的情况就是客户端需要读取节点100的数据或者控制节点100的设备,假设读取一个子节点需要耗费50毫秒,此时需要等待99x50=4950毫秒,差不多5秒钟的时间,对于现场要求紧急控制的设备来说,这是不可接受的。为了避免此问题,一般有两种方法,一种是提高对子节点的扫描频率,对于上一级节点就需要频率更快的处理器,增加了成本,如图2所示;第二种做法是减少子节点的个数,但这样就得增加中间节点的个数,效果并不显著,并且大大地增加了成本。



技术实现要素:

本发明的目的在于克服上述技术的不足,而提供一种液基于共享内存池和改进型时间片轮转法的工业网络节点,采用以下技术方案:

一种基于共享内存池和改进型时间片轮转法的工业网络节点,其运行步骤如下:

步骤1.打开工业网络节点初始化程序;

步骤2.根据工业网络节点是否接收到上一级节点或服务器的命令进行判断,当没有接收到任何命令时,所述工业网络节点按照常规时间片轮换法运行;

步骤3a.当工业网络节点接收到上一级节点或服务器的命令为读取单个子节点的数据或对单个子节点进行控制时,所述工业控制节点运行改进型时间片轮转法;

所述的改进型时间片轮转法为:工业网络节点暂停当前的时间片轮转法,并直接切换到该子节点进行数据读取,并将数据返回给上一级节点或服务器。然后继续当前的时间片轮转法,如果在本轮的轮询中,在中断之前该子节点还没有被读取过,则在本轮的轮询中,自动跳过该子节点;若中断之前该子节点已经被读取过,则保持原有的轮询顺序;

步骤3b.当工业网络节点收到上一级节点或服务器的读取所有子节点的数据时,该工业网络节点暂停当前的时间片轮转法,将共享内存池中各个子节点的数据发送给上一级节点或服务器,然后继续当前的常规时间片轮转法;

步骤3c.当收到上一级节点或服务器的控制所有子节点的命令时,该工业网络节点暂停当前的时间片轮转法,按照预先设置的三种优先级别排序,按照优先级别从高到底、同一个优先级别网络地址从低到高的顺序进行控制;

步骤4.控制完毕,继续当前的时间片轮转法;

优选地,当该工业网络节点对子节点的通讯出现问题,会重发三次,若三次均出现问题,则在共享内存池记录为通讯错误。

优选地,所述工业网络节点中包括一个共享内存池,该共享内存池中存储着所有下一级子节点的实时数据,以及来自上一级节点或服务器到各个子节点的命令,在工业网络节点没有接收到上一级节点或服务器的命令时,所述工业网络节点以常规时间片轮转法依次读取各个子节点的数据,并存储到共享内存池中,当读取完最后一个子节点的数据,又返回第一个子节点开始读取,并覆盖原先的数据。

优选地,所述工业网络节点基于stm32嵌入式处理器实现,通过以太网通讯接口或rs485通讯接口与上一级和下一级节点或服务器通讯协议连接;所述工业网络节点通过电源接口供电,通过节点上的usb接口连接上位机,通过所述上位机对工业网络节点进行配置,配置内容包括但不限于:与上一级和下一级节点或服务器的通讯接口、基于该通讯接口的网络通讯协议、子节点的个数、每个子节点的设备类型和网络地址、每个子节点的优先级。

本发明的有益效果在于:

1.可实现与多子节点的实时并行通信,可以在众多子节点中对任意一个子节点进行读取或控制,使用户体验与系统中只有一个子节点并无二致;而且对所有子节点的同时读取,直接把共享内存池的数据反馈给上一级节点或服务器,可以大大提高实时性;同时,由于分成三个优先级别进行控制,能够实现对所有子节点的同时控制,确保越重要的子节点能越快进行控制;

2.节省成本,对于子节点众多的系统,由于支持的子节点个数增加,因此仅需要更少的中间节点,甚至无需增加中间节点;

3.对于上一级和下一级的通讯接口以及通讯协议,可以进行灵活配置,从而可以融合两种不同的网络;

4.简单易用,通过usb口进行配置,配置方式为参数设置,简单易懂;外部接口少,容易安装调试。

附图说明

图1为现有技术中单节点多子节点网络结构示意图;

图2为现有技术中缩减下一级子节点网络结构示意图;

图3为本发明工业网络节点外观示意图;

图4为本发明工业网络节点内部结构示意图;

图5为共享内存池结构示意图;

图6为常规时间片轮转法示意图;

图7为改进型时间片轮转法示意图;

图8为本发明工业网络节点整体运行流程图;

图9为时间片轮转法流程图;

图10为改进型时间片轮转法示意图;

图11为控制器电路图;

图12为以太网通讯电路图;

图13为rs485通讯电路图;

图14为usb通讯电路图;

具体实施方式

结合附图3至图10及较佳实施例详细说明本发明的具体实施方式。

一种基于共享内存池和改进型时间片轮转法的工业网络节点,其硬件结构包括外壳和内部结构,如图3、图4所示;

所述外壳部分由一个led电源指示灯,一个led状态指示灯,2个rs485接口,2个以太网口,一个电源接口,一个usb接口组成。其中led电源指示灯用来指示电源的状态,若通电则常绿,不通电则灭;led状态指示灯用来指示网络通讯的状态,正常则常绿,不正常则常红;其中rs485接口1用来连接上一级节点,可以适用于所有以rs485作为物理层的总线协议,如modbus、profibus等等;以太网接口1用来连接上一级节点,可以用于所有以太网物理传输介质的协议,如tcp/ip、profinet、modbustcp、etherecat、cc-linkie等等;rs458接口2和以太网接口2用来连接下一级子节点;上位机通过usb接口用来对该工业网络节点进行配置。

所述内部结构主要由嵌入式处理器、rs485驱动电路,以太网驱动电路、usb驱动电路、外部晶振、电源模块组成,所述的嵌入式处理器采用stm32单片机,如图4所示。

该工业网络节点中包括一个共享内存池,该共享内存池中存储着所有下一级子节点的实时数据,以及来自上一级节点或服务器,到各个子节点的命令,如图5所示;

在没有上一级节点或服务器的命令时,该网络节点以时间片轮转法依次读取各个子节点的数据,并存储到共享内存池中,覆盖原先的数据,如图6所示;

当收到上一级节点或服务器读取或控制某个子节点的命令时,该网络节点暂停当前的时间片轮转法,并跳到该子节点进行读取或控制,并将反馈信息发送至上一级节点或服务器,结束后恢复原先的时间片轮转法,如果在本轮的轮询中又碰到该子节点则跳过,如图7所示;

当收到上一级节点或服务器读取所有子节点的命令时,该网络节点立即将本地共享内存池的数据直接发送至上一级节点或服务器;

当收到上一级节点或服务器读取所有子节点的命令时,该网络节点按照预先设置的三种优先级别排序,按照优先级别从高到底、同一个优先级别网络地址从低到高的顺序进行控制;

通过编程器上指示灯的状态可以获取编程成功或失败的信息。

上位机通过usb接口用来对该工业网络节点进行配置;

该工业网络节点通过电源接口供电,通过节点上的usb接口连接上位机,通过上位机对其进行配置,配置内容包括但不限于:与上一级和下一级节点或服务器的通讯接口(rs485或以太网口),基于该通讯接口的网络通讯协议(如modbus、profibus、ethercat、profinet等),子节点的个数,每个子节点的设备类型和网络地址,每个子节点的优先级等;

通过上一级和下一级通讯接口连接上一级节点或服务器,以及连接下一级子节点,该工业网络节点按照预先设置的上一级和下一级的通讯接口及通讯协议,分别与上一级和下一级节点进行通讯。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围以上所述仅是本发明的优选实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1