掌桥专利:专业的专利平台
掌桥专利
首页

一种基于多进程的多通道数控系统的控制方法及系统

文献发布时间:2023-06-19 09:46:20


一种基于多进程的多通道数控系统的控制方法及系统

技术领域

本申请涉及工业控制技术领域,尤其涉及一种基于多进程的多通道数控系统的控制方法及系统。

背景技术

在CNC加工行业中,对于多通道的数控系统,一般采用的是多CPU多通道控制或者多PLC多通道控制的方法。CPU多通道控制方法常规做法是通过硬件上添加多个主控CPU和主控电路,每个CPU控制一路通道来实现多通道控制。而多PLC多通道控制方法则一般通过在数控系统中添加多个PLC逻辑控制模块来实现多通道控制。多CPU多通道控制方法增加了硬件成本,已经硬件机构的设计难度;通道之间的同步、通信很难保证。多CPU多通道控制方法,在硬件上必须要对每个CPU设计主控电路,同时机构上需要多多CPU进行重新设计,势必要修改机构来安装CPU,当通道数增加时,可扩展难度极高,体积、成本都会大幅上升,同时由于每个CPU的独立性,在多通道中通道之间的同步、调用、等待需要通过外部信号进行控制,也增加了成本,对外部硬件依赖过大,信号精准度要求提高,外部环境存在干扰或硬件发生问题时,容易发生撞机危险。多PLC多通道控制方法则是多PLC修改复杂,需要修改通道动作时多个PLC进行修改,多PLC系统需要对每一个PLC控制模块设置一个数据映射区,逻辑复杂。

发明内容

为了解决以上问题的一个或多个,本申请提供一种基于多进程的多通道数控系统的控制方法及系统。

根据本申请的一个方面,提供一种基于多进程的多通道数控系统的控制方法,其特征在于,包括以下步骤:预先设定好通道配置。创建主进程。主进程启动。创建多个通道进程,每个通道进程能独立控制加工,通道进程之间通过共享内存和RPC的方式执行命令。

在一些实施方式中,共享内存包括等待区、同步区以及通道区;

其中,所述等待区和同步区为共同访问区域,用于进行各个通道之间通信,所述通道区为各个通道独立区域,通过对应的通道编号进行访问。

在一些实施方式中,所述主进程启动时创建通道rpc服务端和创建通道rpc客户端,所述主进程通知通道开始、停止、结束等待动作通过rpc进行调用。

在一些实施方式中,还包括以下步骤:

获取主进程通知信息并判断该信息种类,

当信息种类属于通道间需要等待时,则当前通道在前面通道完成某个动作后才能进行运动。

在一些实施方式中,还包括以下步骤:

获取主进程通知信息并判断该信息种类,

当信息种类属于通道间需要同步时,需要同步的通道全部达到一个相同特定状态后开始进行动作。

在一些实施方式中,需要同步的通道全部达到一个相同特定状态包括以下步骤:

主进程锁定当前需要同步的通道;

主进程向同步区申请与当前通道对应的变量sync;

当需要同步的通道分别达到一个相同特定状态时主进程将变量sync修改为True;

当主进程检测到所述通道的变量sync同时为True时解除通道锁定状态并通知通道开始工作。

在一些实施方式中,通道配置文件中配置每个通道所控制的物理轴、主轴。

在一些实施方式中,每个所述通道进程中都包含解析器、插补器以及输出FIFO。

根据本申请的另一个方面,提供一种实现前述任一方法的数控系统,包括,

存储单元,用于存储预先设定好的通道配置文件;

创建单元,用于创建主进程以及通道进程;

共享内存单元,用于通道进程以及主进程之间的通信;

进程管理单元,用于主进程和通道进程之间的管理。

在一些实施方式中,共享内存单元包括等待区、同步区以及通道区,其中,所述等待区和同步区为共同访问区域,用于进行各个通道之间通信,所述通道区为各个通道独立区域,通过对应的通道编号进行访问。

本申请相对于现有技术的有益效果是:本专利是在一台主控CPU上通过多进程的方式进行多通道控制,对机床电箱内部结构没有任何影响,不需要重新对原有电箱进行重新设计;同时进程之间可以通过多种形式包括rpc技术、共享内存技术进行通讯,解决各通道之间同步、调用、等待,不需要通过外部信号来控制,能有效的减少对外部硬件的依赖,提高多通道控制的稳定性。整个系统采用单一PLC来完成,并不需要为每一个通道设置独立PLC控制模块,简化系统设计。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施例的一种基于多进程的多通道数控系统的控制方法的流程图;

图2是本申请一实施例的一种基于多进程的多通道数控系统的控制方法的流程图;

图3是本申请一实施例的一种基于多进程的多通道数控系统的控制方法的流程图;

