CN109696878B - 基于多缓冲区的控制器 - Google Patents

基于多缓冲区的控制器 Download PDF

Info

Publication number
CN109696878B
CN109696878B CN201910006137.0A CN201910006137A CN109696878B CN 109696878 B CN109696878 B CN 109696878B CN 201910006137 A CN201910006137 A CN 201910006137A CN 109696878 B CN109696878 B CN 109696878B
Authority
CN
China
Prior art keywords
control unit
data
buffer
bus
physical
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.)
Active
Application number
CN201910006137.0A
Other languages
English (en)
Other versions
CN109696878A (zh
Inventor
南扬
赵德政
郭佳
赵乾伟
周强
于洋
王帅
林国章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cec Intelligent Technology Co ltd
Original Assignee
Cec Intelligent Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cec Intelligent Technology Co ltd filed Critical Cec Intelligent Technology Co ltd
Priority to CN201910006137.0A priority Critical patent/CN109696878B/zh
Publication of CN109696878A publication Critical patent/CN109696878A/zh
Application granted granted Critical
Publication of CN109696878B publication Critical patent/CN109696878B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15078Modules, construction of system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Programmable Controllers (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明实施例提供一种基于多缓冲区的控制器,包括PLC主控单元、数据交换控制单元以及总线控制单元,总线控制单元可通过CAN总线接收外部网络传入的数据并存入物理缓冲区中,或从物理缓冲区中读取数据后发送至外部网络。PLC主控单元可通过监听以太网接口,将从以太网接口接收到的数据存入物理缓冲区中,或者是从物理缓冲区中读取数据后发送至外部设备。数据交换控制单元可在PLC主控单元和总线控制单元进行读操作或写操作时,为其分配对应的物理缓冲区,以使其从对应的物理缓冲区中进行数据的读取和写入。通过设置数据交换控制单元可对总线控制单元和PLC主控单元的数据的读取和写入进行管理,提高数据交换效率,进一步提高控制器的整体性能。

Description

基于多缓冲区的控制器
技术领域
本发明涉及现场总线技术领域,具体而言,涉及一种基于多缓冲区的控制器。
背景技术
可编程逻辑控制(Programmable Logic Controller,PLC)是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。自从PLC面世以来,以其功能强、可靠性高、使用方便、体积小等优点广泛应用于石油、化工、高铁、电力等各行各业的自动化控制系统中。可编程逻辑控制器(PLC)是可编程控制系统的核心,主要用于运行控制逻辑和执行现场I/O变量刷新操作。因此PLC需要与位于控制现场的传感器、调节器、执行器等装置相连,当这些装置和设备相距较远、分布较广时,就会使电缆线的用量和敷设费用大大增加,造成了整个项目的投资成本增加、系统连线复杂、可靠性降低、维护工作量增大、系统进一步扩展困难等问题。因此人们迫切需要一种可靠、快速、能经受工业现场环境、低廉的通信总线,将分散于现场的各种设备连接起来,实施对其监控。
现场总线正好能够解决上文提到的PLC存在的通信问题,因此PLC和现场总线的结合更有利于控制系统的发展。其中CAN总线以其优异的特性已经深入到工业应用的各个领域,CANopen是在CAN总线之上定义的一套应用协议。CANopen的自由度很大,因而其应用非常广泛,比如医疗、航海、铁路、军事化以及太阳能领域。因此,采用CANopen总线PLC控制器能够较好适应工业控制系统,提高整个系统的稳定性并降低成本。但是目前市面上采用CANopen总线的PLC控制器中,CAN总线控制数据和PLC逻辑控制数据之间的读取及存储等存在控制逻辑不明确的缺点,导致数据在存入和读取时转换效率低下,影响整体性能。
发明内容
有鉴于此,本发明实施例的目的在于,提供一种基于多缓冲区的控制器以解决上述问题。
本发明实施例提供一种基于多缓冲区的控制器,包括PLC主控单元、数据交换控制单元以及总线控制单元,其中,所述数据交换控制单元分别与所述PLC主控单元以及总线控制单元连接;
所述总线控制单元用于通过CAN总线接收从外部网络传入的数据,并对所述数据进行解析后通过所述数据交换控制单元存入所述控制器的物理缓冲区中,并且还用于从所述控制器的物理缓冲区中读取数据并发送至外部网络;
所述PLC主控单元包括以太网接口,用于通过监听所述以太网接口,当所述以太网接口从外部设备接收到数据时,将所述数据存入所述控制器的物理缓冲区中,并且还用于从所述控制器的物理缓冲区中读取数据并通过所述以太网接口发送给外部设备;
所述数据交换控制单元用于将所述控制器包括的多个物理缓冲区映射为一个虚拟缓冲区,向所述总线控制单元和所述PLC主控单元提供该虚拟缓冲区,在所述PLC主控单元和所述总线控制单元向所述虚拟缓冲区进行读操作或写操作时,为所述PLC主控单元和所述总线控制单元从所述多个物理缓冲区中分配对应的物理缓冲区,以使所述PLC主控单元和所述总线控制单元对所分配的对应的物理缓冲区进行读操作或写操作。
可选地,在上述实施例提供的基于多缓冲区的控制器中,所述数据交换控制单元用于针对各所述物理缓冲区,将该物理缓冲区配置为该物理缓冲区内的数据被所述PLC主控单元写入且被所述总线控制单元读取,或者该物理缓冲区内的数据被所述总线控制单元写入且被所述PLC主控单元读取。
可选地,在上述实施例提供的基于多缓冲区的控制器中,所述数据交换控制单元还用于在所述PLC主控单元或所述总线控制单元进行数据写入时,从所述多个物理缓冲区的空闲物理缓冲区中选取排在最前面的物理缓冲区,将数据写入至该物理缓冲区中,并在数据写入完成后记录下该物理缓冲区的区号;
所述数据交换控制单元还用于在所述PLC主控单元或所述总线控制单元进行数据读取时,从记录的区号中选取最新记录的区号,并查找到该区号对应的物理缓冲区,从该物理缓冲区中提取出数据以供所述PLC主控单元或所述总线控制单元读取。
可选地,在上述实施例提供的基于多缓冲区的控制器中,所述数据交换控制单元包括FPGA以及第一随机存取存储器,所述FPGA分别与所述PLC主控单元和所述总线控制单元连接,所述第一随机存取存储器与所述FPGA连接。
可选地,在上述实施例提供的基于多缓冲区的控制器中,所述总线控制单元包括CAN收发模块以及第一微处理单元,所述CAN收发模块包括至少两个CAN总线接口,所述CAN收发模块与所述第一微处理单元连接,所述第一微处理单元还与所述数据交换控制单元连接;
所述CAN收发模块用于通过至少一个CAN总线接口接收外部网络输入的数据,并将所述数据发送至所述第一微处理单元;
所述第一微处理单元用于对接收到的数据进行解析,并将解析后的数据存入所述控制器的物理缓冲区中,并且还用于从所述控制器的物理缓存区中读取数据,并将读取的数据发送至所述CAN收发模块;
所述CAN收发模块还用于接收所述第一微处理单元发送的数据,并通过至少一个CAN总线接口将所述数据发送至外部网络。
可选地,在上述实施例提供的基于多缓冲区的控制器中,所述总线控制单元还包括服务数据对象模块及过程数据对象模块,所述第一微处理单元还用于解析接收到的数据的类型,并根据所述数据的类型确定通过所述服务数据对象模块存入所述控制器的物理缓冲区,还是通过所述过程数据对象模块存入所述控制器的物理缓冲区。
可选地,在上述实施例提供的基于多缓冲区的控制器中,所述物理缓冲区包括同步数据缓冲区和异步数据缓冲区,所述第一微处理单元用于在接收到的数据的类型为需要同步处理的数据时,通过所述过程数据对象模块将所述数据存入同步数据缓冲区,或用于在接收到的数据的类型为需要异步处理的数据时,通过所述服务数据对象模块将所述数据存入异步数据缓冲区。
可选地,在上述实施例提供的基于多缓冲区的控制器中,所述第一微处理单元还与上位机连接,用于接收所述上位机发送的配置信息,根据所述配置信息对各所述CAN总线接口的工作模式进行配置,并且还用于对各所述CAN总线接口的工作状态进行管理,将各所述CAN总线接口的工作状态发送至所述上位机,其中,所述工作模式包括主站工作模式以及从站工作模式。
可选地,在上述实施例提供的基于多缓冲区的控制器中,所述总线控制单元还包括第二随机存取存储器和第一非易失性内存,所述第二随机存取存储器和所述第一非易失性内存分别与所述第一微处理单元连接。
可选地,在上述实施例提供的基于多缓冲区的控制器中,所述PLC主控单元包括第二微处理单元以及连接在所述第二微处理单元上的第二非易失性内存以及第三随机存取存储器,所述第二微处理单元与所述数据交换控制单元连接,并且还通过以太网接口与外部设备通信。
本发明实施例提供的基于多缓冲区的控制器,包括PLC主控单元、数据交换控制单元以及总线控制单元,总线控制单元可通过CAN总线接收外部网络传入的数据并存入控制器的物理缓冲区中,或从物理缓冲区中读取数据后发送至外部网络。PLC主控单元可通过监听以太网接口,以在有数据传入时,将数据存入物理缓冲区中,或者是从物理缓冲区中读取数据后发送至外部设备。数据交换控制单元可将多个物理缓冲区映射为一个虚拟缓冲区并提供给PLC主控单元及总线控制单元。在PLC主控单元和总线控制单元进行读操作或写操作时,可为PLC主控单元和总线控制单元分配对应的物理缓冲区,以使其从对应的物理缓冲区中进行数据的读取和写入。通过设置数据交换控制单元可对总线控制单元和PLC主控单元的数据的读取和写入进行管理,提高数据交换效率,进一步提高控制器的整体性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的基于多缓冲区的控制器的结构框图。
图2为本发明实施例提供的物理缓冲区的数据读写的示意图。
图3为本发明实施例提供的基于多缓冲区的控制器的另一结构框图。
图4为本发明实施例提供的基于多缓冲区的控制器的另一结构框图。
图标:10-基于多缓冲区的控制器;100-总线控制单元;110-CAN收发模块;120-第一微处理单元;130-服务数据对象模块;140-过程数据对象模块;150-第二随机存取存储器;160-第一非易失性内存;200-PLC主控单元;210-第二微处理单元;220-第三随机存取存储器;230-第二非易失性内存;300-数据交换控制单元;310-FPGA;320-第一随机存取存储器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
请参阅图1,为本申请实施例提供的一种基于多缓冲区的控制器10,所述控制器包括PLC主控单元200、数据交换控制单元300以及总线控制单元100,其中,所述数据交换控制单元300分别与所述PLC主控单元200以及总线控制单元100连接。
所述总线控制单元100可用于通过CAN总线接收从外部网络传入的数据,并对所述数据进行解析后通过所述数据交换控制单元300存入所述控制器的物理缓冲区中。并且,还可用于从所述控制器的物理缓冲区中读取数据并发送至外部网络。其中,CAN总线可为CANopen总线。
所诉PLC主控单元200包括以太网接口,可通过监听所述以太网接口,当所述以太网接口从外部设备接收到数据时,将数据存入所述控制器的物理缓冲区中。并且,所述PLC主控单元200还用于从所述控制器的物理缓冲区中读取数据并通过所述以太网接口发送给外部设备。
所述数据交换控制单元300用于将所述控制器包括的多个物理缓冲区映射为一个虚拟缓冲区,向所述总线控制单元100和所述PLC主控单元200提供该虚拟缓冲区。即总线控制单元100和PLC主控单元200对接的是统一的虚拟缓冲区,而具体地读取或写入的实际物理缓冲区由数据交换控制单元300来决定。
可选地,在所述PLC主控单元200和所述总线控制单元100向所述虚拟缓冲区进行读操作或写操作时,所述数据交换控制单元300可为所述PLC主控单元200和所述总线控制单元100从多个物理缓冲区中分配对应的物理缓冲区,以使PLC主控单元200和所述总线控制单元100对所分配的物理缓冲区进行读操作或写操作。
本实施例中,通过提供多个物理缓冲区,并利用数据交换控制单元300将多个物理缓冲区统一映射为一虚拟缓冲区,如此,可通过数据交换控制单元300对PLC主控单元200和总线控制单元100的数据读取和数据写入进行统一管理,提高两者之间数据交换的处理效率。
在一种可能的实施方式中,为了保障单个物理缓冲区的数据读取和数据写入互不干扰,数据交换控制单元300可预先对各物理缓冲区的权限功能进行配置。例如,可针对各所述物理缓冲区,将该物理缓冲区配置为该物理缓冲区内的数据被所述PLC主控单元200写入且被所述总线控制单元100读取。或者是将该物理缓冲区配置为该物理缓冲区内的数据被总线控制单元100写入且被所述PLC主控单元200读取。也就是说,对于单个物理缓冲区,该物理缓冲区只能被PLC主控单元200写入数据并由总线控制单元100读出,或者是只能由总线控制单元100写入数据并由PLC主控单元200读出。如此,单个物理缓冲区的控制逻辑简单,且实现数据读写的隔离,例如图2所示。
作为一种实施方式,控制器中的多个物理缓冲区依次排列,并且各物理缓冲区具有对应的区号。所述数据交换控制单元300在所述PLC主控单元200或所述总线控制单元100进行数据写入时,可查找出多个物理缓冲区中处于空闲状态的物理缓冲区,即当前未进行读操作及写操作的物理缓冲区。并从查找出的空闲物理缓冲区中选取排在最前面的物理缓冲区。将PLC主控单元200或总线控制单元100预写入的数据写入到该物理缓冲区中,并在数据写入完成之后记录下该物理缓冲区的区号。如此,每次在数据写入完成之后,均会记录下对应的物理缓冲区的区号,并将区号按写入的先后顺序进行排列。如此,可体现出各个物理缓冲区中数据写入的先后顺序。
此外,所述数据交换单元还用于在所述PLC主控单元200或所述总线控制单元100进行数据读取时,从记录的区号中选取最新记录的区号,并查找到该区号对应的物理缓冲区。从该物理缓冲区中提取出数据以供所述PLC主控单元200或所述总线控制单元100读取。
如此,通过在数据写入时记录所写入的物理缓冲区的区号,并在数据读取时通过查找最新记录的区号的方式,可实现在数据读取时读取到最新的数据,保障了数据的实效性。
请结合参阅图3,在本实施例中,所述总线控制单元100包括CAN收发模块110以及第一微处理单元120,所述CAN收发模块110包括至少两个CAN总线接口,例如两个或三个等不限,图3中只示出了包含三个CAN总线接口的示意图,例如包括CAN总线接口1、CAN总线接口2以及CAN总线接口3。所述CAN收发模块110与所述第一微处理单元120连接,所述第一微处理单元120还与所述数据交换控制单元300连接。
所述CAN收发模块110可用于通过至少一个CAN总线接口接收外部网络输入的数据,并将所述数据发送至所述第一微处理单元120。所述第一微处理单元120用于对接收到的数据进行解析,并将解析后的数据存入所述控制器的物理缓冲区中。并且,所述第一微处理单元120还可用于从所述控制器的物理缓冲区中读取数据,并将读取到的数据发送至所述CAN收发模块110。其中,读取的数据可以是总线通信模块存入物理缓冲区中的数据。
所述CAN收发模块110可用于在接收到第一微处理单元120发送的数据时,通过至少一个CAN总线接口将所述数据发送至外部网络。
本实施例中通过提供至少两路的完全独立的CAN总线接口,使得控制器可同时能够与至少两个通信网络进行通信,实用性更强、适应性更广。
进一步地,所述总线控制单元100还包括服务数据对象模块130(Service dataobject,SDO)以及过程数据对象模块140(Process data object,PDO)。所述第一微处理单元120还用于解析接收到的数据的类型,并根据所述数据的类型确定通过所述服务数据对象模块130存入所述控制器的物理缓冲区中,还是通过所述过程数据对象模块140存入所述控制器的物理缓冲区中。
在本实施例中,所述物理缓冲区包括同步数据缓冲区和异步数据缓冲区,所述同步数据缓冲区和异步数据缓冲区分别用于存储不同类型的数据。所述过程数据对象模块140通过同步数据通道与所述同步数据缓冲区连接,所述服务数据对象模块130通过异步数据通道与所述异步数据缓冲区连接。
可选地,所述第一微处理单元120用于在接收到的数据的类型为需要同步处理的数据时,通过所述过程数据对象模块140将所述数据存入同步数据缓冲区中。或者,也可以用于在接收到的数据的类型为需要异步处理的数据时,通过所述服务数据对象模块130将所述数据存入异步数据缓冲区中。
进一步地,在本实施例中,所述第一微处理单元120还与上位机连接,可用于接收上位机发送的配置信息。可根据该配置信息对各所述CAN总线接口的工作模式进行配置。其中,CAN总线接口的工作模块包括主站工作模式以及从站工作模块。例如,可将CAN总线接口1的工作模式配置为主站工作模式,将CAN总线接口2和CAN总线接口3的工作模式配置为从站工作模式。
如此,在提供至少两个CAN总线接口的基础上,还可对各CAN总线接口的工作模式进行自主配置,使得使用更加灵活。
此外,所述第一微处理单元120还可对各所述CAN总线接口的工作状态进行管理,将各所述CAN总线接口的工作状态发送至所述上位机,以实现对通信接口的实时监控。
请结合参阅图4,在本实施例中,所述数据交换控制单元300包括FPGA310(Field-Programmable Gate Array,现场可编程门阵列)以及第一随机存取存储器320,所述FPGA310分别与所述PLC主控单元200和所述总线控制单元100连接,所述第一随机存取存储器320与所述FPGA310连接。其中,所述FPGA310为实现数据写入及数据读取的控制逻辑的主要模块,所述第一随机存取存储器320作为控制器的存储介质以进行数据存储。
在本实施例中,所述总线控制单元100还包括第二随机存取存储器150和第一非易失性内存160,所述第二随机存取存储器150和所述第一非易失性内存160分别与所述第一微处理单元120连接。其中,第二随机存取存储器150和第一非易失性内存160均作为控制器的存储介质,以进行数据的保存。
进一步地,在本实施例中,所述PLC主控单元200包括第二微处理单元210以及连接在所述第二微处理单元210上的第二非易失性内存230以及第三随机存取存储器220。所述第二微处理单元210与所述数据交换控制单元300连接,并且还通过以太网接口与外部设备通信。
本实施例中通过设置第一微处理单元120和第二微处理单元210以分别对从CAN总线接口接收到的数据和从以太网接口接收到的数据进行处理,实现了两个处理模块的隔离,使得两个处理模块的处理逻辑相互不影响。且相比现有的将CAN总线接收到的数据与从以太网接口接收到的数据放在同一个处理器进行处理而言,本方案缩短了程序运行周期,提高了实时性。
综上所述,本申请实施例提供的基于多缓冲区的控制器10,包括PLC主控单元200、数据交换控制单元300以及总线控制单元100,总线控制单元100可通过CAN总线接收外部网络传入的数据并存入控制器的物理缓冲区中,或从物理缓冲区中读取数据后发送至外部网络。PLC主控单元200可通过监听以太网接口,以在有数据传入时,将数据存入物理缓冲区中,或者是从物理缓冲区中读取数据后发送至外部设备。数据交换控制单元300可将多个物理缓冲区映射为一个虚拟缓冲区并提供给PLC主控单元200及总线控制单元100。在PLC主控单元200和总线控制单元100进行读操作或写操作时,可为PLC主控单元200和总线控制单元100分配对应的物理缓冲区,以使其从对应的物理缓冲区中进行数据的读取和写入。通过设置数据交换控制单元300可对总线控制单元100和PLC主控单元200的数据的读取和写入进行管理,提高数据交换效率,进一步提高控制器的整体性能。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接。可以是机械连接,也可以是电连接。可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于多缓冲区的控制器,其特征在于,包括PLC主控单元、数据交换控制单元以及总线控制单元,其中,所述数据交换控制单元分别与所述PLC主控单元以及总线控制单元连接;
所述总线控制单元用于通过CAN总线接收从外部网络传入的数据,并对所述数据进行解析后通过所述数据交换控制单元存入所述控制器的物理缓冲区中,并且还用于从所述控制器的物理缓冲区中读取数据并发送至外部网络;
所述PLC主控单元包括以太网接口,用于通过监听所述以太网接口,当所述以太网接口从外部设备接收到数据时,将所述数据存入所述控制器的物理缓冲区中,并且还用于从所述控制器的物理缓冲区中读取数据并通过所述以太网接口发送给外部设备;
所述数据交换控制单元用于将所述控制器包括的多个物理缓冲区映射为一个虚拟缓冲区,向所述总线控制单元和所述PLC主控单元提供该虚拟缓冲区,在所述PLC主控单元和所述总线控制单元向所述虚拟缓冲区进行读操作或写操作时,为所述PLC主控单元和所述总线控制单元从所述多个物理缓冲区中分配对应的物理缓冲区,以使所述PLC主控单元和所述总线控制单元对所分配的对应的物理缓冲区进行读操作或写操作;
所述数据交换控制单元用于针对各所述物理缓冲区,将该物理缓冲区配置为该物理缓冲区内的数据被所述PLC主控单元写入且被所述总线控制单元读取,或者该物理缓冲区内的数据被所述总线控制单元写入且被所述PLC主控单元读取。
2.根据权利要求1所述的基于多缓冲区的控制器,其特征在于,所述数据交换控制单元还用于在所述PLC主控单元或所述总线控制单元进行数据写入时,从所述多个物理缓冲区的空闲物理缓冲区中选取排在最前面的物理缓冲区,将数据写入至该物理缓冲区中,并在数据写入完成后记录下该物理缓冲区的区号;
所述数据交换控制单元还用于在所述PLC主控单元或所述总线控制单元进行数据读取时,从记录的区号中选取最新记录的区号,并查找到该区号对应的物理缓冲区,从该物理缓冲区中提取出数据以供所述PLC主控单元或所述总线控制单元读取。
3.根据权利要求1所述的基于多缓冲区的控制器,其特征在于,所述数据交换控制单元包括FPGA以及第一随机存取存储器,所述FPGA分别与所述PLC主控单元和所述总线控制单元连接,所述第一随机存取存储器与所述FPGA连接。
4.根据权利要求1所述的基于多缓冲区的控制器,其特征在于,所述总线控制单元包括CAN收发模块以及第一微处理单元,所述CAN收发模块包括至少两个CAN总线接口,所述CAN收发模块与所述第一微处理单元连接,所述第一微处理单元还与所述数据交换控制单元连接;
所述CAN收发模块用于通过至少一个CAN总线接口接收外部网络输入的数据,并将所述数据发送至所述第一微处理单元;
所述第一微处理单元用于对接收到的数据进行解析,并将解析后的数据存入所述控制器的物理缓冲区中,并且还用于从所述控制器的物理缓存区中读取数据,并将读取的数据发送至所述CAN收发模块;
所述CAN收发模块还用于接收所述第一微处理单元发送的数据,并通过至少一个CAN总线接口将所述数据发送至外部网络。
5.根据权利要求4所述的基于多缓冲区的控制器,其特征在于,所述总线控制单元还包括服务数据对象模块及过程数据对象模块,所述第一微处理单元还用于解析接收到的数据的类型,并根据所述数据的类型确定通过所述服务数据对象模块存入所述控制器的物理缓冲区,还是通过所述过程数据对象模块存入所述控制器的物理缓冲区。
6.根据权利要求5所述的基于多缓冲区的控制器,其特征在于,所述物理缓冲区包括同步数据缓冲区和异步数据缓冲区,所述第一微处理单元用于在接收到的数据的类型为需要同步处理的数据时,通过所述过程数据对象模块将所述数据存入同步数据缓冲区,或用于在接收到的数据的类型为需要异步处理的数据时,通过所述服务数据对象模块将所述数据存入异步数据缓冲区。
7.根据权利要求4所述的基于多缓冲区的控制器,其特征在于,所述第一微处理单元还与上位机连接,用于接收所述上位机发送的配置信息,根据所述配置信息对各所述CAN总线接口的工作模式进行配置,并且还用于对各所述CAN总线接口的工作状态进行管理,将各所述CAN总线接口的工作状态发送至所述上位机,其中,所述工作模式包括主站工作模式以及从站工作模式。
8.根据权利要求4所述的基于多缓冲区的控制器,其特征在于,所述总线控制单元还包括第二随机存取存储器和第一非易失性内存,所述第二随机存取存储器和所述第一非易失性内存分别与所述第一微处理单元连接。
9.根据权利要求1所述的基于多缓冲区的控制器,其特征在于,所述PLC主控单元包括第二微处理单元以及连接在所述第二微处理单元上的第二非易失性内存以及第三随机存取存储器,所述第二微处理单元与所述数据交换控制单元连接,并且还通过以太网接口与外部设备通信。
CN201910006137.0A 2019-01-03 2019-01-03 基于多缓冲区的控制器 Active CN109696878B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910006137.0A CN109696878B (zh) 2019-01-03 2019-01-03 基于多缓冲区的控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910006137.0A CN109696878B (zh) 2019-01-03 2019-01-03 基于多缓冲区的控制器

Publications (2)

Publication Number Publication Date
CN109696878A CN109696878A (zh) 2019-04-30
CN109696878B true CN109696878B (zh) 2020-10-02

Family

ID=66232519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910006137.0A Active CN109696878B (zh) 2019-01-03 2019-01-03 基于多缓冲区的控制器

Country Status (1)

Country Link
CN (1) CN109696878B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110120922B (zh) * 2019-05-14 2022-09-20 中核控制系统工程有限公司 一种基于fpga的数据交互网络管理系统及方法
JP7147805B2 (ja) * 2020-03-26 2022-10-05 株式会社安川電機 生産システム、データ送信方法、及びプログラム

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872335A (zh) * 2010-03-05 2010-10-27 杭州海康威视数字技术股份有限公司 Cpu控制台重定向方法、系统及cpu
CN102707899A (zh) * 2011-03-04 2012-10-03 索尼公司 虚拟存储器系统、虚拟存储器控制方法和程序
CN203643813U (zh) * 2013-11-28 2014-06-11 北车大连电力牵引研发中心有限公司 基于pc104总线的canopen主控设备
CN104683199A (zh) * 2013-11-28 2015-06-03 北车大连电力牵引研发中心有限公司 CANopen-Lwip网关和列车运行监视系统
CN104750424A (zh) * 2013-12-30 2015-07-01 国民技术股份有限公司 一种存储系统及其非易失性存储器的控制方法
CN205563239U (zh) * 2016-05-05 2016-09-07 中工科安科技有限公司 一种兼有工业实时以太网和现场总线的一体式小型plc
CN105955179A (zh) * 2016-05-05 2016-09-21 中工科安科技有限公司 一种一体式小型plc及其扩展io模块的自动识别方法
CN106648896A (zh) * 2016-12-26 2017-05-10 北京四方继保自动化股份有限公司 一种Zynq芯片在异构称多处理模式下双核共享输出外设的方法
CN106647500A (zh) * 2016-12-26 2017-05-10 上海振华重工电气有限公司 基于arm和fpga的船舶动力定位控制系统
CN108650136A (zh) * 2018-05-17 2018-10-12 中工科安科技有限公司 一种实现Powerlink工业实时以太网通讯的主/从站卡的设计方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904074B2 (en) * 2007-12-31 2014-12-02 Schneider Electric USA, Inc. Method and apparatus for distributing configuration files in a distributed control system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872335A (zh) * 2010-03-05 2010-10-27 杭州海康威视数字技术股份有限公司 Cpu控制台重定向方法、系统及cpu
CN102707899A (zh) * 2011-03-04 2012-10-03 索尼公司 虚拟存储器系统、虚拟存储器控制方法和程序
CN203643813U (zh) * 2013-11-28 2014-06-11 北车大连电力牵引研发中心有限公司 基于pc104总线的canopen主控设备
CN104683199A (zh) * 2013-11-28 2015-06-03 北车大连电力牵引研发中心有限公司 CANopen-Lwip网关和列车运行监视系统
CN104750424A (zh) * 2013-12-30 2015-07-01 国民技术股份有限公司 一种存储系统及其非易失性存储器的控制方法
CN205563239U (zh) * 2016-05-05 2016-09-07 中工科安科技有限公司 一种兼有工业实时以太网和现场总线的一体式小型plc
CN105955179A (zh) * 2016-05-05 2016-09-21 中工科安科技有限公司 一种一体式小型plc及其扩展io模块的自动识别方法
CN106648896A (zh) * 2016-12-26 2017-05-10 北京四方继保自动化股份有限公司 一种Zynq芯片在异构称多处理模式下双核共享输出外设的方法
CN106647500A (zh) * 2016-12-26 2017-05-10 上海振华重工电气有限公司 基于arm和fpga的船舶动力定位控制系统
CN108650136A (zh) * 2018-05-17 2018-10-12 中工科安科技有限公司 一种实现Powerlink工业实时以太网通讯的主/从站卡的设计方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于EtherCAT工业以太网的数据采集系统的研究;郑培均;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;20170215(第2期);第I140-1372页正文第8-54页 *
工业以太网EtherCAT协议分析与研究;张丽;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;20160315(第3期);全文 *
郑培均.基于EtherCAT工业以太网的数据采集系统的研究.《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》.2017,(第2期), *

Also Published As

Publication number Publication date
CN109696878A (zh) 2019-04-30

Similar Documents

Publication Publication Date Title
CN108228513B (zh) 一种基于fpga架构的智能串口通讯装置
CN109696878B (zh) 基于多缓冲区的控制器
CN103699074B (zh) 一种变流器中的can通信控制装置及通信方法
CN107077882A (zh) 一种dram刷新方法、装置和系统
CN104750437A (zh) 一种容量可扩展的星载大容量存储系统
CN101013315A (zh) 基于全数字环形总线式通用型数控系统
CN100429596C (zh) 集散型大容量现场高速实时数据冗余通信方法及其系统
CN101944075B (zh) 总线系统、对低速总线设备进行读写操作的方法及装置
CN104238517A (zh) 一种profibus-dpv1通信主站及方法
CN201673402U (zh) 一种分散控制系统的控制器
CN101753434B (zh) 一种射频识别路由器及射频识别网络系统
CN110798479B (zh) 动态可重构高速串行总线与以太网的互操作装置与方法
CN103222286B (zh) 路由交换装置、网络交换系统和路由交换方法
CN108345558B (zh) 一种支持多协议的rs485集配单元
CN112118166B (zh) 一种多芯片的组网系统、方法及应用
CN103684950B (zh) 多传感器复用总线系统及方法
CN105530153A (zh) 网络内的从设备通信方法、通信网络、主设备及从设备
JP4013250B2 (ja) Opc通信ステーション
CN102147608B (zh) 监控系统中上位设备与plc的通信系统
CN107643989B (zh) 一种基于pci总线协议双光纤环路冗余结构通讯板卡
CN103368944A (zh) 一种内存共享网络架构及其协议规范
CN116074397A (zh) 一种数据共享系统
CN101251831B (zh) 支持主从设备互换的移动存储器和主从设备互换方法
CN200997073Y (zh) 基于全数字环形总线式通用型数控系统
CN113341853B (zh) 一种ip核、fpga芯片、交流伺服驱动器及通讯方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant