主人和奴隶之间MODBUS TCP / IP通信设备使用覆盆子π硬件
这个例子展示了如何使用仿真软件®支持包树莓π™硬件实现MODBUS®金宝appMODBU金宝appS主人和奴隶之间的TCP / IP通信设备。它还展示了如何在两个设备之间通信的四个模式操作,掌握阅读、主写,奴隶读和写奴隶。
这个示例使用两个覆盆子π模型模型,即覆盆子πMODBUS主人和覆盆子π金宝appMODBUS奴隶,这一起利用不同的操作模式,主人和奴隶的设备。
主读——主设备读取数据从设备注册在TCP / IP (s)
主写,主设备将数据写入奴隶设备注册在TCP / IP (s)
奴隶读——奴隶设备读取数据从奴隶设备寄存器/ TCP / IP
奴隶写——奴隶设备将数据写入奴隶设备寄存器/ TCP / IP
覆盆子πMODBUS奴隶模型部署在一个覆盆子π董事会,而覆盆子πMODBUS主模型运行在外部模式在其他覆盆子π。
这个表类别不同的奴隶设备MODBUS寄存器引用的主人和奴隶设备。
注册类型|注册|大小允许主操作注册- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -线圈| |出读写离散输入| |出阅读保持寄存器| 16位|读和写输入注册| 16位|阅读
先决条件
有关如何使用仿真软件的更多信息支持包覆盆子莓ππ硬件运行仿真软件模型的硬件,明金宝app白了金宝app开始使用仿真软件为覆盆子π硬件支持包金宝app金宝app。
所需的硬件
两个树莓π硬件板
两个USB电缆
配置MODBUS掌握仿真软件模型和校准参数金宝app
这种支持M金宝appODBUS主包提供了一个预配置模型。
打开模型,在MATLAB®命令窗口运行此命令。
open_system (“raspberrypi_modbus_master”)
仿真软件主模型的默认值是预先配置在这个例子中根据奴隶寄金宝app存器的大小和允许主操作。主写操作是有效的在线圈和保持寄存器,而主读操作是有效的在所有登记类型。
大师的操作模式,配置的IP地址的主人覆盆子π董事会配置参数>硬件实现>目标硬件资源>板参数。
配置这些参数配置参数>硬件实现>目标硬件资源>Modbus属性。
集通信接口来
TCP / IP
。集模式来
主
。配置奴隶设备IP端口的数量远程奴隶IP端口号码参数。在这个例子中,参数设置
502年
。集接收超时(女士)来
One hundred.
秒。
MODBUS TCP / IP配置主写块线圈寄存器
执行1比特对线圈寄存器的写操作,改变滑块的位置开关。的在
职位描述数据1
是写在这些寄存器,而从
职位描述数据0
是写在这些寄存器。三个滑块开关用于该模型及其输出多路复用和美联储作为输入的MODBUS TCP / IP大师写块。
配置这些参数的MODBUS TCP / IP大师写参数对话框中写数据块从滑动开关线圈寄存器。
进入独特的奴隶设备的IP地址奴隶地址参数。在这个模型中,参数设置
172.19.66.177
。选择
写多个线圈
选项函数参数。通知主人两个线圈寄存器写入数据,指定第一个线圈的地址线圈的地址参数。默认值是
0
。输入
3
在线圈的数量参数。滑块的默认位置开关从
,在
,在
。
MODBUS TCP / IP配置主块写寄存器
执行16位大师对持有的写操作寄存器,这个示例使用一个计数器的计数值的增量从0到15和脉冲发生器。不同步的计数器和脉冲发生器的输出多路复用和美联储作为输入到MODBUS TCP / IP大师写块。
MODBUS TCP / IP配置这些参数的大师写阻止参数对话框中写数据不同步的计数器和脉冲发生器寄存器。
进入独特的奴隶设备的IP地址奴隶地址参数。在这个模型中,参数设置
172.19.66.177
。选择
写多个存储寄存器
选项函数参数。通知主人写数据到寄存器,指定第一个线圈寄存器的地址保持寄存器地址参数。默认值是
0
。输入
2
在持有注册数量参数。
配置这些参数计数器不同步的块参数对话框。
输入
4
在的比特数参数与计数从0到15。设置样品时间来
0.1
秒。
配置这些参数脉冲发生器块参数对话框。
选择
基于样本
选项脉冲式参数。设置样品时间来
0.1
秒。
MODBUS TCP / IP配置主读块线圈寄存器
执行1比特线圈寄存器读操作,三个灯指标用于表示出线圈寄存器的读取操作。从线圈寄存器读取这些数据、配置这些参数的MODBUS TCP / IP大师读取块参数对话框。
进入独特的奴隶设备的IP地址奴隶地址参数。在这个模型中,参数设置
172.19.66.177
。选择读多个线圈选项函数参数。
通知主人从线圈寄存器读取数据,指定的地址线圈的地址参数。默认值是
0
。集线圈的数量来
3
。设置样品时间参数
0.1
。
MODBUS TCP / IP配置主读块举行寄存器
执行16位的寄存器,读操作配置这些参数的MODBUS TCP / IP大师读取块参数对话框。不同步的计数器和脉冲发生器输出的数据写在持有注册可以使用MODBUS TCP / IP主读阅读。保持寄存器0,保持寄存器1,输出状态可以在范围内。
进入独特的奴隶设备的IP地址奴隶地址参数。在这个模型中,参数设置
172.19.66.177
。选择读多个控股寄存器选项函数参数。
通知主人从线圈寄存器读取数据,指定的地址保持寄存器地址参数。默认值是
0
。集持有注册数量来
2
。设置样品时间参数
0.1
。
MODBUS TCP / IP配置主读块离散输入寄存器
数据读取离散输入寄存器高时不同步的计数器的计数值大于或等于8。15日,计数值后的输出块复位为0。这些数据是有效的只有状态端口值是1,表明成功的读操作和数据端口的存在有效数据。一盏灯指标用于表示1比特从离散输入寄存器读取。执行1比特离散输入寄存器读操作,配置这些参数的MODBUS TCP / IP大师读取块参数对话框。
进入独特的奴隶设备的IP地址奴隶地址参数。在这个模型中,参数设置
172.19.66.177
。选择读离散输入选项函数参数。
通知主人从一个离散输入寄存器读取数据,指定的地址离散输入地址参数。默认值是
0
。设置样品时间参数
0.1
。
MODBUS TCP / IP配置主读块输入寄存器
数据从输入寄存器读高当数据从存储寄存器读取相应的脉冲发生器输出低。同样,数据从输入寄存器读低当数据从存储寄存器读取相应的脉冲发生器输出高。这些数据是有效的只有状态端口值1
指示成功的读操作,其数据端口上的有效数据的存在。观察输出范围内。执行输入寄存器的16位的读操作,配置这些参数的MODBUS TCP / IP大师读取块参数对话框。
进入独特的奴隶设备的IP地址奴隶地址参数。在这个模型中,参数设置
172.19.66.177
。选择读取输入寄存器选项函数参数。
通知主人从一个输入寄存器读取数据,指定的地址输入寄存器地址参数。默认值是
0
。设置样品时间参数
0.1
。
配置方法奴隶和校准参数仿真软件模型金宝app
这种支持M金宝appODBUS奴隶包提供了一个预配置模型。
打开模型,在MATLAB命令窗口运行此命令。
open_system (“raspberrypi_modbus_slave”)
仿真软件的默认值奴隶模型预配置在这个例子。金宝app
为奴隶的操作模式、配置的IP地址奴隶覆盆子π董事会配置参数>硬件实现>目标硬件资源>板参数。
配置这些参数配置参数>硬件实现>目标硬件资源>Modbus属性。
集通信接口来
TCP / IP
。集模式来
奴隶
。配置主设备IP端口的数量本地IP端口数量参数。在这个例子中,参数设置
502年
。选择所有寄存器类型。默认的起始地址和数量这些寄存器类型参数配置如表所示:
注册类型|起始地址|数量- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -离散输入线圈| 0 | 3 | 0 | 1保持寄存器输入寄存器| 0 | 0 | 2 | 1
配置MODBUS TCP / IP奴隶为线圈寄存器读块
执行1比特奴隶线圈寄存器读操作,配置这些参数的MODBUS TCP / IP奴隶为每个线圈寄存器读取块参数对话框。
选择读盘选项函数参数。
设置线圈的地址参数
0
。设置样品时间参数
0.1
。
同样的,其他两个MODBUS TCP / IP配置奴隶读块和设置线圈的地址参数1
和2
分别,而其他参数保持不变。
双击子系统连接到数据输出端口的MODBUS TCP / IP奴隶读块。覆盆子πGPIO写别针被映射到奴隶线圈寄存器地址。配置的覆盆子π董事会和GPIO数量参数。
配置MODBUS TCP / IP奴隶读块举行寄存器
执行16位奴隶控股寄存器读操作,配置这些参数的MODBUS TCP / IP奴隶读取块参数对话框不同步的计数器和脉冲发生器的输出。
选择读取存储寄存器选项函数参数。
设置保持寄存器地址参数
0
。设置样品时间参数
0.1
。
同样,配置其他MODBUS TCP / IP奴隶读块和设置保持寄存器地址参数1
,而其他参数保持不变。
配置MODBUS TCP / IP奴隶为离散输入寄存器写块
双击子系统连接到数据输出端口的MODBUS TCP / IP奴隶读块。数据写在离散输入寄存器高当数据从存储寄存器读取对应不同步的计数器大于或等于8。15日,计数值后的输出块再次复位为0。这些数据是有效的只有状态端口值是1,表明成功的读操作和数据端口的存在有效数据。执行1比特奴隶对离散输入寄存器的写操作,配置这些参数的MODBUS TCP / IP奴隶写块离散输入寄存器参数对话框。
选择编写离散输入选项函数参数。
设置离散输入地址参数
0
。
配置MODBUS TCP / IP奴隶写块输入寄存器
双击子系统连接到数据输出端口的MODBUS TCP / IP奴隶读块。读取的数据写在输入寄存器高当数据从存储寄存器读取相应的脉冲发生器输出低。同样,数据从输入寄存器读低当数据从存储寄存器读取相应的脉冲发生器输出高。这些数据是有效的只有状态端口值1
指示成功的读操作,其数据端口上的有效数据的存在。执行输入寄存器的16位奴隶写操作,配置这些参数的MODBUS TCP / IP奴隶写块参数对话框中输入寄存器。
选择编写输入注册选项函数参数。
设置输入寄存器地址参数
0
主人和奴隶设备上运行M金宝appODBUS仿真软件模型
1。连接的覆盆子π董事会作为奴隶设备和主设备主机。
2。在硬件选项卡的覆盆子πMODBUS奴隶金宝app仿真软件模型,在模式部分中,选择机上运行然后点击构建、部署和启动。
3所示。在硬件选项卡的覆盆子πMODBUS主金宝app仿真软件模型,在模式部分中,选择机上运行然后点击监视和优化。
4所示。线圈寄存器:
MODBUS TCP / IP的大师写块,改变滑块的位置开关线圈寄存器写入数据。
MODBUS TCP / IP的主人读块,验证上的读操作线圈的状态寄存器。观察灯显示相应的数据得到的线圈寄存器。验证如果灯状态展示正确的数据写在线圈寄存器。
5。保持寄存器:
MODBUS TCP / IP的大师写块,柜台写数据从0到15到保持寄存器0。生成脉冲振幅1和写在保持寄存器1。
MODBUS TCP / IP的主人读块,检查上的读操作的状态寄存器0和1。观察计数器值增加从0到15对应数据从存储寄存器获得0并验证是否显示在范围相同的值。观察上的脉冲输出保持寄存器1和验证是否显示在范围相同的值。
6。输入注册:
MODBUS TCP / IP的主人读块,检查输入的读操作的状态寄存器。观察反向脉冲输出相应的脉冲发生器和获得的数据比较此值的获得的数据存储寄存器1。
7所示。离散输入寄存器:
MODBUS TCP / IP的主人读块,检查上的读操作的状态离散输入寄存器。观察脉冲输出对应于从获得的数据不同步的计数器,比较此值与数据从存储寄存器获得0。
模拟输出MODBUS掌握仿真软件模型金宝app
在覆盆子πMODBUS掌握仿真软件模型,金宝app硬件选项卡上,单击数据检查在审查结果部分视图和地图的各种输出模型。这幅地图的输出保持寄存器0与离散输入0和保持寄存器1与输入注册0为了更好的可见性。
金宝app模型数据检查输出MODBUS掌握仿真软件模型
其他的事情努力
使用奴隶MODBUS设备,如温度传感器、湿度传感器、等等,和实时数据通信的覆盆子π充当主设备。
实现监控系统使用PID控制器作为奴隶设备和覆盆子π董事会主设备。