K-847 继电器输出及隔离数字输入接口卡使用说明书 北京科瑞兴业科技有限公司 北京科瑞兴业科技有限公司 地址 : 北京市海淀区知春里 28 号开源商务写字楼 212 213 室 邮政编码 :100086 电话 :010-51650651 010-62527214 传真 :010-62657424 http://www.krxgk.com Sales E-mail: sgq@krxgk.com Tech Support E-mail: lilanzhen007@126.com
K-847 继电器输出及隔离数字输入卡技术说明书 1. 概述 K-847 继电器输出及隔离数字量输入卡是为 PC-BUS ISA 总线的 486/586 系列的原装机 兼容机及工控机而设计的接口卡, 它适用于工业现场设备开关控制和采集 考虑到外部设备对计算机干扰十分强烈及现场强电的干扰, 本卡的数字量输入部分采用了光电隔离技术, 使计算机与现场信号之间全部隔离, 提高了抗干扰能力, 而且隔离数字量输入信号采用双向输入方式, 使接线更加方便 本卡提供了八个继电器和八路光隔离数字量输入, 卡上的 DB-37 连接器提供了对所有输入输出通道的访问 2. 主要技术指标 2.1 隔离数字量输入 : 输入通道 :8 信号输入方式 : 双向输入 光电隔离器 :TLP521-4 输入信号电平范围 :5V~48V 隔离电压 :500V 2.2 继电器输出 输出通道 :8 继电器类型 : 单刀双掷 (DS2Y-S) 输出类型 :CH1~CH4 为常开和常闭,CH5~CH8 为仅常开 接触等级 :125VAC@0.5A 或 30VDC@1A 绝缘电阻 :100M 欧姆 ( 最小 ) 继电器驱动 : 每个继电器 +12V@33mA 2.3 本卡共占用主机连续 3 个 I/O 地址口 2.4 外型尺寸 :( 不含档板 ) 长 高 =154.9mm 109.2mm ( 6.1 英寸 4.3 英寸 ) 2
3. 工作原理 K-847 继电器输出及隔离数字量输入卡由数据缓冲寄存器 8 个输出寄存器, 8 路输入寄存器和地址译码电路等几部分组成 3.1 布局图如下 : 8 个输出继电器 J1 数字量输入光隔 输出寄存器 输入限流电阻 输入寄存器 地址选择 3.2 数字量输入部分 : 本卡的数字量输入部分采用 74LS245 作为输入寄存器, 外部信号采用双向输入方式, 而用户无须考虑输入信号的电流流向, 输入信号经过限流电阻和光电隔离后, 送入输入寄存器 8 路数字量输入信号均可以由 CPU 巡检方式读出, 即 CPU 通过直接读取 I/O 口的数据, 判断输入信号的状态 当外部信号输入端为高时, 输入寄存器读取的数据为 0, 反之为 1 3.3 继电器输出部分 : 本卡的继电器输出部分采用 74LS273 作为输出寄存器, 配合上电清零电路, 可实现对开关量输出部分的清零功能, 继电器的驱动器件 ULN2803 中内部带有吸收二极管, 可有效地吸收感性负载启动时产生的达 600mA 的峰值电流 8 路继电器非常适合设备开 / 关控制和切换的应用, 每个继电器的上面都有一个 LED 用以显示继电器的开 / 关状态 继电器输出信号均带锁存 主机对一个 I/O 地址执行一次写操作, 就送出了一组 8 路信号 4. 操作说明 本卡的隔离数字量输入信号为一组 8 路, 以主机巡检方式工作 继电器输出信号也一组 8 路, 通过锁存器输出 4.1 本卡 I/O 地址分配 : 地址开关的设置 : 本卡共占用主机连续 3 个 I/O 端口, 通过拨动卡上的地址开关 W 而设定, 各位代表的意义如下 : A9 长为高,A8~A2 通过拨码开关设定 0 ON 0 ON 1 1 2 3 4 5 6 7 1 1 2 3 4 5 6 7 A8 ~ A2 (a) 380H A8 ~ A2 (b) 318H 3
I/O 基地址 A9 A8 A7 A7 A5 A4 A3 A2 200H 1 OFF OFF OFF OFF OFF OFF OFF 204H 1 OFF OFF OFF OFF OFF OFF ON 210H 1 OFF OFF OFF OFF ON OFF OFF 220H 1 OFF OFF OFF ON OFF OFF OFF 230H 1 OFF OFF OFF ON ON OFF OFF 240H 1 OFF OFF ON OFF OFF OFF OFF 280H 1 OFF ON OFF OFF OFF OFF OFF 300H 1 ON OFF OFF OFF OFF OFF OFF 304H 1 ON OFF OFF OFF OFF OFF ON 310H 1 ON OFF OFF OFF ON OFF OFF 320H 1 ON OFF OFF ON OFF OFF OFF 330H 1 ON OFF OFF ON ON OFF OFF 340H 1 ON OFF ON OFF OFF OFF OFF 380H 1 ON ON OFF OFF OFF OFF OFF 注意 : 拨码开关拨到 OFF, 对应的 I/O 地址线为 1, 拨到 ON, 对应的 I/O 地址线为 0, 通过拨码开关可以设定该板卡的不同的 I/O 基地址 4.2 本卡各 I/O 地址表示功能如下表 : 端口地址与功能表 端口操作地址 操作命令 功 能 BASE+0 写操作 置 8 路继电器输出状态 BASE+1 读操作 读 8 路隔离数字量输入信号状态 BASE+2 读操作 回读 8 路继电器状态 4.3 输入输出插座接口定义 : 输入输出插座接口定义见下表 : 输入输出插座接口定义表 插座引脚号 信号定义 插座引脚号 信号定义 1 NO1 20 NO4 2 COM1 21 COM4 3 NC1 22 NC4 4 NO2 23 NO5 5 COM2 24 COM5 6 NC2 25 NO6 7 NO3 26 COM6 8 COM3 27 NO7 4
9 NC3 28 COM7 10 NO8 29 数字地 11 COM8 30 Din1_2 12 Din1_1 31 Din2_2 13 Din2_1 32 Din3_2 14 Din3_1 33 Din4_2 15 Din4_1 34 Din5_2 16 Din5_1 35 Din6_2 17 Din6_1 36 Din7_2 18 Din7_1 37 Din8_2 19 Din8_1 注 :COM* 为中间节点,NO* 为常开节点,NC* 为常闭节点 这一点在接线时要特别注意 Din*_1 Din*_2 分别为数字量输入端的两个节点, 这两 个输入点是无方向性的, 用户无须考虑信号的方向 4.4 隔离数字量输入信号的操作 : +5V 外部信号端 R* 外部信号端 TLP 4.7K 521-4 74LS 245 GND ( 数据线 ) 外设 K-847 卡 当外部输入信号没有电流使光电耦合器的二极管发光时, 光电耦合器的三极管截止, 八缓冲器输出端为 1, 这时通过三态门读入计算机数据线的相应位为 1 而当外部输入信号有电流通过 R* 流过光电耦合器的二极管使二极管发光时, 光电耦合器的三极管导通, 八缓冲器输出端为 0, 这时通过三态门读入计算机数据线的相应位为 0 电阻网络 R* 可由用户根据现场信号电平幅度而自行更换 ( 出厂时 510Ω) U in -U R R* 选用的原则如下 : R * = (KΩ) I 其中 Uin 为现场信号高电平电压值,UR 是加在光耦器上的电压值 I 是流过发光二级管电流, 一般值 3~20mA 左右 推荐用户输入信号和 R* 值如表 3: 5
表 3 输入信号高电平 R* 值 6V 以下 510Ω 6V~12V 1KΩ 12V~24V 2.4KΩ 24V~48V 4.7KΩ 各档的门槛电压比较接近各档电压的下限值, 门槛电压以下的电平被认为是低电平, 所 以有较高的抗噪声干扰的能力 读 8 路数字量输入信号的端口与数据对应关系如下 : 端口地址操作命令 D7 D6 D5 D4 D3 D2 D1 D0 基地址 +2 读 Din8 Din7 Din6 Din5 Din4 Din3 Din2 Din1 4.5 继电器输出的操作 : 继电器输出输出部分, 采用了锁存方式, 输出驱动器采用 ULN2803 K-847 卡 常开节点 中间节点 常闭节点 外设 当 K-827 卡的数据线送 1 时, 相应位的继电器吸合, 当数据线送 0 时, 相应位的继电器断开 8 路继电器输出状态与数据的对应关系表端口地址操作命令 D7 D6 D5 D4 D3 D2 D1 D0 基地址 +0 写通道 8 通道 7 通道 6 通道 5 通道 4 通道 3 通道 2 通道 1 回读 8 路继电器状态与数据的对应关系表 端口地址操作命令 D7 D6 D5 D4 D3 D2 D1 D0 基地址 +1 读通道 8 通道 7 通道 6 通道 5 通道 4 通道 3 通道 2 通道 1 6
5. 编程举例 5.1 BASIC 语言 :( 板卡基地址为 300H) 5.1.1 数字量输入 : A=INP(&H301) ; 读 8 路开关量输入状态 5.1.2 开关量输出 : OUT(&H300),0 ;8 路继电器全部吸合 A=INP(&H302) ; 回读 8 路继电器状态 5.2 汇编语言 :( 板卡基地址为 300H) 5.2.1 数字量输入 : MOV DX,301H IN AL,DX ; 读 8 路开关量输入状态 5.2.2 继电器输出 : MOV DX,300H MOV AL,255 OUT DX,AL ;8 路继电器全部断开 MOV DX,302H IN AL,DX ; 回读 8 路继电器状态 5.3 C 语言 :( 板卡基地址为 300H) 5.3.1 数字量输入 : #include "stdio.h" #include "dos.h" #include "conio.h" main() /* 清屏 */ { int i,base; /* 定义过程变量 */ clrscr(); /* 清屏 */ base=0x300; /* 设卡基地址 =300H */ i=inportb(base+1); /* 读 8 路开关量输入状态 */... 5.3.2 继电器输出 : #include "stdio.h" #include "dos.h" #include "conio.h" 7
main() /* 清屏 */ { int i,base; /* 定义过程变量 */ clrscr(); /* 清屏 */ base=0x300; /* 设卡基地址 =300H */ outportb(base,0); /* 8 路继电器全部吸合 */ i=inportb(base+2); /* 回读 8 路继电器状态 */... 6. VB 编程说明 6.1 for Win95 97&98 首先在模块中作如下声明 : Declare Sub out_port Lib "k800.dll" (ByVal nport As Integer, ByVal cvalue As Byte) Declare Function in_port Lib "k800.dll" (ByVal nport As Integer) As Byte ( 注意 : 具体编程时应考虑 k800.dll 所在的路径 ) 然后在应用程序中便可以直接调用这两个函数 具体使用方法说明如下 : 1. 继电器输出 :( 假定基地址为 300H) 例 :8 路继电器全部吸合, 并回读 8 路继电器状态的编程举例 Call out_port(768, 0) ;8 路继电器全部吸合 Call in_port(770) ; 回读 8 路继电器状态 2. 数字量输入 : 例 : 读 8 路数字量输入状态 ( 假定基地址为 300H) In1_8= in_port(769) ; 读 8 路数字量输入状态 ( 其中 In1_8 为 Byte 型变量 ) 6.2 for Windows2000&WindowsNT 驱动程序文件 (for Windows NT, 2000) 包括 : Setup.exe 安装文件 K800.dll 应用程序接口 K800.sys 设备驱动程序 Readme.doc 接口函数说明 * 注 : 前三个文件名不能做改动 执行 Setup.exe 将驱动程序安装到系统中, 应用程序可以声明 K800.dll 中的函数调用 8
编程举例与 6.1 相同 7. 保修 本产品自售出之日起两年内, 凡用户遵守贮存 运输及使用要求, 而产品质量低于技术 指标的, 凭保修单免费维修 因违反操作规定和要求而造成损坏的, 需交纳器件和维修费 8. 产品成套性 8.1 K-847 光隔离开关量输入输出接口卡壹块 8.2 北京科瑞兴业公司产品光盘壹张 8.3 37 芯 D 型插头壹套 9