龙空技术网

(原创)2003年旧作:工业总线DeviceNet接口程序

LincolnLiang 77

前言:

如今小伙伴们对“devicenet错误代码”大概比较讲究,姐妹们都需要学习一些“devicenet错误代码”的相关文章。那么小编也在网上汇集了一些关于“devicenet错误代码””的相关文章,希望我们能喜欢,姐妹们一起来了解一下吧!

这篇文章是我2003年所写的关于DeviceNet数据总线应用接口的总结,记得当时工业总线还是刚刚开始应用,DeviceNet我们也是刚刚接触不久。我们使用最基本的编程语言来和总线通讯。当时使用AB的PLC-5系列应该是当时国内最高端的PLC了!当时的PLC-5系列都还是使用令牌环网络DH+系列进行通讯及编程。当时的编程环境还是基于DOS的6200系列。不知不觉也快20个年头了。技术的发展真是一日千里啊!但当时埋头研究DeviceNet数据总线的精神现在看来还是基本满意的。不过现在不知道还有没有这样的环境让现场技术人员静下心来好好研究技术!

梁衡 2020年9月22日 星期二

工业控制总线DeviceNet在工业高速数据采集的应用及对应接口程序的开发

1-DeviceNet的基本情况

从20世纪90年代起现场总线控制系统技术快速发展,结合Internet和Intranet的迅猛发展,现场总线控制系统技术越来越显示出其传统控制系统无可替代的优越性。现场总线控制系统技术已成为工业控制领域中的一个热点。传统机电产品是否具有总线接口将成为其在市场能否生存的一个必要条件。

DeviceNet是由美国Rockwell公司在CAN基础上推出的一种低成本的通信链接,系一种低端网络系统。它将基本工业设备(如:限位开关、光电传感器、阀组、电动机启动器、过程传感器、条形码读取器、变频驱动器、物料流量计、电子秤、显示器和操作员接口等)连接到网络,从而避免了昂贵和繁琐的硬接线。DeviceNet是一种简单的网络解决方案,在提供多供货商同类部件间的可互换性的同时,减少了配线和安装工业自动化设备的成本和时间。DeviceNet的直接互连性不仅改善了设备间的通信,而且同时提供了相当重要的设备级诊断功能。

令牌环网络的结构

2-实例数据采集的基本过程及网络布线方案

数据采集的基本思路是对大型生产线机台上的PLC进行编程,对需要进行数据采集的点进行数据读取,统计并汇总数据。数据的读取可以是实时的,也可以是定向归类的。大型全自动化生产线拥有很多这样的PLC机台,每个机台都进行不同的数据采集。这样就拥有很多不同的数据点。最后由一台专用数据汇总PLC进行各个采集点数据汇总及数据的基本处理。我要讨论的就是如何使用PC和PLC进行相互的数据实时或定时传送及交换。我们知道AB公司的plc5系列PLC可以使用DH+网络进行远程通讯,我们当然也可以使用DH+网络进行数据传输,工业用控制总线DeviceNet的设备是处于生产线上的各个控制位的。设备网的基础是PLC控制器。plc5系列控制器由DH+网动态链接起来,组成了DeviceNet的基本部分。在DH+网络中传送数据是相当方便的。我们可以利用DeviceNet的连接接口直接将数据采集到PC,并保存在动态数据库中。但早期并没有提供这样方便的接口而且也没有可以方便使用的中型数据库结构,于是我自己开发了一个小型的基本数据接口。这个接口是在AB公司提供的监控编程软件6200系列的基础上开发的。其开发的基础是c语言和关系数据库foxpro。我首先利用c语言开发出提取模块再嵌入foxpro数据库的程序中,从6200的基本数据表中将数据读入foxpro数据库中。,以下是foxpro数据库的核心数据提取的部分程序:注意:程序的编写是严格遵循6200软件的数据动态表。

set color to

readg=0

k=inkey(0)

deactivate window read

@ 4,0 clear

z(1)=a

z(2)=b

return

endif

scat fields ftime,rtime1,rtime2,ftry,rtry to l1cup(取第一台机数据)

skip

k=1

do while k<=7

x="l1bmt"+ltrim(str(k))

scat fields ftime,rtime1,rtime2,ftry,rtry to &x

skip

k=k+1

enddo

scat fields ftime,rtime1,rtime2,ftry,rtry to l1wash(取第二台机数据)

skip

scat fields ftime,rtime1,rtime2,ftry,rtry to l1deoc(取第三台机数据)

skip

k=1

do while k<=7

x="l1ic"+ltrim(str(k))

scat fields ftime,rtime1,rtime2,ftry,rtry to &x (数据提取)

skip

k=k+1

enddo

数据流结构图

数据采集出来后是保存在foxpro的基本数据库文件中,数据的共享存在很多问题。如果不能迅速发表数据结果,数据的的采集也就没有什么意义了。所有我们也提供了一种数据共享方式。

3-数据采集的程序编写过程及核心

我在针对大型生产线数据采集的过程中编写的核心程序是具有相当强的适应性的。可以对不同数据点数据的增减做出自动适应。也可以对数据量的增加做出自动处理。程序的编写中也考虑到相当的容错性,对一些非常的特别明显错误的数据做出自动筛选,而且在自动采集循环过程中,对6200软件动态内存结构做出初步定义,不断寻找出有用的内存数据表并将其中有用的数据提取出来。由于6200软件的通讯协议我不能仔细考虑,但只要好好分析其内存数据表的数据结构就可以基本开始编程了。在进行编程、调试、再调试的过程中,我发现其实基本核心采集程序也并不复杂。也就是几十行程序而已,但数据的识别及处理就占有了大量的代码。由于数据结构的多样性也使数据处理代码相当繁杂,而且这样的处理代码基本上都是千篇一律,也没有什么好介绍的。在我的主页上有整体程序的全部源代码,可以提供给有兴趣详细研究数据采集及处理的编程者参考。请记住我的主页地址:。

4-数据共享的基本方方案及解决办法。

数据采集出来后是保存在foxpro的基本数据库文件中,数据的共享存在很多问题。如果不能迅速发表数据结果,数据的的采集也就没有什么意义了。我们可以使用微软的通用数据接口odbc进行数据共享。在拟态网上发表数据,使word .excel. access程序可以方便快捷的使用实时采集到的生产第一线数据。这样进行数据共享也有其固有的缺陷,如数据共享速度慢,实时数据不完善等方面。但仍然不失为一种很好解决方案。

另一种数据的共享方式是通过工业拟态网实时传输数据到专用的数据服务器中,在服务器端进行S/C形式的数据服务。这种方法当然好,但是这种方法一定要使用AB公司提供的专用数据接口。而且这种接口是在2000年才推出市场的。我自己编写数据接口程序并提供正常使用的时间是1997年。从技术的角度来看现在当然是使用AB公司的专用数据接口比较好了。但我编写的核心程序一直使用了三年也工作稳定,并且从基本层解决了数据集成上的问题!

5-实例的具体过程及总结。

在我厂的三条大型自动化生产线中基本上全部使用了AB公司的plc5系列可编程控制器。我针对每一台机器进行数据定点编程。当然这一部份是在PLC中进行的。从生产线开始的两片罐罐身冲杯机到生产线结束的集装机,一共设定20个编程点共60个数据采集源。对每一个采集源采集到的数据定时传送到中控室中的专用数据记录PLC中,由数据记录PLC进行数据汇总及分类。最后由中控室的PC定时通过我编写的数据接口将数据传送到pc中的foxpro数据库中。再由ODBC数据通用接口进行数据共享。

总的来说技术的发展是永无止境的。虽然我编写的核心程序从现在的眼光来看是完全落后了,但在1997年时是绝对领先的。而且从现代技术的发展来看这也是技术进步的一个过程,我希望以后可以为我提供一个更加好的工作环境让我更加安心地去进行技术进步。

梁衡

2003年7月12日

如果大家对企业智能化升级感兴趣,还请关注我之前的一系列文章,也许会对你有所帮助!

佛山智能制造--梁衡(原创)企业智能化升级——专用解决方案及实例 (原创)通用智能化解决方案之:iEAM系统及专家智库系统 (原创)中小型企业智能化解决方案之:动态质量跟踪 (深度思考)阿里智能化工厂-犀牛 (实例)连续生产线关键设备PHM的故障诊断及价值分析 (原创)中小型企业智能化升级—通用解决方案之:往复无忧 (原创)中小型企业智能化升级框架说明——传统生产型企业 (原创)中小型企业智能化升级—通用解决方案之:旋转无忧 (原创)小型企业的技术升级之路——智能化转型之路 (原创)智能制造如何在广大中小型制造企业落地? 两片罐生产线《线控系统》理论设计概述--智能化升级设想 两片罐智能化生产:智能制造如何落地传统行业的思考

标签: #devicenet错误代码 #devicenet接线定义