一种基于虚拟化技术的运动控制系统的制作方法

文档序号:33559398发布日期:2023-03-22 13:33阅读:58来源:国知局
一种基于虚拟化技术的运动控制系统的制作方法

1.本发明涉及一种运动控制系统,特别涉及一种基于虚拟化技术的运动控制系统,应用于运动控制领域。


背景技术:

2.现有的运动控制方式有:plc、运动控制卡、虚拟化。
3.1.使用plc:实时性高,但一般plc运算性能相对较弱;与ipc通常使用ethernet通信,完成具体工艺要求的控制逻辑,通信通常为非实时,且不适于大批量的数据交互。
4.2. 运动控制卡: 实时性高,但运算性能相对较弱;与ipc通常使用pci/pcie总线通信,完成数据交互。
5.3. 直接使用ipc控制:如果使用非实时操作系统,则实时性差。如果使用windows实时操作系统,则花费较高;使用其他实时系统,则软件开发难度大,大多不适于需要人机交互的场合。


技术实现要素:

6.本发明所要解决的技术问题是克服现有技术的不足,提供了一种基于虚拟化技术的运动控制系统,该运动控制系统减少物理硬件节点,提高系统稳定性,还能节约软件成本,而且相比于单linux实时操作系统,功能更丰富,软件开发更便捷、更灵活,充分利用系统资源。
7.本发明所采用的技术方案是:本发明包括windows非实时操作系统和linux实时操作系统这两种虚拟机;采用隔离技术,将linux实时操作系统放在独立的cpu核上运行,windows非实时操作系统放到其他核上运行。
8.进一步,windows非实时操作系统和linux实时操作系统均有独占内存。
9.进一步,windows非实时操作系统和linux实时操作系统均可访问共享内存,两个系统使用共享内存交互数据。
10.进一步,在windows非实时操作系统上实现人机交互,运动控制数据粗略计算。
11.进一步,在linux 实时操作系统系统上,运行有较高实时要求的运动控制程序,完成ethercat总线控制,运动控制数据精细计算。
12.进一步,windows非实时操作系统根据工艺文件计算后生成粗略计算结果,粗略计算结果为计算数据流,周期性将计算数据流写入到共享内存中。
13.进一步,将计算数据流写入到共享内存中的周期可设置成100ms、1s或者大于1s。
14.进一步,linux 实时操作系统周期性从共享内存中获取计算数据流,进一步简单计算后,周期性将精细计算结果或指令发送给执行机构。
15.进一步,将精细计算结果或指令发送给执行机构的周期为1ms,周期抖动不大于50us。
16.本发明的有益效果是:
1. 使用共享内存交互数据,能消除因通信造成的数据交互延迟,减少物理硬件节点,提高系统稳定性。
17.2. 使用windows非实时操作系统实现人机交互,linux 实时操作系统实现运动控制;在一个物理机上运行双系统,降低了硬件成本;相比于单windows实时操作系统,节约了软件成本;相比于单linux实时操作系统,功能更丰富,软件开发更便捷、更灵活。
18.3. 在windows 非实时操作系统中先执行粗略计算,然后在linux 实时操作系统中执行精细计算,最后控制伺服、步进、i/o等动作。这样的分布式计算方式,可以充分利用系统资源,例如gpu、cpu,也能保障实时性。
附图说明
19.图1是本发明的系统架构图;图2是本发明的数据交互示意图;图3是本发明的数据处理示意图。
具体实施方式
20.首先进行术语解释:虚拟化:虚拟化是一种使计算环境独立于物理基础架构的软件。
21.运动控制:(mc)是自动化的一个分支,它使用通称为伺服机构的一些设备,如:液压泵,线性执行机或者是电机来控制机器的位置或速度。运动控制在机器人和数控机床的领域内的应用要比在专用机器中的应用更复杂,因为后者运动形式更简单,通常被称为通用运动控制(gmc)。运动控制被广泛应用在包装、印刷、纺织和装配工业中。
22.ethercat:以太网控制自动化技术是一个开放架构,以以太网为基础的现场总线系统,其名称的cat为控制自动化技术(control automation technology)字首的缩写。ethercat是确定性的工业以太网,最早是由德国的beckhoff公司研发。自动化对通讯一般会要求较短的资料更新时间(或称为周期时间)、资料同步时的通讯抖动量低,而且硬件的成本要低,ethercat开发的目的就是让以太网可以运用在自动化应用中。
23.ipc: 主要是指用在是专供工业界使用的个人电脑,可作为工业控制器使用。工业电脑基本性能与相容性与同样规格的商用个人电脑相差无几,但是工业电脑更多的防护措施,注重的部分在不同环境下的稳定, 如饮料生产线控制、汽车生产线控制等等,在恶劣的环境下要求稳定,如防尘、防水、防静电等。工业用电脑并不要求当前最高效能,只求达到符合系统的要求,需符合工业环境中的可靠性要求与稳定,否则用于生产线万一遇到电脑当机,则可能造成严重损失,因此工业用电脑所要求的标准值都有要求符合严格的规范与扩充性。
24.plc: 可程式化逻辑控制器(programmable logic controller),一种具有微处理器的数字电子设备,用于自动化控制的数字逻辑控制器,可以将控制指令随时加载内存内储存与执行。 可编程器由内部cpu,指令及数据内存、输入输出单元、电源模块、数字模拟等单元所模块化组合成。 plc可接收(输入)及发送(输出)多种型态的电气或电子信号,并使用他们来控制或监督几乎所有种类的机械与电气系统。
25.运动控制卡: 是一种基于pc机及工业pc机、 用于各种运动控制场合(包括位移、
速度、加速度等)的上位控制单元。运动控制卡是基于pc总线,利用高性能微处理器(如dsp)及大规模可编程器件实现多个伺服电机的多轴协调控制的一种高性能的步进/伺服电机运动控制卡,包括脉冲输出、脉冲计数、数字输入、数字输出、d/a输出等功能,它可以发出连续的、高频率的脉冲串,通过改变发出脉冲的频率来控制电机的速度,改变发出脉冲的数量来控制电机的位置,它的脉冲输出模式包括脉冲/方向、脉冲/脉冲方式。脉冲计数可用于编码器的位置反馈,提供机器准确的位置,纠正传动过程中产生的误差。数字输入/输出点可用于限位、原点开关等。库函数包括s型、t型加速,直线插补和圆弧插补,多轴联动函数等。产品广泛应用于工业自动化控制领域中需要精确定位、定长的位置控制系统和基于pc的nc控制系统。具体就是将实现运动控制的底层软件和硬件集成在一起,使其具有伺服电机控制所需的各种速度、位置控制功能,这些功能能通过计算机方便地调用。
26.粗略计算: 针对数据量大,运算逻辑复杂的计算过程简称,输出结果为一系列精细计算的集合。
27.精细计算: 计算时处理的数据量小,运算逻辑简单,可快速得出运算结果。
28.如图1所示,在本实施例中,本发明使用虚拟化技术,分别创建windows非实时操作系统、linux实时操作系统两种虚拟机。同时采用隔离技术,将linux实时操作系统放在独立的cpu 核上运行,windows 非实时操作系统放到其他核上运行。
29.如图2所示,在本实施例中, windows非实时操作系统和linux实时操作系统均有独占内存,windows非实时操作系统和linux实时操作系统均可访问共享内存,两个系统使用共享内存交互数据。在windows非实时操作系统上实现人机交互,运动控制数据粗略计算等功能。在linux实时操作系统系统上,运行有较高实时要求的运动控制程序, 完成ethercat总线控制,运动控制数据精细计算等功能。
30.如图3所示,在本实施例中, windows非实时操作系统根据工艺文件计算后生成粗略计算结果(计算数据流),周期性将计算数据流写入到共享内存中。周期可设置成100ms、1s或者更大。对周期的实时性要求较低。
31.同时,在本实施例中, linux 实时操作系统周期性从共享内存中获取计算数据流,进一步简单计算后,周期性将精细计算结果(指令)发送给执行机构。周期通常为1ms,对周期实时性要求较高,周期抖动不大于50us。
32.在本实施例中, 在windows 非实时操作系统中先执行粗略计算,然后在linux 实时操作系统中执行精细计算,最后控制伺服、步进、i/o等动作。
33.在工控领域,人机交互软件、机器视觉软件通常运行在windows操作系统上,windows 系统本身是分时系统,任务处理实时性较差。若需要使windows系统具备实时性,需要购买经过改造后的商业软件,而 linux 系统有多种开源解决方案,能够将linux改造成具备实时性的操作系统。 同时隔离cpu、内存等硬件资源,可以避免不同操作系统之间的相互影响,从而不会影响linux 实时系统的实时性。
34.虽然本发明的实施例是以实际方案来描述的,但是并不构成对本发明含义的限制,对于本领域的技术人员,根据本说明书对其实施方案的修改及与其他方案的组合都是显而易见的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1