您好,欢迎来到纷纭教育。
搜索
您的当前位置:首页PCI5330_manual

PCI5330_manual

来源:纷纭教育
PCI-5330D

16路隔离开关量输入/输出板

目 录

目录……………………………………………………………………I1.概述…………………………………………………………………1 1.1 技术特点....………………………………………………….2 1.2 应用领域…………………………………………………….2 1.3 性能指标…………………………………………………….22. PCI-5330D的安装…………………………………………………4 2.1 产品的组成…………………………..………………………4 2.2 PCI-5330D安装概述………………….….…………………4 2.2.1 设备配置……………………..….……………………..4 2.2.2 PCI槽的选择……………….…..….…………………..4 2.2.3 安装过程…………………………….………………….4 2.2.4 运行程序5330UTIL.EXE…………….………………..5 2.3 Windows 9x/NT环境下设备的安装…...…………………….5 2.4 PCI-5330D的布局…….…………………..…………………6 2.5 用户连接器管脚定义…..…………………………………….73. 寄存器结构及通道连接 ……………………………………………8 3.1 寄存器的结构..…...…………………………………………..8 3.2 数字输入寄存器………………………...……………………9 3.3 数字输出寄存器…………………………..………………….9 3.4 数字隔离输入通道的连接…………………..……………...10 3.5 数字隔离输出通道的连接……………………..…………...104. C/C++库函数……………………………………………………… 11 4.1 软件的安装………………………………………..……….. 11 4.2 变量类型定义………………………………………..…….. 12 4.3 _5330_Initial…………………………………………...…….13

- I -

4.4 _5330_DI……………………………………………………134.5 _5330_DO………………………………………………..…14附录: 中断编程的方法………………………………………………15产品保证服务………………………………………………………18

- II -

1 概 述

PCI-5330D是PCI5000系列模板中的一块通用光电隔离型的开关量板它包括16路开关量输入和16路开关量输出其通道的隔离电压可达2500Vrms, 可保护您的计算机免受以外电压的损坏

PCI-5330D采用PCI控制器PCI9050作为PCI总线的接口起符合PCI总线规范V2.0系统BIOS自动分配所有与总线相关的配置例如基本内存端口地址和中断号这可使您不需要事先了解有关配置情况省去了手工配置不冲突的资源的麻烦方便了您的使用

软件支持

下列软件可帮助您方便快速地建立自己应用程序z MS-DOS C/C++ 函数库z DLL动态库Win9x/NTz ActiveX控件

- 1 -

1.1 技术特点

z z z z z z z

16路隔离开关量输入通道16路隔离开关量输出通道输出驱动能力强隔离电压2500Vrms外部信号触发中断

带电压保护可达24V的隔离信号输入37芯D型连接器

1.2 应用领域

z 实验室和工业自动化z 事件计数器z 频率发生器

1.3 性能指标

隔离开关量输入输出

z 光隔输入通道 通道数16路 电压要求8~24V

输入信号频率最高为20KHz方波占空比50%z 光隔输出通道 通道数16路 负载电源5~40V 隔离电压2500Vdc

- 2 -

负载电流单路最大200mA

输出信号频率最高为10KHz方波占空比50%z 中断源

输入通道0为中断源 其他指标z z z z z z

连接器37芯D型连接器工作温度055储存温度- 2080湿度4090%

电源+5V @ 600mA

尺寸98mm(H)173mm(L)

- 3 -

2 安 装

本章将描述PCI-5330D的安装和配置请认真阅读以下内容由于本板是即插即用的它可以安装到任意一个PC系统的PCI扩槽内

2.1 产品组成

除了本用户手册外包装内还应包括以下物品z PCI-5330D 隔离开关量卡z 用户手册及软件工具光盘

如任何物品丢失或损坏请立即你的销售商联系

2.2 PCI-5330D的安装概述

2.2.1 资源配置

PCI-5330D为即插即用板卡资源由系统BIOS自动分配 2.2.2 PCI槽的选择

可以安装到任意一个PC系统的PCI扩槽内注意不要插在PC/AT的槽上2.2.3 安装过程

- 4 -

1关 机2打 开机箱盖将PCI-5330D插入PCI的一个扩展槽内并使其固定好, 以确保接触良好

