|
| 1 | +--- |
| 2 | +title: EmoeDAQ 编程参考手册 |
| 3 | +keywords: EmoeDAQ |
| 4 | +desc: EmoeDAQ 编程参考手册 |
| 5 | +author: Floydfish |
| 6 | +date: false |
| 7 | +tags: analog, emoedaq |
| 8 | +--- |
| 9 | + |
| 10 | +# EmoeDAQ 编程参考手册 |
| 11 | + |
| 12 | +> 硬件版本: 1.3.0 |
| 13 | +> 手册版本: 0.1.3 |
| 14 | +> 最后更新时间: 2024-12-16 |
| 15 | +
|
| 16 | +## DAQ控制指令集 |
| 17 | + |
| 18 | +EmoeDAQ采用SCPI指令集与上位机通过串口进行通讯。 |
| 19 | +DAQ的SCPI指令集可以分为4类,分别是: |
| 20 | + |
| 21 | +- IEEE 488.2标准命令 |
| 22 | +- DAQ硬件配置命令 |
| 23 | +- DAQ采样控制命令 |
| 24 | +- DAQ系统命令 |
| 25 | + |
| 26 | +SCPI指令集的简写为指定的单词开头(大写),比如 `CONFigure:VOLTage:DC:NPLCycles 10` 这句可以简写为 `CONF:VOLT:DC:NPLC 10`。 |
| 27 | + |
| 28 | + |
| 29 | +### IEEE 488.2标准命令 |
| 30 | + |
| 31 | +#### *RST |
| 32 | + |
| 33 | +- 格式:***RST** |
| 34 | +- 功能:复位EmoeDAQ,使其硬件重新初始化 |
| 35 | +- 详细解释:接收到该命令后,DAQ会进行上电初始化操作。重新初始化后,DAQ进入出厂配置的默认工作状态 |
| 36 | +- 示例:*RST |
| 37 | +- 返回值:"system boot complete" |
| 38 | + |
| 39 | +#### *IDN? |
| 40 | + |
| 41 | +- 格式:***IDN?** |
| 42 | +- 功能:查询仪器ID信息 |
| 43 | +- 详细解释:接收到该命令后,设备返回仪器型号,以及软件版本号等信息 |
| 44 | +- 示例:*IDN? |
| 45 | +- 返回值:仪器型号,以及软硬件版本号等信息 |
| 46 | + |
| 47 | +#### *CLS |
| 48 | + |
| 49 | +- 格式:***CLS** |
| 50 | +- 功能:清除错误信息 |
| 51 | +- 详细解释:接收到该命令后,设备将清除累积的SCPI错误信息 |
| 52 | +- 示例:*CLS |
| 53 | +- 返回值:无 |
| 54 | + |
| 55 | +### DAQ采样控制命令 |
| 56 | + |
| 57 | +#### 单次测量电压 |
| 58 | + |
| 59 | +- 格式:**MEASure:VOLTage:DC? {1|2}** |
| 60 | +- 功能:测量指定通道的电压 |
| 61 | +- 详细解释:用该命令触发DAQ对某一通道进行采样,采样的积分时间取决于目前的系统设置。支持AutoZero功能,**需要注意,在开启AutoZero功能时,实际转换时间将加倍。** |
| 62 | +- 示例:MEASure:VOLTage:DC? 1 或 MEAS:VOLT:DC? 1 |
| 63 | +- 返回值:对应通道的电压值 |
| 64 | + |
| 65 | + |
| 66 | +#### 单次测量电压,附带温度 |
| 67 | + |
| 68 | +- 格式:**MEASure:VOLTage:DC:TEMPerature? {1|2}** |
| 69 | +- 功能:测量指定通道的电压,以及当前DAQ内部温度值 |
| 70 | +- 详细解释:用该命令触发DAQ对某一通道进行采样,采样的积分时间取决于目前的系统设置。支持AutoZero功能,**需要注意,在开启AutoZero功能时,实际转换时间将加倍。**。输出电压的同时,还会输出DAQ内部的温度。该指令适合长期监测时使用,测量电压的同时测量DAQ内部温度 |
| 71 | +- 示例:MEASure:VOLTage:DC:TEMPerature? 1 或 MEAS:VOLT:DC:TEMP? 1 |
| 72 | +- 返回值:对应通道的电压值,以及当前DAQ内部温度,两个数据以','分隔 |
| 73 | + |
| 74 | +#### 单次测量通道间电压比例 |
| 75 | + |
| 76 | +- 格式:**MEASure:VOLTage:RATio? {1|2}** |
| 77 | +- 功能:测量2个通道间的电压值比例 |
| 78 | +- 详细解释:用该命令触发DAQ进行单次采样,分别测量通道1和通道2的电压值(支持AutoZero),然后计算出2个通道间的电压比例。**命令的参数为比例计算中的分子** ——即当命令的参数为1时,返回比例值为 (Volt1 / Volt2);当命令参数为2时,返回比例值为 (Volt2 / Volt1) |
| 79 | +- 示例:MEAS:VOLT:RATio? 1 |
| 80 | +- 返回值:2个通道的电压比例值,保留8位小数 |
| 81 | + |
| 82 | +#### 设置采样积分周期 |
| 83 | + |
| 84 | +- 格式:**CONFigure:VOLTage:DC:NPLCycles {0.1|0.25|0.5|1|10|100}** |
| 85 | +- 功能:配置DAQ采样的积分时间 **(Number of PowerLine Cycles)** |
| 86 | +- 详细解释:用该命令设置DAQ采样的积分时间,积分时间越长,输出数据的噪声越低,电压有效位数越高。积分时间计算是依据工频电源周期数决定的,比如NPLC=10时,积分10个工频周期。假设市电频率是50Hz,周期20ms,那么10NPLC=200ms,对应5SPS/s的数据更新速率。**需要注意,在开启AutoZero功能时,实际采样率将减半。** |
| 87 | +- 示例:CONFigure:VOLTage:DC:NPLCycles 100 |
| 88 | +- 返回值:无 |
| 89 | + |
| 90 | + |
| 91 | +#### 查询采样积分周期 |
| 92 | + |
| 93 | +- 格式:**CONFigure:VOLTage:DC:NPLCycles?** |
| 94 | +- 功能:查询DAQ采样的积分周期 **(Number of PowerLine Cycles)** |
| 95 | +- 详细解释:用该命令查询DAQ采样的积分周期,积分周期越多,输出数据的噪声越低,电压有效位数越高。**需要注意,在开启AutoZero功能时,实际采样率将减半。** |
| 96 | +- 示例:CONFigure:VOLTage:DC:NPLCycles? |
| 97 | +- 返回值:返回当前DAQ的采样积分周期 |
| 98 | + |
| 99 | + |
| 100 | +#### 设置DAQ连续采样 |
| 101 | + |
| 102 | +- 格式:**CONFigure:CONTinuous:READ {1|2},{ON|OFF}** |
| 103 | +- 功能:设置DAQ的采样模式为单次(关闭CONT)或连续(开启CONT) |
| 104 | +- 详细解释:用该命令设置DAQ的采样模式,某通道在单次采样模式下,DAQ只有接收到触发信号时才会采样并输出数据(触发信号来自SCPI指令);某通道在连续转换模式下,DAQ将自动按照设置的NPLC进行连续转换并输出数据。请注意,同时只有一个通道能被激活连续转换模式。如果需要2个通道同时连续转换,请使用扫描模式。 |
| 105 | +- 示例:CONFigure:CONTinuous:READ 1,ON |
| 106 | +- 返回值:无,但如果激活连续转换,随后紧跟对应的DAQ采样的数据 |
| 107 | + |
| 108 | + |
| 109 | +#### 设置DAQ扫描采样 |
| 110 | + |
| 111 | +- 格式:**CONFigure:CONTinuous:SCAN {ON|OFF}** |
| 112 | +- 功能:设置DAQ的采样模式为扫描转换 |
| 113 | +- 详细解释:用该命令设置DAQ为连续扫描转换模式,该模式下DAQ先对CH1进行转换,然后对CH2进行转换,最后依次、同时输出2个通道的电压值。 |
| 114 | +- 示例:CONFigure:CONTinuous:SCAN ON |
| 115 | +- 返回值:无,但如果激活连续扫描转换,随后紧跟对应的DAQ采样的数据 |
| 116 | + |
| 117 | + |
| 118 | +#### 设置AutoZero |
| 119 | + |
| 120 | +- 格式:**CONFigure:AutoZero:DC {ON|OFF}** |
| 121 | +- 功能:设置DAQ采样的自动校零功能 |
| 122 | +- 详细解释:用该命令设置DAQ的自动校零功能,AutoZero开启时,DAQ先测量信号链自身的失调电压,然后再测量输入信号电压,最后输出失调矫正过的数据。该模式仅对单次转换、单通道连续转换适用,暂不支持扫描转换。开启AutoZero后,对应的转换速率减半。(**该功能不能消除外部热电势影响**) |
| 123 | +- 示例:CONFigure:AutoZero:DC ON |
| 124 | +- 返回值:无 |
| 125 | + |
| 126 | + |
| 127 | +### DAQ硬件配置命令 |
| 128 | + |
| 129 | +#### 设置通信波特率(仅使用USART接口的固件支持) |
| 130 | + |
| 131 | +- 格式:**SYSTem:BAUDRATE:SET {9600|14400|19200|38400|57600|115200|230400|460800|921600|1500000}** |
| 132 | +- 功能:设置DAQ的串口波特率 |
| 133 | +- 详细解释:用该命令设置DAQ的串口通信波特率,立刻生效,**设置完成后需要切换到新波特率与DAQ通信**。 |
| 134 | +- 示例:SYSTem:BAUDRATE:SET 115200 |
| 135 | +- 返回值:无 |
| 136 | + |
| 137 | +#### 查询通信波特率(仅使用USART接口的固件支持) |
| 138 | + |
| 139 | +- 格式:**SYSTem:BAUDRATE:SET?** |
| 140 | +- 功能:查询DAQ当前的串口波特率 |
| 141 | +- 详细解释:用该命令查询DAQ的串口通信波特率。 |
| 142 | +- 示例:SYSTem:BAUDRATE:SET? |
| 143 | +- 返回值:返回当前的串口波特率 |
| 144 | + |
| 145 | +#### 查询DAQ系统设置 |
| 146 | + |
| 147 | +- 格式:**CONFigure:INFormation?** |
| 148 | +- 功能:查询DAQ当前的系统设置 |
| 149 | +- 详细解释:用该命令查询DAQ的系统设置,包括 **波特率(仅使用USART接口的固件支持)**、NPLC频率、NPLC周期数、AutoZero是否开启 |
| 150 | +- 示例:CONFIGURE:INFormation? |
| 151 | +- 返回值:波特率、NPLC频率、NPLC周期数、AutoZero是否开启 |
| 152 | + |
| 153 | + |
| 154 | +### DAQ系统命令 |
| 155 | + |
| 156 | +#### 测量板上温度 |
| 157 | + |
| 158 | +- 格式:**MEASure:TEMPerature?** |
| 159 | +- 功能:查询DAQ当前的系统设置 |
| 160 | +- 详细解释:用该命令激活板上温度传感器,测量基准和ADC附近的温度值,返回给用户。 |
| 161 | +- 示例:MEASure:TEMPerature? |
| 162 | +- 返回值:板上温度,保留3位小数 |
| 163 | + |
| 164 | +#### 灯光指示 |
| 165 | + |
| 166 | +- 格式:**SYSTem:IDENtify** |
| 167 | +- 功能:闪烁后面板的ERR指示灯 |
| 168 | +- 详细解释:闪烁后面板的ERR指示灯,用于指示当前收到指令的DAQ。在连接多个DAQ时用于区分DAQ。DAQ收到该命令后,背板上的蓝色ERR指示灯将闪烁3次。 |
| 169 | +- 示例:SYSTem:IDEN |
| 170 | +- 返回值:无 |
| 171 | + |
| 172 | + |
| 173 | + |
| 174 | + |
| 175 | + |
| 176 | + |
| 177 | + |
| 178 | + |
| 179 | + |
| 180 | + |
| 181 | + |
| 182 | + |
| 183 | + |
0 commit comments