本发明涉及数控机床控制,尤其涉及一种数控机床自主获取程序方法。
背景技术:
1、在柔性制造的需求下,机床需要根据生产需求随时、快速地调整更新机床内的生产程序,保证快速、准确、安全地把程序发放到机床中,使得机床能够按照新的生产程序进行生产。随着传统机床数控化的发展,目前已经形成了多种程序发放方式,dnc(distributed numerical control,数控设备联网管理)系统联网赋予了数控设备全新的生命。它打破了传统的生产模式,允许远程监控和管理,使得生产线能够根据实时数据动态调整,大大提高了生产的灵活性和响应速度。同时,通过云计算技术,dnc设备可以共享资源,优化工作流程,实现协同制造,降低生产成本。
2、在智能制造系统中,dnc系统虽然被称为分布式数控,但实际上,整个程序分发还是依赖dnc服务器这个集中式的部件。所有的数控机床都需要从dnc服务器中获取程序,一旦dnc服务器宕机,则无法发放程序,那么整个生产工厂将难以运行。因此,有必要提升dnc服务器的可靠性。同时,随着数控机床数量的增多和柔性制造的发展,以及订单的变化,需要经常调整数控机床的生产程序,一台dnc服务器已经无法满足生产的诉求,如果多台dnc服务器可以组成真正的分布式的系统,则不仅可以实现弹性扩展,还可以极大的提升dnc服务器的可靠性。过去,由于传统数控机床属于非智能设备,设备计算能力和存储的空间都非常有限,有的甚至连一个完成的程序都无法存储,但是随着计算机的普及,很少的代价就可以给数控机床外带一个非常强大的计算部件,从而使得构建分布式系统成为可能。
3、因此,如何利用dnc服务器组成的分布式系统实现数控机床程序的自动获取,提升程序获取过程的可靠性和安全性,是目前亟需解决的问题。
技术实现思路
1、鉴于上述的分析,本发明实施例旨在提供一种数控机床自主获取程序方法,用以解决现有技术中的数控机床程序获取方式可靠性和安全性较差的问题。
2、本发明公开了一种数控机床自主获取程序方法,所述方法包括:
3、由0号dnc服务器创建创世区块,并初始化区块链p2p网络;
4、dnc服务器采用私钥签名方式在区块链p2p网络中广播待发布的生产任务的记录,并由记账节点记录到区块链中的下一个区块,并作为区块链中的最新区块;
5、每一数控机床分别从区块链的最新区块中接收dnc服务器发布的生产任务的记录,并判断是否接受该生产任务,若接受,则通过私钥签名的广播消息方式在区块链p2p网络中发布确认接受相应dnc服务器发布的生产任务的记录;若所述确认接受相应dnc服务器发布的生产任务的记录被记账节点记录在区块链的下一区块中,则任务接受成功,相应的数控机床根据dnc服务器发布的生产任务的记录下载相应的生产程序文件。
6、在上述方案的基础上,本发明还做出了如下改进:
7、进一步,所述待发布的生产任务包括:生产任务的编号、发布时间、生产程序文件的hash值、程序的获取地址及生产要求;
8、生产要求包括对数控机床的要求、生产数量及生产截止时间要求。
9、进一步,每一数控机床分别采用如下方式判断是否接受dnc服务器发布的生产任务:
10、数控机床在接收到dnc服务器发布的生产任务的记录后,如果确认自身处于状态空闲,且满足该生产任务中的生产要求,则接受该生产任务;
11、之后,通过在区块链中私钥签名的广播消息方式在区块链p2p网络中发布确认接受相应dnc服务器发布的生产任务的记录;
12、其中,所述确认接受相应dnc服务器发布的生产任务的记录包括:确认接受的生产任务的编号、可生产的数量和生产完成时间。
13、进一步,所述相应的数控机床根据dnc服务器发布的生产任务的记录下载相应的生产程序文件,执行:
14、相应的数控机床根据dnc服务器发布的生产任务的记录中的程序的获取地址获取到生产程序文件,并利用生产程序文件的hash值进行验证,若验证通过,程序发放成功。
15、进一步,如果dnc服务器发布的生产任务的记录,被多个数控机床同时接受,并最终超过发布的生产任务中的生产数量,则记账节点根据数控机床发布确认接受相应dnc服务器发布的生产任务的记录的前后顺序及可生产的数量,确定接受生产任务的数控机床,并记录在区块链的下一区块中;忽略后面的数控机床发布的接受任务记录。
16、进一步,dnc服务器采用私钥签名方式在区块链p2p网络中广播待发布的生产任务的记录,由记账节点记录到区块链中的下一个区块,执行:
17、记账节点接收待发布的生产任务的记录,并在使用广播所述待发布的生产任务的记录的dnc服务器的公钥签名验证通过后,将相应dnc服务器发布的生产任务的记录写入区块链中的下一个区块的备选区块;
18、对所述备选区块进行有效性验证,将有效性验证通过的备选区块作为区块链的下一个区块发布在区块链中。
19、进一步,所述区块包括:本区块的区块号、前一区块的hash值、本区块的hash值、随机数、本区块的记录以及记账节点对本区块的签名;
20、通过以下方式对所述区块进行有效性验证:利用本区块的区块号、前一区块hash值、本区块的记录以及记账节点对本区块的签名生成本区块的hash值,当满足本区块的hash值小于随机数时,本区块才有效。
21、进一步,所述方法还包括:
22、当有新的数控机床加入区块链p2p网络时,新加入的数控机床作为节点加入区块链p2p网络中,维护自己的相邻节点,并采用私钥签名的广播消息方式在区块链p2p网络中发布自身公钥,由记账节点记录在区块链的下一区块中。
23、进一步,新加入的数控机床通过执行以下操作维护自己的相邻节点:
24、新加入的数控机床获取创世区块,与创世区块中各节点的ip地址建立连接,并获取创世区块中各节点的相邻节点的ip地址;
25、新加入的数控机床随机选择多个相邻节点的ip地址并与之建立连接,列为自身的相邻节点。
26、进一步,新加入的数控机床在采用私钥签名的广播消息方式在区块链p2p网络中发布自身公钥之前,还执行:
27、新加入的数控机床从自身的相邻节点中获取当前区块链中的所有区块,并使用预设的有效性原则来验证所获取的区块链中的各区块的有效性,将验证通过后的各区块存储在本地。
28、与现有技术相比,本发明至少可实现如下有益效果之一:
29、本发明提供的数控机床自主获取程序方法,通过dnc服务器在区块链p2p网络中广播待发布的生产任务的记录,各数控机床根据dnc服务器发布的生产任务的记录判断是否接受该生产任务,若接受,则通过私钥签名的广播消息方式在区块链p2p网络中发布确认接受相应dnc服务器发布的生产任务的记录;当接受相应dnc服务器发布的生产任务的记录被记账节点记录在区块链的下一区块时,则表明任务接受成功,相应的数控机床根据dnc服务器发布的生产任务的记录下载相应的生产程序文件。本发明中方法通过执行以上过程,能够保证所有的程序发放过程都记录在区块链中,任何节点发生故障,都不会影响整个发放程序的过程,从而有效保证了数控机床程序获取过程的可靠性和安全性。
30、同时,由于该方法中涉及多个dnc服务器和多个数控机床,该方法可实现多个生产任务的并列发放,数据机床可以根据自身状态及各生产任务的生产要求,选定接受相应的生产任务。此外,在本方法中,记账节点还可以根据数控机床确认接受生产任务的情况选定最后执行相应生产任务的数控机床,这些数控机床根据程序的获取地址获取生产程序文件,并根据生产程序文件的hash值验证生产程序文件的有效性,从而顺利自主获取程序,以执行相应任务。整个过程有效保证了生产任务的有效、顺利实施,避免了生产任务的超额生产,同时保证了生产程序文件的有效性。未将生产程序文件直接发布,保证了整个区块链的轻量性和安全性。
31、综上所述,本发明提供的数控机床自主获取程序方法流程清晰,可实施性强,能够保证数控机床程序获取过程的可靠性和安全性,为本领域技术人员实现数控机床程序的自动获取过程提供了很好的技术指导,具有非常好的应用前景。
32、本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
1.一种数控机床自主获取程序方法,其特征在于,所述方法包括:
2.根据权利要求1所述的数控机床自主获取程序方法,其特征在于,所述待发布的生产任务包括:生产任务的编号、发布时间、生产程序文件的hash值、程序的获取地址及生产要求;
3.根据权利要求2所述的数控机床自主获取程序方法,其特征在于,每一数控机床分别采用如下方式判断是否接受dnc服务器发布的生产任务:
4.根据权利要求3所述的数控机床自主获取程序方法,其特征在于,所述相应的数控机床根据dnc服务器发布的生产任务的记录下载相应的生产程序文件,执行:
5.根据权利要求4所述的数控机床自主获取程序方法,其特征在于,如果dnc服务器发布的生产任务的记录,被多个数控机床同时接受,并最终超过发布的生产任务中的生产数量,则记账节点根据数控机床发布确认接受相应dnc服务器发布的生产任务的记录的前后顺序及可生产的数量,确定接受生产任务的数控机床,并记录在区块链的下一区块中;忽略后面的数控机床发布的接受任务记录。
6.根据权利要求2-5中任一项所述的数控机床自主获取程序方法,其特征在于,dnc服务器采用私钥签名方式在区块链p2p网络中广播待发布的生产任务的记录,由记账节点记录到区块链中的下一个区块,执行:
7.根据权利要求6所述的数控机床自主获取程序方法,其特征在于,所述区块包括:本区块的区块号、前一区块的hash值、本区块的hash值、随机数、本区块的记录以及记账节点对本区块的签名;
8.根据权利要求7所述的数控机床自主获取程序方法,其特征在于,所述方法还包括:
9.根据权利要求8所述的数控机床自主获取程序方法,其特征在于,新加入的数控机床通过执行以下操作维护自己的相邻节点:
10.根据权利要求9所述的数控机床自主获取程序方法,其特征在于,新加入的数控机床在采用私钥签名的广播消息方式在区块链p2p网络中发布自身公钥之前,还执行: