ucics 物理单位信息 单位类型,比如Time、Freq等。具体定义见文档。 量级,比如k、n,p,M等。具体定义见文档。 物理单位量级 / 标准单位 K 物理单位类型 无效的类型 频率(Hz) 时间(s) 面积(Vs) 采样率(Sa/s) 点数(Sa) 峰峰值(V) 电压 电流(A) db(dB) VV (VV) 百分比(%) 度数(°) 瓦特,功率(W) 未知单位(U) 物理量数值 4Byte align -> 8Bytes, 所有示波器都通过指令"mea:all?;"读取参数测量数据。 读取到的就是 MeaValue v[50] (固定长度), 各参数的位置索引由定义。 测量值 物理单位 是否有效。 0 表示无效; 1表示有效。 是否存在。 0 表示存在; 1表示不存在。 参数测量数据包的通用定义。 最大值 最小值 High(Top)-高电平(顶端值) Middle-中间值 Low(Bottom) - 低电平(底端值) VPP-峰峰值 幅度值 平均值 周期平均值 均方根 周期均方值 面积 周期面积 过冲 预冲 周期 频率 上升时间 下降时间 正脉宽 负脉宽 正占空比 负占空比 上升延时 下升延时 相位 FRR FRF FFR FFF LRF LRR LFR LFF 突发脉冲 固定位50个参数 b0 : SYNC; b1 : channel(CH1); b2 : Trigger SYNC Key Channel Key Trigger Key 模拟C/C++的堆内存的操作:申请、释放、转换 创建指定大小(bytes)的非托管内存空间 创建基于所给字节数组的非托管内存空间。默认数据会被拷贝到非托管内存空间。 托管字节数组 创建基于所给整形数据的非托管内存空间。默认数据会被拷贝到非托管内存空间。 托管整形数组 起始拷贝位置 needCopy = true 时有效 拷贝数量 allocate storage for count elements of type ty 创建基于所给对象数据的非托管内存空间 托管对象数据 true : 拷贝托管字节数组的数据到非托管内存空间; false : 不拷贝 提供Pointer到IntPtr的运算符。 Pointer类型对象 IntPtr 析构器 将内存数据转换所给的结构体类型数据。 要转换的结构体 要转换的结构体 指向非托管内存的指针 非托管内存空间的地址 非托管内存空间的大小(bytes) 通信方式 USB通信 LAN通信 串口通信 信号源的通道号 通道1的编号 通道2的编号 代表所有通道的编号 非通道编号 开关状态,占用1个字节。 关闭状态 打开状态 UCI所有接口返回的错误状态编码。如果接口返回小于0,则可以从本定义中找到对应的解释。 没有任何错误 错误(基础编码,所有错误码都在这个编码基础上定义) 资源初始化错误 无效的会话 操作超时 操作失败 不支持的操作 内存空间不足 系统繁忙,无法响应 通信异常,不可逆! 未知的错误 建立连接的字符串地址格式错误 连接还未建立 连接已断开 不支持的通信方式 未发现指定的设备 不支持的设备 需要先执行查询设备的操作 查询网络设备失败 USB设备地址只在执行查询设备操作后才有效, 从UCI库导出的USB设备地址,只是一个列表索引,不是真正的设备地址。 未发现U盘接入 按键已经锁定 命令格式错误 只支持单条命令 一条命令只支持一个属性 不支持的命令 发送命令失败 协议数据格式错误 设备端写文件到flash失败! 未发现有效数据 命令消息错误,请命令参数是否符合协议 无效的表达式 参数错误 参数提供的空间太小 所提供的文件名太长(最长50个字节) 参数所给的数据大小与协议不匹配(防止数据错误) 数字溢出 超出范围 数据未全部读取完 数据校验失败 无效的数据 数据压缩失败 数据解压缩失败 数据传输失败 数据传输失败 拒绝访问 An unspecified error occurred. The file could not be located. All or part of the path is invalid The permitted number of open files was exceeded. There was an attempt to use an invalid file handle The current working directory cannot be removed There are no more directory entries There was an error trying to set the file pointer There was a hardware error SHARE.EXE was not loaded, or a shared region was locked There was an attempt to lock a region that was already locked The disk is full The end of file was reached 写文件到磁盘失败 信号源任意波下载方式 以载波方式加载 以调制波方式加载 将ARB文件写到Flash. UCI读接口用的读参数。 命令字符串,以'\0'结尾. 具体格式见文档; 返回的数据量数据,具体意义视具体命令而定; 读超时 附加数据,大多数情况下是不需要的,可设置为IntPtr.Zero. 附加数据大小 UCI写接口的写参数 命令字符串,以'\0'结尾. 具体格式见文档; 返回的数据量数据,具体意义视具体命令而定; 超时 接口SendCommand使用的参数 命令字符串,以'\0'结尾. 具体格式见文档; 命令参数1 命令参数2 超时 写任意波文件的参数 通道号,一般CH1=0,依次类推 任意波(ARB)加载方式 写文件的参数,2个Bytes.(模拟C中的联合体) 预留的数据段 任意波(ARB)文件参数 接口WriteFromFile的接口参数。 命令字符串,以'\0'结尾. 具体格式见文档; 文件路径 要写入的文件长度(=0表示全部写入) 接口ReadToFile使用的参数 命令字符串,以'\0'结尾. 具体格式见文档; 文件路径 要写入的文件长度(=0表示全部写入) 最终输出文件的路径 设备按键LED状态数据 Noise按键LED开关状态 UTILTY按键LED开关状态 STORGE按键LED开关状态 RAMP按键LED开关状态 PULSE按键LED开关状态 COUNTER按键LED开关状态 USER按键LED开关状态 DIGTAL按键LED开关状态 HARMONIC按键LED开关状态 DC按键LED开关状态 TRGGER按键LED开关状态 CH2按键LED开关状态 SWAPCH按键LED开关状态 ARB按键LED开关状态 CH1按键LED开关状态 SINE按键LED开关状态 SQUARE按键LED开关状态 通信节点类型 在QParams中是按位与,在Node中取的是enum值。 网络设备类型 USB设备类型 USB设备的描述符 PID VID 地址 4字段数据类型 字段1 字段2 字段3 字段4 IP地址 填充顺序为 f1(192).f2(168).f3(1).f4(253) - 小端模式 分字段存取 32为整数表示的IP地址 LAN口通信的设备描述符 IP地址(字符串类型) IP地址 网络端口(TCPIP连接用的端口号) 查询到的设备节点的参数 通信接口方式 设备名 设备类型( 信号源 = SG, 示波器 = DSO, UPO = UPO;) LAN口参数 USB接口参数 连接字符串 序列号 设备状态 设备显示名称 串口描述 友好名称 端口号 查询参数 要查询的节点类型,按位与,数据取自QueryNodeType定义 eg: QueryNodeType.USB | QueryNodeType.LAN Ports的长度 端口集,指向int类型; PVID数据的长度 存放PID和VID信息的指向INT类型的缓冲区地址, int 类型对应的格式 :PID(高16bit) + VID(低16bit) 查询字符串,nullptr时表示查询所有设备,否则查询指定设备名的设备。 UCI使用的消息类型 与设备建立的连接已经断开 目前只支持LAN口访问的连接的侦测 wParams LAN : 端口号(十进制); Reserved LAN : IP 地址 文件传输消息 wParams 总帧数; lParams 帧计数; -1 : 开始传输; [0,wParams)传输中, 等于wParams传输结束-> UCIMSGProc return -1 : 表示中断传输. USB插拔消息 wParams : 使用低16位,其中,高8位为pid,低8位为vid; lParams : 事件类型, 移除 = 0, 插入 = 1; Reserved : USB插入移除事件的设备的设备名 USB设备事件 USB 设备移除事件 USB 设备接入事件 UCI 消息数据 发送消息的会话ID UCI消息,按EUCIMSG解析 消息参数,每个消息的使用意义不一样 消息参数,每个消息的使用意义不一样 保留字段,每个消息的使用意义不一样 带单位的数值 数值 单位量级 带单位的数值 数值 单位量级 万用表和毫伏表数据帧 主显字符串(20个字符) 副显字符串或(20个字符) 主显数值(8Bytes) 副显数值(8Bytes) 标记位(8Bytes) UCI会话(与设备建立会话) 本接口是的面向对象封装版本。 会在UCISession对象释放时自动关闭会话,并做所有资源清理,且提供若干 实用接口。 构造器 析构器 打开设备,建立会话。 设备地址。可以通过查询接口获取,也可以通过查看文档获取。 超时。在该时间内指令未完成,就返回超时错误! 查看说明。 关闭会话 获取错误描述信息。 通过该接口获取错误码对应的错误描述信息, 错误码可以查看。 所有错误码都是小于0的整数。 写数据 指令字符串 要写到设备的字节流数据,如果是内置类型(如int等), 可以使用BitConverter.GetBytes转换 指令执行超时,在该时间内指令为完成,就返回! 查看说明。 写数据 指令字符串 指令执行超时,在该时间内指令为完成,就返回! 查看说明。 写数据(short类型),是的封装版本 指令字符串 short 类型数据 超时 查看说明。 写数据(double类型),是的封装版本 指令字符串 double 类型数据 超时 查看说明。 写数据(int类型),是的封装版本 指令字符串 int 类型数据 超时 查看说明。 写数据(任何类型),是的封装版本 数据类型,struct 或者内置类型 指令字符串 写入的数据 超时 查看说明。 读数据的基础接口。 指令字符串 接收数据的缓冲区 超时 查看说明。 读数据(dobule类型)。是的封装版本 指令字符串 要读取的double类型数据 超时 查看说明。 读数据(int类型)。是的封装版本 指令字符串 要读取的int类型数据 超时 查看说明。 读数据(short类型)。是的封装版本 指令字符串 要读取的short类型数据 超时 查看说明。 读取数据(泛型版本,支持内置类型、结构体数据)(结构体大小必须是确定的) 内置类型或结构体类型,必须是确定的已经序列化的结构体(大小是确定的)。 指令字符串 要读取的数据 超时 查看说明。 比如uci.u_Field的大小就是确定的,可以使用本接口。 判断接口返回值是否错误 接口返回值 true : 正确; false : 错误 判断接口返回值是否正确 接口返回值 true : 正确; false : 错误 获取会话ID 设备地址,只有设备被打开时,才会存在。 当前设备是否已经打开 uci接口的C语言接口到C#接口的适配接口 建议不要直接使用本类中提供的方法。 而是使用提供的方式。 无效的会话ID 打开设备,建立会话。 查询设备 要查询的设备信息, 接收查询结果的节点数组 _nodes的个数 超时 小于0:错误; >=0 查询到的设备个数。 查询字符串示例: LAN:4162,5000;USB:0x1234#0x5345,0x7777#0x5345; 格式是:"{通信类型名称 : 设备参数 ;}" 每个通信类型数据以';'结尾;':'之前是节点名,节点名是内置的,网络通信是"LAN",USB通信是"USB"。 LAN通信的参数是端口号,以','分割. USB通信的参数是PID(第一个)和VID(第二个),每组数据以','号分割,PID和VID以'#'分割。 查找串口 写数据。 新程序请直接使用接口。 会话ID,由获得 接口参数 要写入的数据 数据长度 写数据。 是的非封装版本。 会话ID,由获得 指令字符串 超时 要写入的数据 数据长度 会话ID,由获得 读参数 会话ID,由获得 读参数(Read的参数未封装版本) 会话ID,由获得 关闭会话 会话ID,由获得 写文件到设备 会话ID,由获得 写文件到设备,是WriteFromFile参数非封装接口 会话ID,由获得 指令字符串 要发送的文件路径 超时s 读文件 会话ID,由获得 会话ID,由获得, 如果使用表示写的是全局属性。 添加事件订阅 得到错误描述。接口错误码小于0,错误码定义见 得到错误描述。原始接口,不要直接使用。 请使用 获取单位类型编码对应的单位名 单位类型编码,编码定义见 单位名 将当前单位的数值自动转换到合适的单位类型,以使数值小于进制。比如2300Hz,转换后就是2.3kHzs 当前值 当前单位编码 进制,一般为1000,比如频率的进制是1000 将当前单位的数值转换到指定的单位。 当前数值 当前单位编码 要转换到的单位编码 进制,一般为1000,比如频率的进制是1000 返回转换后的数值,比如2.3KHz 转换为Hz就是2300Hz 注意单位编码必须如EScale定义的,连续递增的量。 获取单位类型编码对应的单位名 单位类型编码,编码定义见 单位名 在主程序退出之前调用本接口以清除uci.dll内部资源。 本接口只是针对C#接口使用。否则在退出时会有异常出现。 转换PID和VID未32位整数。 判断接口返回值是否代表错误 接口返回值 判断接口返回值是否代表正确 接口返回值 查询在线的设备(建议不再使用该接口,可用代替) 查询参数 输出设备信息的缓冲区 入参是要查询的设备数量,出参是已经查询到的设备数量 超时 >=0正确,否则错误。 对压缩像素数据进行解压缩(适用于UTG4000A系列\UTG2025A NEW) 压缩之后的数据地址(按32bit寻址) 压缩的数据大小,注意是int类型。 存放解压缩后的像素数据缓冲区 像素点数 小于0 错误,错误码见UnZipError, >=0解压缩后的大小(像素数) _dst缓冲区大小是屏幕宽度 * 屏幕高度, 比如800*480的屏幕, 解压缩后就是 800*480 = 384000.即_dst_size = 384000. alg_UnCompressPixels 接口的另一版本, 缓冲区全部是字节流 压缩之后的数据地址,字节流 字节流长度 接收解压缩后的数据的字节流缓冲区 _dst缓冲区的长度(Bytes) 参考 对压缩像素数据进行解压缩(适用于UTG2025A和UTG2062A) 压缩之后的数据地址 压缩的数据大小,字节数 存放解压缩后的像素数据缓冲区 像素点数*3, 24bit 小于 0 错误,错误码见UnZipError, >=0解压缩后的大小(字节数) _des缓冲区大小应该是480*272*3 1000A信号源使用的图像数据的解压算法 从设备端读取到的完整数据包 _src 指向的数据大小Bytes 输出的32bit的像素数据的缓冲区 图像的宽度 图像的高度 小于 0 错误,错误码见UnZipError, >=0解压缩后的像素个数 通知事件的委托函数,由使用。 解压缩返回算法返回的错误码 参数错误 接收非压缩数据的缓冲区大小不够 提供一些做跨平台数据转换时的常用接口 将字节数组转换为结构体数组 结构体类型 被转换的字节数组 用于数据的结构体数组 要转换的结构体数量 byte数组转结构体 byte数组 结构体类型 转换后的结构体, 转换失败返回null 结构体转byte数组 要转换的结构体 转换后的byte数组