如何使用MATLAB或Simulink接口到像Modicon或Allen Bradley PLC的PLC ?金宝app

53次浏览(最近30天)
我想知道MATLAB/Simulink是否带有驱动程序接口到像金宝appModicon或Allen Bradley PLC。

接受的答案

MathWorks支金宝app持团队
编辑:MathWorks支金宝app持团队 2021年5月19日
有几个选项可以将MATLAB和Simulink与plc连接起来。金宝app
1) 金宝appSimulink PLC编码器:
金宝appSimulink PLC Coder从Simulink模型、状态流图和嵌入式MATLAB函数生成硬件独立的IEC 61131结构化文本。结构化文本以PLCOpen XML和广泛使用的集成开发环境(ide)支持的其他文件格式生成。金宝app因此,您可以编译和部署您的应用程序到许多可编程逻辑控制器(PLC)和可编程自动化控制器(PAC)设备。
金宝appSimulink PLC Coder生成测试台,帮助您验证结构化文本使用PLC和PAC ide和仿真工具。金宝app对行业标准的支持可通过IEC认证套件(适用于IEC 61508和IEC 61511)获得。
更多关于Simulink PLC编码器和IEC金宝app认证套件的信息可在这里获得:
2) OPC工具箱
OPC工具箱可以使用MATLAB代码或Simulink模型与连接到您的PLC的OPC服务器通信。金宝appOPC工具箱是扩展MATLAB数值计算环境能力的函数集合,以及扩展Simulink动态系统仿真环境的模块集合。金宝app通过OPC工具箱,可以将实时OPC数据直接获取到MATLAB和Simulink中,并将数据直接从MATLAB和Simulink写入到OPC服务器中。金宝app
当在Simulink建模和仿真环境中工作金宝app时,您可以使用来自OPC工具箱块库的块来使用实时OPC数据作为模型的输入,并使用模型输出更新OPC服务器。OPC工具箱块库包含了在伪实时中运行Simulink模型的能力,通过减慢仿真来匹配系统时钟。金宝app您可以使用Simulink和OPC工具箱块库创建控制系统原型,提供工厂模拟器,并执行优化和调优任务。金宝app
关于OPC工具箱的更多信息可在这里获得:
3)实时研讨会嵌入式编码器
一些plc可以用C代码编程。Real-Time Workshop Embedded Coder从Simulink和statflow模型生成C金宝app代码,具有专业手写代码的清晰和效率。生成的代码非常紧凑和快速。全面支持遗金宝app留应用程序、功能和数据的集成。金宝app通过IEC认证套件(适用于IEC 61508和ISO 26262)和DO认证套件(适用于DO-178)提供对行业标准的支持。
有关实时嵌入式编码器工作坊的更多信息,请点击:
//www.tatmou.com/下载188bet金宝搏products/rtwembedded/
Sim金宝appulink Real-time/Speedgoat与现场总线协议进行通信。MathWorks还支持现场总金宝app线协议,如以太网/IP和Modbus RTU通过Simulink Real-time(现场总线消息的定时需要一台实时机器)。金宝app几乎所有的plc都支持一种或另一金宝app种形式的现场总线协议,所以这也取决于它们的硬件。
完整的协议列表可以在这里找到:金宝app
一名AE使用Speedgoat与Allen-Bradley PLC通过以太网/IP进行通信。使用Simu金宝applink Real-time External模式,您可以在执行期间将这些数据流回Simulink。除了将数据流传输到Simulink, Speedgoat系统还允许进行实时金宝app测试。
5)具有串行通信的仪表控制工具箱。仪器控制工具箱有RS-232驱动块,直接馈送到Simulink。金宝app但是,您必须将此块配置为使用DF1协议(一种通用的工业RS-232协议),这需要理解DF1消息传递。这个选项不能“开箱即用”。
6)基于TCP/IP或UDP的桌面仿真。如果桌面模拟是可以的,但OPC太慢(或没有服务器可用),我也会考虑通过TCP/IP或UDP解决方案。这在西门子、贝加莱和Beckhoff plc上都有体现。这个想法是有一个s函数,在每一步之后暂停模拟,通过TCP/IP或UDP发送和接收参数到/从PLC,然后继续下一个时间步骤。例子:
然而,这并不是开箱即用的,需要对MathWorks工具和IDE (RsLogix)有扎实的知识,或者得到我们咨询小组的支持。金宝app
要问的重要问题:
1)他们是否想在PLC上运行一个(手写的)控制程序来对抗Simulink中的工厂模型2)数据交换必须有多快(分,秒,毫秒)3)在每个步骤中交换多少数据(几个值或数千个参数)金宝app- a)如果这是缓慢和小数据- >连接OPC应该是最简单的方法(的),还MathWorks支持当前OPC标准OPC UA(统一架构)因为R2015b.4)是足够的运行(co-simulate) PLC程序(实时)对桌面模拟Simlink(非金宝app实时)?如果是,那么不需要SLRT。5)或者他们需要双方都是实时的?如果是,那么在Speedgoat硬件上使用SLRT,并通过工业现场总线(如以太网/IP)连接。
6)他们是否对从Simulink模型生成PLC程序感兴趣?金宝app如果是,那么使用PLC编码器进行IEC 61131-3结构化文本代码生成。
3评论
omkar tulankar
omkar tulankar 2020年12月29日
你好,
我通过OPC建立了simulink和siemens TIA portal之间的通信,实现M金宝appATLAB和PLC之间的数据读写。它工作很好,我只是想知道有任何代码或功能可用来做同样的艾伦布拉德利PLC?
因为在西门子端建立通信的文件是可用的,但我在罗克韦尔自动化网站上找不到任何文件。
有人能帮我一下吗?

登录评论。

更多的答案(2)


Arsalan沙
Arsalan沙 2019年8月7日
我在哪里可以找到更多的细节。我想实现这个
这在西门子、贝加莱和Beckhoff plc上都有体现。这个想法是有一个s函数,在每一步之后暂停模拟,通过TCP/IP或UDP发送和接收参数到/从PLC,然后继续下一个时间步骤。
但我找不到任何指导。你能给我链接任何教程或文献吗?

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!