CN115277295B - 控制器的通信方法及控制器 - Google Patents
控制器的通信方法及控制器 Download PDFInfo
- Publication number
- CN115277295B CN115277295B CN202210907736.1A CN202210907736A CN115277295B CN 115277295 B CN115277295 B CN 115277295B CN 202210907736 A CN202210907736 A CN 202210907736A CN 115277295 B CN115277295 B CN 115277295B
- Authority
- CN
- China
- Prior art keywords
- node address
- station
- master station
- slave
- node
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 179
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000012545 processing Methods 0.000 claims abstract description 61
- 230000004044 response Effects 0.000 claims description 37
- 238000012795 verification Methods 0.000 claims description 37
- 238000012790 confirmation Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 30
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 22
- 230000002159 abnormal effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000009977 dual effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Small-Scale Networks (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
Abstract
本发明提出一种控制器的通信方法及控制器,其中,通信方法应用于控制器,该通信方法包括:主站通过串行总线向从站发起节点地址分配处理;从站分配到节点地址;主站根据节点地址和预设阈值驱动第一主站CAN端口或第二主站CAN端口与从站建立通信。本发明提供的实施例能够提高节点地址的分配效率,降低节点地址分配错误的概率,通信时通过建立的双路通信通道实现通信分流,降低传输负荷,提高通讯速率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种控制器的通信方法及控制器。
背景技术
控制器局域网络(Controller Area Network,CAN)被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。CAN总线中要求所有从站有正确的节点地址才能实现通讯。CAN通信中使用CAN的标准数据帧,CAN的标准数据帧有格式要求。除数据部分外,另外需要44位组成完整数据帧。对于4通道模拟量模块从站,帧的数据部分至少为4字节,32bit。当假设一个数据帧为76bit时,则CAN的最高波特率为1Mbps,即1bit/us。因此,主站和从站之间发送一个数据帧的时间为76us。相关技术中,所有从站并行挂载在一个CAN总线中,从站设备配备拨码开关,使用之前需要人工设置好节点地址后,才能进行CAN通讯。如果在同一时刻有大量从站需要与主站之间传输数据,CANbus会依次传输报文,但需要大量的时间来完成所有报文的传输,大大降低数据实时性。而在工业产品的实际应用中,通过人工拨码设置地址会带来极大的不便以及错误风险,也降低了通讯的效率。因此,如何降低CAN通讯高峰时的传输负荷,提高通讯效率是一个亟待解决的问题。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明提出一种控制器的通信方法及控制器,能够提高为从站分配节点地址的效率,通过双路通信通道实现通信分流,降低传输负荷,提高通讯速率。
第一方面,本发明实施例还提供了一种控制器的通信方法,应用于控制器,所述控制器包括主站和多个从站,所述主站通过第一CAN总线和所述多个从站分别连接,所述主站通过第二CAN总线和所述多个从站分别连接,所述主站通过串行总线与所述多个从站串行连接,所述通信方法包括:
所述主站通过所述串行总线向所述从站发起节点地址分配处理;
所述从站分配到节点地址;
所述主站根据所述节点地址和预设阈值控制部分所述从站通过所述第一CAN总线通信,另一部分所述从站通过所述第二CAN总线通信。
根据本发明第一方面实施例提供的通信方法,至少具有以下的有益效果:控制器中,主站能够通过串行总线向从站发起节点地址分配处理,从站分配到节点地址,本方法自动为从站分配节点地址,提高节点地址的分配效率,降低了节点地址分配错误的概率;并在从站成功分配到节点地址后,获取多个从站的节点地址,根据节点地址和预设阈值控制部分从站通过第一CAN总线通信,另一部分从站通过第二CAN总线通信,即主站根据从站的节点地址和预设阈值建立双路通信通道,通信时通过建立的双路通信通道实现通信分流,降低传输负荷,提高通讯速率。
在本发明的一个实施例中,所述主站通过所述串行总线向所述从站发起节点地址分配处理,包括:所述主站通过所述串行总线向所述从站发送节点地址分配报文;在所述节点地址分配报文校验成功的情况下,所述从站根据所述节点地址分配报文获取节点地址;所述从站更新所述节点地址后,得到携带更新的所述节点地址的所述节点地址分配报文;在下一从站物理存在的情况下,所述从站通过所述串行总线将所述节点地址分配报文发送给所述下一从站;成功分配到所述节点地址的所述从站向所述主站发送确认报文;所述主站接收至少一个所述从站返回的确认报文;所述主站接收最后一个成功分配到所述节点地址的所述从站发送的节点分配终止报文;所述主站根据接收的所述节点分配终止报文和所述确认报文确定所述节点地址分配处理完成。
在上述技术方案中,从站通过主站发起的节点地址分配处理,依次被分配到节点地址,主站还会根据接收的从站返回的节点分配终止报文和确认报文确定节点地址分配处理完成。在实际的应用场景中,通过主站发起的节点地址分配处理为从站分配节点地址,提高了为从站分配节点地址的效率,降低了节点地址分配错误的概率。
在本发明的一个实施例中,所述从站更新所述节点地址,得到携带更新的所述节点地址的所述节点地址分配报文之后,还包括:在所述下一从站物理不存在的情况下,所述从站确定响应超时并记录响应超时次数;在所述响应超时次数大于预设次数阈值的情况下,所述从站向所述主站发送所述节点分配终止报文。
在上述的技术方案中,在下一从站物理不存在且响应超时次数大于预设次数阈值的情况下,从站向主站发送节点分配终止报文,节点地址分配异常时及时终止节点分配,保障了节点地址分配处理的效率。
在本发明的一个实施例中,所述从站通过所述串行总线将所述节点地址分配报文发送给所述下一从站之后,包括:在所述下一从站未接收到所述从站发送的所述节点地址分配报文的情况下,所述从站确定响应超时并记录响应超时次数;在所述响应超时次数小于预设次数阈值的情况下,所述从站向所述下一从站重新发送所述节点地址分配报文;或者,在所述响应超时次数大于预设次数阈值的情况下,所述从站向所述主站发送所述节点分配终止报文。
在上述的技术方案中,在下一从站未接收到节点地址分配报文且响应超时次数小于预设次数阈值的情况下,从站向下一从站重新发送节点地址分配报文;响应超时次数大于预设次数阈值的情况下,从站向主站发送节点分配终止报文,节点地址分配异常时及时终止节点分配,保障了节点地址分配处理的效率。
在本发明的一个实施例中,所述从站通过所述串行总线将所述节点地址分配报文发送给所述下一从站之后,还包括:所述下一从站接收所述从站发送的所述节点地址分配报文;所述下一从站对所述节点地址分配报文进行报文校验处理;在所述节点地址分配报文校验不成功情况下,所述下一从站向所述从站发送校验错误报文;所述从站根据所述校验错误报文获取校验次数;在所述校验次数小于预设次数阈值的情况下,所述从站根据所述校验错误报文向所述下一从站重新发送所述节点地址分配报文;或者,在所述校验次数大于预设次数阈值的情况下,所述从站向所述主站发送所述节点分配终止报文。
通过上述的技术方案,在下一从站校验节点地址分配报文不成功的情况下,若校验次数小于预设次数阈值,从站根据校验错误报文向下一从站重新发送节点地址分配报文分配;若校验次数大于预设次数阈值,从站向主站发送节点分配终止报文,节点地址分配异常时及时终止节点分配,保障了节点地址分配处理的效率。
在本发明的一个实施例中,所述主站根据所述节点分配终止报文和所述确认报文确定所述节点地址分配处理完成,包括:所述主站根据所述节点分配终止报文获取成功分配到所述节点地址的从站数量;在接收到的所述确认报文的数量与所述从站数量一致的情况下,所述主站确定所述节点地址分配处理完成。
在上述技术方案中,主站根据节点分配终止报文和确认报文确定节点地址分配处理完成,确保主站能及时获知节点地址分配处理情况,可以使工程人员及时地利用到节点地址分配处理完成的控制器,提高工程人员的工作效率。
在本发明的一个实施例中,所述主站根据所述节点地址和预设阈值驱动所述第一主站CAN端口或所述第二主站CAN端口与所述从站建立通信,包括:所述主站驱动所述第一主站CAN端口并通过所述第一CAN总线与节点地址小于或等于所述预设阈值的所述从站建立通信;所述主站驱动所述第二主站CAN端口并通过所述第二CAN总线与节点地址大于所述预设阈值的从站建立通信。
在上述技术方案中,主站驱动第一主站CAN端口并通过第一CAN总线与节点地址小于或等于预设阈值的从站建立第一路通信通道,驱动第二主站CAN端口并通过第二CAN总线与节点地址大于预设阈值的从站建立通信。主站与从站之间通过双路通信通道进行通信,实现通信分流,降低传输负荷,提高通讯速率。
在本发明的一个实施例中,所述通过所述串行总线向所述从站发起节点地址分配处理,还包括:在所述节点地址分配处理未完成的情况下,所述主站报告相应的节点分配错误信息。
在上述技术方案中,主站在节点地址分配处理未完成的情况下,报告相应的节点分配错误信息,以使得工程人员及时地对控制器进行排查,及时恢复节点地址分配处理。
在本发明的一个实施例中,所述通信方法还包括:在PLC启动并运行实时工程的情况下,所述主站获取所述PLC的CAN初始组态;所述主站通过所述串行总线向所述从站发起节点地址分配处理;所述主站通过所述第一CAN总线和所述第二CAN总线获取所述从站的类型,生成CAN扫描组态;将所述CAN初始组态与所述CAN扫描组态进行对比处理;在所述CAN初始组态与所述CAN扫描组态一致的情况下,实现CAN通信;或者,在所述CAN初始组态与所述CAN扫描组态不一致的情况下,所述主站上报组态不一致信息。
在上述技术方案中,在添加、删减或更换从站的情况下,主站能为从站重新分配节点地址,获得新的CAN扫描组态,将CAN扫描组态与CAN初始组态进行比较,在CAN扫描组态与CAN初始组态一致的情况下,实现CAN通信,能够自动实现双通道CAN通信,提高通信效率。而不一致时则上报组态不一致信息,有利于工程人员得知异常情况,及时干预以恢复CAN通信。
第二方面,本发明实施例提供了一种控制器,包括:主站和多个从站,所述主站通过第一CAN总线和所述多个从站分别连接,所述主站通过第二CAN总线和所述多个从站分别连接,所述主站通过串行总线与所述多个从站串行连接;所述主站通过所述串行总线向所述从站发起节点地址分配处理;所述从站分配到节点地址;所述主站根据所述节点地址和预设阈值控制部分所述从站通过所述第一CAN总线通信,另一部分所述从站通过所述第二CAN总线通信。
根据本发明第二方面实施例提供的控制器,至少具有以下的有益效果:控制器中,主站能够通过串行总线向从站发起节点地址分配处理,从站分配到节点地址,本方法自动为从站分配节点地址,提高节点地址的分配效率,降低了节点地址分配错误的概率;并在从站成功分配到节点地址后,获取多个从站的节点地址,根据节点地址和预设阈值控制部分从站通过第一CAN总线通信,另一部分从站通过第二CAN总线通信,即主站根据从站的节点地址和预设阈值建立双路通信通道,通信时通过建立的双路通信通道实现通信分流,降低传输负荷,提高通讯速率。
在本发明的一个实施例中,所述主站通过所述串行总线向所述从站发起节点地址分配处理,包括:所述主站通过所述串行总线向所述从站发送节点地址分配报文;在所述节点地址分配报文校验成功的情况下,所述从站根据所述节点地址分配报文获取节点地址;所述从站更新所述节点地址,得到携带更新的所述节点地址的所述节点地址分配报文;在下一从站物理存在的情况下,所述从站通过所述串行总线将所述节点地址分配报文发送给所述下一从站;成功分配到所述节点地址的所述从站向所述主站发送确认报文;所述主站接收至少一个所述从站返回的确认报文;所述主站接收最后一个成功分配到所述节点地址的所述从站发送的节点分配终止报文;所述主站根据接收的所述节点分配终止报文和所述确认报文确定所述节点地址分配处理完成。
在上述技术方案中,从站通过主站发起的节点地址分配处理,依次被分配到节点地址,主站还会根据接收的从站返回的节点分配终止报文和确认报文确定节点地址分配处理完成。在实际的应用场景中,通过主站发起的节点地址分配处理为从站分配节点地址,提高了为从站分配节点地址的效率,降低了节点地址分配错误的概率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明一实施例提供的控制器的结构示意图;
图2是本发明一实施例提供的控制器的实际连接示意图;
图3是本发明一实施例提供的通信方法的流程示意图;
图4是本发明一实施例提供的控制器的具体通讯示意图;
图5是本发明一实施例提供的图3中步骤S310的具体流程图;
图6是本发明一实施例提供的图5中步骤S580的具体流程图;
图7是本发明一实施例提供的主站通过串行通讯分配节点地址的具体流程示意图;
图8是本发明一实施例提供的控制运行装置的结构示意图;
附图标记:主站110、第一主站CAN端口111、第二主站CAN端口112、主站控制单元113、从站120、第一从站CAN端口121、第二从站CAN端口122、从站控制单元123、第一CAN总线130、高位数据线131、低位数据线132、第二CAN总线140、串行总线150、端口芯片160。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在本发明的描述中,如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
本发明提出一种控制器的通信方法及控制器,控制器中,主站能够通过串行总线向从站发起节点地址分配处理,从站分配到节点地址,主站在从站成功分配到节点地址后,获取多个从站的节点地址,根据从站的节点地址和预设阈值建立双路通信通道,通信时通过双路通信通道实现通信分流,降低传输负荷,提高通讯速率。即:主站能够自动为从站分配节点地址,提高节点地址的分配效率,以及降低节点地址分配错误的概率,并根据从站的节点地址建立双路通信通道,实现通信分流,降低传输负荷,提高通讯速率。
下面结合附图,对本发明实施例作进一步阐述。
参照图1,图1是本发明一实施例提供的控制器的结构示意图。该控制器包括:主站110、第一CAN总线130、第二CAN总线140、串行总线150和多个从站120。其中,主站110包括第一主站CAN端口111和第二主站CAN端口112;第一CAN总线130,与第一主站CAN端口111连接;第二CAN总线140,与第二主站CAN端口112连接;多个从站120,每个从站120均包括第一从站CAN端口121和第二从站CAN端口122;多个第一从站CAN端口121并行接入第一CAN总线130,多个第二从站CAN端口122并行接入第二CAN总线140;主站110还通过串行总线150与多个从站120串行连接;第一主站CAN端口111通过第一CAN总线130控制部分从站120,第二主站CAN端口122通过第二主站CAN总线140控制另一部分从站120。
在如图1所示的控制器中,主站110通过串行总线150与多个从站120串行连接,确保了主站110能够通过串行总线150向从站120发起节点地址分配处理,使得从站120能够通过主站110发起的节点地址分配处理自动分配到节点地址。在实际的应用场景中,相比于人工拨码设置地址的方式,通过主站110发起的节点地址分配处理为从站120分配节点地址的方式提高了为从站120分配节点地址的效率以及降低了节点地址分配错误的概率。且在从站120成功分配到节点地址后,主站110能够通过串行总线150获取多个从站120的节点地址,有利于主站110根据获取的从站120的节点地址和预设阈值驱动第一主站CAN端口111或第二主站CAN端口112与多个从站120建立通信,高效的节点地址分配方式在一定程度上提高了控制器中的通信速率。并且在从站120未成功分配到节点地址的情况下,主站110还能够通过串行总线150接收到从站120报告的节点分配错误信息。
在如图1所示的控制器中,主站110包括第一主站CAN端口111和第二主站CAN端口112,第一主站CAN端口111连接第一CAN总线130,第二主站CAN端口112连接第二CAN总线140,第一CAN总线130上还并行接入多个从站120的第一从站CAN端口121,第二CAN总线140上还并行接入多个从站120的第二从站CAN端口122。即控制器中,多个从站除了并行挂载在第一CAN总线130中,还并行挂载在第二CAN总线140中,而多个从站120并行挂载于两路CAN总线中,有利于主站110在获取从站120的节点地址后,驱动第一主站CAN端口111通过第一CAN总线130与节点地址小于或等于预设阈值的从站120建立通信,或者驱动第二主站CAN端口112通过第二CAN总线140与节点地址大于预设阈值的从站120建立通信,即主站110能够根据从站120的节点地址建立双路通信通道。在通讯高峰时期,例如同一时刻多个从站需要与主站之间进行数据传输的情况下,主站与从站通过建立的双路通信通道进行通信,实现通信分流,降低传输负荷,提高通讯速率。
本发明实施例的控制器中,主站110能够通过串行总线150向从站120发起节点地址分配处理,从站120分配到节点地址;在从站120成功分配到节点地址后,主站110获取多个从站120的节点地址,并根据从站120的节点地址和预设阈值建立双路通信通道,主站与从站通过建立的双路通信通道进行通信,在通讯时实现通信分流,降低传输负荷,提高通讯速率。即:能够自动为从站分配节点地址,提高节点地址的分配效率,以及降低节点地址分配错误的概率,并根据从站的节点地址建立双路通信通道,基于双路通信通道通信实现通信分流,降低传输负荷,提高通讯速率。
参照图2,图2是本发明一实施例提供的控制器的实际连接示意图。如图2所示,控制器包括:主站110、第一CAN总线130、第二CAN总线140、串行总线150和多个从站120。其中,主站110包括第一主站CAN端口111、第二主站CAN端口112和主站控制单元113,第一主站CAN端口111和第二主站CAN端口112均连接有端口芯片160;每个从站120均包括从站控制单元123、第一从站CAN端口121、第二从站CAN端口122,第一从站CAN端口121和第二从站CAN端口122均连接有端口芯片160;第一CAN总线130和第二CAN总线140均包括高位数据线131(CAN_H)和低位数据线132(CAN_L);第一主站CAN端口111与第一CAN总线130连接,多个第一从站CAN端口121并行接入第一CAN总线130;第二主站CAN端口112与第二CAN总线140连接,多个第二从站CAN端口122并行接入第二CAN总线140;主站控制单元113通过串行总线150与多个从站控制单元123串行连接,可以理解的是,主站控制单元113与从站控制单元123均可以通过串口通讯发送数据以及接收数据。
在本发明的一个实施例中,主站还包括主站控制单元113,从站120还包括从站控制单元123,主站控制单元113通过串行总线向从站控制单元123发起节点地址分配处理,从站控制单元123分配到节点地址,主站控制单元113根据节点地址和预设阈值驱动第一主站CAN端口111或第二主站CAN端口112与多个从站建立通信。主站控制单元113能够通过串行总线150向从站控制单元123发起节点地址分配处理,使得从站能够通过主站发起的节点地址分配处理自动分配到节点地址。在实际的应用场景中,相比于人工拨码设置地址的方式,通过主站发起的节点地址分配处理为从站分配节点地址的方式提高了为从站分配节点地址的效率,降低了节点地址分配错误的概率。
此外,主站控制单元113获取多个从站的节点地址后,根据节点地址和预设阈值驱动第一主站CAN端口111或第二主站CAN端口112与多个从站建立通信,即主站控制单元113通过从站的节点地址和预设阈值建立基于第一主站CAN端口111驱动的第一路通信通道,以及基于第二主站CAN端口112驱动的第二路通信通道。在多个从站在同一时刻需要与主站之间进行数据传输的情况下,主站与从站之间通过双路通信通道进行通信,实现通信分流,降低传输负荷,提高通讯速率。
在本发明的一个实施例中,主站控制单元通过串行总线向从站控制单元发起节点地址分配处理,包括:主站控制单元通过串行总线向从站控制单元发送节点地址分配报文;在节点地址分配报文校验成功的情况下,从站控制单元根据节点地址分配报文获取节点地址;从站控制单元更新节点地址,得到携带更新的节点地址的节点地址分配报文;在下一从站控制单元物理存在的情况下,从站控制单元通过串行总线将节点地址分配报文发送给下一从站控制单元;成功分配到节点地址的从站控制单元向主站控制单元发送确认报文;主站控制单元接收至少一个从站控制单元返回的确认报文;主站控制单元接收最后一个成功分配到节点地址的从站控制单元发送的节点分配终止报文;主站根据接收的节点分配终止报文和确认报文确定节点地址分配处理完成。
可以理解的是,从站通过主站发起的节点地址分配处理,依次被分配到节点地址,主站还会根据接收的从站返回的节点分配终止报文和确认报文确定节点地址分配处理完成。在实际的应用场景中,通过主站发起的节点地址分配处理为从站分配节点地址的方式提高了为从站分配节点地址的效率,降低了节点地址分配错误的概率。需要说明的是,串行总线包括串行接收线和串行发送线,在节点地址分配处理过程中,主站和从站之间通过串行接收线和串行发送线进行相关报文的发送和接收。本发明中使用串行总行进行描述,不对使用的串行接收线或串行发送线进行具体描述。
在本发明的一个实施例中,从站控制单元更新节点地址,得到携带更新的节点地址的节点地址分配报文之后,还包括:在下一从站控制单元物理不存在的情况下,从站控制单元确定响应超时并记录响应超时次数;在响应超时次数大于预设次数阈值的情况下,从站控制单元向主站控制单元发送节点分配终止报文。
可以理解的是,在下一从站物理不存在且响应超时次数大于预设次数阈值的情况下,从站向主站发送节点分配终止报文,节点地址分配异常时及时终止节点分配,保障了节点地址分配处理的效率。
在本发明一个实施例中,从站控制单元通过串行总线将节点地址分配报文发送给下一从站控制单元之后,包括:在下一从站控制单元未接收到从站制单元发送的节点地址分配报文的情况下,从站控制单元确定响应超时并记录响应超时次数;在响应超时次数小于预设次数阈值的情况下,从站控制单元向下一从站控制单元重新发送节点地址分配报文;或者,在响应超时次数大于预设次数阈值的情况下,从站控制单元向主站控制单元发送节点分配终止报文。
可以理解的是,在下一从站未接收到节点地址分配报文且响应超时次数小于预设次数阈值的情况下,从站向下一从站重新发送节点地址分配报文;响应超时次数大于预设次数阈值的情况下,从站向主站发送节点分配终止报文,节点地址分配异常时及时终止节点分配,保障了节点地址分配处理的效率。
在本发明一个实施例中,从站控制单元通过串行总线将节点地址分配报文发送给下一从站控制单元之后,包括:下一从站控制单元接收从站发送的节点地址分配报文;下一从站控制单元对节点地址分配报文进行报文校验处理;在节点地址分配报文校验不成功情况下,下一从站控制单元向从站控制单元发送校验错误报文;从站控制单元根据校验错误报文获取校验次数;在校验次数小于预设次数阈值的情况下,从站控制单元根据校验错误报文向下一从站控制单元重新发送节点地址分配报文;或者,在校验次数大于预设次数阈值的情况下,从站控制单元向主站控制单元发送节点分配终止报文。
可以理解的是,在下一从站校验节点地址分配报文不成功的情况下,若校验次数小于预设次数阈值,从站根据校验错误报文向下一从站重新发送节点地址分配报文分配;若校验次数大于预设次数阈值,从站向主站发送节点分配终止报文,节点地址分配异常时及时终止节点分配,保障了节点地址分配处理的效率。
在本发明的一个实施例中,主站控制单元113根据节点地址和预设阈值驱动第一主站CAN端口111或第二主站CAN端口112与多个从站建立通信,包括:主站控制单元113驱动第一主站CAN端口111并通过第一CAN总线130与节点地址小于或等于预设阈值的从站建立通信;驱动第二主站CAN端口112并通过第二CAN总线140与节点地址大于预设阈值的从站建立通信。主站控制单元113控制第一主站CAN端口111和第二主站CAN端口112,其中,第一主站CAN端口111连接第一CAN总线130,第二主站CAN端口112连接第二CAN总线140,第一CAN总线130上还并行接入多个从站的第一从站CAN端口121,第二CAN总线140上还并行接入多个从站的第二从站CAN端口122。即控制器中,多个从站除了并行挂载在第一CAN总线130中,还并行挂载在第二CAN总线140中,而多个从站并行挂载于两路CAN总线中,有利于主站在获取从站的节点地址后,主站控制单元113驱动第一主站CAN端口111并通过第一CAN总线130与节点地址小于或等于预设阈值的从站建立通信,驱动第二主站CAN端口112并通过第二CAN总线140与节点地址大于预设阈值的从站建立通信,即建立双路通信通道。主站控制单元113根据从站的节点地址建立双路通信通道后,在多个从站在同一时刻需要与主站之间进行数据传输的情况下,通过双路通信通道实现通信分流,降低传输负荷,提高通讯速率。
本发明实施例提供的主站和从站的处理单元均采用Arm Cortex-M23 Core,代码闪存128KB,数据闪存8KB,静态随机缓存32KB,能够使用C或者C++进行代码编写。主站的通信接口,包括5个串行通讯接口,2个串行外设接口,2个IIC总线接口核CAN模块。
参照图3,图3是本发明一实施例提供的通信方法的流程示意图,该通信方法应用于如图1所示的控制器中,本发明实施例的通信方法包括但不限于步骤S310、步骤S320和步骤S330。
步骤S310:主站通过串行总线向从站发起节点地址分配处理;
步骤S320:从站分配到节点地址;
步骤S330:主站根据节点地址和预设阈值驱动第一主站CAN端口或第二主站CAN端口与从站建立通信。
根据本发明实施例提供的步骤S310至步骤S330所示的通信方法,控制器中,主站通过串行总线向从站发起节点地址分配处理,从站能够通过主站发起的节点地址分配处理自动分配到节点地址,在实际的应用场景中,相比于人工拨码设置地址的方式,通过主站发起的节点地址分配处理为从站分配节点地址的方式提高了为从站分配节点地址的效率以及降低了节点地址分配错误的概率。高效的节点地址分配方式在一定程度上提高了控制器中的通信速率。且在从站成功分配到节点地址后,主站能够通过串行总线获取多个从站的节点地址,根据节点地址和预设阈值驱动第一主站CAN端口111或第二主站CAN端口112与多个从站建立通信,即主站通过从站的节点地址和预设阈值建立基于第一主站CAN端口111驱动的第一路通信通道,以及基于第二主站CAN端口112驱动的第二路通信通道。主站根据从站的节点地址建立双路通信通道后,通过双路通信通道实现通信分流,降低传输负荷,提高通讯速率。
在本发明的一个实施例中,步骤S330:根据节点地址和预设阈值驱动第一主站CAN端口或第二主站CAN端口与从站建立通信,包括:驱动第一主站CAN端口并通过第一CAN总线与节点地址小于或等于预设阈值的从站建立通信;驱动第二主站CAN端口并通过第二CAN总线与节点地址大于预设阈值的从站建立通信。
可以理解的是,主站接收到从站的节点地址后,需对从站的节点地址进行判断,根据判断的结果确定通过第一主站CAN端口或第二主站CAN端口与从站建立通信。具体地,判断节点地址小于或等于预设阈值的情况下,驱动第一主站CAN端口并通过第一CAN总线与节点地址小于或等于预设阈值的从站建立通信;判断节点地址大于预设阈值的情况下,驱动第二主站CAN端口并通过第二CAN总线与节点地址大于预设阈值的从站建立通信。即主站控制单元驱动第一主站CAN端口并通过第一CAN总线与节点地址小于或等于预设阈值的从站建立第一路通信通道,驱动第二主站CAN端口并通过第二CAN总线与节点地址大于预设阈值的从站建立通信,主站与从站之间通过双路通信通道进行通信,实现通信分流,降低传输负荷,提高通讯速率。
通过步骤S310至步骤S330后,可以建立如图4所示的控制器的具体通讯示意图。如图4所示,控制器中,主站110通过串行总线150与32个从站120串行连接,第一个从站120被分配的节点地址为1,第二个从站120被分配的节点地址为2,以此类推,32个从站120都已被分配了相应的节点地址。主站包括第一主站CAN端口和第二主站CAN端口112,主站CAN端口用于应用报文和广播报文的通讯。第一主站CAN端口111通过第一CAN总线130与节点地址小于或等于16的从站120建立通信,第二主站CAN端口112通过第二CAN总线140与节点地址大于16的从站120建立通信。在同一时刻需要与主站110通信的从站120的数量超过16个时,则主站110通过第一主站CAN端口111与节点地址小于或等于16的从站120通信,通过第二主站CAN端口112与节点地址大于16的从站120通信,主站110与从站120之间通过双路通信通道进行通信实现通信分流,降低传输负荷,提高通讯速率。在本发明的一个实施例中,预设阈值为16,即主站驱动第一主站CAN端口111通过第一CAN总线130最多与16个从站建立通信,同样地,主站驱动第二主站CAN端口112通过第二CAN总线140最多与16个从站建立通信,也就是说,双CAN通信系统中从站上限总数量为32个。在双CAN通信系统中从站的数量小于或等于16个的情况下,此时主站仅驱动第一主站CAN端口111通过第一CAN总线130与从站建立通信,此时不驱动第二主站CAN端口112;而在双CAN通信系统中从站的数量大于16个的情况下,第一主站CAN端口111和第二主站CAN端口112都将被主站驱动,具体地,主站则根据从站的节点地址选择驱动第一主站CAN端口111或第二主站CAN端口112与从站建立通信。本发明不对双CAN通信系统中的多个从站的实际数量做具体的限制。
参照图5,图5是本发明一实施例提供的图3中步骤S310的具体流程图,步骤S310:主站通过串行总线向从站发起节点地址分配处理,包括但不限于有步骤S510至步骤S580。
步骤S510:主站通过串行总线向从站发送节点地址分配报文;
步骤S520:在节点地址分配报文校验成功的情况下,从站根据节点地址分配报文获取节点地址;
步骤S530:从站更新节点地址,得到携带更新的节点地址的节点地址分配报文;
步骤S540:在下一从站物理存在的情况下,从站通过串行总线将节点地址分配报文发送给下一从站;
步骤S550:成功分配到节点地址的从站向主站发送确认报文;
步骤S560:主站接收至少一个从站返回的确认报文;
步骤S570:主站接收最后一个成功分配到节点地址的从站发送的节点分配终止报文;
步骤S580:主站根据接收的节点分配终止报文和确认报文确定节点地址分配处理完成。
根据本发明实施例提供的步骤S510至步骤S580所示的通信方法,主站通过串行总线向从站发送节点地址分配报文,在节点地址分配报文校验成功的情况下,从站根据节点地址分配报文获取节点地址,而后从站更新节点地址,得到携带更新的节点地址的节点地址分配报文,在下一从站物理存在的情况下,从站将该节点地址分配报文发送给下一从站;而后主站接收至少一个从站返回的确认报文,其中,确认报文表征从站校验节点地址分配报文成功并分配到节点地址;主站接收到最后一个成功分配到节点地址的从站发送的节点分配终止报文,节点分配终止报文表征下一从站物理不存在或者下一从站校验节点地址分配报文失败,最后主站根据节点分配终止报文和确认报文确定节点地址分配处理完成。
在本发明的一个实施例中,步骤S530:从站更新节点地址,得到携带更新的节点地址的节点地址分配报文之后,还包括:
在下一从站物理不存在的情况下,从站确定响应超时并记录响应超时次数;
在响应超时次数大于预设次数阈值的情况下,从站向主站发送节点分配终止报文。
可以理解的是,在下一从站物理不存在且响应超时次数大于预设次数阈值的情况下,从站向主站发送节点分配终止报文,节点地址分配异常时及时终止节点分配,保障了节点地址分配处理的效率。
在本发明的一个实施例中,步骤S540:在下一从站物理存在的情况下,从站通过串行总线将节点地址分配报文发送给下一从站之后,包括:
在下一从站未接收到从站发送的节点地址分配报文的情况下,从站确定响应超时并记录响应超时次数;
在响应超时次数小于预设次数阈值的情况下,从站向下一从站重新发送节点地址分配报文;
或者,在响应超时次数大于预设次数阈值的情况下,从站向主站发送节点分配终止报文。
可以理解的是,在下一从站未接收到节点地址分配报文且响应超时次数小于预设次数阈值的情况下,从站向下一从站重新发送节点地址分配报文;响应超时次数大于预设次数阈值的情况下,从站向主站发送节点分配终止报文,节点地址分配异常时及时终止节点分配,保障了节点地址分配处理的效率。
在本发明的一个实施例中,步骤S540:在下一从站物理存在的情况下,从站通过串行总线将节点地址分配报文发送给下一从站之后,还包括:
下一从站接收从站发送的节点地址分配报文;
下一从站对节点地址分配报文进行报文校验处理;
在节点地址分配报文校验不成功情况下,下一从站向从站发送校验错误报文;
从站根据校验错误报文获取校验次数;
在校验次数小于预设次数阈值的情况下,从站根据校验错误报文向下一从站重新发送节点地址分配报文;
或者,在校验次数大于预设次数阈值的情况下,从站向主站发送节点分配终止报文。
可以理解的是,在下一从站校验节点地址分配报文不成功的情况下,若校验次数小于预设次数阈值,从站根据校验错误报文向下一从站重新发送节点地址分配报文分配;若校验次数大于预设次数阈值,从站向主站发送节点分配终止报文,节点地址分配异常时及时终止节点分配,保障了节点地址分配处理的效率。
具体地,首先,主站通过串行总线向首个从站发送节点地址分配报文,节点地址分配报文中携带有分配给首个从站的节点地址。首个从站通过串行总线接收到节点地址分配报文,将校验节点地址分配报文,在校验成功的情况下从节点地址分配报文中获取节点地址,并向主站返回确认报文以通知主站:本从站已确认分配到节点地址;而后首个从站更新节点地址:将节点地址加1,在下一个从站物理存在的情况下,将携带有更新的节点地址的节点地址分配报文通过串行总线发送给下一个从站,下一个从站所执行的操作与首个从站相同。在下一从站成功分配到节点地址的情况下,下一从站发送的确认报文将依次通过之前的从站传递回主站。以此类推,此后的每一个从站都将执行相同的操作。某一从站在成功分配到节点后,在检测到下一从站物理不存在或是下一从站校验节点地址分配报文失败的情况下,该从站作为最后一个成功分配到节点地址的从站将发送节点分配终止报文,该节点分配终止报文将依次通过之前的从站传递回主站,以通知主站:节点分配终止。主站接收到最后一个成功分配到节点地址的从站发送的节点分配终止报文后,根据节点分配终止报文和每一个成功分配到节点地址返回的确认报文确定节点地址分配处理完成。
通过上述的方法,从站通过主站发起的节点地址分配处理,依次被分配到节点地址,主站还会根据接收的从站返回的节点分配终止报文和确认报文确定节点地址分配处理完成。在实际的应用场景中,通过主站发起的节点地址分配处理为从站分配节点地址的方式提高了为从站分配节点地址的效率,降低了节点地址分配错误的概率。
参照图6,图6是本发明一实施例提供的图5中步骤S580的具体流程图,步骤S580:主站根据节点分配终止报文和确认报文确定节点地址分配处理完成,包括但不限于有步骤S610和步骤S620。
步骤S610:主站根据节点分配终止报文获取成功分配到节点地址的从站数量;
步骤S620:在接收到的确认报文的数量与从站数量一致的情况下,主站确定节点地址分配处理完成。
根据本发明实施例提供的步骤S610至步骤S620所示的通信方法,主站根据节点分配终止报文获取成功分配到节点地址的从站数量,可以理解的是,实际的控制器具有的从站的总数量是有上限值的,因此控制器中成功分配到节点地址的从站数量不应当大于从站总数量上限值。因此主站需要将成功分配到节点地址的从站数量与从站总数量上限值进行对比判断,在判断成功分配到节点地址的从站数量小于或等于从站总数量上限值的情况下,主站继续确认接收到的确认报文的数量与从站数量是否一致,在主站接收到的确认报文的数量与从站数量一致的情况下,确定节点地址分配处理完成。主站根据节点分配终止报文和确认报文确定节点地址分配处理完成,确保主站能及时获知节点地址分配处理情况,可以使工程人员及时地利用到节点地址分配处理完成的控制器,提高工程人员的工作效率。
在本发明的一个实施例中,步骤S310:通过串行总线向从站发起节点地址分配处理,还包括:在节点地址分配处理未完成的情况下,报告相应的节点分配错误信息。主站在节点地址分配处理未完成的情况下,报告相应的节点分配错误信息,以使得工程人员及时地对控制器进行排查,及时恢复节点地址分配处理。具体地,主站在一定时间阈值内未接受到从站返回的节点分配终止报文的情况下,将报告超时错误;主站在接收到从站返回的节点分配终止报文后,从节点分配终止报文中获取成功分配到节点地址的从站数量,在成功分配到节点地址的从站数量超过从站总数量上限值的情况下,主站将报告从站数量超出错误;在成功分配到节点地址的从站数量小于或等于从站总数量上限值,且主站接收到的确认报文的数量与从站数量不一致的情况下,主站将报告某从站通讯错误。
参照图7,图7是本发明一实施例提供的主站通过串行通讯分配节点地址的具体流程示意图。如图7所示,实际的节点地址分配处理中,主站发起的节点地址分配报文用16进制字符0xAA表示,节点地址分配报文内初始i=0,节点地址分配报文还包括CRC校验位。用“0xAA,i+1,CRC”表示节点地址分配报文。同理,用“0xBB,i+1,CRC”表示确认报文,用“0xEE,i+1,CRC”表示校验错误报文,用“0xFF,i+1,CRC”表示节点分配终止报文。主站开始通过串行通讯分配节点地址,主站向1号从站发送节点地址分配报文“0xAA,i+1,CRC”,1号从站收到节点地址分配报文并检查校验正确后将1写入自身的存储器中作为节点地址,同时向主站回传确认报文“0xBB,i+1,CRC”。而后1号从站会将节点地址分配报文中的i+1,通过串口向2号从站发送节点地址分配报文,以此类推直到最后一个从站。每一个从站的确认报文都会通过其之前的从站传递回主站中。
当第i从站向第i+1从站发送节点地址分配报文,在主站判断第i+1从站物理不存在的情况下,或者在第i+1从站接收第i从站发送的报文但第i从站未接收到第i+1从站的反馈并响应超时的情况下,或者第i从站接收到第i从站发送的校验错误报文的情况下,第i从站将尝试重新向第i从站发送节点地址分配报文,如果尝试次数达到3次,则第i从站将终止发送节点地址分配报文,并向其前一从站发送节点分配终止报文,节点分配终止报文包含了当前i的值,该i值则表示成功分配节点地址的从站数量。该节点分配终止报文将通过第i从站之前的从站依次传递回主站中。
当主站长时间未接收到节点分配终止报文,则会报告超时错误;当主站接收到节点分配终止报文,并从节点分配终止报文中获取表示成功分配节点地址的从站数量的i值后,在成功分配到节点地址的从站数量超过从站总数量上限值的情况下,主站将报告从站数量超出错误;在主站确认成功分配到节点地址的从站数量i值小于或等于从站总数量上限值,且主站接收到的确认报文的数量与从站数量i值不一致的情况下,即主站未接收到第1从站至第i从站的全部确认报文的情况下,主站将报告某从站通讯错误;而在主站确认成功分配到节点地址的从站数量小于或等于从站总数量上限值,且主站接收到的确认报文的数量与从站数量i值一致的情况下,主站报告节点地址分配处理完成。
在本发明的一个实施例中,通信方法还包括:在PLC启动并运行实时工程的情况下,主站获取PLC的CAN初始组态;主站通过串行总线向从站发起节点地址分配处理;主站通过第一CAN总线和第二CAN总线获取从站的类型,生成CAN扫描组态;将CAN初始组态与CAN扫描组态进行对比处理;在CAN初始组态与CAN扫描组态一致的情况下,实现CAN通信;或者,在CAN初始组态与CAN扫描组态不一致的情况下,主站上报组态不一致信息。
可以理解的是,在添加、删减或更换从站的情况下,主站能为从站重新分配节点地址,获得新的CAN扫描组态,将CAN扫描组态与CAN初始组态进行比较,在CAN扫描组态与CAN初始组态一致的情况下,实现CAN通信,能够自动实现双通道CAN通信,提高通信效率。而不一致时则上报组态不一致信息,有利于工程人员得知异常情况,及时干预以恢复CAN通信。
图8是本发明一实施例提供的控制运行装置的结构示意图。控制运行装置800包括:存储器810、处理器820及存储在存储器810上并可在处理器820上运行的计算机程序,计算机程序运行时用于执行上述的通信方法。
处理器820和存储器810可以通过总线或者其他方式连接。
存储器810作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本发明实施例描述的通信方法。处理器820通过运行存储在存储器810中的非暂态软件程序以及指令,从而实现上述的通信方法。存储器810可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述的通信方法。此外,存储器810可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个储存设备存储器件、闪存器件或其他非暂态固态存储器件。在一些实施方式中,存储器810可选包括相对于处理器820远程设置的存储器810,这些远程存储器810可以通过网络连接至该控制运行装置800。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述的通信方法所需的非暂态软件程序以及指令存储在存储器810中,当被一个或者多个处理器820执行时,执行上述的通信方法,例如,执行图3中的方法步骤S310至步骤S330,图5中的方法步骤S510至步骤S580和图6中的方法步骤S610至步骤S620。
本发明实施例还提供了一种主站,该主站包括图8所示的运行控制装置。该主站通过串行总线向从站发起节点地址分配处理;获取从站的节点地址;根据节点地址和预设阈值驱动第一主站CAN端口或第二主站CAN端口与从站建立通信。本发明提供的实施例能够提高节点地址的分配效率,降低节点地址分配错误的概率,通信时通过建立的双路通信通道实现通信分流,降低传输负荷,提高通讯速率。
本发明实施例还提供了计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行上述的通信方法。可以理解,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被上述控制运行装置800中的一个处理器820执行,可使得上述处理器820执行上述的通信方法,例如,执行图3中的方法步骤S310至步骤S330,图5中的方法步骤S510至步骤S580和图6中的方法步骤S610至步骤S620。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、储存设备存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包括计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本发明权利要求所限定的范围内。
Claims (10)
1.一种控制器的通信方法,其特征在于,应用于控制器,所述控制器包括主站和多个从站,所述主站通过第一CAN总线和所述多个从站分别连接,所述主站通过第二CAN总线和所述多个从站分别连接,所述主站通过串行总线与所述多个从站串行连接,所述通信方法包括:
所述主站通过所述串行总线向所述从站发起节点地址分配处理;
所述从站分配到节点地址;
所述主站根据所述节点地址和预设阈值控制部分所述从站通过所述第一CAN总线通信,另一部分所述从站通过所述第二CAN总线通信;
其中,所述主站根据所述节点地址和预设阈值控制部分所述从站通过所述第一CAN总线通信,另一部分所述从站通过所述第二CAN总线通信,包括:
所述主站驱动第一主站CAN端口,通过所述第一CAN总线与节点地址小于或等于所述预设阈值的所述从站建立通信;
所述主站驱动第二主站CAN端口,通过所述第二CAN总线与节点地址大于所述预设阈值的所述从站建立通信。
2.根据权利要求1所述的通信方法,其特征在于,所述主站通过所述串行总线向所述从站发起节点地址分配处理,包括:
所述主站通过所述串行总线向所述从站发送节点地址分配报文;
在所述节点地址分配报文校验成功的情况下,所述从站根据所述节点地址分配报文获取节点地址;
所述从站更新所述节点地址,得到携带更新的所述节点地址的所述节点地址分配报文;
在下一从站物理存在的情况下,所述从站通过所述串行总线将所述节点地址分配报文发送给所述下一从站;
成功分配到所述节点地址的所述从站向所述主站发送确认报文;
所述主站接收至少一个所述从站返回的确认报文;
所述主站接收最后一个成功分配到所述节点地址的所述从站发送的节点分配终止报文;
所述主站根据接收的所述节点分配终止报文和所述确认报文确定所述节点地址分配处理完成。
3.根据权利要求2所述的通信方法,其特征在于,所述从站更新所述节点地址,得到携带更新的所述节点地址的所述节点地址分配报文之后,还包括:
在所述下一从站物理不存在的情况下,所述从站确定响应超时并记录响应超时次数;
在所述响应超时次数大于预设次数阈值的情况下,所述从站向所述主站发送所述节点分配终止报文。
4.根据权利要求2所述的通信方法,其特征在于,所述从站通过所述串行总线将所述节点地址分配报文发送给所述下一从站之后,包括:
在所述下一从站未接收到所述从站发送的所述节点地址分配报文的情况下,所述从站确定响应超时并记录响应超时次数;
在所述响应超时次数小于预设次数阈值的情况下,所述从站向所述下一从站重新发送所述节点地址分配报文;
或者,在所述响应超时次数大于预设次数阈值的情况下,所述从站向所述主站发送所述节点分配终止报文。
5.根据权利要求2所述的通信方法,其特征在于,所述从站通过所述串行总线将所述节点地址分配报文发送给所述下一从站之后,还包括:
所述下一从站接收所述从站发送的所述节点地址分配报文;
所述下一从站对所述节点地址分配报文进行报文校验处理;
在所述节点地址分配报文校验不成功情况下,所述下一从站向所述从站发送校验错误报文;
所述从站根据所述校验错误报文获取校验次数;
在所述校验次数小于预设次数阈值的情况下,所述从站根据所述校验错误报文向所述下一从站重新发送所述节点地址分配报文;
或者,在所述校验次数大于预设次数阈值的情况下,所述从站向所述主站发送所述节点分配终止报文。
6.根据权利要求2所述的通信方法,其特征在于,所述主站根据所述节点分配终止报文和所述确认报文确定所述节点地址分配处理完成,包括:
所述主站根据所述节点分配终止报文获取成功分配到所述节点地址的从站数量;
在接收到的所述确认报文的数量与所述从站数量一致的情况下,所述主站确定所述节点地址分配处理完成。
7.根据权利要求1所述的通信方法,其特征在于,所述通过所述串行总线向所述从站发起节点地址分配处理,还包括:
在所述节点地址分配处理未完成的情况下,所述主站报告相应的节点分配错误信息。
8.根据权利要求1所述的通信方法,其特征在于,所述通信方法还包括:
在PLC启动并运行实时工程的情况下,所述主站获取CAN初始组态;
所述主站通过所述串行总线向所述从站发起节点地址分配处理;
所述主站通过所述第一CAN总线和所述第二CAN总线获取所述从站的类型,生成CAN扫描组态;
将所述CAN初始组态与所述CAN扫描组态进行对比处理;
在所述CAN初始组态与所述CAN扫描组态一致的情况下,实现CAN通信;
或者,在所述CAN初始组态与所述CAN扫描组态不一致的情况下,所述主站上报组态不一致信息。
9.一种控制器,其特征在于,包括:主站和多个从站,所述主站通过第一CAN总线和所述多个从站分别连接,所述主站通过第二CAN总线和所述多个从站分别连接,所述主站通过串行总线与所述多个从站串行连接;
所述主站通过所述串行总线向所述从站发起节点地址分配处理;
所述从站分配到节点地址;
所述主站根据所述节点地址和预设阈值控制部分所述从站通过所述第一CAN总线通信,另一部分所述从站通过所述第二CAN总线通信;
其中,所述主站根据所述节点地址和预设阈值控制部分所述从站通过所述第一CAN总线通信,另一部分所述从站通过所述第二CAN总线通信,包括:
所述主站驱动第一主站CAN端口,通过所述第一CAN总线与节点地址小于或等于所述预设阈值的所述从站建立通信;
所述主站驱动第二主站CAN端口,通过所述第二CAN总线与节点地址大于所述预设阈值的所述从站建立通信。
10.根据权利要求9所述的控制器,其特征在于,所述主站通过所述串行总线向所述从站发起节点地址分配处理,包括:
所述主站通过所述串行总线向所述从站发送节点地址分配报文;
在所述节点地址分配报文校验成功的情况下,所述从站根据所述节点地址分配报文获取节点地址;
所述从站更新所述节点地址,得到携带更新的所述节点地址的所述节点地址分配报文;
在下一从站物理存在的情况下,所述从站通过所述串行总线将所述节点地址分配报文发送给所述下一从站;
成功分配到所述节点地址的所述从站向所述主站发送确认报文;
所述主站接收至少一个所述从站返回的确认报文;
所述主站接收最后一个成功分配到所述节点地址的所述从站发送的节点分配终止报文;
所述主站根据接收的所述节点分配终止报文和所述确认报文确定所述节点地址分配处理完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210907736.1A CN115277295B (zh) | 2022-07-29 | 2022-07-29 | 控制器的通信方法及控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210907736.1A CN115277295B (zh) | 2022-07-29 | 2022-07-29 | 控制器的通信方法及控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115277295A CN115277295A (zh) | 2022-11-01 |
CN115277295B true CN115277295B (zh) | 2023-12-19 |
Family
ID=83771767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210907736.1A Active CN115277295B (zh) | 2022-07-29 | 2022-07-29 | 控制器的通信方法及控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115277295B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0589499A1 (en) * | 1992-08-12 | 1994-03-30 | Koninklijke Philips Electronics N.V. | A multistation communication bus system, and a master station and a slave station for use in such system |
CN1674593A (zh) * | 2005-04-01 | 2005-09-28 | 南京邮电学院 | 一种基于主从通信模式的地址自动分配设置方法 |
CN106878488A (zh) * | 2017-04-29 | 2017-06-20 | 成都工鼎科技有限公司 | 一种Modbus RTU总线地址自动分配方法 |
CN111131533A (zh) * | 2019-11-29 | 2020-05-08 | 中煤科工集团重庆研究院有限公司 | 串行通信系统地址自动分配方法 |
CN111262765A (zh) * | 2020-01-15 | 2020-06-09 | 浙江中控研究院有限公司 | 一种基于冗余blvds总线的通信系统及方法 |
CN112929249A (zh) * | 2019-12-05 | 2021-06-08 | 深圳市凯弦欣能科技有限公司 | Rs-485总线多机通信地址自动分配方法、装置和系统 |
CN114401250A (zh) * | 2021-12-27 | 2022-04-26 | 中国电信股份有限公司 | 一种地址分配的方法及装置 |
CN114500151A (zh) * | 2022-01-19 | 2022-05-13 | 南京科远智慧科技集团股份有限公司 | 一种基于can总线的运动控制通讯系统及通讯方法 |
CN114531423A (zh) * | 2021-12-28 | 2022-05-24 | 上海安浦鸣志自动化设备有限公司 | 一种节点地址分配方法、存储介质及总线网络 |
-
2022
- 2022-07-29 CN CN202210907736.1A patent/CN115277295B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0589499A1 (en) * | 1992-08-12 | 1994-03-30 | Koninklijke Philips Electronics N.V. | A multistation communication bus system, and a master station and a slave station for use in such system |
CN1674593A (zh) * | 2005-04-01 | 2005-09-28 | 南京邮电学院 | 一种基于主从通信模式的地址自动分配设置方法 |
CN106878488A (zh) * | 2017-04-29 | 2017-06-20 | 成都工鼎科技有限公司 | 一种Modbus RTU总线地址自动分配方法 |
CN111131533A (zh) * | 2019-11-29 | 2020-05-08 | 中煤科工集团重庆研究院有限公司 | 串行通信系统地址自动分配方法 |
CN112929249A (zh) * | 2019-12-05 | 2021-06-08 | 深圳市凯弦欣能科技有限公司 | Rs-485总线多机通信地址自动分配方法、装置和系统 |
CN111262765A (zh) * | 2020-01-15 | 2020-06-09 | 浙江中控研究院有限公司 | 一种基于冗余blvds总线的通信系统及方法 |
CN114401250A (zh) * | 2021-12-27 | 2022-04-26 | 中国电信股份有限公司 | 一种地址分配的方法及装置 |
CN114531423A (zh) * | 2021-12-28 | 2022-05-24 | 上海安浦鸣志自动化设备有限公司 | 一种节点地址分配方法、存储介质及总线网络 |
CN114500151A (zh) * | 2022-01-19 | 2022-05-13 | 南京科远智慧科技集团股份有限公司 | 一种基于can总线的运动控制通讯系统及通讯方法 |
Non-Patent Citations (1)
Title |
---|
CAN总线应用层通信协议的设计与实现;辉亚男;冷文浩;刘培林;;计算机工程与设计(第03期);第155-157页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115277295A (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1846371B (zh) | 用于中继器辅助通信的方法与装置 | |
US8837423B2 (en) | Apparatus and method for transmitting/receiving data in a communication system | |
CN102090083B (zh) | 多组频分双工无线网络的组交换过程的恢复机制 | |
CN102742339B (zh) | 基于竞争的上行链路数据传输方法、设备和系统 | |
GB2287383A (en) | Notification by energy burst of messages with unacceptable quality | |
EP2557741B1 (en) | Method and apparatus for sending / receiving downlink control signaling | |
CN113132063B (zh) | 一种物理层重传控制方法 | |
CN101651529A (zh) | 一种数据重传方法、装置及系统 | |
CN102111250A (zh) | 数据传输的方法和网络侧设备 | |
CN1260658A (zh) | 无线通信系统中分配无线资源的方法 | |
CN111224837B (zh) | 自动识别车辆ecu的can通信波特率的方法及其系统 | |
CN103973414A (zh) | 一种数据传输方法及装置 | |
CN105338129A (zh) | 自动分址方法、显示终端和模块终端 | |
CN106060962B (zh) | 一种通信方法及装置 | |
CN115277295B (zh) | 控制器的通信方法及控制器 | |
CN112395237A (zh) | 一种至少两个控制器之间通信的方法及其系统 | |
CN111835465B (zh) | 一种Lora网络通信方法、Lora节点及Lora网络通信系统 | |
CN106464449A (zh) | 一种信息传输方法及设备 | |
CN115334483A (zh) | 一种基于短距离无线通讯的数据交互方法 | |
CN112767722B (zh) | 交通信号机的控制方法、装置、计算机设备和存储介质 | |
CN104298630A (zh) | 基于串行外设接口的通信方法、装置和设备 | |
CN103516472A (zh) | 一种上行数据传输方法及通信设备、移动台 | |
CN108243459A (zh) | 一种重连小区方法及装置 | |
CN102714860B (zh) | 基于竞争的数据传输 | |
CN116033039B (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 |