1. RS-485通讯方式,通讯协议为(19200,N,8,1):波特率19200,数据位8 位,停止位1位。读头接受上位机设备发来的控制指令进行发送卡号、驱动蜂鸣器响、查询读头的设备号、更改读头的设备号等。

注意:此款读头不会主动向上位机设备发送卡号,而是在刷卡时把卡号先暂存进设备缓冲区,然后等待上位机设备来读取。缓冲区只能存放一个卡号,在缓冲区为空时刷卡将会嘀一声,并把卡号存入缓冲区,缓冲区已满时刷卡仅会指示灯闪而不会冲掉缓冲区里的卡号。必须等到上位机设备读卡才能清空缓冲区,使下一张卡刷卡有效。

  1. 支持机号从1~65535(两个字节的机号),可通过在读头上菜单操作设定,也可以用调用动态库函数设定。
  2. 外接12V电源,内置电源保护。
  3. 一个LED指示灯和一个可发命令控制的蜂鸣器。刷卡时指示灯闪一下,蜂鸣器则只能在卡号缓冲为空时才“嘀”一声。
  4. μEM4001、4100及其兼容的RFID卡,频率125kHz,感应距离为80-150mm。
  5. MifareOne S50/S70卡,频率13.56MHz,感应距离为0-50mm。
  6. 读卡时间小于80ms,能自动检测卡片是否仍在感应区。
  7. 采用抗干扰、快速轮询的通讯算法,通讯更快更稳定。
  8. 在等待刷卡状态下按1不放,再按9,等待几秒种可出现功能菜单。

接线说明:

电缆线颜色

用途

红色

+12V

黑色

GND地

灰色

485通讯的A+

黄色

485通讯的B-

直接串口的控制方法:

  1. 读卡

发送:0xAA,0xAA,机号低字节,机号高字节,0xD2(命令字)

如从2号机读卡,应发送0xAA,0xAA,0x02,0x00,0xD2(命令字)

注:设备机号为1~65535,每个设备都要设定成一个固定的机号,如何设定可运行我们提供的测试程序。“0x”表示十六进制数。

有卡时返回:0x69,0xD2,卡号字节0,字节1,字节2,字节3,字节4,5个卡号字节的异或和校验码。

如返回0x69, 0xD2, 0x38, 0x00, 0x51, 0xA2, 0x82, 0x49

其中0x49 应等于 0x38 ^ 0x00 ^ 0x51 ^ 0xA2 ^ 0x82,如果不等于表示通讯错误,

卡号字节0属于厂商代码,不需理会。真正的卡号为字节1~字节4。一般ID卡表面上印的卡号为

(字节1×256×256×256+字节2×256×256+字节3×256+字节4)转换成十进前的结果

没卡时返回:0x00

  1. 蜂鸣器响一声

发送:0xAA,0xAA,机号低字节,机号高字节,0Xc3(命令字),响声时长高字节,低字节,响声时长高字节和低字节的异或和校验码。

如驱动2号机响一声100毫秒,应发送0xAA,0xAA,0x02,0x00,0xC3,0x00,0x64,0x64。不需返回。

  1. 读机号指令

电脑发送:aa aa 00 00 a5电脑接收:例如 69 A5 02 00 02,69 A5 不需要理会,02 00 为机号,其中02为低字节,最后一个02为前面机会02 00 的异或和校验

  1. 读机号指令

电脑发送:aa aa 00 00 f0 02 00 fd ff 00 ,00 00 为原机号,必须与和设备机号一致才能改成功,02 00 为新机号,FD FF为02 00 的反码(如ff-02=fd)电脑接收:69 f0

  1. 显示及声音指令

0xaa,0xaa,机号低,机号高,0x5a,字符串编码共30个字节,响声长,响声间隔,响声循环次数,校验码

校验码 =  字符串编码共30个字节,响声长,响声间隔,响声循环次数的异或和

0xaa,0xaa,机号低,机号高,0x69

vb6示例源码下载:  https://download.csdn.net/download/zhangjin7422/15419936

c#示例源码下载:  https://download.csdn.net/download/zhangjin7422/15420089

淘宝采购链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-17663462238.38.23535b43F8ukcY&id=41895642706

      

电脑调用动态库的控制方法:

本公司特提供本读头专用的高性能DLL动态库sycomdll.dll,在VC6.0制作,其函数接口如下:

  1. 打开串口

函数原型: HANDLE  __stdcall PortOpen(int comport)

输入:comport为串口号,如COM1为1

