Modbus-RTU使用过程中的问题

news2024/11/15 23:21:44

此程序是在visual studio 2005的MFC程序中执行的,通过引入ModbusRTU.dll进行程序的编程,通过Dependency Walker工具查看ModbusRTU.dll中的静态函数如下:

在ModbusRTU.h文件中

MOD_API WORD RTUReadDiscreteInputs(BYTE nSlaveAddress, WORD nUnitAddress, WORD nUnitCount, BYTE* pReturnBuf);

在xxx.cpp文件中

WORD xxx::ReadModbusCoil(int iSlave,int iAdd,int iCount)
{
	BYTE pBuf[256];
	WORD retWord =RTUReadDiscreteInputs(iSlave, (WORD)0, iCount, pBuf);
	WORD wVal;
	if(retWord == MODBUS_SUCCESS)
	{
		wVal = MAKEWORD(pBuf[0],pBuf[1]);
		return wVal;
	}

	return -1;
}

最后在页面上执行

void DlgPolePipeSet::OnBnClickedButton5()
{
	EDM* pEdm;
	WORD wR ;
	WORD wR03;
	CString str;
	CString str2;
	pEdm =EDM::GetEdmInstance();
	wR = pEdm->ReadModbusCoil(1,0,16);
	str.Format("0x%X",wR);
	GetDlgItem(IDC_EDIT45)->SetWindowText(str);

	wR03 = pEdm->ReadModbusCoil(6,0,16);//读一个空位

	wR03 = pEdm->ReadModbusCoil(5,0,16);
	str.Format("0x%X",wR03);
	GetDlgItem(IDC_EDIT46)->SetWindowText(str);
}

读取物理位置为01或者05的Modbus的数据,得出的值总是错误的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2049867.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

接口自动化测试,介入时间以及整个流程规范是怎样的?

最近,小编身边有人提出一个问题: 背景 公司的接口自动化是从开发提测的时候开始用例设计开发的(因为我们公司没有接口文档,只能等开发完成后自己抓包),也就是接口自动化开发和功能测试是同时进行的&#…

Ubuntu 基础使用

一、下载Vmware workstation 和ubuntu映像文件 二、安装虚拟机 三、安装完成之后打开程序,选择创建新的虚拟机 选择映射文件 编辑信息 这里尽量选择一个特定的位置 根据自己的要求设定 设置完成后等待自己安装不需要进行操作 出现登录页面表示安装成功 四、基本指令…

K8S系列——(一)、Ubuntu上安装Helm

在使用K8S搭建集群服务时,有时候需要用到Helm(一个用于Kubernetes应用管理的工具),下面是在Ubuntu上安装Helm的过程。 1.更新系统软件包列表 sudo apt-get update2.安装必要的依赖项 sudo apt-get install apt-transport-https…

怎么在网络攻击中屹立不倒

在当今蓬勃发展的网络游戏产业中,服务器安全无疑是企业生存与发展的基石。面对互联网环境中无处不在的DDoS(分布式拒绝服务)与CC(挑战碰撞)攻击威胁,游戏服务器的防御能力与高效处理能力显得尤为重要。相较…

11.2.0.4 RAC 节点1重做操作系统后如何复原

环境描述:Redhat7.9 11.2.0.4 RAC 双节点 实验背景 群里有大佬在交流RAC中1个节点操作系统坏了如何修复,故有了该实验。 在正常的生产环境当中,有时候会遇到主机磁盘以及其他硬件故障导致主机OS系统无法启动,或者OS系统本身故障…

C语言 | Leetcode C语言题解之第342题4的幂

题目: 题解: bool isPowerOfFour(int n) {return n > 0 && (n & (n - 1)) 0 && n % 3 1; }

Python3 第八十八课 -- AI 绘画

目录 一. 前言 二. Windows 环境安装 三. Civitai 介绍 一. 前言 本文我们将为大家介绍如何基于一些开源的库来搭建一套自己的 AI 作图工具。 需要使用的开源库为 Stable Diffusion web UI,它是基于 Gradio 库的 Stable Diffusion 浏览器界面 Stable Diffusio…

驾校预约学习系统--论文pf

TOC springboot373驾校预约学习系统--论文pf 第1章 绪论 1.1 课题背景 二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上不可跨域…

HP惠普暗影精灵3代OMEN 15-ce0xx,15-ce007TX,15-ce509TX原厂Win10.1803系统镜像

