1、脉冲一般为干簧管信号,开关量信号等,计数要防止抖动、不丢脉冲。在程序设计时,脉冲计数的优先级要大于其他程序的优先级。脉冲计数自动保存在模块内的存储器里。
2、脉冲计数模块具有RS485自由通讯协议功能或者ModBus协议通讯功能,自由通讯协议应该简单明了,容易应用。
3、脉冲计数模块供电电源分外部供电和电池供电,并且电路板上要有容量大一点的电容。外部供电为DC 12V~30V,当用外部供电时,电池停止供电;当外部供电中断时,电池供电,当外部供电和电池供电都中断后,电容供电。当外部供电或者电池供电中断后,要有报警信号输出。电池选用市场上的通用电池。
4、计算机根据RS485通讯协议或者ModBus RTU通讯协议能对模块的地址进行更改、对模块里的数据进行设置。并能读出模块的地址、计数数据、报警信息等。
5、脉冲模块的封装应防水、防潮、放静电、防冻、防高温,易于安装、拆卸和维护。
6、所有接线端子要至少能接0.5㎡ 线径的RVV或BVR电缆。
系统应用架构图如下:
连线示意图:
外部电源输入VDD: DC12V~DC30V 100mA
脉冲输入: VDD±0.5V
脉冲宽度: ≥2ms
工作温度: -10~70℃
通讯速率: 1200bps/s、2400 bps/s、4800 bps/s、9600 bps/s, 19200 bps/s可选。
MODBUS通信协议举例:
1. 读两个通道的计数值:
通道1的数据在前(如返回值红色字体所示),通道2的数据在后(如返回值绿色字体所示)
上位机下发帧:01 03 00 00 00 08 44 0C
仪表返回值:01 03 08 01 02 03 04 21 22 23 24 35 35
读取错误时的返回值:01 83 02 C0 F1
2. 设置多少个脉冲作为数据加1,默认为1个脉冲计数一次
假设写入的脉冲常数为150(96H)个 01 06 00 02 00 96 A8 64
返回值:01 06 00 02 00 96 A8 64
更改错误时的返回值:01 86 03 02 61
3. 设置去抖时间,以ms为单位,默认为1ms
假设写入的去抖时间为10ms 01 06 00 03 00 0A F9 CD
返回值:01 06 00 03 00 0A F9 CD
更改错误时的返回值:01 86 03 02 61
4. 写通道1计数值:
假设写入的计数值为305419896(12345678H) 01 10 12 34 56 78 BB 3D
返回值:01 10 12 34 56 78 BB 3D
写入错误时的返回值:01 90 03 0C 01
5. 写通道2计数值:
假设写入的计数值为0(00000000H) 01 16 00 00 00 00 48 09
返回值:01 16 00 00 00 00 48 09
写入错误时的返回值:01 96 03 0F A1
水表、电表的脉冲数据采集
工业设备的脉冲数据采集