CN109495236B - 一种基于CANopen的从站到主站的数据同步方法 - Google Patents

一种基于CANopen的从站到主站的数据同步方法 Download PDF

Info

Publication number
CN109495236B
CN109495236B CN201811303103.XA CN201811303103A CN109495236B CN 109495236 B CN109495236 B CN 109495236B CN 201811303103 A CN201811303103 A CN 201811303103A CN 109495236 B CN109495236 B CN 109495236B
Authority
CN
China
Prior art keywords
data
master station
data synchronization
user variable
message
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
CN201811303103.XA
Other languages
English (en)
Other versions
CN109495236A (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.)
Hefei Baode Industrial Automation Co ltd
Original Assignee
Hefei Baode Industrial Automation 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 Hefei Baode Industrial Automation Co ltd filed Critical Hefei Baode Industrial Automation Co ltd
Priority to CN201811303103.XA priority Critical patent/CN109495236B/zh
Publication of CN109495236A publication Critical patent/CN109495236A/zh
Application granted granted Critical
Publication of CN109495236B publication Critical patent/CN109495236B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • 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
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种基于CANopen的从站到主站的数据同步方法,其用于同步多个从站的数据至主站。分别定义多个从站及主站的用户变量参数、数据同步参数。将所有用户变量参数以及数据同步参数分别关联对象字典中相关的对象及映射表。所述数据同步方法包括:步骤S1:轮询从站的处理数据对象表的每一项;步骤S2:判断所述对象字典里的相关数据是否发生变化,是则发送对应所述相关数据的从站的用户变量到CAN总线上,否则启动步骤S1;步骤S3:主站通过CAN总线接收CAN报文,根据接收的CAN报文,修改与从站的用户变量参数相对应的主站的用户变量。本发明通过判断对象字典里的相关数据是否发生变化,并在发生变化时,将变化的数据发送至主站,实现多个从站和主站的数据同步。

Description

