SCJ-RTU01遥测终端机定制传感器接入:定制水位计接入

2024-02-27 07:50

本文主要是介绍SCJ-RTU01遥测终端机定制传感器接入:定制水位计接入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SCJ-RTU01遥测终端机定制传感器接入采用了宏定义配置功能,通过宏定义去选择当前程序定制传感器的型号,这样可以避免一些不常用的传感器占用永久资源,通过客户需要选择则不同的定制传感器,以一下某某水位计为例,编写底层传感器数据采集驱动,代码如下:


/*************************************************************************************************************************
* 函数			:	SENSORS_ERROR WL_Custom_Coll(MODBUS_HANDLE *pModbusHandle, u8 num, WL_SENSOR_DATA * pSensorData)
* 功能			:	采集水位传感器
* 参数			:	pModbusHandle:modbus句柄;num:水位计计编号0-1;pSensorData:传感器采集到的数据
* 返回			:	读取状态
* 依赖			:	底层通信驱动
* 作者			:	cp1300@139.com
* 时间			:	2023-01-07
* 最后修改时间 	: 	2023-01-07
* 说明			:   RS485 9600bps 寄存器6,返回无符号,单位mm, 默认地址0x34 线序:红 黑 黄 绿
*************************************************************************************************************************/
SENSORS_ERROR WL_Custom_Coll(MODBUS_HANDLE* pModbusHandle, u8 num, WL_SENSOR_DATA* pSensorData)
{MRTU_ERROR m_error;u16 RegDataBuff[2];u8 retry;WL_SensorData_SetInvalidValue(pSensorData);                 //将传感器数据设置为无效if (num > (2 - 1)) return SENSORS_OTHER_ERROR;for (retry = 0; retry < 3; retry++){m_error = MODBUS_HOST_ReadMultReg(pModbusHandle, HOLD_REG_03H, GetWaterLevel_Addr(num), 6, 1, RegDataBuff);	//主机读取从机多个指定寄存器if (m_error == MRTU_OK){pSensorData->WaterDepth = RegDataBuff[0];	//单位为mmreturn SENSORS_OK;}else{SYS_DelayMS(400);}}return SENSORS_COMM_ERROR;
}

通过遥测终端机虚拟机测试,启动虚拟RTU,虚拟RTU通过调用PC的串口采集数据。

 虚拟RTU屏幕

使用上位机连接到虚拟的RTU,通过串口连接

 启动水位计1,并选中定制型号

通过Modbus Slave  虚拟被测试的水位计,寄存器6为水位,设置如下:

寄存器6,水位12.345

上位机采集结果如下
 

虚拟RTU屏幕显示如下

 

代码测试无误后,使用MDK编译为嵌入式代码(代码与虚拟机完全共用),编译完成后代使用上位机升级到RTU即可完成水位计的定制集成。 

产品详情:水利遥测终端机(RTU)一体化监测设备_武汉水测家_多普勒超声波流量计_雷达流量_WTRExpert (scj-water.com)

这篇关于SCJ-RTU01遥测终端机定制传感器接入:定制水位计接入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/751703

相关文章

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

IDEA接入Deepseek的图文教程

《IDEA接入Deepseek的图文教程》在本篇文章中,我们将详细介绍如何在JetBrainsIDEA中使用Continue插件接入DeepSeek,让你的AI编程助手更智能,提高开发效率,感兴趣的小... 目录一、前置准备二、安装 Continue 插件三、配置 Continue 连接 DeepSeek四

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

PyCharm 接入 DeepSeek最新完整教程

《PyCharm接入DeepSeek最新完整教程》文章介绍了DeepSeek-V3模型的性能提升以及如何在PyCharm中接入和使用DeepSeek进行代码开发,本文通过图文并茂的形式给大家介绍的... 目录DeepSeek-V3效果演示创建API Key在PyCharm中下载Continue插件配置Con

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

PDFQFZ高效定制:印章位置、大小随心所欲

前言 在科技编织的快节奏时代,我们不仅追求速度,更追求质量,让每一分努力都转化为生活的甜蜜果实——正是在这样的背景下,一款名为PDFQFZ-PDF的实用软件应运而生,它以其独特的功能和高效的处理能力,在PDF文档处理领域脱颖而出。 它的开发,源自于对现代办公效率提升的迫切需求。在数字化办公日益普及的今天,PDF作为一种跨平台、不易被篡改的文档格式,被广泛应用于合同签署、报告提交、证书打印等各个

超越IP-Adapter!阿里提出UniPortrait,可通过文本定制生成高保真的单人或多人图像。

阿里提出UniPortrait,能根据用户提供的文本描述,快速生成既忠实于原图又能灵活调整的个性化人像,用户甚至可以通过简单的句子来描述多个不同的人物,而不需要一一指定每个人的位置。这种设计大大简化了用户的操作,提升了个性化生成的效率和效果。 UniPortrait以统一的方式定制单 ID 和多 ID 图像,提供高保真身份保存、广泛的面部可编辑性、自由格式的文本描述,并且无需预先确定的布局。

Java应用对接pinpoint监控工具的时候,应用名称长度超出限制而导致接入失败

一、背景 java应用需要接入pinpoint,同一个虚拟机上的其他应用接入成功,唯独本应用不行。 首先排除是pinpoint agent的问题,因为其他应用都正常。 然后,我就对比二者的启动脚本。 -javaagent:/opt/pinpoint/pinpoint-bootstrap.jar -Dpinpoint.agentId=DA301004_17 -Dpinpoint.applic