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