Siemens SIMATIC Target 1500S for Simulink的虚拟调试,第1部分:建模和桌面仿真金宝app
从系列中:SIMATIC Target 1500S for Simulink虚拟调试金宝app
由于软件在现代生产机器和系统中所占的份额不断增加,在现场调试期间无法保持成本、项目持续时间和质量的风险也在增加。物理机器或工厂的后期可用性使得测试机器软件更加困难。
虚拟调试可以使用机器的数字模型进行软件的早期测试和验证。在仿真模型中,在物理机器可用之前,可以在各种场景中测试、优化和验证力学、机器软件和要制造的产品之间的交互。这种方法降低了成本,保证了产品的高质量,并加快了调试速度。
了解如何创建机器的数字双胞胎,并使用控制算法模拟它。然后了解如何使用自动代码生成和Siemens将应用程序集成到TIA Portal项目中®硅镁质®目标1500S™Simulink金宝app®.最后,使用SIMATIC S7-PLCSIM Advanced模拟控制器进行虚拟调试。
大家好,欢迎观看这段关于SIMATIC Target 1500S for Simulink虚拟调试的视频。金宝app我叫Jens Lerche。我是德国The MathWorks的应用工程师。今天,我将做本视频的第一部分,涵盖在Simulink环境中的建模路径。金宝app对于第二部分,我们得到了Siemens的Felipe Ravazz金宝appi先生的支持,他稍后将接管代码生成、集成和联合模拟的主题。
费利佩,也许你可以自己简单介绍一下?
是的。你好,。我叫费利佩·拉瓦齐。我在西门子做售前支持。金宝app负责自动化和虚拟调试课题。
在这里,你可以看到我们的议程。首先,我将向您展示一个快速和简单的方法来创建您的CAD图纸的仿真模型。然后,我们将了解如何在Simulink中建模控制器逻辑以运行闭环桌面模拟。金宝app之后,Felipe将接管并讲述使用SIMATIC Target 1500S for Simulink的代码生成,随后将集成到STEP 7 TIA门户项目中。金宝app
最后,我们将在模拟的西门子PLC PLCSIM Advanced上运行Digital Twin和Simulink的联合仿真以及控制算法。金宝app让我们开始吧。
在这个模型中,你可以清楚地看到一个闭环系统,其中有一个被表示为机械臂的植物部分,或者更一般地说,是一个机械组件,而控制部分在前面,它控制着机械组件的运动。您可以对该模型做的第一件事是在Simulink中的循环模型仿真中对其进行模拟。金宝app在一个动画窗口中,您可以看到植物部分的行为。在第二个窗口中,你还可以看到控制机械臂的状态图的动画。
控制软件的算法被划分为四个单独的状态机,它们通过事件相互作用。外部状态机用于传送带。两个内层分别是机器人的手臂和夹持器。
很明显,你可以运行你的系统,而不需要制造一个机械部件,连接一根电线,或传输任何一行代码到PLC。这允许在整个系统或单个组件上进行大量的测试、设计迭代和优化,而无需在原型、制造、测试台架、旅行等方面花费数千美元。当然,这样的模型不是天上掉下来的。但是我们看到,在大多数情况下,模型已经存在,只是在不同的开发工具中。
这是CAD工具。几乎所有行业的公司都将他们的机器安装在CAD工具中。因此,创建植物模型的大部分工作已经完成。
在这里,你可以看到一个CAD工具中的机器人模型。每个体元素都用代表自由度的关节连接到它的配偶。只需单击几下,就可以在Simulink中导入该模型。金宝app只需一个命令,您的模型就会根据CAD汇编自动创建。这个模型已经可以模拟了。现在唯一要做的就是激活激活输入和传感输出。当然,还可以加上电动机、液压缸等。但那不应该成为演讲的主题。
从现在开始,我们将专注于控制器。让我们假设我们在循环模型模拟中一遍又一遍地测试整个算法。我们发现了一些错误并添加了被遗忘的需求。但是,我们不是从头开始用PLC编程语言编写代码,而是使用自动代码生成在PLC上实现算法。
我想现在是时候交给你了,斐利贝。
是的。谢谢你,延斯。我将切换到我的屏幕。
我们已经创建了这个机械臂的流程图,就像我们在这里看到的。我们希望在我们的领域中重复使用它,而不需要手动重新编程任何东西,比如ATL中的PLC代码之类的,因为——技术诀窍——就在这里,已经可用。我们想利用这个。
为了这个目的,我们可以使用Target 1500S,它是Simulink的一个附加组件,由西门子提供。金宝app
因此,作为系统目标文件,在安装之后,我们可以在这里简单地选择target 1500S。这意味着我们可以用目标进行代码生成。让我们快速浏览一下Target 1500S的设置。
在这里,在目标1500S选项下可以买到。我们要做的第一件事是选择TIA Portal项目。然后,通过TIA开放性,可以识别在我们的项目中可用的设备。还可以看到我们连接的PROFINET接口以及我们使用的IP地址。
如果我们想直接将SCL文件导入到TIA Portal项目,我们可以使用下面的这个选项。例如,我们可以选择在软件单元中导入,也可以选择在组织块中导入。
看看下一步,在这里,我们可以选择激活外部模式,该模式用于使用Simulink进行在线数据访问。金宝app此外,我们还有更多的选择。在这里,举个例子,在STEP 7中启用边界访问,这意味着,举个例子,对于PID控制器,我可以在TIA Portal中操作P, I和D参数。下面这里的另一个选项是启用STEP 7对内部模型信号的访问,以提高模型中发生的事情的透明度,或者,例如,启用对statflow状态的访问。
一个非常好的特性是下面这个选项,它将Simulink模型导出为HTML网页,然后可以在PLC web服务器上显示。金宝app看看其他选项,在这里我们可以自动将生成的共享目标文件(即二进制文件)直接传输到PLC上。
好了,设置说得够多了。让我们看看实际情况。我的目标是生成这个包含Stateflow逻辑的块。我可以用右键点击,C/ c++代码,构建这个子系统。将弹出一个新窗口,询问变量的存储类。在本例中,我将为所有变量选择ExportedGlobal,然后按Build。
如果我们继续并选择底部的View Diagnostics,我们可以检查代码生成的进度。SCL源被自动导入TIA Portal项目。并将二进制文件传输到PLC。这意味着我们有一个完全自动化的集成工作流。
好的。现在,查看TA Portal项目,我们可以看到我们的SCL源代码被导入了,这也是它在这里的原因,在外部源文件下可见。这个源代码在我们的PLC中生成了一些功能块和udt。
我们可以说我们有三个基本功能块,Load, Unload和One Step。在Siemens PLC上运行目标模型总是需要这些块。Load用于将共享对象文件加载到RAM内存中。Unload是用来卸载的。One Step块用于执行我们的模型。
这就是为什么它与我们在Simulink中编译的块具有完全相同的接口。金宝app这基本上意味着我们的block和Simulink有相同的输入和输出。金宝app我们可以看到他们在这里。
由于我们谈论的是虚拟调试——我们想要实现一个完整的软渲染循环解决方案——Simmons提供了一个名为PLCSIM Advanced的工具,它使我们能够模拟PLC。在这种情况下,我们在S7-1518 MFP中进行模拟,这是一个具有ODK功能的PLC,这意味着它可以运行c++代码。
因此,我在这里所做的是创建一个新的PLC实例,然后将我的TIA Portal项目加载到模拟PLC。我的PLC已经处于运行模式,这意味着我生成的Stateflow逻辑已经在PLC上运行。
为了让这个可视化,我也可以,在这里,连接到PLC。然后我可以在线检查我的输入和输出的值。
现在来看看虚拟调试的下一步,如果我们没记错的话,我们的Simulink模型不仅仅由Stateflow逻辑组成。金宝app我们还有这个被模拟的机械臂。因此,对于虚拟调试,在这种情况下,我们希望在PLCSIM Advanced和MATLAB Simulink之间进行联合仿真。金宝app因此,这意味着我们必须找到一种方法来耦合这两种软件工具之间的值。
在这两个工具之间耦合值的一种方法是使用s函数块。为了实现这个值耦合,我们添加了一点Simulink模型。金宝app现在,在控制部分,我们没有之前的Stateflow模型,我们添加了s函数,它用于与PLCSIM Advanced耦合值。
这个s函数实际上是对PLCSIM高级API进行寻址,并通过共享内存交换值。现在我们已经在PLC上运行了逻辑,机器人模型仍然在Simulink中,我们可以通过按下Simulink中的播放按钮来开始模拟。金宝app正如我们所看到的,机器人正在做与我们在循环模型仿真中所做的完全相同的运动,这意味着PLC上的逻辑正在按照预期工作。这是一个很好的方法,可以验证字段级别上的执行实际上显示了相同的行为。
好的。现在,如果你没记错的话,我还把Simulink模型导出为网页。金宝app如果我们移动到PLC web服务器,在这里,我可以实际显示模型。
这就是我之前生成的Stateflow逻辑。它现在显示在PLC web服务器上。如果我执行模拟,当模型在这里被模拟时,我还可以看到状态流状态的变化。
最后,让我们快速浏览一下本次网络研讨会上使用过的产品。下载188bet金宝搏
在MathWorks方面,我们有MATLAB作为基本工具,Simulink作为仿真平台。金宝app为了描述机械臂的力学行为,使用了Simscape和Simscape多体工具箱。使用statflow工具箱显示状态机逻辑。使用MATLAB Coder和Simulink Coder金宝app进行C/ c++代码生成。
在西门子方面,我们拥有SIMATIC STEP 7 Professional,因此可以为我们的PLC创建项目。我们还使用SIMATIC ODK 1500S作为c++代码的交叉编译器,PLCSIM高级版本3.0用于模拟我们的PLC, SIMATIC Target 1500S作为简化工作流程的整体工具,因此从编译c++代码,创建ODK项目,将SCL源代码传输到TIA Portal项目,并将二进制文件传输到控制器上。
今天关于SIMATIC Target 1500s虚拟调试的网络研讨会就讲到这里。非常感谢大家的聆听。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。