
工程设计工作中的重复次数可以明显减少——在使用了Beckhoff公司研发生产的软件之后,模拟后自动生成的设计模型还能够在TwinCAT 3中进行参数赋值。
由于经济的全球化趋势,近几年来对机床和设备的制造要求不断提高。这种情况带来的结果是:机床和设备的制造者必须利用新的、更加经济的设计技术,在很短的设计时间内完成机床及设备的设计任务。对于一台新设计制造的机床设备来讲,研发时间和设备调整时间是重要的费用因素。为了降低这方面的费用,人们在工程项目研发设计的早期阶段就采用了模拟工具软件。
在电气调节和控制技术领域中,也就是所谓的“快速控制原型”技术领域中,产品研发过程包括若干步骤:建立自动化系统模型,控制和调节技术设计,整体系统的模拟,在目标平台上链接控制和调节技术系统,通过目标平台与系统模型的耦合对控制和调节系统进行模拟(SIL软件在环仿真),利用真实的系统对控制和调节系统进行测试。
一台复杂机床设备的设计一般都要进行多次反复的检测。为了使整套机床设备的研发过程畅通无阻,能够对在世界各地研发设计的图形进行模拟和测试,就需要在各个模拟、研发工具中间有一套畅通无阻的数据交换接口。基于这样的接口,能够迅速地把模拟工具软件中生成的代码自动集成到实时系统中。这样一来,不仅仅重复、循环的时间明显缩短,而且还能得到质量很高的控制代码。
实时系统的不同模型
TwinCAT 3是Beckhoff公司最新版本的软件。在这一软件的帮助下,几乎可以在所有的计算机系统中实现实时环境;例如可以运行SPS(可编程控制器)模型,Safety-SPS(可编程安全控制)模型,NC(数字控制)模型,CNC(计算机数字控制)模型,Robotik(机器人控制)模型和C/C++模型;同时运行的模型数量仅受到计算机硬件的限制。
这一软件系统由一个运行环境模块和一个工程设计软件工具组成,其模块化结构首次运行同时实时地处理不同的任务。通过多芯技术的帮助,可以在不同的CPU中执行同一模型,从而能够在自动化控制技术领域中充分利用现代化计算机强大的性能。TwinCAT 3利用在软件程序开发中已有的程序开发环境Microsoft Visual Studio作为架构。TwinCAT系统的管理器,也就是迄今为止在整个系统配置中一直使用的管理器,也像按照IEC 61131-3程序语言编辑SPS那样,集成到开发环境平台中。
模拟环境Matlab/Simulink
通过在开发环境中集成Visual Studio,不仅使利用C和C++程序语言编辑实时模块成为可能;而且也有可能在同一开发环境中利用C#和C++或者Visual Basic实现全部的可视化。在利用C/C++语言编辑实时模块时,TwinCAT开发环境利用了程序实时调试器——一种能够利用Visual Studio程序调试界面编辑实时模型的工具。在TwinCAT 3中集成了像Matlab/Simulink这样的模拟工具。这样,就可以在Simulink中运行调节系统,可以作为一个SPS系统,或者作为一个功能包进行调用。
在如今的产品研发中,Mathworks公司的模拟环境 Matlab/Simulink已经是机床设备设计中数字化模拟的标准软件工具了。仅利用Simulink的基本数据库就能够完成复杂、动态系统模型的生成和模拟了。如图所示为集成在TwinCAT系统中的Simulink。在大量辅助工具包的帮助下,还能进一步降低特殊应用领域中的建模工作量。尤其是在线性和非线性控制调节系统的设计和优化过程中,Matlab/Simulink显示出了在自动化领域更加强大的性能。另外,控制程序用于模拟测试的动态系统模型,也大大减轻了检查设备自动化设计的工作量。
模型转换
迄今为止,自动化系统中控制和调节算法语句的调试验证一般都是手工一步步完成的,无论这些语句是否已在Simulink中测试过。除了耗费大量的宝贵时间之外,这种方法也非常容易出现错误,尤其是在复杂的算法语句中。在两种软件系统中对复杂算法语句补充修改进行调试、验证实际上是不可能的,因为几乎没有兼容性。
为了解决这一难题,Mathworks公司为Simulink研发设计了Realtime-Workshop虚拟调节器。在它的帮助下,一种程序语言的Simulink模型可以方便转换为另一种程序语言的Simulink模型,用虚拟调节器调试、验证。例如通过点击鼠标生成C或者C++代码,所生成的代码是虚拟调节器实时执行的基础,也是在虚拟设备中使用这一工具的前提条件。
有了在自动化系统中集成C++模型的可能性之后,就可以非常灵活地使用Realtime-Workshop生成的代码了。在使用TwinCAT的Target生成虚拟调节器窗口时,除了生成所调试Simulink模型的代码之外,还自动生成了与TwinCAT系统链接的接口。从一个Simulink模型中就可以生成适用于TwinCAT环境、与I/O模块或者与其他模块的链接了。另外,还能够实现各个不同模块的嵌套。也就是说,可以在Simulink中对在SPS(可编程控制器)系统中作为一种功能模块调用的调节回路进行调试。
生成Simulink模型的前提
与其他控制系统中类似的语句调试不同,在使用TwinCAT软件的Target功能时无需专门的Simulink模块。例如不需要生成TwinCAT 3的模型,所需的输入和输出都可以利用常规的Simulink模块进行定义。
而通过Simulink生成TwinCAT模型的前提是,Mathworks的虚拟调节器Realtime-Workshop以及TwinCAT的Target。当在一台计算机系统中同时安装了这两个系统之后,则有可能在Simulink模型的设置窗口中把TwinCAT设置为Realtime-Workshop的目标系统。在选择了目标系统之后,还有许多可以进一步设置的项目,如激活或者不激活外部方式。原则上,基本设置就能够保障生成的TwinCAT模型的启动了。
对于有经验的用户来讲,转换成模型时首先只限制生成纯代码。这样,在需要时可以在全部完成之前按照需求对特殊的代码进行匹配、调整。在把模型集成到TwinCAT 3开发环境中时,用户可以使用的方法多种多样:已经生成的完整程序模块可以通过选择对话框导入到开发环境中,就像TwinCAT用户已经习惯的、把完整的SPS模块导入时所做的那样。导入的程序模块以树状结构形式出现,表示的是控制程序的逻辑结构。
在树状结构中,过程图像以I/O的变型形式出现。任一模块(SPS、Simulink,C++模块等)数字和模拟的I/O信号都能相互链接在一起。通过这种链接,可以在TwinCAT系统的开发环境中对过程图像和各个模块之间的数据交换进行参数设置。替代实时任务模块循环调用导入程序模块的其他方法还有:利用其他程序模块调用。在这种情况下,调用程序模块可以获取被调用程序模块的I/O数据。
在TwinCAT中集成程序模块
若用户希望对生成的代码进行调整匹配,可以采用同样的方法把Visual Studio生成的项目自动导入到树状结构中。这样生成的项目数据含有所有的源代码、编译程序和链接设置。在成功完成程序模块的汇编之后,所导入的程序模块自动地在树状结构中正式嵌入,并从此之后具有与被嵌入程序段完全相同的特性(当然是在不改变源代码的情况下)。至此为止,完成了程序模块在树状结构中的全部汇编。
在Simulink的汇编过程中,就已经设定了Simulink模块所使用的、可以在程序优化过程中改进的数值了。这些数值在代码的生成过程中作为基本设置被程序模块所接受,但用户仍有可能在TwinCAT开发环境中进行匹配、调整。在机床设备的调试时,甚至有可能在不熟悉Simulink、或者在计算机的开发环境中没有安装软件包的情况下,对机床控制程序进行参数赋值和调整。可以随时进行基本参数的设定,所要设定、调整的参数可以在TwinCAT系统开发环境的图形界面中找到。在这一图形界面中,任何一个Simulink模型都重新以树状结构的形式再现出来。在这种树状结构的帮助下,用户可以简单、清楚地通过模型结构有目的地找到需要调整的参数。
利用外部模型实现在线监控
在外部模块功能的帮助下,还可以利用Simulink与生成的TwinCAT模块建立链接。外部模块功能与普通模块功能的不同之处在于:在普通模块功能中汇编生成的模型能够直接在Simulink中进行运算,而在外部模块功能中则仅能以图形窗口的形式加以利用。在这一图形窗口中,用户可以利用鼠标把汇编好的程序模块嵌入到TwinCAT系统中。外部模块链接可在一个网络的所有控制系统中生成,用户也可以利用Simulink开发环境对程序模块的数据包进行修改,来调整、设置实时控制模块的运行时间参数。另外,像Simulink中的Scope窗口,还能显示程序模块实际运行的时间值或者与时间有关的过程。
ADS接口的通讯能力
在由Beckhoff公司研发的ADS(自动化设备规范)通讯技术协议的帮助下,可以利用外部模块功能与汇编后生成的程序模块进行通讯联系。在其他应用中,例如在可视化应用、与主控计算机的通讯或者远程控制等,也都可以利用这一Simulink模块。一台主控计算机能够对程序参数或内部状态施加影响,可视化窗口可以展示程序模块运行状况或者输出信号。从保障机床设备安全的角度出发,对参数的掌控被限制在代码汇编之前。
新的应用可能性
在将Matlab/Simulink与TwinCAT 3软件系统建立链接之后,为自动化技术提供了许多新的应用可能性。如快速控制原型;调节电路的实时模拟;机床设备的实时模拟以及设备部件的半实物模拟实验。
利用半实物模拟技术,实现测试工作台的自动化。对一套机电一体化系统中的伺服驱动装置测试工作台进行了半实物模拟实验,在Simulink中生成了整个系统的动态模型,并生成了TwinCAT模块。
来自和输入到伺服驱动装置的信号都被Simulink模型作为I/O使用。在这一伺服驱动装置的启动控制中,使用的是市场中常见的驱动调节器以及数字式和模拟式、与相关模型链接的I/O部件。一套与Simulink所生成模块平行运行的SPS程序负责进行错误监控,并把发现的错误报告给试验台的主控系统。
对伺服驱动机构机械振动情况进行监控的传感器监测信号,也由这一控制系统进行分析评判。这样一来,就可以把Simulink模型控制在纯机电一体化系统的模拟之中,就可以扩展到对真实硬件的监控之中。所模拟系统的人工参数赋值以及系统当前状况的显示,都可以在Simulink界面中通过外部模型功能的帮助而得以优化。图形显示和内、外部信号长时间的采集,都可以利用TwinCAT ScopeView 2来实现。为了能够进一步利用采集到的数据,所有采集、保存的数据都可以在Matlab中进一步加以处理。
提供更多的使用可能性
TwinCAT系统中的Target可以把其他在Matlab/Simulink开发环境中由The Mathworks生成的模块链接起来,嵌入到TwinCAT 3控制系统中。与其他类似的模拟环境不同,它不需要其他的模型I/O模块,这种性能可靠的嵌入方式也保障了在Simulink环境中所谓的窗口模型的纯模拟功能。
从快速控制原型的意义讲,利用Simulink可以无需其他模拟模型的匹配,就把一个个局部系统嵌入到目标系统之中。在Simulink系统中模拟所需的变量和参数,在嵌入到TwinCAT 3相应的模块之后,就能够以图形方式显示在系统管理器的窗口中,并且也可以按需修改。同样,也可以从其他正在运行的模块、或者正在运行的应用中获取这些参数。
2026-02-05
2026-02-05
2026-02-03
2026-02-03
2026-02-05
2026-02-05
2026-02-04
10月31日,以 “解锁・下一步” 为主题的2025红帽论坛暨媒体沟通会在北京JW万豪酒店盛大召开。红帽通过核心主旨演讲、重磅新品发布、权威报告解读及高层对话,全方位展现了其以开源技术破解行业痛点、引领企业数字化转型的实力与愿景,为 AI 时代的企业创新注入强劲动力。
作者:何发
评论
加载更多