图4是本申请一实施例的一种基于多进程的多通道数控系统的控制方法的流程图;

图5是本申请一实施例的一种基于多进程的多通道数控系统的控制方法的流程图;

图6是本申请一实施例的一种基数控系统的结构框图;

图7是本申请一实施例的一种基数控系统的共享内存单元的结构框图;

图8是本申请一实施例的一种基数控系统的装置的结构框图;

图9是本申请一实施例的种基于多进程的多通道数控系统的控制方法的信息交互流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说什么的是,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。

实施例1

参照图1,提供一种基于多进程的多通道数控系统的控制方法,包括以下步骤:

S11:预先设定好通道配置。

具体地,举例而言,通过以下方式进行3个通道的配置:

S12:创建主进程。

S13:主进程启动。

S14:创建多个通道进程,每个通道进程能独立控制加工,通道进程之间通过共享内存和RPC的方式执行命令。

具体地,如图9所示,通道进程由主进程进行创建,主进程启动时创建RPC服务端,并且创建通道RPC客户端,RPC服务端通过RPC调用通道函数控制RPC客户端,主进程通知通道开始、停止、结束等待动作通过RPC进行调用。通道RPC创建时注册函数,调用时通过对应的通道客户端直接调用对应的注册函数。

其中,共享内存包括等待区、同步区以及通道区。所述等待区和同步区为共同访问区域,用于进行各个通道之间通信,所述通道区为各个通道独立区域,通过对应的通道编号进行访问。具体地,首先将分配好的共享内存具体成列表形式的寄存器变量,可以直接通过数字变量进行访问,比如A[123]、A[234]这样即可得到对应在共享内存123位置和234位置的变量内容。然后系统内规定指定区域段到指定的通道区比如100到200为通道1,200到300未通道2,此时A[100*1+N]即为通道1的第N个变量,A[100*2+N]即为通道2的第N个变量其中,N小于100。

实施例2

参照图2,一种基于多进程的多通道数控系统的控制方法,包括以下步骤:

S21:预先设定好通道配置。

S22:创建主进程。

S23:主进程启动。

S24:创建多个通道进程,每个通道进程能独立控制加工,通道进程之间通过共享内存和RPC的方式执行命令。其中,共享内存包括等待区、同步区以及通道区。所述等待区和同步区为共同访问区域,用于进行各个通道之间通信,所述通道区为各个通道独立区域,通过对应的通道编号进行访问。

具体地,S21-S24与实施例1的S11-S14一样,在此不再赘述。

S25:获取主进程的通知信息并判断该信息种类。

一般情况下,该信息来自通道间的信息,包括通道间需要等待、通道间需要同步以及通道间需要调用等信息。具体的执行根据不同的信息种类进行不同的后续程序。

S26:根据信息种类在共享内存进行相应的通信。

实施例3

参照图3,一种基于多进程的多通道数控系统的控制方法,包括以下步骤:

S31:预先设定好通道配置。

S32:创建主进程。

S33:主进程启动。

S34:创建多个通道进程,每个通道进程能独立控制加工,通道进程之间通过共享内存和RPC的方式执行命令。

其中,共享内存包括等待区、同步区以及通道区。所述等待区和同步区为共同访问区域,用于进行各个通道之间通信,所述通道区为各个通道独立区域,通过对应的通道编号进行访问。具体地,S31-S34与实施例的S11-S14一样,在此不再赘述。

S35:获取主进程的通知信息并判断该信息种类为通道间需要等待。

S36:当前通道在前面通道完成某个动作后再进行动作。

具体地,当通道间需要等待时,如如图3和图9所示,即通道2必须在通道1完成某个动作以后才能进行运动。此时主进程会向共享内存等待区申请一个等待变量“delay”,并且在通道1完成动作时会修改“delay”变量,此过程中当主进程读取到“delay”未变量发生变化时主进程将会锁定通道2,避免通道2运动发生撞机,当发现主进程检测到“delay”变化时,解锁通道2并通知通道2开始进行加工动作。

实施例4

参照图4和图5,一种基于多进程的多通道数控系统的控制方法,包括以下步骤:

S41:预先设定好通道配置。

S42:创建主进程。

S43:主进程启动。

S44:创建多个通道进程,每个通道进程能独立控制加工,通道进程之间通过共享内存和RPC的方式执行命令。其中,共享内存包括等待区、同步区以及通道区。所述等待区和同步区为共同访问区域,用于进行各个通道之间通信,所述通道区为各个通道独立区域,通过对应的通道编号进行访问。具体地,S41-S44与S11-S14一样,在此不再赘述。

S45:获取主进程的通知信息并判断该信息种类为通道间需要同步。