一种基于CANopen的从站到主站的数据同步方法
技术领域
本发明涉及通讯技术领域的一种数据同步方法,具体为一种基于CANopen的从站到主站的数据同步方法。
背景技术
基于CANopen协议进行通讯的PLC主站与PLC从站往往由于从模块的数量限制,需要进行扩展,并增设多个PLC扩展模块。由于主站和从站的特定硬件或应用千变万化,可扩展的模块在数量和类型上是随机的,PLC扩展模块可以进行数字量或模拟量的输入或者输出,现有数据同步不能满足需求。因此,需要设计一种基于CANopen的从站到主站的数据同步方法。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种基于CANopen的从站到主站的数据同步方法,具备全面、方便等优点,解决了现有数据同步方法不能满足从站到主站的数据同步需求的问题。
(二)技术方案
为实现上述全面、方便的目的,本发明提供如下技术方案:一种基于CANopen的从站到主站的数据同步方法,其用于同步多个从站的数据至主站;分别定义多个从站的用户变量参数、数据同步参数,并定义分别与从站的用户变量参数、数据同步参数相对应的主站的用户变量参数、数据同步参数;将所有用户变量参数以及数据同步参数分别关联对象字典中相关的对象及映射表;
在主站和多个从站中新建处理数据对象表、通信对象表;所述处理数据对象表的每个表项的一个特定字段对应所述通信对象表的一个表项,另一个特定字段对应所述映射表的一个映射;
所述数据同步方法包括:
步骤S1:轮询从站的处理数据对象表的每一项;
步骤S2:判断所述对象字典里的相关数据是否发生变化,是则发送对应所述相关数据的从站的用户变量到CAN总线上,否则启动步骤S1;
步骤S3:主站通过CAN总线接收CAN报文,根据接收的CAN报文,修改与从站的用户变量参数相对应的主站的用户变量。
作为上述方案的进一步改进,在主站、所有从站中新建用户变量参数表、数据同步参数表;所述用户变量参数表、所述数据同步参数表均包括分别设置多个字段的多个表项;所述通信对象表包括分别设置多个字段的多个表项,每个表项中的特定字段对应一个数据结构CAN MSG,每个数据结构CAN MSG包括多个数据字段。
进一步地,判断所述对象字典里的相关数据是否发生变化的方法为:在一次轮询中把所述处理数据对象表的所有表项轮询一次,并依次检查所述处理数据对象表的所有表项;根据所述处理数据对象表的每个表项找到映射字段,且所述映射字段被映射到所述对象字典里的相关对象,并确定对应的用户变量;将对应的用户变量设置到对应的数据结构CAN MSG的数据字段;判断所述数据结构CAN MSG的数据字段与所述处理数据对象表所对应的表项的拷贝是否相同,是则判定所述对象字典里的相关数据发生变化,否则判定所述对象字典里的相关数据未发生变化。
再进一步地,在判定所述对象字典里的相关数据发生变化后,设置所述处理数据对象表的所对应表项的状态为发送信号状态;再次依次检测所述处理数据对象表的各个表项的状态,并在检测到所述处理数据对象表的一个表项是有效的且是发送信号状态时,发送对应所述相关数据的从站的用户变量到CAN总线上。
再进一步地,发送对应所述相关数据的从站的用户变量到CAN总线上的方法为:将对应的从站的用户变量赋值到对应的数据结构CAN MSG的数据字段,设置所述处理数据对象表的表项中与通信相关的时间记录,并确定所述通信对象表对应的表项的结构体,将对应的数据结构CAN MSG的数据字段的内容填充至CAN硬件寄存器,并发送报文到CAN总线上。
作为上述方案的进一步改进,在步骤S3中,主站的CAN控制器接收报文并将报文存储到消息区中;其中,主站在从站轮询中处理主站接收到的消息,依次处理消息区中的所有消息报文,直至处理完所有的消息报文。
进一步地,主站处理消息区中的消息报文的方法为:根据CAN ID,搜索所述通信对象表的所有表项中的数据结构CAN MSG的数据片段,找到与接收的消息报文里的CAN ID一致的数据结构CAN MSG,并找到所述通信对象表对应的表项,将接收的消息报文中的数据字段复制到对应的数据结构CAN MSG的数据字段。
作为上述方案的进一步改进,每个从站设置数字量输入端、数字量输出端、数字量输入输出端、模拟量输入端、模拟量输出端、模拟量输入输出端中的一种数据端口。
作为上述方案的进一步改进,所述对象字典包括一级映射表,所述一级映射表包括分别设置多个字段的多个表项;所述一级映射表的每个表项中的一个字段对应一个二级映射表;所述二级映射表包括分别设置多个字段的多个表项,且每个二级映射表的每个表项中的一个字段对应一个字典变量或者字典结构。
作为上述方案的进一步改进,所述数据结构CAN MSG包括多个数据字段,且所述数据结构CAN MSG用于设置CAN控制器的寄存器;在发送报文时,通过对应的所述数据结构CANMSG设置硬件所述CAN控制器,在接收报文时,将报文填充对应的所述数据结构CAN MSG的数据字段。
(三)有益效果
与现有技术相比,本发明提供了一种CANopen的从站到主站的数据同步方法,具备以下有益效果:
本发明的CANopen的从站到主站的数据同步方法,通过定义主站和多个从站的用户变量参数、数据同步参数,将用户变量参数以及数据同步参数分别关联对象字典中相关的对象及映射表,新建用户变量参数表、数据同步参数表、处理数据对象表以及通信对象表并进行内部的相互对应,通过判断对象字典里的相关数据是否发生变化,并在发生变化时,将变化的数据通过CAN总线发送至主站,实现多个从站和主站的数据同步。本发明能够全面应用于从站各种类型的数据输入输出,方便基于CANopen协议的主从站的数据同步。并且,本发明只需要修改用户定义的参数即可以实现主站和从站的数据同步,简化了CANopen的数据同步流程,提高数据同步效率。
附图说明
图1为本发明实施例1的CANopen的从站到主站的数据同步方法中PLC主模块和多个PLC扩展模块之间的拓扑示意图;
图2为本发明实施例1的CANopen的对象字典的结构示意图;
图3为本发明实施例1的CANopen的从站到主站的数据同步方法的用户变量参数表、数据同步参数表的结构示意图;
图4为本发明实施例1的CANopen的从站到主站的数据同步方法的PDO表的结构示意图;
图5为本发明实施例1的CANopen的从站到主站的数据同步方法的COB表的结构示意图;
图6为本发明实施例1的CANopen的从站到主站的数据同步方法的主从站之间的总体框架图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
请参阅图1,本实施例的CANopen的从站到主站的数据同步方法用于同步多个从站的数据至主站。其中,PLC扩展模块(从站)设置数字量输入端、数字量输出端、数字量输入输出端、模拟量输入端、模拟量输出端、模拟量输入输出端中的一种数据端口。PLC扩展1仅输入数字量,PLC扩展2仅输出数字量。PLC扩展3既输入数字量,也输出数字量。PLC扩展4仅输入模拟量,PLC扩展5仅输出模拟量。PLC扩展5既输入模拟量,也输出模拟量。PLC主模块(主站)获取PLC扩展模块1、3、4、6(具有输入功能的从站)的输入状态,同时将PLC主模块的输出信号经过CAN总线传递给PLC扩展模块2、3、5、6(具有输出功能的从站)再各自输出。
请参阅图2,对象字典是一系列数据对象的集合,被分配在内存里,对象字典被设计成由一级映射数据结构(表)、二级映射数据结构和具体的数据对象组成的数据集合。对象字典包括一级映射表,一级映射表包括分别设置多个字段的多个表项。一级映射表的每个表项中的一个字段对应一个二级映射表。二级映射表包括分别设置多个字段的多个表项,且每个二级映射表的每个表项中的一个字段对应一个字典变量或者字典结构。对象字典的这种数据组织形式,能够方便设置和查询任一个数据,寻找一个数据对象需要经过一级映射表搜寻,找到一级映射表指向的二级映射表,再由二级映射表找到具体的数据对象。
请参阅图3,定义各个PLC扩展模块的用户变量参数(用户变量参数包含了用户变量,还包含一些回调处理,索引,子索引,有效性等)以及数据同步参数,并在PLC扩展模块中新建用户变量参数表、数据同步参数表。这些用户变量参数指向的用户变量是与具体扩展模块的硬件输入输出相关的,并且称指向的变量为特定设备变量,然后要为这些特定设备变量定义对应的数据同步参数。用户变量参数表、数据同步参数表均包括分别设置多个字段的多个表项。定义PLC主模块的用户变量参数及数据同步参数,且PLC主模块的用户变量参数、数据同步参数分别对应各个PLC扩展模块的用户变量参数、数据同步参数。
将所有用户变量参数以及数据同步参数分别关联对象字典中相关的对象及映射表,这样以后操作对象字典实际上等于操作真实的设备变量了。在本实施例中,对象字典里的同步对象的数目可以经过宏添加预设的数量。
用户变量参数的索引与子索引是找到对象字典里具体的对象的两个参数,用户变量参数里指向的用户变量是设备的输入输出相关的变量,将这类变量绑定对象字典里的结构或变量,准确的说是让对象字典里相应的对象的指针指向用户定义的变量,以后操作对象字典里的这些指针其实等于操作了用户定义的与输入输出相关的变量。
将同步参数设置到对象字典里的同步配置和同步映射两部分,同步配置是同步控制的一些参数,比如超时之类的,同步映射则表示同步哪些对象,是一种映射关系(这里的映射与对象字典里的一级二级映射表是不同的,这里的映射是指与处理数据对象表相关的,处理数据对象表要找到的是需要同步的变量的一种映射),这些对象通过索引、子索引可以找到。
请参阅图4,在PLC主模块和多个PLC扩展模块中新建处理数据对象表(PDO表),开辟处理数据对象表的内存区域。由于用户变量参数设置了对象字典里相关的部分,对象字典里的同步配置和同步映射部分与PDO表直接相关的,在步骤二将用户数据同步参数设置对象字典的时候,就间接第一次设置了PDO表。处理数据对象表包括分别设置多个字段的多个表项。处理数据对象表设置多个处理参数。处理参数为超时、被同步的数据类型、大小、数量、CAN标识号、状态、模式、当前时间、上一次接收时间等参数。PDO表在进行数据同步的动态过程使用,包含需要同步的变量的映射关系。
PDO表一般有多个表项(具体多少是对象字典与PDO相关的宏申明的数量决定),每个表项是一个PDO的结构,包含了软件实现控制和同步的信息,这些信息经过初始化、设置以及中间状态的修改等,在同步过程中起到关键作用。每个表项包含一个COB参数,COB参数是设置通信对象表(COB表)相关的参数。
一个PDO表的表项最多包含8个映射参数,也就是一个PDO报文可以最多一次性同步8个数据,当然在其他实施例中也可以只同步一个数据。
请参阅图5,在PLC主模块和多个PLC扩展模块中新建通信对象表(COB表)。通信对象表包括分别设置多个字段的多个表项,每个表项中的特定字段对应一个数据结构CANMSG。处理数据对象表的每个表项的特定字段对应通信对象表的一个表项。
COB表包含了当前通信对象的状态,回调,以及一个指向对应PDO表项的指针,还包含一个与底层CAN控制器通信密切相关的数据结构CAN MSG,可以用这个数据结构设置硬件携带的CAN控制器寄存器。PDO表的每个表项的一个特定字段对应COB表的一个表项,另一个特定字段对应映射表的一个映射。
COB表起到承上启下作用,连接对应的PDO结构和具体的CAN报文。当发送报文的时候,将对应的COB表的表项对应的数据结构CAN MSG设置硬件CAN控制器,当接收到报文的时候,将报文填充对应的COB表的表项的数据结构CAN MSG结构中。
请参阅图6,PLC主模块和多个PLC扩展模块之间进行数据轮询。
因此,本实施例的CANopen的从站到主站的数据同步方法包括:
步骤S1:轮询从站的处理数据对象表的每一项。
步骤S2:判断所述对象字典里的相关数据是否发生变化,是则发送对应所述相关数据的从站的用户变量到CAN总线上,否则启动步骤S1。
步骤S3:主站通过CAN总线接收CAN报文,根据接收的CAN报文,修改与从站的用户变量参数相对应的主站的用户变量。
判断所述对象字典里的相关数据是否发生变化的方法为:在一次轮询中把所述处理数据对象表的所有表项轮询一次,并依次检查所述处理数据对象表的所有表项。根据所述处理数据对象表的每个表项找到映射字段,且所述映射字段被映射到所述对象字典里的相关对象,并确定对应的用户变量。将对应的用户变量设置到对应的数据结构CAN MSG的数据字段。判断所述数据结构CAN MSG的数据字段与所述处理数据对象表所对应的表项的拷贝是否相同,是则判定所述对象字典里的相关数据发生变化,否则判定所述对象字典里的相关数据未发生变化。
在判定所述对象字典里的相关数据发生变化后,设置所述处理数据对象表的所对应表项的状态为发送信号状态。再次依次检测所述处理数据对象表的各个表项的状态,并在检测到所述处理数据对象表的一个表项是有效的且是发送信号状态时,发送对应所述相关数据的从站的用户变量到CAN总线上。
发送对应所述相关数据的从站的用户变量到CAN总线上的方法为:将对应的从站的用户变量赋值到对应的数据结构CAN MSG的数据字段,设置所述处理数据对象表的表项中与通信相关的时间记录,并确定所述通信对象表对应的表项的结构体,将对应的数据结构CAN MSG的数据字段的内容填充至CAN硬件寄存器,并发送报文到CAN总线上。
在步骤S3中,主站的CAN控制器接收报文并将报文存储到消息区中。其中,主站在从站轮询中处理主站接收到的消息,依次处理消息区中的所有消息报文,直至处理完所有的消息报文。
主站处理消息区中的消息报文的方法为:根据CAN ID,搜索所述通信对象表的所有表项中的数据结构CAN MSG的数据片段,找到与接收的消息报文里的CAN ID一致的数据结构CAN MSG,并找到所述通信对象表对应的表项,将接收收的消息报文中的数据字段复制到对应的数据结构CAN MSG的数据字段。
综上,相较于现有的CANopen的从站到主站的数据同步方法,本实施例的CANopen的从站到主站的数据同步方法具有以下优点:
本实施例的CANopen的从站到主站的数据同步方法,通过定义主站和多个从站的用户变量参数、数据同步参数,将用户变量参数以及数据同步参数分别关联对象字典中相关的对象及映射表,新建用户变量参数表、数据同步参数表、处理数据对象表以及通信对象表并进行内部的相互对应,通过判断对象字典里的相关数据是否发生变化,并在发生变化时,将变化的数据通过CAN总线发送至主站,实现多个从站和主站的数据同步。本实施例能够全面应用于从站各种类型的的数据输入输出,方便基于CANopen协议的主从站的数据同步。并且,本实施例只需要修改用户定义的参数即可以实现主站和从站的数据同步,简化了CANopen的数据同步流程,提高数据同步效率。
实施例2
本实施例的CANopen的从站到主站的数据同步方法在实施例1的基础上还公开了一种CANopen的数据同步构建方法。
CANopen的数据同步构建方法包括:
步骤一:定义各个PLC扩展模块的用户变量参数以及数据同步参数,并在所述PLC扩展模块中新建用户变量参数表、数据同步参数表。所述用户变量参数表、所述数据同步参数表均包括分别设置多个字段的多个表项。定义所述PLC主模块的用户变量参数及数据同步参数,且所述PLC主模块的用户变量参数、数据同步参数分别对应各个PLC扩展模块的用户变量参数、数据同步参数。
步骤二:将所有用户变量参数以及数据同步参数分别关联对象字典中相关的对象及映射表。
步骤三:在所述PLC主模块和多个PLC扩展模块中新建处理数据对象表,开辟所述处理数据对象表的内存区域。所述处理数据对象表包括分别设置多个字段的多个表项。
步骤四:在所述PLC主模块和多个PLC扩展模块中新建通信对象表。所述通信对象表包括分别设置多个字段的多个表项,每个表项中的特定字段对应一个数据结构CAN MSG。所述处理数据对象表的每个表项的特定字段对应所述通信对象表的一个表项。
步骤五:所述PLC主模块和多个PLC扩展模块之间进行数据轮询。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (10)

