已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Nport在系统集成及软件项目开发中的应用摘要:在系统集成及软件项目开发中会经常使用串口或串口设备获取相关设备信息进行数据的读取和显示,有时串口设备的接口类型可能是通过rs-232或rs-485方式进行连接,这对于有限个串口设备接入一台计算机是可行的。但是如果用户想通过一个设备来实现这些设备的联网,nport无疑是最好的选择。只要根据需求进行相关配置,用户就可以方便地实现对硬件设备的远程监控。关键词:nport系统集成串口设备本文以我在一个系统集成软件项目中通过nport设备对4个大楼的28部电梯的上、下行状态及电梯运行楼层的状态监控为例对nport实现多串口设备监控进行简单介绍。1 nport概述nport又称为串口设备联网服务器,它可以在串口和以太网界面间轻易地执行双向数据的传输,从而使我们达到同时集中管理串口设备的目的。2 软件项目需求连接方式:ba通讯盒(485)-moxa485转tcp/ip(tcp/ip)-管理网交换机-集成服务器。电梯分布:一号楼:十部电梯,编号为3#-13#。其中3#-8#电梯所接nport地址为:52。9#-13#电梯所接nport地址为:53。二号楼:十部电梯,编号为15#-24#。其中15#-19#电梯所接nport地址为:56。20#-24#电梯所接nport地址为:57。三号楼:六部电梯,编号为25#-30#。其中25#电梯所接nport地址为:58。26#-30#电梯所接nport地址为:59。四号楼:两部电梯,编号为1#-2#。电梯所接nport地址为:51。读取数据:上下行状态、桥箱所在楼层。3 nport配置首先,在本机电脑保证能够正常ping通每个连接nport设备的计算机;然后,进行nport配置。我们以其中一台nport设备为例:打开ie浏览器,在地址栏中输入51,出现如下图1.1所示的界面:我们将串口设备的波特率统一设置为9600,将serialport type设置为real com(如图1.2)。)点击submit按钮,完成一台nport设备的设置,然后按照同样的方式设置其他6台设备。我们下载nport window driver manager软件进行串口和ip地址的设置。设置完成后如下图所示:通过以上设置我们可以看出:51对应的串口为com9;52对应的串口为com10;53对应的串口为com11;56对应的串口为com14;57对应的串口为com15;58对应的串口为com12;59对应的串口为com13。至此,完成了nport配置。4 相关串口通信协议及软件实现本协议共有两条命令,全部是字节流形式,主机发送控制命令、ba板采用被动接收并以应答的方式发回电梯状态信息,分别介绍如下:4.1 发送命令格式4.2 接收命令格式4.3 软件实现巡查地址请求函数:/发送巡查地址请求命令(a1h+地址编号)private void sendrequest(int index) bytedata = new byte;/开始标志a1hdata0 = 0xa1;/获得十六进制地址编号byte hexnum = gethexnum (index);data = hexnum;if(serialport1.isopen)serialport1.write(data, 0, 2); /向串口写入数据由于电梯地址和串口的对应关系为:com9:1#、2#;com10:3#-13#;com11:9#-13#;com14:15#-19#;com15:20#-24#;com12:25#;com13:26#-30#。我们要轮流对这几个com口进行打开关闭操作,即先打开com9然后关闭再打开com10,依次类推,所以封装一个com口操作的函数:private void setnextaddressrequest(int index) /切换com端口,首先关闭串口if (this.serialport1.isopen)this.serialport1.close();try string other_init = “initialize”;string baud_rate = “baudrate”;string port_name = “add” + index.tostring() + “portname”;string infopath = directory.getcurrentdirectory();serialport1.baudrate = convert.toint32(inioperater.read(other_init, baud_rate);serialport1.portname = inioperater.read(other_init, port_name);serialport1.open();catch (exception ex)messagebox.show(“端口被占用或未正常连接!”);这样在程序中只要index循环加一就可以循环打开和关闭串口了。以1#电梯为例,当我们调用函数sendrequest(1)发送地址请求指令后返回如下数据:82 00 05 00 00 15 03 16,在serialport_datareceived()事件进行数据解析。根据协议:其中82h为开始标志,第7位03为运行楼层信息,状态2为00,后半位转换为四位二进制为0000,即up和dn均为0说明电梯正在3楼停留,16为前几个状态字的异或结果,循环调用这两个函数就可以获得所有电梯的运行楼层和上下行状态信息了。最终软件对于电梯监控部分的实现界面如下图所示:5结论可以看出,nport在监控多串口设备数据读取方面的作用是十分强大和方便的。在本项目中将串口的通信类型统一设置成realcom方式(当然也可以设置为tcp/ip方式以socket方式读取数据),该项目已经如期交付给顾客,目前正处于试运行阶段,反映良好。参考文献:1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程结构化面试试题及标准
- 液化气安全课件
- 圆柱表面积体积练习题
- 变废为宝活动策划方案
- 驾驶员安全教育课件
- 森林消防安全的教学课件
- 建筑师面试题详解及答案
- 篮球少年体能测试项目与评分标准
- 企业管理-慰问住院侨眷经费申请报告模板
- 环境科学基础知识课堂自测题及答案
- 作文方格纸400字
- 玉米青贮技术培训资料
- 国家公务员考试申论真题副省级
- 2023-2024学年广西壮族自治区柳州市小学语文二年级期末通关考试题详细参考答案解析
- 审计模拟实训教程第4版马春静课后部分参考答案
- 疾控中心专业试题及答案
- 12123交管学法减分考试题库及答案
- GB/T 16951-1997金刚石绳索取心钻探钻具设备
- GA/T 1466.1-2018智能手机型移动警务终端第1部分:技术要求
- FZ/T 73009-2021山羊绒针织品
- 《最优化方法》研究生配套教学课件
评论
0/150
提交评论