返回:串口句柄,如果打开不成功,返回-1

  1. 关闭串口

函数原型: bool  __stdcall PortClose(HANDLE comport_handle)

程序关闭之前务必释放串口,以便其他程序使用。

输入:comport_handle打开串口时所返回的句柄

返回:关闭成功返回true,否则false

  1. 设定机号(机号为两个字节)

函数原型:int  __stdcall SetDeviceNo(HANDLE ComportHandle,int Jihao_old,int Jihao_new);

输入:comport_handle串口句柄,在VB中为Long类型

Jihao_old 原机号,可先读出原机号,必须知道原机号才能更改成新机号,机号范围从1-65535

Jihao_new新机号

返回:

数字-1表示端口未打开

数字0表示读机号成功,机号卡号已存发在JihaoString字符中

数字1表示发送失败

数字2表示通讯超时

数字3表示读机号失败

数字4表示读机号失败

  1. 读取机号

函数原型: int  __stdcall GetDeviceNo(HANDLE ComportHandle,LPSTR JihaoString)

输入:comport_handl为串口句柄,JihaoString 机号字符串缓冲区,至少需要6个字符的空间

返回:

数字-1表示端口未打开

数字0表示读机号成功,机号卡号已存发在JihaoString字符中

数字1表示发送失败

数字2表示通讯超时

数字3表示读机号失败

数字4表示读机号失败

  1. 读卡

(1)号并在形参中返回字符串

int  __stdcall GetCardNoForString(HANDLE ComportHandle,int Jihao,LPSTR CardNoString);

输入:comport_handle串口句柄,Jihao 原机号

CardNoString字符串缓冲区,至少需要10个字符的空间

返回:

数字-1表示端口未打开

数字0表示读卡号成功,卡号已存发在JihaoString字符中

数字1表示发送失败

数字2表示通讯超时

数字3表示读机号失败

数字4表示读机号失败

(2)读取卡号并在形参中返回五字节unsigned char数组

int  __stdcall GetCardNoForByte(HANDLE ComportHandle,int Jihao,unsigned char * CardNoBuf);

输入:comport_handle串口句柄,Jihao 原机号

CardNoBuf卡号字节缓冲区,至少需要5个字节空间,在VB中为byte型

返回:

数字-1表示端口未打开

数字0表示读卡成功,卡号已存发在CardNoBuf中

数字1表示发送失败

数字2表示通讯超时

数字3表示没寻到卡

  1. 驱动蜂鸣器响 x毫秒

int  __stdcall SetBeep(HANDLE ComportHandle,int Jihao,int BeepXms);

输入:comport_handle串口句柄

Jihao 机号

BeepXms响铃持续时间

返回:数字0表示成功

数字1表示发送失败

  1. 驱动蜂鸣器,循环z次:响x20毫秒,停y20毫秒

int  __stdcall SetBeepEx(HANDLE ComportHandle,int Jihao,int beeptimes,int beepinterval,int loopcount);

输入:comport_handle串口句柄,在VB中为Long类型

Jihao 机号

beeptimes 响铃持续时间

beepinterval停顿时间

loopcount循环次数

返回::数字0表示成功

数字1表示发送失败

  1. 关闭蜂鸣器

int  __stdcall CloseBeep(HANDLE ComportHandle,int Jihao);

输入:comport_handle串口句柄,在VB中为Long类型

Jihao 机号

返回:数字0表示成功

数字1表示发送失败

  1. 同时读取卡号及键盘码

int  __stdcall GetCARDNO_KeyInput(HANDLE ComportHandle,int Jihao,LPSTR CardNoString,LPSTR KeyInputString);

  1. 同时显示

int  __stdcall SetDispFull(HANDLE ComportHandle,int Jihao,LPSTR DispString);

  1. 精准的延时

__stdcall Delay_ms(DWORD xms);

  1. 同时显示和响声

int  __stdcall SetDispFull_BeepEx(HANDLE ComportHandle,int Jihao,LPSTR DispString,int beeptimes,int beepinterval,int loopcount);