1.一种基于CANopen的从站到主站的数据同步方法,其用于同步多个从站的数据至主站;其特征在于:分别定义多个从站的用户变量参数、数据同步参数,并定义分别与从站的用户变量参数、数据同步参数相对应的主站的用户变量参数、数据同步参数;将所有用户变量参数以及数据同步参数分别关联对象字典中相关的对象及映射表;
在主站和多个从站中新建处理数据对象表、通信对象表;所述处理数据对象表的每个表项的一个特定字段对应所述通信对象表的一个表项,另一个特定字段对应所述映射表的一个映射;
所述数据同步方法包括:
步骤S1:轮询从站的处理数据对象表的每一项;
步骤S2:判断所述对象字典里的相关数据是否发生变化,是则发送对应所述相关数据的从站的用户变量到CAN总线上,否则启动步骤S1;
步骤S3:主站通过CAN总线接收CAN报文,根据接收的CAN报文,修改与从站的用户变量参数相对应的主站的用户变量;
CANopen的从站到主站的数据同步构建时,采用的CANopen的数据同步构建方法包括:
步骤一:定义各个PLC扩展模块的用户变量参数以及数据同步参数,并在所述PLC扩展模块中新建用户变量参数表、数据同步参数表;所述用户变量参数表、所述数据同步参数表均包括分别设置多个字段的多个表项;定义PLC主模块的用户变量参数及数据同步参数,且所述PLC主模块的用户变量参数、数据同步参数分别对应各个PLC扩展模块的用户变量参数、数据同步参数;
步骤二:将所有用户变量参数以及数据同步参数分别关联对象字典中相关的对象及映射表;
步骤三:在所述PLC主模块和多个PLC扩展模块中新建处理数据对象表,开辟所述处理数据对象表的内存区域;所述处理数据对象表包括分别设置多个字段的多个表项;
步骤四:在所述PLC主模块和多个PLC扩展模块中新建通信对象表;所述通信对象表包括分别设置多个字段的多个表项,每个表项中的特定字段对应一个数据结构CAN MSG;所述处理数据对象表的每个表项的特定字段对应所述通信对象表的一个表项;
步骤五:所述PLC主模块和多个PLC扩展模块之间进行数据轮询。
2.根据权利要求1所述的基于CANopen的从站到主站的数据同步方法,其特征在于:在主站、所有从站中新建用户变量参数表、数据同步参数表;所述用户变量参数表、所述数据同步参数表均包括分别设置多个字段的多个表项;所述通信对象表包括分别设置多个字段的多个表项,每个表项中的特定字段对应一个数据结构CAN MSG,每个数据结构CAN MSG包括多个数据字段。
3.根据权利要求2所述的基于CANopen的从站到主站的数据同步方法,其特征在于:判断所述对象字典里的相关数据是否发生变化的方法为:在一次轮询中把所述处理数据对象表的所有表项轮询一次,并依次检查所述处理数据对象表的所有表项;根据所述处理数据对象表的每个表项找到映射字段,且所述映射字段被映射到所述对象字典里的相关对象,并确定对应的用户变量;将对应的用户变量设置到对应的数据结构CAN MSG的数据字段;判断所述数据结构CAN MSG的数据字段与所述处理数据对象表所对应的表项的拷贝是否相同,是则判定所述对象字典里的相关数据发生变化,否则判定所述对象字典里的相关数据未发生变化。
4.根据权利要求3所述的基于CANopen的从站到主站的数据同步方法,其特征在于:在判定所述对象字典里的相关数据发生变化后,设置所述处理数据对象表的所对应表项的状态为发送信号状态;再次依次检测所述处理数据对象表的各个表项的状态,并在检测到所述处理数据对象表的一个表项是有效的且是发送信号状态时,发送对应所述相关数据的从站的用户变量到CAN总线上。
5.根据权利要求4所述的基于CANopen的从站到主站的数据同步方法,其特征在于:发送对应所述相关数据的从站的用户变量到CAN总线上的方法为:将对应的从站的用户变量赋值到对应的数据结构CAN MSG的数据字段,设置所述处理数据对象表的表项中与通信相关的时间记录,并确定所述通信对象表对应的表项的结构体,将对应的数据结构CAN MSG的数据字段的内容填充至CAN硬件寄存器,并发送报文到CAN总线上。
6.根据权利要求1所述的基于CANopen的从站到主站的数据同步方法,其特征在于:在步骤S3中,主站的CAN控制器接收报文并将报文存储到消息区中;其中,主站在从站轮询中处理主站接收到的消息,依次处理消息区中的所有消息报文,直至处理完所有的消息报文。
7.根据权利要求6所述的基于CANopen的从站到主站的数据同步方法,其特征在于:主站处理消息区中的消息报文的方法为:根据CAN ID,搜索所述通信对象表的所有表项中的数据结构CAN MSG的数据片段,找到与接收的消息报文里的CAN ID一致的数据结构CANMSG,并找到所述通信对象表对应的表项,将接收的消息报文中的数据字段复制到对应的数据结构CAN MSG的数据字段。
8.根据权利要求1所述的基于CANopen的从站到主站的数据同步方法,其特征在于:每个从站设置数字量输入端、数字量输出端、数字量输入输出端、模拟量输入端、模拟量输出端、模拟量输入输出端中的一种数据端口。
9.根据权利要求1所述的基于CANopen的从站到主站的数据同步方法,其特征在于:所述对象字典包括一级映射表,所述一级映射表包括分别设置多个字段的多个表项;所述一级映射表的每个表项中的一个字段对应一个二级映射表;所述二级映射表包括分别设置多个字段的多个表项,且每个二级映射表的每个表项中的一个字段对应一个字典变量或者字典结构。
10.根据权利要求1所述的基于CANopen的从站到主站的数据同步方法,其特征在于:所述数据结构CAN MSG包括多个字段,且所述数据结构CAN MSG用于设置CAN控制器的寄存器;在发送报文时,通过对应的所述数据结构CAN MSG设置硬件所述CAN控制器,在接收报文时,将报文填充对应的所述数据结构CAN MSG中的结构。
CN201811303103.XA 2018-11-02 2018-11-02 一种基于CANopen的从站到主站的数据同步方法 Active CN109495236B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811303103.XA CN109495236B (zh) 2018-11-02 2018-11-02 一种基于CANopen的从站到主站的数据同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811303103.XA CN109495236B (zh) 2018-11-02 2018-11-02 一种基于CANopen的从站到主站的数据同步方法

