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