3. 重新启动机器

2.2.4 运行5330demo.EXE

运行该程序测试本板是否工作正常

2.3 Windows 9x/NT环境下设备的安装

当您第一次插入PCI-5330D板并进入Win9x/NT时系统会自动发现设备并显示对话框提示您选择安装信息源

选择缺省项驱动程序从厂家提供的磁盘安装”,然后会出现一个对话框提示您给出安装的路径

- 5 -

放入用户手册和软件光盘在对话框中键入正确的路径X:\\PCI5330\\WIN(这个目录包含安装信息文档5330.INF),然后按OK下面系统就要开始PCI-5330D的安装

2.4 PCI-5330D的布局

W1

CN1

PCI9050

W1中断触发方式跳线器

1-2上升沿触发 ; 2-3下降沿触发

- 6 -

2.5 用户连接器定义

IDI_n开关量输入通道n IDO_n开关量输出通道n EIGND输入地 EOGND输出地 VDD 输出电源

- 7 -

3 寄存器结构及通道连接

3.1 寄存器的结构

PCI-5330D要求两个连续的I/O地址空间32位 下面为其地址分配情况

端口地址 BASE

0 - 3

写IDO

读IDI

BASEI/O基地址 IDO隔离数字量输出 IDI 隔离数字量输入 注意

1 I/O端口的数据宽度是32位的 2 8位和16位访问是禁止的

- 8 -

3.2 数字量输入寄存器

地址空间BASE+0 ~ BASE+3 属性读

数据结构IDI_N数字量输入通道N

位Base+0Base+1Base+2Base+3

7IDI_7IDI_15--6IDI_6IDI_14--5IDI_5IDI_13--4IDI_4IDI_12--3IDI_3IDI_11--2IDI_2IDI_10--1IDI_1IDI_9--0IDI_0IDI_8--

3.3 数字量输出寄存器

地址空间BASE+0 ~ BASE+3 属性写

数据结构IDO_N数字量输出通道N

位Base+0Base+1Base+2Base+3

7

IDO_7IDO_15--

6

IDO_6IDO_14--

5

IDO_5IDO_13--

4

IDO_4IDO_12--

3

IDO_3IDO_11--

2

IDO_2IDO_10--

1

IDO_1IDO_9--

0

IDO_0IDO_8--

- 9 -

3.4 输入通道的连接方法

隔离数字量输入电压为8~24V输入阻抗为1.2K,连接图如下 如要求输入电压为5V,请将输入电阻(R1~R16)改为470.

3.5 输出通道的连接方法

隔离数字量输出的外部电源为5~35V,连接图如下

- 10 -

4 C/C++ C/C++ 库函数

4.1 软件的安装

MS-DOS 软件的安装

将光盘上的DOS目录下的文件直接拷贝到硬盘上即可

Win9x/NT下软件的安装

1. 打开计算机进入Win9x或NT

2. 运行光盘上X:\\PCI5330\\Win”目录下的SETUP.EXE进行安装PCI-5330D的软件的安装程序要将动态库PCI5330.DLL拷贝

其底层的驱动程序到系统目录下C:\\Windows\\System

WINDRVR.VXDFor Win9x或WINDRVR.SYSFor WinNT也会拷贝到相应的目录下

- 11 -

在安装中首先会出现一个欢迎对话框请按NEXT继续安装接下来会提示您一个安装目标目录缺省值为C:\\Program Files\\PCI5330,您也可以改变到另一个目录下进行安装安装完成后会在开始的菜单中产生PCI5330的子菜单您可以运行其中的程序测试安装是否正确

4.2 变量类型的定义

数据类型定义写在Control_pci.h, 在PCI-5330D的库函数中会用到它们

例如U16表示16位的无符号整数类型unsigned int

- 12 -

4.3 _5330_Initial

@ 描述

PCI-5330的初始化函数

@ 语法

C/C++(DOS)

U16 _5330_Initial(U16 *existCards,PCI_INFO *pciInfo) C/C++(Win9x/NT)

U16 W_5330_Initial(U16 *existCards,PCI_INFO *pciInfo) Visual Basic(Win9x/NT)

W_5330_Initial(existCards As Integer, pciInfo As PCI_INFO) As Integer@ 参数