Publications (2)

Publication Number Publication Date
CN109495236A CN109495236A (zh) 2019-03-19
CN109495236B true CN109495236B (zh) 2022-02-01

Family

ID=65693743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811303103.XA Active CN109495236B (zh) 2018-11-02 2018-11-02 一种基于CANopen的从站到主站的数据同步方法

Country Status (1)

Country Link
CN (1) CN109495236B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116436720B (zh) * 2023-03-07 2024-07-26 深圳市杰美康机电有限公司 一种EtherCAT在线向多轴写参数的方法、装置及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59201553A (ja) * 1983-04-28 1984-11-15 Mitsubishi Electric Corp デイジタル通信方法
CN101158924A (zh) * 2007-11-27 2008-04-09 北京大学 一种虚拟机管理器的动态内存映射方法
CN101222510A (zh) * 2008-01-25 2008-07-16 北京工业大学 一种实现CANopen主站的方法
CN102231679A (zh) * 2011-06-29 2011-11-02 烽火通信科技股份有限公司 网元和网管实现配置同步的方法
CN102833141A (zh) * 2012-08-23 2012-12-19 天津瑞能电气有限公司 一种基于DSP28335的CANopen从站系统
CN105511387A (zh) * 2015-11-27 2016-04-20 中工科安科技有限公司 一种plc io扩展模块及其扩展方法
CN107608272A (zh) * 2017-10-13 2018-01-19 连云港杰瑞深软科技有限公司 一种基于Powerlink的车间设备监控系统
CN108650136A (zh) * 2018-05-17 2018-10-12 中工科安科技有限公司 一种实现Powerlink工业实时以太网通讯的主/从站卡的设计方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7184753B2 (en) * 2004-01-22 2007-02-27 Research In Motion Limited Mailbox pooling pre-empting criteria
JP6701622B2 (ja) * 2015-05-07 2020-05-27 セイコーエプソン株式会社 同期計測システム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59201553A (ja) * 1983-04-28 1984-11-15 Mitsubishi Electric Corp デイジタル通信方法
CN101158924A (zh) * 2007-11-27 2008-04-09 北京大学 一种虚拟机管理器的动态内存映射方法
CN101222510A (zh) * 2008-01-25 2008-07-16 北京工业大学 一种实现CANopen主站的方法
CN102231679A (zh) * 2011-06-29 2011-11-02 烽火通信科技股份有限公司 网元和网管实现配置同步的方法
CN102833141A (zh) * 2012-08-23 2012-12-19 天津瑞能电气有限公司 一种基于DSP28335的CANopen从站系统
CN105511387A (zh) * 2015-11-27 2016-04-20 中工科安科技有限公司 一种plc io扩展模块及其扩展方法
CN107608272A (zh) * 2017-10-13 2018-01-19 连云港杰瑞深软科技有限公司 一种基于Powerlink的车间设备监控系统
CN108650136A (zh) * 2018-05-17 2018-10-12 中工科安科技有限公司 一种实现Powerlink工业实时以太网通讯的主/从站卡的设计方法

