多功能串口数据记录仪配置参考

可配置项

  1. 通信接口

    • rs232

    • rs485

    • ttl

  2. 报警

    • 报警方式

      • led 指示灯

      • buzzer 蜂鸣器

      • relay 继电器

    • 匹配字节串 最长16字节

  3. 串口通信参数

    • 波特率 最大 921600

    • 数据位 7/8

    • 校验位 N/O/E

    • 停止位 1/2

  4. 文件分割

    • 分割方式

      • size 按大小分割,单位 KB

      • time 按时间分割,单位 分钟

    • 分割参数

  5. 编码方式

    • 编码类型

      • ascii 字符型记录。 在每帧或每行前,可选择加时间戳

      • raw 原始16进制记录。

      • convert 将原始16进制变换成2字符ascii字符进行记录

    • 是否加时间戳 仅用于 ascii和convert

    • 是否以’\r’作为新行标志 仅用于 ascii

    • 是否以’\n’作为新行标志 仅用于 ascii

  6. 轮询发送

    • 发送周期 单位

    • 发送字节串 最长32个字节

备注

极限测试数据:

条件:无轮询,无报警
ascii模式下,921600波特率,每帧32字符,10ms周期定时发送,无数据丢失
convert模式下,921600波特率,每帧32字符,20ms周期定时发送,无数据丢失
raw模式下,25600波特率连续发送,无数据丢失

帧定义

对于连续发送的字节流,如果中断超过 3.5个字符 传输时间,则认为是新的一帧的开始

每接收到一帧数据,模式指示灯闪烁一次

行定义

  1. 对于不超过2000个字符的帧,认为是一行

  2. 如果一帧内的字符超过2000个,则从2001个字符开始分为2行

  3. 如果设置了新行标志,则不按照帧划分,仅在遇到新行标志字符时才划分为新行,除非达到2000字符上限

编码方式

500ms 周期发送字节串 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x30

ASCII

主要用于记录一般 字符日志

配置 :带时间戳,CR=false, LF=false

记录文件 2000_01_02 18_29_34.txt 如下

[2000-01-02 18:29:34.957] 1234567890
[2000-01-02 18:29:35.453] 1234567890
[2000-01-02 18:29:35.954] 1234567890
[2000-01-02 18:29:36.454] 1234567890
[2000-01-02 18:29:36.954] 1234567890
[2000-01-02 18:29:37.453] 1234567890
[2000-01-02 18:29:37.956] 1234567890
[2000-01-02 18:29:38.453] 1234567890
[2000-01-02 18:29:38.956] 1234567890
[2000-01-02 18:29:39.454] 1234567890
[2000-01-02 18:29:39.953] 1234567890
[2000-01-02 18:29:40.453] 1234567890
[2000-01-02 18:29:40.953] 1234567890
[2000-01-02 18:29:41.456] 1234567890
[2000-01-02 18:29:41.953] 1234567890
[2000-01-02 18:29:42.453] 1234567890

RAW

主要用于 记录原始数据

记录文件 2000_01_02 18_33_10.bin 如下

12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

CONV

主要用于 调试原始数据

配置 :带时间戳

记录文件 2000_01_02 18_37_35.txt 如下

[2000-01-02 18:37:35.277] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:35.778] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:36.276] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:36.775] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:37.275] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:37.778] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:38.276] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:38.776] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:39.278] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:39.775] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:40.276] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:40.775] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:41.278] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:41.777] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:42.278] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:42.776] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:43.280] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:43.778] 31 32 33 34 35 36 37 38 39 30
[2000-01-02 18:37:44.277] 31 32 33 34 35 36 37 38 39 30

配置模式命令

在配置模式下,可以通过USB模拟出的COM进行配置,配置结果保存于EEPROM。当SD卡中无配置文件config.ini时,使用EEPROM中的配置对 多功能串口记录仪 进行初始化。

使用任意串口调试工具连接并打开串口(38400 8N1),即可使用AT命令配置 多功能串口记录仪 。

串口参数 AT+S_SERIAL/AT+G_SERIAL

  • 设置

    AT+S_SERIAL=波特率_数据位_校验位_停止位<CR><LF>

    波特率范围:1200,4800,9600,19200,38400,56000,57600,115200,128000,230400,256000,921600
    数据为范围:7,8
    校验位范围:N,E,O
    停止位范围:1,2
    举例:

    AT+S_SERIAL=115200_8_N_1

  • 读取

    AT+G_SERIAL=?<CR><LF>

