0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何采集雷达流量计(SCJ-LL21)数据

武汉水测家科技有限公司 2025-04-10 11:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.雷达流量计介绍
雷达流量计是一种很常用的非接触测流流量计,一般采用RS485通讯接口,SCJ-LL21雷达流量计采用标准的Modbus-RTU协议;

设备采用标准RS485接口,波特率9600,8个数据位,1个停止位,无校验,协议默认为标准Modbus-RTU协议,功能码03H;

设备默认的从机地址为1,地址可以通过将设备连接电脑,使用配置助手进行修改;

2.雷达流量计寄存器说明

wKgZO2f3NZOALaJkAAB6s_pz0K8641.png

注意:一般建议读取寄存器3002空高(设备到水面高度),由采集器来计算水深(安装高度-空高=水深),如果需要使用设备内水深,请通过RS485连接电脑后,使用“ 配置助手.exe”设置水位计安装高度,之后才能输出准确的水深;

3.读取雷达流量计示例:
读取空高与流速
主机发送:01 03 0B BA 00 02 E7 CA

设备返回:01 03 04 03 9F 02 2C CA E4

解释: 03 9F 0x039F => 927 空高:927mm,也就是0.927m

02 2C 0x022C => 556 流速:556mm/s,也就是0.556m/s

②读取空高

主机发送:01 03 0B BA 00 01 A7 CB

设备返回:01 03 02 03 9D 79 1D

解释: 03 9D 0x039D => 925 空高:925mm,也就是0.925m

③读取流速

主机发送:01 03 0B BB 00 01 F6 0B

设备返回:01 03 02 09 E9 7F 9A

解释: 09 E9 0x09E9 => 2537 流速:2537mm/s,也就是2.537m/s

4.编写程序读取SCJ-LL21雷达流量计的数据。
首先进行modbus-rtu主机接口初始化

wKgZPGf3Nc6AeGcgAACBQ6sNDfg097.png

实现uart串口底层接口


//RS485发送接口
static bool RS485_CH1_SendData(u8 DataBuff[], u16 DataLen)
{
UARTx_EnableRx(RS485_CH1_UART_CH, FALSE); //RS485发送数据前关闭接收
UARTx_SendData(RS485_CH1_UART_CH, DataBuff, DataLen); //串口发送数据
UARTx_EnableRx(RS485_CH1_UART_CH, TRUE); //发送完成后启动接收

return TRUE;
}


//RS485接收数据接口
static int RS485_CH1_ReadData(u8** pDataBuff, u8 ByteTimeOutMs, u16 TimeOutMs, u16* pReceiveDelayMs)
{
u32 cnt = 0;
u16 TempTime;

if (ByteTimeOutMs < 1) ByteTimeOutMs = 1;          //字节超时时间,2个帧之间的间隔最小时间
TimeOutMs /= ByteTimeOutMs;
TimeOutMs += 1;
TempTime = TimeOutMs;
while (TimeOutMs--)
{
cnt = UARTx_GetRxCnt(RS485_CH1_UART_CH);
OSTimeDlyHMSM(0, 0, 0, ByteTimeOutMs);
if ((cnt > 0) && (cnt == UARTx_GetRxCnt(RS485_CH1_UART_CH)))
{
if (pReceiveDelayMs != NULL) //需要返回延时
{
*pReceiveDelayMs = (TempTime - TimeOutMs) * ByteTimeOutMs;
}
*pDataBuff = sg_RS485_CH1_Buff; //接收缓冲区

return cnt;
}
}

return 0;
}


//RS485清除接收缓冲区
static void RS485_CH1_ClearData(void)
{
UARTx_ClearRxCnt(RS485_CH1_UART_CH); //清除串口缓冲区
}

//通过modbus-rtu协议读取雷达流量计数据



/*************************************************************************************************************************
* 函数 : SENSORS_ERROR FL_SCJ_LL21_Coll(MODBUS_HANDLE* pModbusHandle, u8 num, FL_SENSOR_DATA* pSensorData)
* 功能 : 采集流量计数据
* 参数 : pModbusHandle:modbus句柄;num:流速计编号0-1;pSensorData:采集的传感器数据
* 返回 : 采集状态 SENSORS_ERROR
* 依赖 : 底层通信驱动
* 作者 : http://www.scj-water.com/
* 时间 : 2022-07-11
* 最后修改时间 : 2022-07-11
* 说明 :
*************************************************************************************************************************/
SENSORS_ERROR FL_SCJ_LL21_Coll(MODBUS_HANDLE* pModbusHandle, u8 num, FL_SENSOR_DATA* pSensorData)
{
u32 temp;
MRTU_ERROR m_error;
u8 retry;
u16 RegDataBuff[8];

if(num > (FL_SENSOR_COUNT -1)) return SENSORS_NON_ERROR;
FL_SensorData_SetInvalidValue(pSensorData); //传感器数据初始化为无效

for (retry = 0; retry < 3; retry++)
{
m_error = MODBUS_HOST_ReadMultReg(pModbusHandle, HOLD_REG_03H, GetFlowmeterSensorAddr(num), 3000+2, 7, RegDataBuff); //主机读取从机多个指定寄存器
if (m_error == MRTU_OK)
{
pSensorData->FlowVelocity = abs((s16)RegDataBuff[1]); //水流速度,单位mm/s-取绝对值
pSensorData->WaterDepth = RegDataBuff[0]; //空高,单位mm
pSensorData->FlowDirection = RegDataBuff[6] ? 1 : 0; //平均流向

return SENSORS_OK;
}
else
{
SYS_DelayMS(150);
}
}

return SENSORS_COMM_ERROR;
}



