论文部分内容阅读
[摘 要]本文介绍了采用串口数据服务器直接从智能仪表上采集数据的方法与传统采集数据方法的区别,并分析了通过此方法采集数据对我厂生产所产生的影响。而且解决了传统采集数据过程比较繁琐、数据漏采、数据不准等缺点。实现了远程计量仪表数据的自动采集,及时反应出生产中计量数据,为生产的成本控制起到了积极作用。整个系统结构简单、方便、灵活,具有较好的实用价值。
[关键词]数据采集、智能仪表、串口服务器
中图分类号:TD562.2 文獻标识码:A 文章编号:1009-914X(2015)39-0127-01
一、背景
称量数据采集系统完成投入运行后,结束了手工抄表,电话保量的历史。由于数据采集过程比较繁琐,经常造成漏采数据、数据不准等问题。因此,想能否从计量仪表上直接采集数据,利用部分车间更换徐州利达型号MODEL-LD-10仪表的机会进行了试验,这一想法得以实现。
二、过去数据的采集方式
过去,称量数据的采集是通过工控机提供的OPC服务来采集的。这种模式的数据采集过程,中间环节多,数据采集的精度和稳定性相对较差,表现为:
1、烧结区域工控机来自西门子、浙大中控等不同厂家,针对不同的厂家,由于通讯协议不同,需要编写不同的数据采集程序,增加了后期维护量;
2、中间环节过多,仪表与工控机通讯、工控机、数据采集计算机、局域网,哪个部位出现问题,都能造成数据无法采集。
基于这些原因,我们一直想改进一下数据采集的模式,通过RS232或RS485和计量仪表通讯已经是一种非常成熟的技术。由于我们过去几乎没有接触过,所以没有这方面的研究和经验。通过查阅资料、咨询厂家、和相关部门交流,我们决定远程采集计量仪表数据。
三、思路与解决方案
目前,计量仪表远距离通讯有两种模式:
一种是传统的方法,通过RS485总线方式来实现如下图:
1、当今的测量仪表大多带有RS-485通讯或RS-232接口,用现场总线方式可以实现多台测量仪表的集中监控与数据采集,实现了仪表直接接入PC机进行远程数据采集
2、根据RS-485电气规定,在两线制传输方式下,RS-485驱动器可带32个接收器,实现多点半双工通讯,通讯距离在15m时波特率可达10Mb/s,通讯距离在1.2m范围内波特率可达100Mb/s,超过此距离可用Repeater(中继器),增大传输距离,总线传输距离最大只有1200m。
根据以上特性,这一方案被我们否定了,原因如下:第一,这种方案和从工控机取数区别不大,故障点依然比较多;第二,485总线传输的是电信号,现场环境比较复杂,干扰多,会影响数据采集的精度;第三,传输距离还是有限;第四,不便于后期维护。
另一种是现在比较通用也是将来发展趋势的方法,利用通用的互联网协议TCP/IP来实现远程数据采集。如下图:
1、MOXA NPort 5200系列的串口设备联网服务器,是把RS-232或RS-422/485协议转换为TCP/IP协议的设备,可让工业串口设备立即连上网络;
2、NPort 5200系列的串口设备联网服务器体积小巧,是将RS-232或RS-422/485串口设备如:PLC、测量仪、和传感器连接到局域网的最佳选择,易于安装,便于维护;
通过分析比较,我们认为第二种方案比较可取。;
第一、和第一种方案比较,减少了取数电脑,仪表直接和网络通讯,只要网络畅通,仪表不出故障,就能保证数据采集正常,并且不受传输距离限制;
第二、由于是从一次仪表直接采集数据,数据采集精度更准确;
第三、通过光缆传输数据,数据的传输速度比较高,故障率相对较低,数据传输更趋稳定。
四、技术难点、亮点
1、通常采用MODBUS通讯协议,采用RS-485半双工的方式,积算仪表作为从机,上位PC机作为主机,控制和监视计量仪表的运行,通讯波特率为9600bps。通讯格式为:1位起始位,8位数据位,1位奇偶校验位,1位停止位,每个从站被赋予唯一的本机地址,采用主机轮询,从机应答的通讯方式。主机通过发送命令来启动一次通讯,从机接收到数据后,判断呼叫地址是否和本机地址相同,若不同,则不予理睬,若相同则根据主机发送命令中的特征字(命令字),返回主机要求的数据。
2、采用串口数据服务器取数,只要把RS485总线接入其对应的RS485端口,即Port2端口,其中Port1端口为RS232端口,MOXA NPort 5230的RJ45端口直接接入到局域网,从而在网络的任何地方都可以用计算机通过MOXA NPort 5230虚拟的串口获取仪表数据,以此来实现仪表的远程控制和数据传输。
3、下面给出读取和处理现场仪表数据时的部分源代码,仅供参考:
窗体中各控件初始设置:
MSComm1.Settings = "9600,m,8,1" //设置通讯参数
MSComm1.InBufferCount = 0//清除接收缓冲区
MSComm1.OutBufferCount = 0//清除发送缓冲区
MSComm1.RThreshold = 92//返回要接收的字符数
4、数据的接收和处理:计量仪表回传数据时即可在主机上引发OnComm( )事件,在此事件处理函数中,首先判断接收数据的完整性,然后将数据一次全部读到所定义的变量参数中,根据仪表通讯协议把接收到的数据显示在屏幕上,同时在VB程序中加入Adodc控件,将数据直接存人数据库中,然后通过CB直接生成趋势和报表。
五、达到的效果
1、基本解决了数据漏采、以及数据滞后的问题;
从车间的成品称数据采集来看,数据采集通讯中断的事件还没有发生过。虽然数据的精度和岗位反应的有一点出入,但是通过计量仪表和岗位实地校准一下,这应该不是什么问题。
2、对于将来各种数据的采集提供了新的思路
由于我厂有大量的计量仪表,包括:各种原燃料消耗数据、动力量的数据等,这些数据的计量都是通过计量仪表来实现的。这些数据大多没有实现自动采集,即使采集到的也是通过工控机来实现的,所以难免会存在上述提到的情况,而通过远程仪表数据采集,这些问题迎刃而解,这一技术创新对我厂意义重大。
3、系统的可用性、可移植性更高;
由于TCP/IP协议是国际通用标准,因此程序不用再考虑不同的厂家,不同产品的通讯问题,只关注数据的采集和处理就可以了。
六、结束语
该项目利用Windows下的ActiveX控件实现了在Windows环境下,单台PC与多台计量仪表的远程通讯监控。本系统在我厂部分车间的成品矿计量仪表数据采集中成功使用,实现了远程计量仪表数据的自动采集,及时反应出生产中计量数据,为生产的成本控制起到了积极作用。整个系统结构简单、方便、灵活,具有较好的实用价值。
参考文献
[1] 刘韬.Visual Basic 6.0 数据库系统开发实例导航 人民邮电出版社 2002.4.
[2] 王昕.基于VB+SQL数据库的方法及接口比较的研究[J].微计算机信息,2009.
[3] 郭文夷,戴芳胜 C++ Builder 6.0程序设计 西安电子科技大学出版社,2004.
[关键词]数据采集、智能仪表、串口服务器
中图分类号:TD562.2 文獻标识码:A 文章编号:1009-914X(2015)39-0127-01
一、背景
称量数据采集系统完成投入运行后,结束了手工抄表,电话保量的历史。由于数据采集过程比较繁琐,经常造成漏采数据、数据不准等问题。因此,想能否从计量仪表上直接采集数据,利用部分车间更换徐州利达型号MODEL-LD-10仪表的机会进行了试验,这一想法得以实现。
二、过去数据的采集方式
过去,称量数据的采集是通过工控机提供的OPC服务来采集的。这种模式的数据采集过程,中间环节多,数据采集的精度和稳定性相对较差,表现为:
1、烧结区域工控机来自西门子、浙大中控等不同厂家,针对不同的厂家,由于通讯协议不同,需要编写不同的数据采集程序,增加了后期维护量;
2、中间环节过多,仪表与工控机通讯、工控机、数据采集计算机、局域网,哪个部位出现问题,都能造成数据无法采集。
基于这些原因,我们一直想改进一下数据采集的模式,通过RS232或RS485和计量仪表通讯已经是一种非常成熟的技术。由于我们过去几乎没有接触过,所以没有这方面的研究和经验。通过查阅资料、咨询厂家、和相关部门交流,我们决定远程采集计量仪表数据。
三、思路与解决方案
目前,计量仪表远距离通讯有两种模式:
一种是传统的方法,通过RS485总线方式来实现如下图:
1、当今的测量仪表大多带有RS-485通讯或RS-232接口,用现场总线方式可以实现多台测量仪表的集中监控与数据采集,实现了仪表直接接入PC机进行远程数据采集
2、根据RS-485电气规定,在两线制传输方式下,RS-485驱动器可带32个接收器,实现多点半双工通讯,通讯距离在15m时波特率可达10Mb/s,通讯距离在1.2m范围内波特率可达100Mb/s,超过此距离可用Repeater(中继器),增大传输距离,总线传输距离最大只有1200m。
根据以上特性,这一方案被我们否定了,原因如下:第一,这种方案和从工控机取数区别不大,故障点依然比较多;第二,485总线传输的是电信号,现场环境比较复杂,干扰多,会影响数据采集的精度;第三,传输距离还是有限;第四,不便于后期维护。
另一种是现在比较通用也是将来发展趋势的方法,利用通用的互联网协议TCP/IP来实现远程数据采集。如下图:
1、MOXA NPort 5200系列的串口设备联网服务器,是把RS-232或RS-422/485协议转换为TCP/IP协议的设备,可让工业串口设备立即连上网络;
2、NPort 5200系列的串口设备联网服务器体积小巧,是将RS-232或RS-422/485串口设备如:PLC、测量仪、和传感器连接到局域网的最佳选择,易于安装,便于维护;
通过分析比较,我们认为第二种方案比较可取。;
第一、和第一种方案比较,减少了取数电脑,仪表直接和网络通讯,只要网络畅通,仪表不出故障,就能保证数据采集正常,并且不受传输距离限制;
第二、由于是从一次仪表直接采集数据,数据采集精度更准确;
第三、通过光缆传输数据,数据的传输速度比较高,故障率相对较低,数据传输更趋稳定。
四、技术难点、亮点
1、通常采用MODBUS通讯协议,采用RS-485半双工的方式,积算仪表作为从机,上位PC机作为主机,控制和监视计量仪表的运行,通讯波特率为9600bps。通讯格式为:1位起始位,8位数据位,1位奇偶校验位,1位停止位,每个从站被赋予唯一的本机地址,采用主机轮询,从机应答的通讯方式。主机通过发送命令来启动一次通讯,从机接收到数据后,判断呼叫地址是否和本机地址相同,若不同,则不予理睬,若相同则根据主机发送命令中的特征字(命令字),返回主机要求的数据。
2、采用串口数据服务器取数,只要把RS485总线接入其对应的RS485端口,即Port2端口,其中Port1端口为RS232端口,MOXA NPort 5230的RJ45端口直接接入到局域网,从而在网络的任何地方都可以用计算机通过MOXA NPort 5230虚拟的串口获取仪表数据,以此来实现仪表的远程控制和数据传输。
3、下面给出读取和处理现场仪表数据时的部分源代码,仅供参考:
窗体中各控件初始设置:
MSComm1.Settings = "9600,m,8,1" //设置通讯参数
MSComm1.InBufferCount = 0//清除接收缓冲区
MSComm1.OutBufferCount = 0//清除发送缓冲区
MSComm1.RThreshold = 92//返回要接收的字符数
4、数据的接收和处理:计量仪表回传数据时即可在主机上引发OnComm( )事件,在此事件处理函数中,首先判断接收数据的完整性,然后将数据一次全部读到所定义的变量参数中,根据仪表通讯协议把接收到的数据显示在屏幕上,同时在VB程序中加入Adodc控件,将数据直接存人数据库中,然后通过CB直接生成趋势和报表。
五、达到的效果
1、基本解决了数据漏采、以及数据滞后的问题;
从车间的成品称数据采集来看,数据采集通讯中断的事件还没有发生过。虽然数据的精度和岗位反应的有一点出入,但是通过计量仪表和岗位实地校准一下,这应该不是什么问题。
2、对于将来各种数据的采集提供了新的思路
由于我厂有大量的计量仪表,包括:各种原燃料消耗数据、动力量的数据等,这些数据的计量都是通过计量仪表来实现的。这些数据大多没有实现自动采集,即使采集到的也是通过工控机来实现的,所以难免会存在上述提到的情况,而通过远程仪表数据采集,这些问题迎刃而解,这一技术创新对我厂意义重大。
3、系统的可用性、可移植性更高;
由于TCP/IP协议是国际通用标准,因此程序不用再考虑不同的厂家,不同产品的通讯问题,只关注数据的采集和处理就可以了。
六、结束语
该项目利用Windows下的ActiveX控件实现了在Windows环境下,单台PC与多台计量仪表的远程通讯监控。本系统在我厂部分车间的成品矿计量仪表数据采集中成功使用,实现了远程计量仪表数据的自动采集,及时反应出生产中计量数据,为生产的成本控制起到了积极作用。整个系统结构简单、方便、灵活,具有较好的实用价值。
参考文献
[1] 刘韬.Visual Basic 6.0 数据库系统开发实例导航 人民邮电出版社 2002.4.
[2] 王昕.基于VB+SQL数据库的方法及接口比较的研究[J].微计算机信息,2009.
[3] 郭文夷,戴芳胜 C++ Builder 6.0程序设计 西安电子科技大学出版社,2004.