485网络读卡器 工位机开发使用说明相关推荐

  1. C# 232串口转485网络读卡器源码

    本示例使用设备的淘宝链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-17663462238.38.26435b43iDUZjG& ...

  2. 485通信原理_上位机开发之单片机通信实践

    经常会有一些学员会问到上位机与单片机之间通信的问题,而我们经常会讲上位机与PLC之间通信,那么其实对上位机开发来说,不管是和PLC通信,还是和单片机通信,通信原理都是一样的.PLC的本质就是单片机,在 ...

  3. 485通信原理_上位机开发之单片机通信实践(一)

    微信号 :thinger_swj微博:@新阁程序园扫码关注 经常会有一些学员会问到上位机与单片机之间通信的问题,而我们经常会讲上位机与PLC之间通信,那么其实对上位机开发来说,不管是和PLC通信,还是 ...

  4. 网络读卡器开发,带你智能感知无线设备

    随着物联网行业的快速发展,针对网络读卡器的技术要求也在不断地提升,为此出现一款体积小.低功耗.高度集成.性能稳定的非接触读卡器,用户不需要进行编程设计,只用发送简单命令,就能完成对卡片的读写. 网路读 ...

  5. 两个软件相互交换数据_六轴算法机软件使用说明

    RAA (1.00a) ( Robot Arm Algorithms 1.00a 六轴算法机软件使用说明 : 作者觉得,在实际应用中,正逆解求解工具可以理解为一个类似数学计算器的 东西:不需要每个研究 ...

  6. 新阁上位机开发--10年工程师的Modbus总结

    前言 大家好,我是新阁上位机开发付老师. 我算了一下,今年是我跟Modbus相识的第10年,从最开始的简单应用到协议了解,从协议开发到协议讲解,这个陪伴了10年的协议,它一直没变,变的只是我对它的理解 ...

  7. pythonqt4上位机开发_「新阁教育」自由口通信上位机实战案例

    1.引言 组态软件作为一种通用软件,体系结构较为庞大.功能软件包多.价格也比较昂贵,而且对于一些复杂的业务逻辑或自定义的协议,实现起来比较麻烦.近几年,C#/.NET上位机开发应用越来越广泛,相对于传 ...

  8. Android Studio下载、安装、配置及连接真机开发第一个App ——入门选手快进

      最近的安卓测试给我心态搞蹦了,问也没人问,难受简直了!又是一轮自学之路(说实话这一路上教会我一个很大的道理就是一定要有愿意帮助你的老师,还有自己的自觉,一样也不能少.前者没有的话只能后者补了呜呜呜 ...

  9. linux一句话问答(网络无关篇+网络相关篇+程序开发篇+经典图书)

    一句话问答(网络无关篇+网络相关篇+程序开发篇+经典图书) --------------------------目录-网络无关篇-目录-------------------------- 0001 修 ...

最新文章

  1. 调用个别f5 负载端口为80的vs时,返回值为空的问题
  2. [linux] 线程和wait命令,sleep命令
  3. hihocoder offer收割编程练习赛12 B 一面砖墙
  4. CapsLock Enhancement via AutoHotKey
  5. java面试宝典 之 物流配送路径优化问题分析与算法解读
  6. Android开发之android4.4沉浸式状态栏后toolbar和状态栏重复(重叠,覆盖)的bug
  7. 在Linux中head命令,Linux 中 head 命令实例
  8. 高大上的集团名字_那些刚改了“高大上”名字的学校,你知道都有哪些吗?蜻蜓AI小编来帮你科普一下...
  9. caffe 添加自定义层(custom layer)
  10. Android gradlew 多渠道打包
  11. unity C# 常用算法 和 算法复杂度
  12. SAP License:STMS权限
  13. 微软3月补丁星期二最值得注意的是CVE-2020-0684和神秘0day CVE-2020-0796
  14. 语音识别中的MFCC的提取原理和MATLAB实现
  15. 码农如何写好一封邮件/1
  16. PHP分类输出代码,PHP无限分类代码,支持数组格式化、直接输出菜单两种方式_php技巧...
  17. 基于Python实现的DHT嗅探器
  18. tushare获取沪深300指数历史_tushare正确爬取 指数数据
  19. 【开学了】整理各种常用功能的实现 | 小游戏源码分享
  20. MC34063升压电路中常见的几种问题

热门文章

  1. 店宝宝:巨头PK精品电商
  2. Unity ADB调试和一些常用命令
  3. idea jar包在x-shell 上执行,并使用jara -jar
  4. 【PYTHON】tkinter如何设置界面消失 当制作一个登陆界面时,登陆成功之后,如何让登陆界面本身消失...
  5. Swagger3.0快速开发及空指针异常的解决
  6. payjs 源码_第三方支付平台源码,仿支付宝
  7. 大模型系统和应用——Transformer预训练语言模型
  8. php页眉,FPDF页眉和页脚 - php
  9. pyecharts饼图pie制作
  10. matlab实现正弦内插算法(低通滤波)