数字量
输入
数字量输入 的接口以「jc.din」作为对象访问前缀。数字量输入 通信流程包含以下步骤:
- 通过
startAsync创建数字量输入连接「DIConnection」。 - 操作数字量输入连接实例,通过
inDataAsync接口获取数字量数据「DIData」。 - 操作数据实例,通过通过只读接口获取数据内容和统计信息。
操作接口
数字量输入 的操作接口由入口函数 startAsync 和不同层级(连接/数据)的工具类接口共同组成。
startAsync()
数字量输入入口函数。启动1个数字量输入连接,返回 DIConnection 实例。
ts
function startAsync (setting?: string | Partial<{
samplingHz: "10" | "20" | "50",
board: string
}> | undefined | null): Promise<DIConnection>;- 输入参数
- setting 类型为字符串时,表示数字量输入的板卡名称,类型为对象时,表示开启板卡所需的参数。
| 参数名 | 默认值 | 说明 |
|---|---|---|
| samplingHz | "10" | 采样频率(Hz),默认值为10,即一秒采样10次。 |
| board | 数字量输入板卡列表的第一个设备 | 板卡名称 |
- 返回值
DIConnection实例对象。
startWithAsync()
入口函数的便利版本。根据指定页面的参数启动1个数字量输入连接,返回 DIConnection 实例。
- 函数签名
ts
function startWithAsync (pageName: string): Promise<DIConnection>;- 输入参数
- pageName 目标
数字量输入接口页面名称。查找指定名称的接口页面,获取该页面中的参数,并以此启动1个数字量输入连接。
- pageName 目标
- 返回值
DIConnection实例对象。
DIConnection
数字量输入连接的操作接口如下:
inDataAsync()
异步获取数据对象,每一次采样数据都会存到该数据对象中。
函数签名
tsinDataAsync (): Promise<DIData>;输入参数 无
返回值 Promise对象,在开始采样数据后返回
DIData对象。
onData()
每一次采样时触发回调。
- 函数签名
ts
onData (
handler: (data: DIData) => void, once?: boolean
): CancelFunc;- 输入参数
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
DIData实例。 - once(可选),默认值为
false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
- 返回值 取消函数,调用此函数可以解除本次注册。
只读接口
DIConnection
records()
获取连接的打开记录列表,连接只会打开一次。
- 函数签名
ts
records (): FlowConnectionRecord[];FlowConnectionRecord
inBytes():返回自本次连接创建以来累计接收的字节数。outBytes():返回自本次连接创建以来累计发送的字节数。inPackets():返回自本次连接创建以来累计接收的数据包个数。outPackets():返回自本次连接创建以来累计发送的数据包个数。
DIData
bits():所有通道的比特位值。
输出
数字量输出 的接口以「jc.dout」作为对象访问前缀。数字量输出 通信流程包含以下步骤:
- 通过
startAsync创建数字量输出连接「DOConnection」。 - 操作数字量输出连接实例,通过
inDataAsync接口获取数字量数据「DOData」。 - 操作数据实例,通过通过只读接口获取数据内容和统计信息。
操作接口
数字量输出 的操作接口由入口函数 startAsync 和不同层级(连接/数据)的工具类接口共同组成。
startAsync()
数字量输出入口函数。启动1个数字量输出连接,返回 DOConnection 实例。
ts
function startAsync (board?: string): Promise<DOConnection>;- 输入参数
- board 数字量输出板卡名称,默认为数字量输出板卡列表的第一个设备。
- 返回值
DOConnection实例对象。
startWithAsync()
入口函数的便利版本。根据指定页面的参数启动1个数字量输出连接,返回 DOConnection 实例。
- 函数签名
ts
function startWithAsync (pageName: string): Promise<DOConnection>;- 输入参数
- pageName 目标
数字量输出接口页面名称。查找指定名称的接口页面,获取该页面中的参数,并以此启动1个数字量输出连接。
- pageName 目标
- 返回值
DOConnection实例对象。
DOConnection
数字量输出连接的操作接口如下:
inDataAsync()
异步获取一次输出采样的结果。
函数签名
tsinDataAsync (): Promise<DOData>;输入参数 无
返回值 Promise对象,一次采样完成后后返回
DOData数组。
onData()
每一次采样时触发回调。
- 函数签名
ts
onData (
handler: (data: DOData) => void, once?: boolean
): CancelFunc;- 输入参数
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
DOData实例。 - once(可选),默认值为
false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
- 返回值 取消函数,调用此函数可以解除本次注册。
writeAsync()
变更指定通道的输出值。
ts
type FlowSendResult = 'done' | 'error';
type DOWriteChannel = {
channel: number;
value: 0 | 1;
}
writeAsync (channels: DOWriteChannel[]): Promise<FlowSendResult>- 输入参数
- channels 通道的设置数组。
| 参数名 | 类型 | 说明 |
|---|---|---|
| channel | number | 通道序号 |
| value | 枚举值 | 数字量通道的输出值为0或1。 |
- 返回值 FlowSendResult,发送结果,包含如下结果:
'done':发送完成。'error':发送失败。
只读接口
DOConnection
records()
获取连接的打开记录列表,连接只会打开一次。
- 函数签名
ts
records (): FlowConnectionRecord[];FlowConnectionRecord
inBytes():返回自本次连接创建以来累计接收的字节数。outBytes():返回自本次连接创建以来累计发送的字节数。inPackets():返回自本次连接创建以来累计接收的数据包个数。outPackets():返回自本次连接创建以来累计发送的数据包个数。
DOData
length():数据包载荷的字节数。payload():该数据包的原始载荷内容,即二进制数据。
