CN111328257B - 一种上下位机的数据同步方法及装置 - Google Patents
一种上下位机的数据同步方法及装置 Download PDFInfo
- Publication number
- CN111328257B CN111328257B CN202010163987.4A CN202010163987A CN111328257B CN 111328257 B CN111328257 B CN 111328257B CN 202010163987 A CN202010163987 A CN 202010163987A CN 111328257 B CN111328257 B CN 111328257B
- Authority
- CN
- China
- Prior art keywords
- data
- upper computer
- computer
- memory address
- structure body
- 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
Images
Classifications
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K13/00—Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
- H05K13/08—Monitoring manufacture of assemblages
- H05K13/0882—Control systems for mounting machines or assembly lines, e.g. centralized control, remote links, programming of apparatus and processes as such
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K13/00—Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
- H05K13/08—Monitoring manufacture of assemblages
Abstract
本发明公开了一种上下位机的数据同步方法及装置,该方法包括上位机接收授权人员触发的、针对贴片机的数据同步请求,该数据同步请求包括用于控制贴片机的目标数据;上位机根据数据同步请求将目标数据通过预先建立的应用层协议发送至下位机;下位机接收目标数据,并基于目标数据覆盖下位机的当前数据。可见,实施本发明通过构建的应用层协议将用于控制贴片机工作的批量数据从上位机同步到贴片机的下位机,能够实现贴片机的批量数据的同步,从而提高通信准确性,进而提高贴片机的控制效率以及准确性;以及通过将批量数据同步到下位机,能够充分利用网络带宽,从而提高数据的通信效率。
Description
技术领域
本发明涉及智能制造技术领域,尤其涉及一种上下位机的数据同步方法及装置。
背景技术
在生产线中,贴片机(又称"贴装机"或"表面贴装系统"(Surface Mount System))配置在点胶机或丝网印刷机之后,贴片机是通过移动贴装头把表面贴装元器件准确地放置PCB焊盘上的一种设备,是表面贴装技术(Surface Mount Technology,SMT)的核心装备。
在工业实际控制中,贴片机经常涉及上下位机之间的批量数据同步,为了实现批量数据同步的,目前采用的方法:基本上是靠针对性编程,实现一个一个数据的发出,和在对端收到后覆盖原来数据值。然而,实践发现,靠针对性编程的方法存在弊端,如一端修改了要同步的数据的名字或个数,另外一端就无法同步。因此,提出一种如何实现批量数据同步,从而提高通信准确性的方案显得尤为重要。
发明内容
本发明所要解决的技术问题在于,提供一种上下位机的数据同步方法及装置,能够通过构建的应用层协议将用于控制贴片机工作的批量数据从上位机同步到贴片机的下位机,能够实现贴片机的批量数据的同步,从而提高通信准确性。
为了解决上述技术问题,本发明实施例第一方面公开了一种上下位机的数据同步方法,应用于贴片机控制系统中,所述贴片机控制系统包括上位机和下位机,所述方法包括:
所述上位机接收授权人员触发的、针对贴片机的数据同步请求,所述数据同步请求包括用于控制所述贴片机的目标数据;
所述上位机根据所述数据同步请求将所述目标数据通过预先建立的应用层协议发送至所述下位机;
所述下位机接收所述目标数据,并基于所述目标数据覆盖所述下位机的当前数据。
作为一种可选的实施方式,在本发明实施例第一方面中,所述目标数据存放于已经建好的第一结构体里面,所述当前数据存放于已经建好的第二结构体里面。
作为一种可选的实施方式,在本发明实施例第一方面中,所述上位机根据所述数据同步请求获取所述第一结构体的第一内存地址以及所述第二结构体的第二内存地址;
所述上位机将所述第一内存地址转换为第一字节数组指针以及将所述第二内存地址转换为第二字节数组指针,并将所述第一字节数组指针赋值给预设的第一中间值,以及将所述第二字节数组指针赋值给预设的第二中间值,所述第一中间值和所述第二中间值均为字节指针;
所述上位机遍历所述第一结构体中所述第一中间值,并将所述目标数据从所述第一结构体同步到所述第二结构体中。
作为一种可选的实施方式,在本发明实施例第一方面中,所述上位机遍历所述第一结构体中所述第一中间值,并将所述目标数据从所述第一结构体同步到所述第二结构体中,包括:
所述上位机获取所述第一结构体中所述目标数据对应的结构体数据长度,并基于确定出的模块大小定义规则定义所述第一结构体的数据块大小;
所述上位机根据所述数据块大小以及所述结构体数据长度确定所述第一结构体的数据块个数;
所述上位机根据所述数据块个数将所述第一内存地址分成与所述数据块个数对应的内存地址段,所有所述内存地址段对应的数量与所述数据块个数相等;
所述上位机从遍历次数为0开始遍历所有所述内存地址段中不同所述内存地址段,直至所述遍历次数等于所述数据块个数-1为止,将所述目标数据从所述第一结构体同步到所述第二结构体。
作为一种可选的实施方式,在本发明实施例第一方面中,所述方法还包括:所述上位机采集针对样本贴片机的样本数据,并获取所述样本数据对应的样本字节流;
所述上位机确定所述样本字节流所需发送的帧数,并为每帧设置等长的字节长度;
所述上位机根据每帧以及所述每帧的所述字节长度填写预先建立的固件函数,完成协议的建立,并确定所述协议为预先建立的应用层协议。
本发明实施例第二方面公开了一种上下位机的数据同步装置,所述装置应用于贴片机控制系统中,所述贴片机控制系统包括上位机和下位机,其中,所述上位机包括第一接收模块以及发送模块,所述下位机包括第二接收模块以及覆盖模块,其中:
所述第一接收模块,用于接收授权人员触发的、针对贴片机的数据同步请求,所述数据同步请求包括用于控制所述贴片机的目标数据;
所述发送模块,用于根据所述数据同步请求将所述目标数据通过预先建立的应用层协议发送至所述下位机;
所述第二接收模块,用于接收所述目标数据;
所述覆盖模块,用于基于所述目标数据覆盖所述下位机的当前数据。
作为一种可选的实施方式,在本发明实施例第二方面中,所述目标数据存放于已经建好的第一结构体里面,所述当前数据存放于已经建好的第二结构体里面。
作为一种可选的实施方式,在本发明实施例第二方面中,所述发送模块包括获取子模块、转换子模块、赋值子模块以及同步子模块,其中:
所述获取子模块,用于根据所述数据同步请求获取所述第一结构体的第一内存地址以及所述第二结构体的第二内存地址;
所述转换子模块,用于将所述第一内存地址转换为第一字节数组指针以及将所述第二内存地址转换为第二字节数组指针;
所述赋值子模块,用于将所述第一字节数组指针赋值给预设的第一中间值,以及将所述第二字节数组指针赋值给预设的第二中间值,所述第一中间值和所述第二中间值均为字节指针;
所述同步子模块,用于遍历所述第一结构体中所述第一中间值,将所述目标数据从所述第一结构体同步到所述第二结构体中。
作为一种可选的实施方式,在本发明实施例第二方面中,所述同步子模块遍历所述第一结构体中所述第一中间值,并将所述目标数据从所述第一结构体同步到所述第二结构体中的方式具体为:
获取所述第一结构体中所述目标数据对应的结构体数据长度,并基于确定出的模块大小定义规则定义所述第一结构体的数据块大小;
根据所述数据块大小以及所述结构体数据长度确定所述第一结构体的数据块个数;
根据所述数据块个数将所述第一内存地址分成与所述数据块个数对应的内存地址段,所有所述内存地址段对应的数量与所述数据块个数相等;
从遍历次数为0开始遍历所有所述内存地址段中不同所述内存地址段,直至所述遍历次数等于所述数据块个数-1为止,将所述目标数据从所述第一结构体同步到所述第二结构体。
作为一种可选的实施方式,在本发明实施例第二方面中,所述上位机还包括采集模块、获取模块、确定模块、设置模块以及构建模块,其中:
所述采集模块,用于采集针对样本贴片机的样本数据;
所述获取模块,用于获取所述样本数据对应的样本字节流;
所述确定模块,用于确定所述样本字节流所需发送的帧数;
所述设置模块,用于为每帧设置等长的字节长度;
所述构建模块,用于根据每帧以及所述每帧的所述字节长度填写预先建立的固件函数,完成协议的建立;
所述确定模块,还用于确定所述协议为预先建立的应用层协议。
本发明第三方面公开了另一种上下位机的数据同步装置,该装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的一种上下位机的数据同步方法。
本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的一种上下位机的数据同步方法。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,提供了一种上下位机的数据同步方法及装置,该方法包括上位机接收授权人员触发的、针对贴片机的数据同步请求,该数据同步请求包括用于控制贴片机的目标数据;上位机根据数据同步请求将目标数据通过预先建立的应用层协议发送至下位机;下位机接收目标数据,并基于目标数据覆盖下位机的当前数据。可见,实施本发明实施例通过构建的应用层协议将用于控制贴片机工作的批量数据从上位机同步到贴片机的下位机,能够实现贴片机的批量数据的同步,从而提高通信准确性,进而提高贴片机的控制效率以及准确性;以及通过将批量数据同步到下位机,能够充分利用网络带宽,从而提高数据的通信效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种上下位机的数据同步方法的流程示意图;
图2是本发明实施例公开的一种上下位机的数据同步装置的结构示意图;
图3是本发明实施例公开的另一种上下位机的数据同步装置的结构示意图;
图4是本发明实施例公开的又一种上下位机的数据同步装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种上下位机的数据同步方法及装置,能够通过构建的应用层协议将用于控制贴片机工作的批量数据从上位机同步到贴片机的下位机,能够实现贴片机的批量数据的同步,从而提高通信准确性,进而提高贴片机的控制效率以及准确性;以及通过将批量数据同步到下位机,能够充分利用网络带宽,从而提高数据的通信效率。。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种上下位机的数据同步方法的流程示意图。其中,图1所描述的一种上下位机的数据同步方法可以应用于贴片机控制系统中,该贴片机控制系统包括上位机和下位机,其中,该贴片机(又称贴装机或表面贴装系统(SurfaceMount System))中,本发明实施例不做限定。如图1所示,该上下位机的数据同步方法可以包括以下操作:
101、上位机接收授权人员触发的、针对贴片机的数据同步请求,该数据同步请求包括用于控制贴片机的目标数据。
本发明实施例中,上位机又称主机,下位机又称从机。进一步的,从机的数量至少一个。且上位机和下位机通过CAN总线进行连接。又进一步的,该CAN总线的起止端均安装有一个预设电阻值(例如:120Ω)的终端电阻,这样能够减少在上位机与下位机通信过程中,信号回波反射,从而减少目标数据在同步过程中的干扰,进而提高目标数据的同步准确性。
本发明实施例中,当检测到授权人员在上位机的界面输入用于控制贴片机工作的目标数据,表示上位机接收到授权人员触发的、针对贴片机的数据同步请求。其中,该目标数据可以包括目标元器件的类型、目标元器件的数量、目标元器件的坐标位置、贴片速度等中数据中的至少一种,本发明实施例不做限定。其中,该目标元器件为需要使用贴片机进行贴片的元器件。
102、上位机根据数据同步请求将目标数据通过预先建立的应用层协议发送至下位机。
103、下位机接收目标数据,并基于目标数据覆盖下位机的当前数据。
本发明实施例中,目标数据存放于已经建好的第一结构体里面,当前数据存放于已经建好的第二结构体里面。进一步的,第一数据结构体对应的数据类型和第二结构体对应的数据类型相同。
本发明实施例中,作为一种可选的实施方式,上位机根据数据同步请求将目标数据通过预先建立的应用层协议发送至下位机,可以包括:
上位机根据数据同步请求获取第一结构体的第一内存地址以及第二结构体的第二内存地址;
上位机将第一内存地址转换为第一字节数组指针以及将第二内存地址转换为第二字节数组指针,并将第一字节数组指针赋值给预设的第一中间值,以及将第二字节数组指针赋值给预设的第二中间值,该第一中间值和第二中间值均为字节指针;
上位机遍历第一结构体中第一中间值,并将目标数据从第一结构体同步到第二结构体中。
可见,该可选的实施方式通过获取目标数据的结构体对应的内存地址,并遍历该内存地址,能够实现目标数据的批量同步。
在一个可选的实施例中,上位机遍历第一结构体中第一中间值,并将目标数据从第一结构体同步到第二结构体中,包括:
上位机获取第一结构体中目标数据对应的结构体数据长度,并基于确定出的模块大小定义规则定义第一结构体的数据块大小;
上位机根据数据块大小以及结构体数据长度确定第一结构体的数据块个数;
上位机根据数据块个数将第一内存地址分成与数据块个数对应的内存地址段,所内存地址段对应的数量与数据块个数相等;
上位机从遍历次数为0开始遍历所有内存地址段中不同内存地址段,直至遍历次数等于数据块个数-1为止,将目标数据从第一结构体同步到第二结构体。
可见,该可选的实施方式通过获取目标数据对应的结构体数据长度以及数据块大小,并计算目标数据的结构体的数据块个数,以及分别遍历每个数据库,能够实现目标数据的批量同步以及提供网络宽带的利用率,进而提高贴片机工作准确性以及效率。
在另一个可选的实施例中,该上下位机的数据同步方法还可以包括以下步骤:
上位机采集针对样本贴片机的样本数据,并获取样本数据对应的样本字节流;
上位机确定样本字节流所需发送的帧数,并为每帧设置等长的字节长度;
上位机根据每帧以及每帧的字节长度填写预先建立的固件函数(例如:Can_Transmit),完成协议的建立,并确定协议为预先建立的应用层协议。
该可选的实施例中,针对样本数据的相关描述请参阅上述针对目标数据的详细描述,在此不再赘述。
该可选的实施例中,上位机还获取样本数据对应的字节流个数以及样本字节流的长度。
该可选的实施例中,上位机根据每帧以及每帧的字节长度填写预先建立的固件函数(例如:Can_Transmit),完成协议的建立,具体的:从样本字节流对应的第一帧开始,基于样本字节流的长度,第一个字节流,第二个字节流…,最后一个字节流以及该第一帧对应的字节长度填写到第一帧对应的数据地址里面,直至所有帧的数据填完,完成固件函数(例如:Can_Transmit)的填写,从而完成协议的建立。
可见,该可选的实施例通过预先构建用于贴片机的数据批量同步的应用层协议,能够便于后续直接使用,从而提高贴片机的数据的批量同步效率,进而提高贴片机的工作效率。
在又一个可选的实施例中,在执行完毕步骤103之后,该上下位机的数据同步方法还可以包括以下步骤:
下位机根据目标数据生成针对贴片机的控制指令,并根据该控制指令控制该贴片机工作。
可见,该可选的实施例在下位机基于上位机发送的针对贴片机的目标数据覆盖其当前数据之后,进一步能够生成控制指令,并根据该控制指令控制贴片机工作。
在又一个可选的实施例中,该上下位机的数据同步方法还可以包括以下步骤:
在下位机根据控制指令控制贴片机工作的过程中,下位机判断是否接收到上位机发送的针对贴片机的访问请求,该访问请求用于获取贴片机的实时工作情况;
当判断出接收到上位机发送的针对贴片机的访问请求时,下位机控制与其预先建立通信的光学设备采集贴片机的实时工作情况,并将该实时工作状态反馈给上位机;
上位机接收下位机发送的实时工作情况,并分析该实时工作情况是否与贴片机的目标数据相匹配;
当不匹配时,上位机通过上述应用层协议向下位机发送针对贴片机的校正数据;
下位机接收该校正数据,并根据该校正数据生成校正指令,以及根据该校正指令校正贴片机。
该可选的实施例中,该实时工作情况包括贴片机的贴片速度、贴片坐标位置等中至少一种,该可选的实施例不做限定。
该可选的实施例中,该光学设备为任意能够采集贴片机的实时工作情况的设备,例如:摄像机,该可选的实施例不做限定。
可见,该可选的实施例通过在判断出需要校正贴片机时,对贴片机进行校正,能够保证贴片机的贴片准确性与精度,从而减少出现不良元器件贴片的情况发生。
可见,实施图1所描述的一种上下位机的数据同步方法能够通过构建的应用层协议将用于控制贴片机工作的批量数据从上位机同步到贴片机的下位机,能够实现贴片机的批量数据的同步,从而提高通信准确性,进而提高贴片机的控制效率以及准确性;以及通过将批量数据同步到下位机,能够充分利用网络带宽,从而提高数据的通信效率。
实施例二
请参阅图2,图2是本发明实施例公开的一种上下位机的数据同步装置的结构示意图。其中,图2所描述的一种上下位机的数据同步装置可以应用于贴片机控制系统中,该贴片机控制系统包括上位机和下位机,其中,该贴片机(又称贴装机或表面贴装系统(SurfaceMount System))中,本发明实施例不做限定。如图2所示,该上位机可以包括第一接收模块201以及发送模块202,该下位机可以包括第二接收模块203以及覆盖模块204,其中:
第一接收模块201,用于接收授权人员触发的、针对贴片机的数据同步请求,该数据同步请求包括用于控制贴片机的目标数据。
发送模块202,用于根据数据同步请求将目标数据通过预先建立的应用层协议发送至下位机。
第二接收模块203,用于接收目标数据。
覆盖模块204,用于基于目标数据覆盖下位机的当前数据。
本发明实施例中,该目标数据存放于已经建好的第一结构体里面,该当前数据存放于已经建好的第二结构体里面。
可见,实施图2所描述的一种上下位机的数据同步装置能够通过构建的应用层协议将用于控制贴片机工作的批量数据从上位机同步到贴片机的下位机,能够实现贴片机的批量数据的同步,从而提高通信准确性,进而提高贴片机的控制效率以及准确性;以及通过将批量数据同步到下位机,能够充分利用网络带宽,从而提高数据的通信效率。
在一个可选的实施例中,在图2所描述的上下位机的数据同步装置的结构示意图的基础上,该发送模块202包括获取子模块2021、转换子模块2022、赋值子模块2023以及同步子模块2024,此时,该上下位机的数据同步装置可以如图3所示,图3为另一种上下位机的数据同步装置的结构示意图,其中:
获取子模块2021用于获取第一结构体的第一内存地址以及第二结构体的第二内存地址。
转换子模块2022,用于将第一内存地址转换为第一字节数组指针以及将第二内存地址转换为第二字节数组指针。
赋值子模块2023,用于将第一字节数组指针赋值给预设的第一中间值,以及将第二字节数组指针赋值给预设的第二中间值。
同步子模块2024,用于遍历第一结构体中第一中间值,将目标数据从第一结构体同步到第二结构体中。
可见,实施图3所描述的一种上下位机的数据同步装置能够通过获取目标数据的结构体对应的内存地址,并遍历该内存地址,能够实现目标数据的批量同步。
在另一个可选的实施例中,如图3所示,同步子模块2024遍历第一结构体中第一中间值,并将目标数据从第一结构体同步到第二结构体中的方式具体为:
获取第一结构体中目标数据对应的结构体数据长度,并基于确定出的模块大小定义规则定义第一结构体的数据块大小;
根据数据块大小以及结构体数据长度确定第一结构体的数据块个数;
根据数据块个数将第一内存地址分成与数据块个数对应的内存地址段,所有内存地址段对应的数量与数据块个数相等;
从遍历次数为0开始遍历所有内存地址段中不同内存地址段,直至遍历次数等于数据块个数-1为止,将目标数据从第一结构体同步到第二结构体。
可见,实施图3所描述的一种上下位机的数据同步装置还能够通过获取目标数据对应的结构体数据长度以及数据块大小,并计算目标数据的结构体的数据块个数,以及分别遍历每个数据库,能够实现目标数据的批量同步以及提供网络宽带的利用率,进而提高贴片机工作准确性以及效率。
在又一个可选的实施例中,如图3所示,上位机还可以包括采集模块205、获取模块206、确定模块207、设置模块208以及构建模块209,其中:
采集模块205,用于采集针对样本贴片机的样本数据。
获取模块206,用于获取样本数据对应的样本字节流。
确定模块207,用于确定样本字节流所需发送的帧数。
设置模块208,用于为每帧设置等长的字节长度。
构建模块209,用于根据每帧以及每帧的字节长度填写预先建立的固件函数,完成协议的建立。
确定模块207,还用于确定协议为预先建立的应用层协议。
该可选的实施例中,获取模块206,还用于获取样本数据对应的字节流个数以及样本字节流的长度。
该可选的实施例中,构建模块209根据每帧以及每帧的字节长度填写预先建立的固件函数(例如:Can_Transmit),完成协议的建立,具体的:从样本字节流对应的第一帧开始,基于样本字节流的长度,第一个字节流,第二个字节流,,,最后一个字节流以及该第一帧对应的字节长度填写到第一帧对应的数据地址里面,直至所有帧的数据填完,完成固件函数(例如:Can_Transmit)的填写,从而完成协议的建立。
该可选的实施例中,当确定模块207执行完毕上述的确定协议为预先建立的应用层协议的操作之后,可以触发发送模块202执行上述的根据数据同步请求将目标数据通过预先建立的应用层协议发送至下位机的操作。
可见,实施图3所描述的一种上下位机的数据同步装置还能够通过预先构建用于贴片机的数据批量同步的应用层协议,能够便于后续直接使用,从而提高贴片机的数据的批量同步效率,进而提高贴片机的工作效率。
实施例三
请参阅图4,图4是本发明实施例公开的一种上下位机的数据同步装置。该装置应用于贴片机控制系统中,该贴片机控制系统包括上位机和下位机,其中,该贴片机(又称贴装机或表面贴装系统(Surface Mount System))中,如图4所示,该一种上下位机的数据同步装置可以包括:
存储有可执行程序代码的存储器401;
与存储器401耦合的处理器402;
处理器402调用存储器401中存储的可执行程序代码,用于执行实施例一所描述的一种上下位机的数据同步方法中的步骤。
实施例四
本发明实施例公开了一种计算机读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例一所描述的一种上下位机的数据同步方法中的步骤。
实施例五
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一所描述的一种上下位机的数据同步方法中的步骤。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种上下位机的数据同步方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (4)
1.一种上下位机的数据同步方法,其特征在于,所述方法应用于贴片机控制系统中,所述贴片机控制系统包括上位机和下位机,所述下位机的数量大于等于1,所述方法包括:
所述上位机接收授权人员触发的、针对贴片机的数据同步请求,所述数据同步请求包括用于控制所述贴片机的目标数据,所述目标数据包括目标元器件的类型、所述目标元器件的数量、所述目标元器件的坐标位置、所述目标元器件的贴片速度中的至少一种,所述目标元器件为需要使用所述贴片机进行贴片的元器件,所述目标数据存放于已经建好的第一结构体里面,当前数据存放于已经建好的第二结构体里面;
所述上位机根据所述数据同步请求将所述目标数据通过预先建立的应用层协议发送至所述下位机;
所述下位机接收所述目标数据,并基于所述目标数据覆盖所述下位机的当前数据;
其中,所述上位机和所述下位机通过CAN总线进行连接;
其中,所述上位机根据所述数据同步请求将所述目标数据通过预先建立的应用层协议发送至所述下位机,包括:
所述上位机根据所述数据同步请求获取所述第一结构体的第一内存地址以及所述第二结构体的第二内存地址;
所述上位机将所述第一内存地址转换为第一字节数组指针以及将所述第二内存地址转换为第二字节数组指针,并将所述第一字节数组指针赋值给预设的第一中间值,以及将所述第二字节数组指针赋值给预设的第二中间值,所述第一中间值和所述第二中间值均为字节指针;
所述上位机遍历所述第一结构体中所述第一中间值,并将所述目标数据从所述第一结构体同步到所述第二结构体中;
所述上位机遍历所述第一结构体中所述第一中间值,并将所述目标数据从所述第一结构体同步到所述第二结构体中,包括:
所述上位机获取所述第一结构体中所述目标数据对应的结构体数据长度,并基于确定出的模块大小定义规则定义所述第一结构体的数据块大小;
所述上位机根据所述数据块大小以及所述结构体数据长度确定所述第一结构体的数据块个数;
所述上位机根据所述数据块个数将所述第一内存地址分成与所述数据块个数对应的内存地址段,所有所述内存地址段对应的数量与所述数据块个数相等;
所述上位机从遍历次数为0开始遍历所有所述内存地址段中不同所述内存地址段,直至所述遍历次数等于所述数据块个数-1为止,将所述目标数据从所述第一结构体同步到所述第二结构体。
2.根据权利要求1所述的上下位机的数据同步方法,其特征在于,所述方法还包括:
所述上位机采集针对样本贴片机的样本数据,并获取所述样本数据对应的样本字节流;
所述上位机确定所述样本字节流所需发送的帧数,并为每帧设置等长的字节长度;
所述上位机根据每帧以及所述每帧的所述字节长度填写预先建立的固件函数,完成协议的建立,并确定所述协议为预先建立的应用层协议。
3.一种上下位机的数据同步装置,其特征在于,所述装置应用于贴片机控制系统中,所述贴片机控制系统包括上位机和下位机,所述下位机的数量大于等于1,其中,所述上位机包括第一接收模块以及发送模块,所述下位机包括第二接收模块以及覆盖模块,其中:
所述第一接收模块,用于接收授权人员触发的、针对贴片机的数据同步请求,所述数据同步请求包括用于控制所述贴片机的目标数据,所述目标数据包括目标元器件的类型、所述目标元器件的数量、所述目标元器件的坐标位置、所述目标元器件的贴片速度中的至少一种,所述目标元器件为需要使用所述贴片机进行贴片的元器件,所述目标数据存放于已经建好的第一结构体里面,当前数据存放于已经建好的第二结构体里面;
所述发送模块,用于根据所述数据同步请求将所述目标数据通过预先建立的应用层协议发送至所述下位机;
所述第二接收模块,用于接收所述目标数据;
所述覆盖模块,用于基于所述目标数据覆盖所述下位机的当前数据;
其中,所述上位机和所述下位机通过CAN总线进行连接;
所述发送模块包括获取子模块、转换子模块、赋值子模块以及同步子模块,其中:
所述获取子模块,用于根据所述数据同步请求获取所述第一结构体的第一内存地址以及所述第二结构体的第二内存地址;
所述转换子模块,用于将所述第一内存地址转换为第一字节数组指针以及将所述第二内存地址转换为第二字节数组指针;
所述赋值子模块,用于将所述第一字节数组指针赋值给预设的第一中间值,以及将所述第二字节数组指针赋值给预设的第二中间值,所述第一中间值和所述第二中间值均为字节指针;
所述同步子模块,用于遍历所述第一结构体中所述第一中间值,将所述目标数据从所述第一结构体同步到所述第二结构体中;
所述同步子模块遍历所述第一结构体中所述第一中间值,并将所述目标数据从所述第一结构体同步到所述第二结构体中的方式具体为:
获取所述第一结构体中所述目标数据对应的结构体数据长度,并基于确定出的模块大小定义规则定义所述第一结构体的数据块大小;
根据所述数据块大小以及所述结构体数据长度确定所述第一结构体的数据块个数;
根据所述数据块个数将所述第一内存地址分成与所述数据块个数对应的内存地址段,所有所述内存地址段对应的数量与所述数据块个数相等;
从遍历次数为0开始遍历所有所述内存地址段中不同所述内存地址段,直至所述遍历次数等于所述数据块个数-1为止,将所述目标数据从所述第一结构体同步到所述第二结构体。
4.根据权利要求3所述的上下位机的数据同步装置,其特征在于,所述上位机还包括采集模块、获取模块、确定模块、设置模块以及构建模块,其中:
所述采集模块,用于采集针对样本贴片机的样本数据;
所述获取模块,用于获取所述样本数据对应的样本字节流;
所述确定模块,用于确定所述样本字节流所需发送的帧数;
所述设置模块,用于为每帧设置等长的字节长度;
所述构建模块,用于根据每帧以及所述每帧的所述字节长度填写预先建立的固件函数,完成协议的建立;
所述确定模块,还用于确定所述协议为预先建立的应用层协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010163987.4A CN111328257B (zh) | 2020-03-11 | 2020-03-11 | 一种上下位机的数据同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010163987.4A CN111328257B (zh) | 2020-03-11 | 2020-03-11 | 一种上下位机的数据同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111328257A CN111328257A (zh) | 2020-06-23 |
CN111328257B true CN111328257B (zh) | 2022-03-22 |
Family
ID=71171485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010163987.4A Active CN111328257B (zh) | 2020-03-11 | 2020-03-11 | 一种上下位机的数据同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111328257B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001068326A2 (en) * | 2000-03-10 | 2001-09-20 | Meta Controls, Inc. | Smart camera for controlling an actuator |
CN1366450A (zh) * | 2001-12-20 | 2002-08-28 | 上海交通大学 | 基于can总线的贴片机控制系统 |
CN102047615A (zh) * | 2008-05-30 | 2011-05-04 | 大陆-特韦斯贸易合伙股份公司及两合公司 | 具有减少数量的连接线的串行外围接口 |
CN103401777A (zh) * | 2013-08-21 | 2013-11-20 | 中国人民解放军国防科学技术大学 | Openflow的并行查找方法和系统 |
CN104281275A (zh) * | 2014-09-17 | 2015-01-14 | 北京搜狗科技发展有限公司 | 一种英文的输入方法和装置 |
CN106292403A (zh) * | 2015-06-01 | 2017-01-04 | 南京普爱医疗设备股份有限公司 | 一种医疗设备控制系统的can通信协议 |
CN107196707A (zh) * | 2017-05-24 | 2017-09-22 | 重庆三峡学院 | 分布式光载无线‑WiFi‑ZigBee网络 |
EP3076776B1 (en) * | 2013-11-29 | 2019-10-23 | FUJI Corporation | Data update method for circuit substrate work system and circuit substrate work system |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6970990B2 (en) * | 2002-09-30 | 2005-11-29 | International Business Machines Corporation | Virtual mode virtual memory manager method and apparatus |
US8504795B2 (en) * | 2004-06-30 | 2013-08-06 | Intel Corporation | Method, system, and program for utilizing a virtualized data structure table |
CN2867813Y (zh) * | 2006-01-11 | 2007-02-07 | 广东风华高新科技股份有限公司 | 动臂式电子元件贴片机 |
CN100507826C (zh) * | 2007-01-31 | 2009-07-01 | 北京中星微电子有限公司 | 一种音频输出方法及系统 |
JP5014058B2 (ja) * | 2007-10-17 | 2012-08-29 | Juki株式会社 | 電子部品実装装置のデータ作成装置 |
JP5675013B2 (ja) * | 2010-06-10 | 2015-02-25 | 富士機械製造株式会社 | 電子回路組立方法および電子回路組立システム |
CN102186310B (zh) * | 2011-05-05 | 2013-04-10 | 深圳创维数字技术股份有限公司 | 一种定位方法及装置 |
CN104281505B (zh) * | 2013-07-03 | 2017-07-28 | 北京联想核芯科技有限公司 | 数据备份方法、装置和电子设备 |
CN103713954B (zh) * | 2013-12-25 | 2017-07-14 | 华为技术有限公司 | 一种处理器模块及电子设备 |
US9824021B2 (en) * | 2014-03-31 | 2017-11-21 | International Business Machines Corporation | Address translation structures to provide separate translations for instruction fetches and data accesses |
JP6302753B2 (ja) * | 2014-06-04 | 2018-03-28 | Juki株式会社 | 電子部品実装システム及び電子部品実装方法 |
CN104049918B (zh) * | 2014-07-03 | 2016-12-07 | 浪潮集团有限公司 | 一种双控存储服务器的缓存管理方法 |
CN104506619B (zh) * | 2014-12-22 | 2018-06-05 | 华为技术有限公司 | 一种数据备份、恢复方法及其装置、服务器 |
JP2019046836A (ja) * | 2017-08-30 | 2019-03-22 | パナソニックIpマネジメント株式会社 | 生産システムおよび生産方法ならびに生産ライン管理装置 |
CN109783395B (zh) * | 2017-11-15 | 2023-03-31 | 阿里巴巴集团控股有限公司 | 内存访问方法、交换芯片、内存模组及电子设备 |
-
2020
- 2020-03-11 CN CN202010163987.4A patent/CN111328257B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001068326A2 (en) * | 2000-03-10 | 2001-09-20 | Meta Controls, Inc. | Smart camera for controlling an actuator |
CN1366450A (zh) * | 2001-12-20 | 2002-08-28 | 上海交通大学 | 基于can总线的贴片机控制系统 |
CN102047615A (zh) * | 2008-05-30 | 2011-05-04 | 大陆-特韦斯贸易合伙股份公司及两合公司 | 具有减少数量的连接线的串行外围接口 |
CN103401777A (zh) * | 2013-08-21 | 2013-11-20 | 中国人民解放军国防科学技术大学 | Openflow的并行查找方法和系统 |
EP3076776B1 (en) * | 2013-11-29 | 2019-10-23 | FUJI Corporation | Data update method for circuit substrate work system and circuit substrate work system |
CN104281275A (zh) * | 2014-09-17 | 2015-01-14 | 北京搜狗科技发展有限公司 | 一种英文的输入方法和装置 |
CN106292403A (zh) * | 2015-06-01 | 2017-01-04 | 南京普爱医疗设备股份有限公司 | 一种医疗设备控制系统的can通信协议 |
CN107196707A (zh) * | 2017-05-24 | 2017-09-22 | 重庆三峡学院 | 分布式光载无线‑WiFi‑ZigBee网络 |
Also Published As
Publication number | Publication date |
---|---|
CN111328257A (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105024777B (zh) | 基于EtherCAT实时以太网的伺服驱动器同步方法 | |
JP6456330B2 (ja) | 工業インターネットブロードバンドフィールドバスのリアルタイム性の実現方法 | |
CN106100955B (zh) | 工业互联网现场层宽带总线数据深度检测实现方法 | |
EP3745678A1 (en) | Storage system, and method and apparatus for allocating storage resources | |
JP6355275B2 (ja) | 工業インターネット現場におけるブロードバンドバスの設定管理の実現方法 | |
CN105278413B (zh) | 上位机与同类can设备的通信方法 | |
CN105450785A (zh) | 一种文件传输方法和装置 | |
CN104320240A (zh) | 一种提供系统内全局时钟的方法和装置 | |
CN109120477A (zh) | 基于modbus协议的动态解析方法、装置、服务器及存储介质 | |
CN102033487A (zh) | 测量数据同步系统和测量数据同步方法 | |
CN111328257B (zh) | 一种上下位机的数据同步方法及装置 | |
CN105656800A (zh) | 一种传输报文的方法及装置 | |
CN104767582A (zh) | 一种以太网的同步方法、装置及系统 | |
CN110389730A (zh) | 基于虚拟显卡进行大屏显示的方法、装置及电子设备 | |
AU2021277366A1 (en) | Port status configuration method, apparatus,and system, and storage medium | |
CN102843275A (zh) | 一种带宽检测方法、装置及系统 | |
JP2006115521A (ja) | 通信システムでの同期方法、通信システム、オートメーションシステムおよびデータ伝送用のテレグラム | |
KR100390689B1 (ko) | 링버스데이터전송시스템 | |
CN115208766B (zh) | 一种cdn带宽调度方法及相关装置 | |
CN108173950B (zh) | 数据传输方法、装置、系统、图像采集设备及存储介质 | |
CN108964825A (zh) | 校时方法、校时装置和校时服务器 | |
CN109873576B (zh) | 一种分布式电机同步控制方法及装置 | |
EP4138485A1 (en) | Reference signal resource configuration method and apparatus, device, and storage medium | |
CN112003667B (zh) | 时序管理方法、设备及系统 | |
CN114499816A (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 |