S46:需要同步的通道全部到达一个特定状态后开始进行动作。具体地,如图5所示,包括以下步骤:

S461:主进程锁定当前需要同步的通道。

S462:主进程向同步区申请与当前通道对应的变量sync。

S463:当需要同步的通道分别达到一个相同特定状态时主进程将变量sync修改为True。

S464:当主进程检测到所述通道的变量sync同时为True时解除通道锁定状态并通知通道开始工作。

具体地,当通道间需要同步时,即通道1、通道2需要在全部达到某一个特定状态时才能开始进行加工动作。其中特定状态,比如通道1和通道2在有些情况下需要主轴转速相同时才能开始加工,此时就需要进行此操作。此时主进程将锁定1、2通道,主进程向同步区申请sync_1、sync_2变量,当通道1处于该状态时主进程修改sync_1变量为True,当通道2处于该状态时主进程修改sync_2变量为True,当主进程检测到sync_1、sync_2同时为True时解除通道锁定状态并通知通道1、2开始加工。

在以上实施例中,“通道区”为各个通道数据保存读取位置,每个通道可直接进行读写访问,主进程可通过各个通道编号进行访问,确定各个通道状态,以判断是否进行下一操作,并且可以显示到ui中,如图9所示,ui通过通道区寄存器控制操作各个通道。

在通道配置中配置每个通道所控制的物理轴、主轴。由此,提高了每个通道的灵活性,可对任意轴进行控制。

此外,每个所述通道进程中都包含解析器、插补器以及输出FIFO。这样每一个通道都能做到独立的解析插补,完成独立的脉冲输出,从而达到独立控制加工。

实施例5

参照图6,提供一种实现前述实施例方法的数控系统100,包括,

存储单元110,用于存储预先设定好的通道配置文件。

创建单元120,用于创建主进程以及通道进程。

共享内存单元130,用于通道进程以及主进程之间的通信。

进程管理单元140,用于主进程和通道进程之间的管理。

具体地,共享内存单元130包括等待区1301、同步区1302以及通道区1303,其中,所述等待区1301和同步区1302为共同访问区域,用于进行各个通道之间通信,所述通道区为各个通道独立区域,通过对应的通道编号进行访问。

当通道间需要等待时,如如图3和图9所示,即通道2必须在通道1完成某个动作以后才能进行运动。此时主进程会向共享内存等待区申请一个等待变量“delay”,并且在通道1完成动作时会修改“delay”变量,此过程中当主进程读取到“delay”未变量发生变化时主进程将会锁定通道2,避免通道2运动发生撞机,当发现主进程检测到“delay”变化时,解锁通道2并通知通道2开始进行加工动作。

当通道间需要同步时,即通道1、通道2需要在全部达到某一个特定状态时才能开始进行加工动作。此时主进程将锁定1、2通道,主进程向同步区申请sync_1、sync_2变量,当通道1处于该状态时主进程修改sync_1变量为True,当通道2处于该状态时主进程修改sync_2变量为True,当主进程检测到sync_1、sync_2同时为True时解除通道锁定状态并通知通道1、2开始加工。

实施例6,如图8所示,提供一种实现前述方法的CNC机床控制装置,包括,

至少一个设备包括处理器和存储器320,所述存储器320中存储有至少一条指适用于CNC机床的控制装置令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序或指令集由所述处理器310加载并执行以实现前述的加工方法。

另外还可以包括:输入装置330和输出装置340。

存储器320作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的加工方法对应的程序指令/模块。处理器310通过运行存储在存储器320中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的加工方法。

存储器320可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据控制装置的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器320可选包括相对于处理器310远程设置的存储器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置330可接收输入的数字或字符信息。输出装置340可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器320中,当被所述一个或者多个处理器310执行时,执行上述任意方法实施例中的方法。

实施例7

还提供一种计算机可读存储介质,存储有至少一条指令、至少一端程序、代码集或指令集,所述至少一条指令、所述至少一端程序、所述代码集或指令集由处理器加载并执行以实现前面任一实施例所述的控制方法。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。

本申请相对于现有技术的有益效果是:本专利是在一台主控CPU上通过多进程的方式进行多通道控制,对机床电箱内部结构没有任何影响,不需要重新对原有电箱进行重新设计;同时进程之间可以通过多种形式包括rpc技术、共享内存技术进行通讯,解决各通道之间同步、调用、等待,不需要通过外部信号来控制,能有效的减少对外部硬件的依赖,提高多通道控制的稳定性。整个系统采用单一PLC来完成,并不需要为每一个通道设置独立PLC控制模块,简化系统设计。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种基于多进程的多通道数控系统的控制方法及系统
  • 一种数控系统中单通道与多通道的切换控制方法
技术分类

06120112297356