Eric Wetjen,MathWorks
Modbus Explorer应用程序允许您读取和写入任何Modbus的数据®不写MATLAB的设备®代码,用这个
我们将演示如何使用应用程序设置Modbus通信与点击Koyo可编程逻辑控制器(PLC)。控制器由两个保持寄存器和3线圈/开关编程。保持寄存器被设置为计数器。我们将展示如何使用应用程序来改变开关值,这将打开和关闭计数器。可以很容易地在动态图中查看更改的效果,动态图显示存储在计数器寄存器中的值。
在演示的最后,我们将演示如何自动生成一个MatlabLive脚本,该脚本可以用作
在本视频中,我们将演示如何使用Modbus Explorer应用程序。Modbus Explorer应用程序随仪表控制工具箱一起提供,允许您在不编写MATLAB代码的情况下向任何Modbus设备读取和写入数据。使用此应用程序,您可以配置Modbus通信,读取和写入Modbus寄存器,查看寄存器数据的实时绘图,并自动生成MATLAB实时脚本。
首先,我们来到MATLAB工具条上的Apps选项卡,然后点击Modbus Explorer图标。
下一步是配置应用程序。在此之前,我们需要决定要连接到什么。
在我的办公桌上,我点击了Koyo可编程逻辑控制器(PLC),我可以使用Modbus进行通信。该PLC和Modbus Explorer App支持Modbus TCP/金宝appIP和Modbus Serial (RTU)通信。在这个演示中,我们使用的是串口,所以我们将使用Modbus串口连接。
为了建立连接,我们需要添加一个Modbus设备,并从Devices选项卡中选择Modbus Serial。我的PLC在COM3上,波特率是38400,奇偶校验是奇数。我可以改变波特率和奇偶校验的默认设置,以匹配我的设备使用这个设置窗口。在保存配置之前,应用程序会要求你从设备上的一个寄存器读取数据。我知道我的PLC设备有一个线圈地址是16385。如果我点击read,我可以看到值被设置为1。现在,我只需要点击Confirm Parameters就可以完成设备的设置。
我可以添加额外的线圈和持有寄存器点击插入。我的PLC有两个附加线圈在地址16386和16387。我还有两个保持寄存器,地址是45058和45057。现在让我们把它们都加起来。点击resume reads,可以看到数据是从那些寄存器中读取的。现在我们可以导出这个寄存器表这样我们下次运行MATLAB时就不用设置寄存器了。如果我们关闭MATLAB,我们要做的就是用import导入这个寄存器表,然后就可以开始了。您可以在这里看到,在这个版本的寄存器表中,为了方便起见,我还重命名了寄存器
现在,我们如何与设备进行交互通信?很明显,我们可以读取此处和底部绘图中定义的内存位置的值。我们还可以使用“写入寄存器”窗格更改值。在更改写入寄存器的值之前,让我解释一下正在运行的程序在PLC上。
PLC先前已使用PLC供应商的软件编程。我们下载了一个简单的程序,将三个线圈开关与两个保持寄存器相关联。保持寄存器配置为计数器。当线圈1(16385)和线圈3(16387)为高电平时,保持寄存器1将开始计数。地址45058处的保持寄存器2被设置为在保持寄存器1后开始计数5秒。让我们测试一下。我将通过写“1”将线圈3设置为高,然后我们将看到发生了什么。您可以在这里的图表中看到计数器1已启动(紫色线),现在5秒后,您可以看到绿色线(计数器2)已启动。您还可以在表中看到相同的信息,读取值现在随时间递增。
作为最后一步,我们可以生成一个MATLAB脚本,如果我们要构建一个更大的程序,它可以帮助我们开始。如果我们点击Generate Script,一个MATLAB实时脚本就会自动生成。这里我们可以看到如何使用MATLAB代码从PLC上的寄存器读取和写入。
总之,使用Modbus Explorer应用程序,您可以:
您还可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。