存储方案 AT+S_STORAGE/AT+G_STORAGE

  • 设置

    AT+S_STORAGE=存储模式:标志1[,标志2][,标志3]<CR><LF>

    存储模式:ASCII,RAW,CONV
    标志:TS,CR,LF
    • TS 每行加时间戳

    • CR 以CR为新行标志

    • LF 以LF为新行标志

  • 读取

    AT+G_STORAGE=?<CR><LF>

文件分割方案 AT+S_FILE/AT+G_FILE

  • 设置

    AT+S_FILE=分割方式:分割参数<CR><LF>

    分割方式:SIZE,TIME
    • SIZE 按文件大小分割 单位 KB

    • TIME 按时间长短分割 单位 分钟

    分割参数:1 ~ 2^31
  • 读取

    AT+G_FILE=?<CR><LF>

通信接口选择 AT+S_CHANNEL/AT+G_CHANNEL

  • 设置

    AT+S_CHANNEL=通道<CR><LF>

    通道:RS232,RS485,TTL
  • 读取

    AT+G_CHANNEL=?<CR><LF>

报警设置 AT+S_ALARM/AT+G_ALARM

  • 设置

    AT+S_ALARM=报警方式1[,报警方式2][,报警方式3]@字节串

    报警方式:BUZZER,LED,RELAY
    • BUZZER 蜂鸣器

    • LED 指示灯

    • RELAY 继电器

    字节串: 0x–[,0x–] 以0x开头的,以英文逗号为分割的连续十六进制字节。 最长16个字节

    备注

    字节串个数越多,越影响处理性能

    如果需要关闭报警功能,可以使用 AT+S_ALARM=@

  • 读取

    AT+G_ALARM=?<CR><LF>

时间设置 AT+S_TIME/AT+G_TIME

  • 设置

    AT+S_TIME=时间字符串<CR><LF>

    时间字符串:YYMMDDHHmmss ,按照年月日时分秒的顺序,每项2个字符
  • 读取

    AT+G_TIME=?<CR><LF>

轮询发送 AT+S_SEND/AT+G_SEND

  • 设置

    AT+S_SEND=轮询间隔@字节串<CR><LF>

    轮询间隔:0 ~ 2^31 ,单位秒。 如果要关闭轮询功能,间隔可以设置为 0
    字节串: 0x–[,0x–] 以0x开头的,以英文逗号为分割的连续十六进制字节。 最长32个字节
  • 读取

    AT+G_SEND=?<CR><LF>

配置脚本详解

如果SD卡中存在配置脚本文件 config.ini,那么将以脚本的配置进行初始化。

配置文件是按照windows的系统配置文件的存储文件格式进行组织编写的。具体说明请参考 ini文件 。请务必按照正确的格式,否则将导致解析错误。

配置文件最大1024字节。

配置实例:

[channel]
channel=rs232           ;rs232,rs485,ttl
[alarm]
by=led,buzzer,relay
match_hex=0x30,0x31,0x32,0x33,0x34
[serial]
baudrate=9600
data_bits=8 ;7,8
parity=N   ; N,O,E
stop_bits=1 ;1,2
[file]
splitter=size   ;size,time
parameter=8000 ;kB,minutes
[storage]
type=ascii      ;raw ,ascii ,convert
add_timestamp=true
newline_cr=false
newline_lf=false
[send]
send_hex1=1@0x30,0x32,0x33,0x34,0x0d,0x0a
send_hex2=2@0x31,0x32,0x33,0x34,0x0d,0x0a
send_hex3=3@0x32,0x32,0x33,0x34,0x0d,0x0a
send_hex4=4@0x33,0x32,0x33,0x34,0x0d,0x0a

以上配置解读为:

  • 进行RS232通信接口记录

  • 当一帧内遇到字节串“0x30,0x31,0x32,0x33,0x34”时,通过 LED,蜂鸣器,继电器进行报警

  • 串口通信参数为: 9600 8N1

  • 文件按照大小的方式进行分割,每8000KB新建一个文件

  • 记录方式为 ASCII,每行行首增加时间戳,以默认的帧分割行

  • 多功能串口记录仪 按照 send_hex1 , send_hex2 … 的顺序依次发送十六进制字节。每次发送前延时 @ 符号前的 正整型数值代表的

备注

脚本配置时, [send] 最多支持32条循环发送,每条最长32个字节

串口命令配置时,仅支持一条,最长32个字节