————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/WTRExpert/article/details/146973163;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6078

    文章

    45581

    浏览量

    673732
  • 雷达
    +关注

    关注

    52

    文章

    3390

    浏览量

    124518
  • 流量计
    +关注

    关注

    11

    文章

    1640

    浏览量

    58650
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    电磁流量计

    电磁流量计是高精度、高可靠性和使用寿命长的流量仪表,所以在设计产品结构、选材、制定工艺、生产装配和出厂测试等过程中每一个环节我们都非常细致讲究,我们还自行设计了一套国内目前最先进的,专用于电磁流量计
    发表于 09-26 13:26

    管道式电磁流量计简介

    等,同时要考虑安装维修方便。3、管道式电磁流量计具有保存每天24小时的流量数据、停电时间、零流量时间等多种数据及报警等功能。每天,只需一次、
    发表于 09-26 17:02

    电磁流量计产品

    `空调水流量计一体插入式电磁流量计分体式电磁流量计`
    发表于 01-10 15:02

    涡街流量计安装步骤

    等故障。流量计在安装时应遵循以上规则,才能确保数据的精度,达到最好的测量效果。陕西赛德自动化设备制造有限公司分享涡街流量计安装注意事项。。
    发表于 01-24 15:00

    蒸汽流量计的选型对比

    `  蒸汽流量计是一种工业生产过程中常见的自动化测量仪器,其种类多样,可根据不同的现场工况来选择不同类型的流量计。蒸汽是一种高温的气体介质,高温蒸汽与过热蒸汽温度更高,在选型时需注意温度对流量计测量
    发表于 04-09 10:41

    流量计

    今天无意中看到一个小广告,之前都木有注意过,产生了浓厚的兴趣,于是想和大家一起来看看。广告很短,只为推出流量计流量,大家应该不陌生了,流量计是不是大家以为的那样计算流量的器件呢。真是
    发表于 05-12 17:32

    流量计基础知识——流量概念和流量计的分类

    的比值。2.流量计分类测量流体流量的仪表叫流量计流量计有很多的分类方法,我们仅举一种大致的分类方法,如下:1.速度式流量计:以测量流体在管
    发表于 06-27 16:33

    转子流量计数据采集说明

    转子流量数据采集说明流量计采集周期为1s ,每10ms采集一次,共采集100次。一个周期内的
    发表于 04-01 10:36

    玻璃转子流量计的原理是什么?

    玻璃转子流量计是一种变面积式流量计,它主要组成为一根自下而上扩大的垂直玻璃锥管和一只可随流量大小上下移动的浮子组成。
    发表于 09-17 09:11

    电磁流量计流量波动大的原因

    电磁流量计显示波动的原因不仅仅是瞬时流量不稳定,在调试期间由于环境条件尚好,流量计工作正常,此时往往容易疏忽安装条件。 在这种情况下,一旦环境条件变化,运行期间出现新的干扰源,就会干扰仪表的正常工作
    发表于 02-23 09:04

    金属转子流量计的精度

    金属转子流量计主要用于测量一些数据。 如果其测量精度不高且有错误,则其实际作用将不存在。 因此,每个人都必须注意其测量精度,如果金属管浮子流量计的误差太大怎么办? 这是相关的分析:相信许多企业和工厂
    发表于 04-24 18:37

    小型测量流量计如何选型

    小型测量流量计是在液体或气体管道中用于测量流量的装置,它广泛应用于各种工业领域和实验室中。选型是测量流量计选择的关键步骤,下面我们来看一下小型测量流量计如何选型。测量范围:选型时还需要
    发表于 04-20 14:21

    雷达流量计介绍

    流量计的测流原理 JK-30型雷达流量计在测量中不需要接触水体,所以也称非接触式雷达流量计,非接触式雷达
    发表于 02-27 07:58 1104次阅读

    雷达流量计的应用场景有哪些

    水渠流量监测 雷达流量计在水渠流量监测中发挥着关键作用。无论是灌区的主干渠还是支渠,雷达流量计
    的头像 发表于 01-24 16:10 1224次阅读

    非接触式雷达流量计监测系统详解

    、流速等关键水文数据的精准测量。它会向水面发射雷达波,这些雷达波在遇到水面后会被反射回来,雷达流量计通过精确计算发射波与反射波之间的时间差,
    的头像 发表于 05-24 15:02 946次阅读
    非接触式<b class='flag-5'>雷达</b><b class='flag-5'>流量计</b>监测系统详解