模拟量
输入
模拟量输入 的接口以「jc.ai」作为对象访问前缀。模拟量输入 通信流程包含以下步骤:
- 通过
startAsync创建模拟量输入连接「AIConnection」。 - 操作模拟量输入连接实例,通过
inDataAsync接口获取模拟量数据「AIData」。 - 操作数据实例,通过通过只读接口获取数据内容和统计信息。
操作接口
模拟量输入 的操作接口由入口函数 startAsync 和不同层级(连接/数据)的工具类接口共同组成。
startAsync()
模拟量输入入口函数。启动1个模拟量输入连接,返回 AIConnection 实例。
ts
type AISetting = {
board: string;
sectionLength: number;
clockRate: number;
}
function startAsync (setting?: AISetting): Promise<AIConnection>;- 输入参数
- setting 设置模拟量输入的采样缓存数和采样频率。
| 参数名 | 默认值 | 说明 |
|---|---|---|
| board | 模拟量输入板卡列表的第一个设备 | 板卡名称 |
| sectionLength | 10 | 采样缓存数(每采样sectionLength次获取一次数据),默认值为10,即每采样10次获取一次数据。 |
| clockRate | 10 | 采样频率(Hz),默认值为10,即一秒采样10次。 |
- 返回值
AIConnection实例对象。
startWithAsync()
入口函数的便利版本。根据指定页面的参数启动1个模拟量输入连接,返回 AIConnection 实例。
- 函数签名
ts
function startWithAsync (pageName: string): Promise<AIConnection>;- 输入参数
- pageName 目标
模拟量输入接口页面名称。查找指定名称的接口页面,获取该页面中的参数,并以此启动1个模拟量输入连接。
- pageName 目标
- 返回值
AIConnection实例对象。
AIConnection
模拟量输入连接的操作接口如下:
inDataAsync()
异步获取数据对象,每一次采样数据都会存到该数据对象中。
函数签名
tsinDataAsync (): Promise<AIData>;输入参数 无
返回值 Promise对象,在开始采样数据后返回
AIData对象。
onData()
当获取到指定次数的采样数据时触发回调。
函数签名
tsonData ( handler: (data: AIData) => void, once?: boolean ): CancelFunc;输入参数
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
AIData实例。 - once(可选),默认值为
false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
返回值 取消函数,调用此函数可以解除本次注册。
只读接口
AIConnection
模拟量输入连接的只读接口如下:
records()
获取连接的打开记录列表,连接只会打开一次。
- 函数签名
ts
records (): FlowConnectionRecord[];FlowConnectionRecord
inBytes():返回自本次连接创建以来累计接收的字节数。outBytes():返回自本次连接创建以来累计发送的字节数。inPackets():返回自本次连接创建以来累计接收的数据包个数。outPackets():返回自本次连接创建以来累计发送的数据包个数。
AIData
length():数据包载荷的字节数。payload():该数据包的原始载荷内容,即二进制数据。
输出
模拟量输出 的接口以「jc.ao」作为对象访问前缀。模拟量输出 通信流程包含以下步骤:
- 通过
startAsync创建模拟量输出连接「AOConnection」。 - 操作模拟量输出连接实例,通过
inDataAsync接口获取模拟量数据「AOData」。 - 操作数据实例,通过通过只读接口获取数据内容和统计信息。
操作接口
模拟量输出 的操作接口由入口函数 startAsync 和不同层级(连接/数据)的工具类接口共同组成。
startAsync()
模拟量输出入口函数。启动1个模拟量输出连接,返回 AOConnection 实例。
ts
type AOSetting = {
board: string;
period: number;
clockRate: number;
}
function startAsync (setting?: AOSetting): Promise<AOConnection>;- 输入参数
- setting 设置模拟量输出的输出周期和输出频率。
| 参数名 | 默认值 | 说明 |
|---|---|---|
| board | 模拟量输出板卡列表的第一个设备 | 板卡名称 |
| period | 5 | 输出周期(秒),默认值为5,即每5秒输出一个完整周期的波形。 |
| clockRate | 10 | 输出频率(Hz),默认值为10,即一秒输出10个采样点。 |
- 返回值
AOConnection实例对象。
startWithAsync()
入口函数的便利版本。根据指定页面的参数启动1个模拟量输出连接,返回 AOConnection 实例。
- 函数签名
ts
function startWithAsync (pageName: string): Promise<AOConnection>;- 输入参数
- pageName 目标
模拟量输出接口页面名称。查找指定名称的接口页面,获取该页面中的参数,并以此启动1个模拟量输出连接。
- pageName 目标
- 返回值
AOConnection实例对象。
AOConnection
模拟量输出连接的操作接口如下:
inDataAsync()
异步获取一次输出采样的结果。
函数签名
tsinDataAsync (): Promise<number[]>;输入参数 无
返回值 Promise对象,一次采样完成后后返回
number数组。
onData()
每次模拟量输出数据之后触发的回调函数。
- 函数签名
ts
onData (
handler: (data: AOData) => void, once?: boolean
): CancelFunc;- 输入参数
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
AOData实例。 - once(可选),默认值为
false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
- 返回值 取消函数,调用此函数可以解除本次注册。
updateChannels()
更新通道的输出波形参数。
- 函数签名
ts
type WaveformType = "const" | "sine" | "square" | "triangle";
type ChannelWaveForm = {
channelNumber: number,
type: WaveformType,
high: number,
low: number,
constValue: number
}
updateChannels(channels: ChannelWaveForm[]): Promise<void>;- 输入参数
- channels 通道的波形参数数组。
| 属性名 | 类型 | 说明 |
|---|---|---|
| channelNumber | number | 通道序号 |
| type | 枚举值 | 波形类型,可选类型有恒定值("const")、正弦波("sine")、方波("square")、三角波("triangle")。 |
| high | number | 波峰值(V) |
| low | number | 波谷值(V) |
| constValue | number | 输出波形为恒定值时的取值(V) |
- 返回值 无
只读接口
AOConnection
模拟量输出连接的只读接口如下:
records()
获取连接的打开记录列表,连接只会打开一次。
- 函数签名
ts
records (): FlowConnectionRecord[];FlowConnectionRecord
inBytes():返回自本次连接创建以来累计接收的字节数。outBytes():返回自本次连接创建以来累计发送的字节数。inPackets():返回自本次连接创建以来累计接收的数据包个数。outPackets():返回自本次连接创建以来累计发送的数据包个数。
AOData
length():数据包载荷的字节数。payload():该数据包的原始载荷内容,即二进制数据。