Also Published As

Publication number Publication date
CN109495236A (zh) 2019-03-19

Similar Documents

Publication Publication Date Title
CN109587215B (zh) 一种CANopen的主站到从站的数据同步方法
CN109343453B (zh) 一种CANopen的数据同步方法
CN104349464A (zh) 发送同步信号、确定载波类型的方法和设备
CN103873451A (zh) 一种数据同步的方法、设备和系统
EP1828932A1 (en) Database synchronization
CN109495236B (zh) 一种基于CANopen的从站到主站的数据同步方法
CN103178998A (zh) 一种测控数据传输方法和装置
AU2003296237A1 (en) Method and device for configuring data in communication device
CN103733543A (zh) 用于支持设备到设备服务的装置和方法
CN104868939A (zh) 一种基于蓝牙的终端间同步方法及装置
CN106021517A (zh) 网络数据导入方法、装置
CN116108094A (zh) 一种数据整合方法、装置、电子设备以及存储介质
CN104123299A (zh) 一种多终端设备间信息分享方法、装置及系统
CN108199822A (zh) 一种EtherCAT-NCUC的总线同步方法及装置
CN114297292A (zh) 一种基于canal平台的数据同步系统及执行方法
US20130241846A1 (en) Method for syncing different touching systems
CN111209652B (zh) 一种电力系统静态设备模型时序构建方法及装置
CN109788034B (zh) 用于网关接入设备的配置方法、电子设备及存储介质
CN105515839A (zh) 用于提升Radius服务性能的系统及方法
CN112699183A (zh) 数据处理方法、系统、可读存储介质及计算机设备
CN107197042A (zh) 一种资源同步方法及装置
CN101335610B (zh) 一种高端以太网交换机中的arp同步方法
CN115277707B (zh) 业务处理方法、装置、电子设备和存储介质
CN104464246A (zh) 一种远程抄表系统中的串口数据处理方法
CN113691500B (zh) 一种支持监管的跨链数据访问装置及系统

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