existCards: 已安装的PCI-5330的数目

pciInfo : 初始化后板卡的信息其结构定义在 Control_pci.h有说明

@ 返回值 0 为成功 1 为失败

4.4 _5330_DI

@ 描述

该函数用于读取PCI-5330的输入通道数据

@ 语法

C/C++(DOS)

U16 _5330_DI(U16 cardNo,U16 *di_data) C/C++(Win9x/NT)

U16 W_5330_ DI(U16 cardNo,U16 *di_data)

- 13 -

Visual Basic(Win9x/NT)

W_5330_ DI(ByVal cardNo As Integer, di_data As Integer) As Integer@ 参数

cardNo: 选择的PCI-5330的板号 di_data : 读取的端口值

@ 返回值 0 为成功 1 为失败

4.5 _5330_DO

@ 描述

该函数用于写PCI-5330的输出通道数据

@ 语法

C/C++(DOS)

U16 _5330_DO(U16 cardNo,U16 do_data) C/C++(Win9x/NT)

U16 W_5330_ DO(U16 cardNo,U16 do_data) Visual Basic(Win9x/NT)

W_5330_ DO(ByVal cardNo As Integer, ByVal do_data As Integer) As Integer@ 参数

cardNo: 选择的PCI-5330的板号 do_data : 写的端口值

@ 返回值 0 为成功 1 为失败

- 14 -

附录: 中断编程的方法

1. 中断函数1.1 W _5330_ INT_Wait

@ 描述

该函数用于建立PCI-5330的中断等待线程

@ 语法

C/C++(Win9x/NT)

int W_5330_INT_Wait();@ 参数 无

@ 返回值 0 为成功 1 为失败

1.2 W _5330_ INT_Enable

@ 描述

该函数用于启动PCI-5330的中断.

@ 语法

C/C++(Win9x/NT) int W_5330_ INT_Enable ();@ 返回值 0 为成功 1 为失败

1.3 W _5330_ INT_Disable

@ 描述

该函数用于中止PCI-5330的中断.

- 15 -

@ 语法

C/C++(Win9x/NT) int W_5330_ INT_Disable ();@ 返回值 0 为成功 1 为失败2. 中断编程的步骤

用VC建立中断程序请按以下步骤进行

z 对板卡进行初始化

z 定义一个线程函数并将W_5330_ INT_Wait()函数加入这

个线程的循环体中去

z 用W_5330_INT_Enable()函数打开启动中断

z 建立这个函数的一个线程如果成功这个线程回停留在

W_5330_ INT_Wait()函数上当有中断发生时这个线程下面的程序才会继续用户可以在这里编写中断相应程序当完成后程序又会回到W_5330_ INT_Wait()函数上继续等待下一次中断以此循环z 运行程序检查结果

3 2 中断程序的原码

//////////////////////////////////////////////////////////////// 建立线程函数

DWORD WINAPI intrthread( LPVOID lpParam){

- 16 -

unsigned long i=0;

CVc_demoDlg * mpp;

mpp=(CVc_demoDlg *)lpParam; for (;;){

W_5330_INT_Wait();

i=i+1;

mpp->count(); //用户相应函数 }return 1;}

////////////////////////////////////////////////////////////// // 开中断,建立一个启动线程 unsigned long myintrid; HANDLE hmythread; W_5330_INT_Enable(); CVc_demoDlg * mpp=this; hmythread=CreateThread( 0,1024,

(LPTHREAD_START_ROUTINE)intrthread,mpp,0,&myintrid);////////////////////////////////////////////////////////////////关中断,线程

W_5330_INT_Disable();DWORD ExitCode;

GetExitCodeThread( hmythread, &ExitCode);

if(TerminateThread(hmythread,ExitCode)==0)MessageBox(\"Interrupt thread termination fail!\");

- 17 -

产品保证服务

本公司在一九九七年荣获航天质量认证工作委员会颁发的中国航天标志产品认可证书,并已于1999年通过了ISO9000质量体系, 本产品严格遵循ISO9000质量体系的规范要求,以确保高品质的产品

质量方针和目标 科学管理 质量第一 创名牌产品 争国内领先 树优质服务 让用户满意

- 18 -

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- fenyunshixun.cn 版权所有 湘ICP备2023022495号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务