K-846 光隔开关量输出接口卡使用说明书 (Ver 2.1 2008.09.02) 北京科瑞兴业科技有限公司 北京科瑞兴业科技有限公司 地址 : 北京市海淀区知春里 28 号开源商务写字楼 212/213 室 邮政编码 :100086 电话 :010-51650651 010-62527214 传真 :010-62657424 http://www.krxgk.com Sales E-mail: sgq@krxic.com Tech Support E-mail: lilanzhen007@126.com
K-846 光隔 64 路开关量输出接口卡使用说明书 1 概述 : K-846 光隔开关量输出卡是为 PC-BUS ISA 总线的 486/586 系列的原装机 兼容机及工控机而设计的接口卡, 它适用于工业现场开关状态变化的输出 考虑到在开关量的输出中 开 和 关 暂态对计算机干扰十分强烈及现场强电的干扰, 本卡采用了光电隔离技术, 使计算机与现场信号之间全部隔离, 提高了抗干扰能力 本卡有 64 路开关量输出, 可直接驱动继电器, 非常适用现场 2 主要技术指标 : 2.1 64 路开关量输出 2.2 最大输出电流 : 200mA, 可直接驱动继电器 2.3 各路信号之间, 各路信号与接口卡之间隔离电平 :500V 2.4 本卡共占用主机连续 8 个 I/O 地址口 3 工作原理 : K-846 卡由 64 路输出寄存器 光电隔离电路 上电清零电路几部分组成 3.1 布局图如下 : J2 驱 动 光电耦合器 DIP J1 3.2 上电输出截止功能 : 本卡在上电时的输出状态为截止状态, 这样不会对外部设备有误操作 3.3 后 32 路开关量输出的引出方式 : 本卡上 J2 为后 32 路开关量输出引出插座, 通过连接带缆转换为 37 芯 D 型插座, 通过档板可 固定在机器上 2
4 操作说明 : 本卡的开关量输出信号分为 8 组, 每组 8 路, 通过锁存器输出 4.1 本卡 I/O 地址分配 : 地址开关的设置 : 本卡共占用主机连续 8 个 I/O 端口, 通过拨动卡上的地址开关 DIP 而设定, 举例如下 : ON ON 1 2 3 4 5 6 7 1 2 3 4 5 6 7 (a) 300H (b) 210H 4.2 本卡各 I/O 地址表示功能如表 1: 表 1 端口地址与功能表 端口操作地址 操作命令 功 能 BASE+0 写操作 写 1 ~ 8 通道输出数据 BASE+1 写操作 写 9 ~ 16 通道输出数据 BASE+2 写操作 写 17 ~ 24 通道输出数据 BASE+3 写操作 写 25 ~ 32 通道输出数据 BASE+4 写操作 写 33 ~ 40 通道输出数据 BASE+5 写操作 写 41 ~ 48 通道输出数据 BASE+6 写操作 写 49 ~ 56 通道输出数据 BASE+7 写操作 写 57 ~ 64 通道输出数据 4.3 输出插座接口定义 : 输出插座接口定义见下表 : 输出插座接口 J1 定义表 插座引脚号 信号定义 插座引脚号信号定义 1 Dout 1 20 Dout 2 2 Dout 3 21 Dout 4 3 Dout 5 22 Dout 6 4 Dout 7 23 Dout 8 5 Dout 9 24 Dout 10 6 Dout 11 25 Dout 12 7 Dout 13 26 Dout 14 8 Dout 15 27 Dout 16 9 输出外接电源 28 外接电源地 10 外接电源地 29 Dout 17 11 Dout 18 30 Dout 19 12 Dout 20 31 Dout 21 13 Dout 22 32 Dout 23 14 Dout 24 33 Dout 25 3
插座引脚号 信号定义 插座引脚号 信号定义 15 Dout 26 34 Dout 27 16 Dout 28 35 Dout 29 17 Dout 30 36 Dout 31 18 Dout 32 37 输出外接电源 19 外接电源地 输出插座 J1 信号定义示意图 : Dout1 Dout3 Dout5 Dout7 Dout9 Dout11 Dout13 Dout15 输出外接电源 Dout18 Dout20 Dout22 Dout24 Dout26 Dout28 Dout30 Dout32 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 Dout2 Dout4 Dout6 Dout8 Dout10 Dout12 Dout14 Dout16 Dout17 Dout19 Dout21 Dout23 Dout25 Dout27 Dout29 Dout31 输出外接电源 输出插座接口 J2 定义表 插座引脚号 信号定义 插座引脚号 信号定义 1 Dout 33 20 Dout 34 2 Dout 35 21 Dout 36 3 Dout 37 22 Dout 38 4 Dout 39 23 Dout 40 5 Dout 41 24 Dout 42 6 Dout 43 25 Dout 44 7 Dout 45 26 Dout 46 8 Dout 47 27 Dout 48 9 输出外接电源 28 外接电源地 10 外接电源地 29 Dout 49 11 Dout 50 30 Dout 51 12 Dout 52 31 Dout 53 4
13 Dout 54 32 Dout 55 14 Dout 56 33 Dout 57 15 Dout 58 34 Dout 59 16 Dout 60 35 Dout 61 17 Dout 62 36 Dout 63 18 Dout 64 37 输出外接电源 19 外接电源地 输出插座 J2 信号定义示意图 : Dout33 Dout35 Dout37 Dout39 Dout41 Dout43 Dout45 Dout47 输出外接电源 Dout50 Dout52 Dout54 Dout56 Dout58 Dout60 Dout62 Dout64 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 Dout34 Dout36 Dout38 Dout40 Dout42 Dout44 Dout46 Dout48 Dout49 Dout51 Dout53 Dout55 Dout57 Dout59 Dout61 Dout63 输出外接电源 4.4 开关量输出信号的操作 : VCC DC/DC 外部电源 (5~24V) 负载 锁 存 光 耦 达林顿 驱动 输出 器 接口卡 外设 输出数据与开关量状态对应关系 : 所送数据位为 1 时,K-846 输出端口为高电平, 高电平状 态实质是一种高阻状态, 必须外接上拉电阻或负载 ; 当所送数据位为 0 时, 输出端口为低电平 此时的输出驱动电流主要由外供电源提供 5
写 64 路开关量输出信号的端口与数据的对应关系如下 : 端口地址 操作命令 D7 D6 D5 D4 D3 D2 D1 D0 基地址 +0 写操作 Dout8 Dout7 Dout6 Dout5 Dout4 Dout3 Dout2 Dout1 基地址 +1 写操作 Dout16 Dout15 Dout14 Dout13 Dout12 Dout11 Dout10 Dout9 基地址 +2 写操作 Dout24 Dout23 Dout22 Dout21 Dout20 Dout19 Dout18 Dout17 基地址 +3 写操作 Dout32 Dout31 Dout30 Dout29 Dout28 Dout27 Dout26 Dout25 基地址 +4 写操作 Dout40 Dout39 Dout38 Dout37 Dout36 Dout35 Dout34 Dout33 基地址 +5 写操作 Dout48 Dout47 Dout46 Dout45 Dout44 Dout43 Dout42 Dout41 基地址 +6 写操作 Dout56 Dout55 Dout54 Dout53 Dout52 Dout51 Dout50 Dout49 基地址 +7 写操作 Dout64 Dout63 Dout62 Dout61 Dout60 Dout59 Dout58 Dout57 注意 : 当 K-846 外接 K-805 继电器板 K-806 固态继电器板时, 当达林顿输出截止时, 继电 器释放, 继电器灯熄灭, 当达林顿输出导通时, 继电器吸合, 继电器灯点亮 5 开关量输出编程举例: 5.1 BASIC 语言 : OUT(&H300),0 OUT(&H301),0 OUT(&H302),255 OUT(&H303),255 OUT(&H304),0 OUT(&H305),0 OUT(&H306),255 OUT(&H307),255 ;1~8 路开关量输出全部截止 ;9~16 路开关量输出全部截止 ;17~24 路开关量输出全部导通 ;25~32 路开关量输出全部导通 ;33~40 路开关量输出全部截止 ;41~48 路开关量输出全部截止 ;49~56 路开关量输出全部导通 ;57~64 路开关量输出全部导通 5.2 C 语言 : #include "stdio.h" #include "dos.h" #include "conio.h" main() { int i,base; /* 定义过程变量 */ clrscr(); /* 清屏 */ base=0x300; /* 设卡基地址 =300H */ outportb(base,0); /* 1~8 路开关量输出全部截止 */ outportb(base+1,0xff); /* 9~16 路开关量输出全部导通 */ outportb(base+2,0); /* 17~24 路开关量输出全部截止 */ outportb(base+3,0xff); /* 25~32 路开关量输出全部导通 */ outportb(base+4,0); /* 33~40 路开关量输出全部截止 */ outportb(base+5,0xff); /* 41~48 路开关量输出全部导通 */ outportb(base+6,0); /* 49~56 路开关量输出全部截止 */ outportb(base+7,0xff); /* 57~64 路开关量输出全部导通 */ } 6
6 VB6.0 编程说明 : 6.1 for Win95 97&98 首先在模块中作如下声明 : Declare Sub out_port Lib "k800.dll" (ByVal nport As Integer, ByVal cvalue As Byte) Declare Sub adelay Lib "k800.dll" (ByVal t As Long) ( 注意 : 具体编程时应考虑 k800.dll 所在的路径 ) 然后在应用程序中便可以直接调用这三个函数和过程 具体使用方法说明如下 : 例 :1~16 路开关量输出送 00H, 17~32 路开关量输出送 FFH,33~48 路开关量输出送 55H, 49~64 路开关量输出送 AAH 的编程举例 ( 假定基地址为 300H) Call out_port(base, 0) ;1~8 路开关量输出送 00H Call out_port(base+1, 0) ;9~16 路开关量输出送 00H Call out_port(base+2, 255) ;17~24 路开关量输出送 FFH Call out_port(base+3, 255) ;25~32 路开关量输出送 FFH Call out_port(base+4, 85) ;33~40 路开关量输出送 55H Call out_port(base+5, 85) ;41~48 路开关量输出送 55H Call out_port(base+6, 170) ;49~56 路开关量输出送 AAH Call out_port(base+7, 170) ;57~64 路开关量输出送 AAH 6.2 for Windows2000&WindowsNT 驱动程序文件 (for Windows NT, 2000) 包括 : Setup.exe K800.dll K800.sys 安装文件 应用程序接口 设备驱动程序 Readme.doc 接口函数说明 * 注 : 前三个文件名不能做改动 执行 Setup.exe 将驱动程序安装到系统中, 应用程序可以声明 K800.dll 中的函数调用 编程举例与 6.1 相同 7 保修 : 本产品自售出之日起两年内, 凡用户遵守贮存 运输及使用要求, 而产品质量低于技术指标的, 凭保修单免费维修 因违反操作规定和要求而造成损坏的, 需交纳器件和维修费 8 产品成套性 : 8.1 K-846 光隔离开关量输出接口卡壹块 8.2 科瑞兴业公司产品光盘壹张 8.3 40P 和 37 芯转接线壹条 8.4 37 芯 D 型插头两套 7