hp暗影精灵III代游戏本笔记本电脑,恢复出厂开箱状态原装出厂Windows10系统安装下载,带恢复重置还原 适用型号:15-ce0xx,15-ce000 15-CE001TX、15-CE002TX、15-CE003TX、15-CE004TX、 15-CE005TX、15-CE006TX、15-CE007TX、15-CE008TX、 15-C…

Azure DevOps Server 数据库日志已满,TF30042: The database is full

Contents 1. 问题描述2. 处理方式 2.1 系统备份2.2 收缩日志2.3 恢复模式2.4 日志增长无法控制 1. 问题描述 Azure DevOps Server 作为微软的软件开发管理平台产品,理所当然地使用了微软的数据库软件SQL Server。 在一个大型的开发团队中,Azure DevOps S…

TED: 1靶场复现【附代码】(权限提升)

靶机下载地址: Ted: 1 ~ VulnHubTed: 1, made by Avraham Cohen. Download & walkthrough links are available.https://www.vulnhub.com/entry/ted-1,327/ 1. 主机发现端口扫描目录扫描敏感信息获取 1.1. 主机发现 nmap -sn 192.168.59.0/24|grep -B 2 00:…

webrtc学习笔记1

WebRTC开发环境 配置vscode 安装插件 Prettier Code Formatter 使用 Prettier 来统一代码风格,当保存 HTML/CSS/JavaScript 文件时,它会自动调整代码格式。 Live Server:在本地开发环境中,实时重新加载(reload)页面。 第一个简…

python logger冗余日志处理

在for循环中创建logger日志,产生冗余日志 冗余日志 import logging import osdef create_directory_file(log_path):"""创建目录,如果目录不存在则创建目录。"""# 获取目录路径directory os.path.dirname(log_path)# 如…

希尔排序时间复杂度的计算

希尔排序时间复杂度的计算 希尔排序的时间复杂度估算: 外层循环: 外层循环的时间复杂度可以直接给出为: O(log2 n) 或者 O(log3 n) ,即 O(log n) 内层循环: 希尔排序时间复杂度不好计算,因为 gap 的取值…

中间件漏洞原理与复现大全【万字总结】

文章目录 IISHTTP.SYS远程代码执行漏洞(CVE-2015-1635)漏洞描述影响版本漏洞复现 IIS短文件之目录扫描1、概念3、应用场景:4、漏洞利用: IIS文件解析漏洞IIS 6 解析漏洞IIS 7 解析漏洞 IIS写权限漏洞简介条件漏洞复现 NginxNginx …

kali实用工具之nmap

Nmap是一款开源免费的网络发现和安全审计工具。它被用来快速扫描大型网络,包括主机探测与发现、开放的端口情况、操作系统与应用服务指纹识别及常见安全漏洞。它的图形化界面是Zenamp。 Nmap的功能包括:主机发现、端口扫描、版本侦测、操作系统侦测。 …

工程师 - 震动反馈

The Benefits of Tactile Feedback 在设计电子设备时,您可能会考虑是否使用触觉、电阻或电容式触摸技术。尽管触摸屏大受欢迎,但许多用户仍然偏爱物理按键。虽然越来越多的公司在其产品中采用电阻式或电容式触摸技术,但切勿忽视触觉反馈的诸多…

常见错误和异常,常见异常处理

Python 有两种错误很容易辨认&#xff1a;语法错误和异常。 语法错误 下面的例子中的问题是print&#xff08;&#xff09;前面缺少一个冒号&#xff1a; >>> while True print(Hello world)File "<stdin>", line 1, in ?while True print(Hello w…

拉取阿里云镜像到linux环境

1. 登录阿里云Docker Registry docker login --username<你的阿里云账号> registry.cn-hangzhou.aliyuncs.com2、到阿里云容器镜像服务查看镜像版本 3、拉取阿里云镜像到linux docker pull registry.cn-hangzhou.aliyuncs.com/study-img/kafka:3.7.04、查看linux服务器…

开源AI智能名片商城小程序在私域流量运营中的转化效率与ROI提升研究

摘要 在数字化浪潮的推动下&#xff0c;企业营销环境正经历着前所未有的变革。公域流量的高成本与低转化率迫使企业寻找新的增长点&#xff0c;而私域流量以其低成本、高粘性、可复用等优势逐渐成为企业营销战略的核心。开源AI智能名片商城小程序作为一种创新的数字化工具&…