新闻  |   论坛  |   博客  |   在线研讨会
VM系列振弦读数模块的测量模式
HB稳控科技 | 2022-12-07 13:31:20    阅读:208   发布文章

模块有连续测量和单次测量两种测量模式,通过向测量模式寄存器 WKMOD.[0]写入 1 使模

块工作于连续测量工作模式,写入 0 使模块工作于单次测量工作模式。WKMOD.[15]用来设置是

否在模块“忙”时禁用数字接口,当数字接口被禁用期间,模块不会收到任何经由数字接口传

输的数据或指令,当数字接口不被禁用时,模块内部维持传感器测量优先的逻辑,收到的指令

会在模块完成当次测量后得到响应。

连续测量模式

在连续测量模式下,模块每间隔一定的时间自动进行一次传感器激励和数据读取操作,相

邻两次测量的时间间隔由寄存器 MM_INTE 进行设置,单位为毫秒。

无论是连续测量模式还是单次测量模式,在每次向传感器发送激励信号之前均会等待

MM_INTE 毫秒,所以,连续测量时间间隔也称为“激励前等待时长”。

单次测量模式

单次测量是指模块一直处于“空闲”状态,当收到单次测量指令后,立即启动单次测量过

程的工作流程。在单次测量模式,每隔 3 秒在 RTS 管脚输出一次短促高脉冲(10ms)表示当前

处于单次工作模式。有四类指令可以触发一次单次测量。

1)使用专用$指令集指令

通过 UART 接口向模块发送单次测量指令$MSFR=x 或者$MSFT=x。

例:在单次测量模式下

向模块发送单次测量指令:$MSFR=3\r\n

模块开始完成 3 次测量,当完成后输出频率测量结果数据:$FR=1343.3Hz\r\n

向模块发送单次测量指令:$MSFT=3\r\n

模块开始完成 3 次测量,当完成后输出频率和温度测量结果数据:

$FR=1343.3Hz\t$TE=30.2’C\r\n

2)使用专用单次测量指令 0xAAAA 或 0xAAAB

通过 UART 接口向模块发送特定的单次测量指令,模块测量完成后主动上传频率和温度测量

结果

单次测量时,测量次数尽量>=3 次,且推荐使用高压激励方法、开启历史数据滤波功能。若

采用扫频法,可能首次测量失败,影响最终结果计算(若使用了历史数据滤波功能)。

例:在单次测量模式下

向模块发送单次测量指令:AA AA 01 13 68

模块开始完成 3 次测量,当完成后输出频率测量结果数据:AA AA 01 13 34 3A D6,则当

前测量到的频率值为(0x34*256+0x3A)/10=1337.0Hz。

向模块发送单次测量指令:AA AB 01 13 69

模块开始完成 3 次测量,当完成后输出频率和温度测量结果数据:AA AB 01 13 34 3A 00

F5 CC,则当前测量到的频率值为(0x34*256+0x3A)/10=1337.0Hz,温度值为 24.5℃。

3)向系统功能寄存器写入单次测量指令码

使用数字接口,任意一种通讯协议,向系统功能寄存器 SYS_FUN 写入 0x1x、0x3x 或者 0x7x

指令码,触发一次单次测量。使用这种方法时,模块遵循主从通讯机制,在完成测量后不会主动

上传数据,可以通过读取系统状态寄存器 SYS_STA.[4]来判断当前是否已经完成了本次单次测

量,并在检测到完成时读取频率寄存器 S_FRQ 获得本次测量的频率结果。

例:在单次测量模式下使用 MODBUS 协议

向模块发送单次测量指令:01 06 00 03 00 13 38 07

模块返回 MODBUS 应答数据:01 06 00 03 00 13 38 07

模块开始完成 3 次测量,当完成后不输出任何信息,需要读取 SYS_STA.[4]来判断测量是否

完成。

4)直接读取频率寄存器 S_FRQ

在单次测量模式下使用 MODBUS 或 AABB 通讯协议读取频率寄存器 S_FRQ,VM 模块执行 0x73

指令码,并根据使用的通讯协议返回寄存器值。

 


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客