| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 网络协议 -> LabVIEW 2020 实现最简单的Modbus TCP客户端程序(三) -> 正文阅读 |
|
|
[网络协议]LabVIEW 2020 实现最简单的Modbus TCP客户端程序(三) |
|
LabVIEW 2020 实现最简单的Modbus TCP客户端程序系列教程: ? ? ? ? LabVIEW 2020 实现最简单的Modbus TCP客户端程序(一) ? ? ? ? LabVIEW 2020 实现最简单的Modbus TCP客户端程序(二) ? ? ? ? LabVIEW 2020 实现最简单的Modbus TCP客户端程序(三) ? 目录 ?2、从MODBUS TCP库拖一个New TCP MAster控件到平铺式顺序结构的第1帧 ? 3、从MODBUS TCP库拖一个Read Holding Registers控件到平铺式顺序结构的第2帧内的While循环内 ?4、从MODBUS TCP库拖一个Read Discrete Inputs控件到平铺式顺序结构的第2帧内的While循环内 5、New TCP MAster控件、Read Holding Registers控件、Read Discrete Inputs控件连线 ?
? ? ? ? 上一个教程??LabVIEW 2020 实现最简单的Modbus TCP客户端程序(二)实现了最简单的Modbus TCP客户端程序,完成如下功能: ? ? ? (1)、LabVIEW Modbus TCP客户端程序读取服务器10个保持寄存器的值,即:读取40001,40002,40003,40004,40005,40006,40007,40008,40009,40010。 ? ? ? (2)、LabVIEW Modbus TCP客户端程序读取服务器10个离散输入寄存器的值,即:读取10001,10002,10003,10004,10005,10006,10007,10008,10009,10010。 ? ? ? ?但是上一个教程有问题,运行几分钟后,会弹出如下错误: ? ? ? ? ? ? ?
? ? ? ? 上一个教程??LabVIEW 2020 实现最简单的Modbus TCP客户端程序(二)程序运行一会出现错误的原因为: ? ? ? ? ? ? ? ? 初始化TCP MODBUS代码部分也放到了While循环中,这样会造成不停的初始化TCP MODBUS端口,是造成错误的原因。? ? ? ??
? ? ? ?程序框图增加1个平铺式顺序结构
?平铺式顺序结构有2帧,第1帧用来初始化TCP MODBUS端口,第2帧调用Read Holding Registers控件和Read Discrete Inputs控件读取40001---40010以及10001---10010。
注: ? ? ? 第1帧只运行1次,初始化TCP MODBUS端口 ? ? ? 第2帧内再增加1个While循环,循环调用Read Holding Registers控件和Read Discrete Inputs控件读取40001---40010以及10001---10010。
? ? ? ? 前面板设计1个数值数组,具体操作过程参见??LabVIEW 2020 实现最简单的Modbus TCP客户端程序(二) ? ? ? ? 前面板设计1个布尔数组,具体操作过程参见??LabVIEW 2020 实现最简单的Modbus TCP客户端程序(二) ? ? ? ? 前面板设计1个按钮用于退出While循环,具体操作过程参见??LabVIEW 2020 实现最简单的Modbus TCP客户端程序(二)
??
? ? ? ? 设计程序框图大致步骤如下: ? ? ? ? ?1、拖一个平铺式顺序结构 ? ? ? ? ? ? ? (1)、平铺式顺序结构增加一帧变成2帧 ? ? ? ? ? ? ? (2)、平铺式顺序结构的第2帧内增加一个While循环 ? ? ? ? ? ? ? (3)、While循环内增加一个200毫秒的定时器(让TCP MODBUS客户端每隔200毫秒读取一次TCP MODBUS服务器的内容) ? ? ? ? ?2、从MODBUS TCP库拖一个New TCP MAster控件到平铺式顺序结构的第1帧 ? ? ? ? ? ? ? ?填写IP地址127.0.0.1,填写端口号502,然后连线,用于初始化TCP MODBUS端口,目的是初始化TCP MODBUS端口程序代码只运行1次。 ? ? ? ? 3、从MODBUS TCP库拖一个Read Holding Registers控件到平铺式顺序结构的第2帧内的While循环内 ? ? ? ? ? ? ? 填写起始地址0,填写寄存器数量10(表示读保持寄存器或者说4X寄存器,40001-40010),然后连线。 ? ? ? ? 4、从MODBUS TCP库拖一个Read Discrete Inputs控件到平铺式顺序结构的第2帧内的While循环内 ? ? ? ? ? ? ? 填写起始地址0,填写寄存器数量10(表示读离散输入寄存器或者说1X寄存器,10001-10010),然后连线。
1、拖一个平铺式顺序结构? ? ? ? 平铺式顺序结构增加一帧变成2帧,平铺式顺序结构的第2帧内增加一个While循环,While循环内增加一个200毫秒的定时器(让TCP MODBUS客户端每隔200毫秒读取一次TCP MODBUS服务器的内容)。 (1)、拖一个平铺式顺序结构
?(2)、平铺式顺序结构增加一帧变成2帧
? ?(3)、平铺式顺序结构的第2帧内增加1个While循环
?(4)、While循环内增加一个200毫秒的定时器 ? ? ? ? 让TCP MODBUS客户端每隔200毫秒读取一次TCP MODBUS服务器的内容。
? ?2、从MODBUS TCP库拖一个New TCP MAster控件到平铺式顺序结构的第1帧
? ?填写IP地址127.0.0.1,填写端口号502,然后连线。
? 3、从MODBUS TCP库拖一个Read Holding Registers控件到平铺式顺序结构的第2帧内的While循环内
? 填写起始地址0,填写寄存器数量10(表示读保持寄存器或者说4X寄存器,40001-40010),然后连线。?
?4、从MODBUS TCP库拖一个Read Discrete Inputs控件到平铺式顺序结构的第2帧内的While循环内
5、New TCP MAster控件、Read Holding Registers控件、Read Discrete Inputs控件连线
?6、While循环结束条件连线
??
1、运行MBSlave.exe?仿真软件(MODBUS TCP服务器)
2、创建保持寄存器起始地址=1,寄存器数量=10
??3、创建离散输入寄存器起始地址=1,寄存器数量=10? 4、联网
5、运行labVIEW MODBUS客户端程序 ?
?连续运行30分钟,一切正常,不会弹出上一教程的错误,?验证完毕。
本教程提供 ? ? ? ? ?(1)、labVIEW2020源程序 ? ?? ? ? (2)、mbslave.exe? TCP从站仿真软件 下载链接: |
|
|
| 网络协议 最新文章 |
| 使用Easyswoole 搭建简单的Websoket服务 |
| 常见的数据通信方式有哪些? |
| Openssl 1024bit RSA算法---公私钥获取和处 |
| HTTPS协议的密钥交换流程 |
| 《小白WEB安全入门》03. 漏洞篇 |
| HttpRunner4.x 安装与使用 |
| 2021-07-04 |
| 手写RPC学习笔记 |
| K8S高可用版本部署 |
| mySQL计算IP地址范围 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年12日历 | -2025/12/8 9:59:15- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |