研华工业级嵌入式控制平台(UNO)在钢厂的应用.doc_第1页
研华工业级嵌入式控制平台(UNO)在钢厂的应用.doc_第2页
研华工业级嵌入式控制平台(UNO)在钢厂的应用.doc_第3页
研华工业级嵌入式控制平台(UNO)在钢厂的应用.doc_第4页
研华工业级嵌入式控制平台(UNO)在钢厂的应用.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

研华工业级嵌入式控制平台(UNO)在钢厂的应用 摘要: 本文介绍了采用研华公司工业级的嵌入式计算平台,采用微软最新编程工具VB.NET ,采用UDP的网络编程方法和 ADO.NET 的数据编程方法,实现了一个高稳定性的工业级的智能查询终端系统.此系统不仅可以用于钢厂中,在很多其他的工业现场中都很有应用价值.关键词: UNO, 嵌入式技术, VB.NET , SQLServer , UDP SERVER 随着钢铁厂生产和管理自动化水平的不断提高,目前大部分钢厂都实现了整个钢厂各个生产环节的信息的统一监控和管理 。但是目前大部分钢铁厂都是采用传统的PC计算机或工控机作为钢厂的信息采集和查询终端,传统的计算机由于体积庞大,抗干扰性能和稳定性不高,而钢厂中的生产和现场环境都比较恶劣,如高温,金属粉尘严重,电磁干扰很大等。PC机在现场使用经常出现死机现象,随着自动化系统要求的提高,原来的方式已经无法满足钢厂生产现代化的要求。1.1 嵌入式技术在自动化中得到了广泛的应用近年来,嵌入式技术得到了广泛的应用,在自动化领域也一样,嵌入式产品以它独有的实时性、稳定性在工业领域得到了客户的认可。嵌入式系统主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统组成,它是集软硬件于一体的可独立工作的“器件”。嵌入式硬件包括处理器,显示卡,存储介质、通讯设备、IC卡或信用卡读取设备等。嵌入式软件包括与硬件相关的底层软件、操作系统、图形界面、通讯协议、数据库系统、标准化浏览器和应用软件等。便利灵活、性价比高、嵌入式强;软件不可修改性、系统所需配置要求较低、系统专业性和实时性较强! 河南舞阳钢铁厂作为国内最大的特种钢的生产厂家,首先采用了工也控制领域的领导厂商研华公司的UNO2000 产品来实现一个高性能的稳定的嵌入式信息查询终端。UNO-2000 是开放的、嵌入式计算平台,不仅继承了传统PC开放、灵活的特点,而且使用嵌入式技术增强其可靠性。UNO-2000 作为无风扇、无硬盘的操作平台,使用了嵌入式操作系统(Microsoft WinCE & Linux)。克服了传统工控机死机的三大“癌症”:CPU风扇机械不稳定特点,磁介质存储的抗震性不高,交流电源的发热量高的特点。真正实现了工业现场的“3C”(现场控制,现场计算,现场通讯)的要求。UNO-2000 是紧凑式计算平台。非常容易嵌入有限空间的装置或设备,UNO-2000 尺寸为“188 x 106 x 35”(mm),工业PC 的尺寸为“482 x 177 x 452” (mm)。 UNO-2000 是高度集成综合、通过良好测试、稳定可靠的操作平台。而工业PC需要用户针对应用系统集成CPU底板、CPU卡、CPU、内存、通讯卡以及I/O卡等。UNO2000系列产品本身就为用户集成了非常丰富的通信口和I/O口,例如UNO2050这款产品就有两个以太网通信口,2个USB口,4个串行通信口,8个DI/O,一个计数器通道。有的UNO产品甚至还具有PC-104口和PCMIA口。真正实现了一个开放式的嵌入式计算平台。 在舞钢中,UNO主要作为一个现场的信息采集和查询终端来使用,其应用的架构图如下: MODBUS/TCPRS-485DI/O 操作面版钢厂LANSQL SERVER 数据服务器#2VB.NET 编程FPM #11.2 研华UNO2050 在钢厂自动化系统中要实现的主要功能和即使特点 UNO2050要实现的主要自动化功能如下:1、 通过以太网口,采用MODBUS/TCP的通信协议,与研华公司的基于以太网的数据采集模块通信,实现对钢厂中的泵站的各种过程数据的采集和处理。2、 通过串口,与钢厂现场的PLC连接,实现对钢厂各个生产过程的监控(炼钢,轧钢等)3、 把采集过来的现场数据通过钢厂中的以太网送到钢厂中的SQL SERVER 数据库中去,进行集中存储管理。4、 UNO2050本机根据当地的查询权限,不仅可以把本地采集的数据进行本地显示监控,还可以查询SQL SERVER数据库,监控远端的生产现场。5、 需要在UNO上做一个简易的键盘,提供给钢厂中的工人操作,以代替普通的键盘。因为普通键盘按键太多,太复杂,加上也不利于现场安装。加上键盘功能比较复杂,工人计算机知识有限,容易造成误操作。所以现场非常需要提供一个坚毅的工业化键盘,只需要几个简单的查询按扭就可以完成查询功能。针对钢厂的实际功能需求,选用研华公司UNO-2050产品来实现这个智能的工业化的信息交互查询终端系统。UNO-2050 的主要技术特点如下:1、 目前UNO-2050具有两个以太网通信口,可以分别来满足采集现场MODBUS/TCP数据模块和通过钢厂中的骨干网把信息递交给数据服务器的功能。两个以太网口可以处于不同的网段,可以实现一个智能的隔离通信网关的功能。2、 UNO2050内建的嵌入式操作系统为WINCE.NET, 可以支持VISUAL.NET的编程,也就是客和可以使用目前微软最新的变成工具VB.NET和C#来编程,实现自己的功能.3、 UNO2050内建的嵌入式操作系统WINCE.NET里面构建了SQL组件, 用户可以采用SQLCLIENT的方法,进行嵌入式数据库查询方法,来与远端的数据库进行查询.4、 UNO-2050 内置了4个串行通信口,可以很方便的实现与现场的数据采集设备连接,实现数据的采集和控制.5、 UNO-2050 本身自带了4DI和4DO , 可以为本身的系统上的饿报警信号以及快速的输入输出要求提供了直接的接口.1.3 此项目实施的主要技术关键点 这个项目在工程的实际实施过程中,主要有以下技术难点: 1、客户需要采用VB.NET 编程工具来编程,在编程过程中,需要实现一个UDP SERVER 功能,这个功能与一般的SOCK组件编程不同,它需要实现有远端的多个数据提供方根据接收方的IP地址和绑定通道,同时发送给接收方.而接收放需要能同时接收和处理这些数据.这时就需要SOCK组建采用UDP的协议,而且要处于一直的监测接收状态.从技术上讲,这里做接收多个站的数据处理方面,应该使用多线程的技术来处理.但是考虑到UNO上的资源以及要实现功能比较多的实际情况,还是采用了轮询监控的方法,由于UDP协议的”无连接” 特点,基本上可以实现接收和处理多个站的数据通信的要求。实现此功能的源代码如下:Imports System.NetImports System.Net.Sockets 引用SOCK组建Imports System.TextPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim l_poit As IPEndPoint Dim ip As IPAddress ip = IPAddress.Parse(9) l_poit = New IPEndPoint(ip, 200)udpserver= New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp) udpserver.Bind(l_poit) 绑定IP地址和通道 Me.Timer1.Enabled = True 启动定时监孔 End SubPrivate Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 接收数据的处理 Dim rec(4096) As Byte Dim recnum As Integer Dim diobyte As Byte If udpserver.Available 0 Then recnum = udpserver.Receive(rec) If recnum 0 Then dev.DIOPort().GetDiPortValue(diobyte) 获得DI值 If diobyte = 0 ThenMe.TextBox1.Text = Me.TextBox1.Text + Encoding.ASCII.GetString(rec, 0, recnum) ElseIf diobyte = 1 Then Me.TextBox3.Text = Me.TextBox3.Text + Encoding.ASCII.GetString(rec, 0, recnum) End If End If End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 关闭连接 Me.Timer1.Enabled = False udpserver.Close() End Sub2、客户使用VB.net编程方法,与SQL SERVER 数据库进行数据交互。 需要采用 使用微软的精简NET FRAME 组建,采用SMARD DEVICE 的 SQL SERVER CLIENT 的技术,并采用ADO.NET 的编程方法来实现数据库 的编程方法实现的,实现代码如下:Imports System.Data.SqlClientImports System.DataPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim cecon As New SqlCeConnectionDim sqlstrAsString =IntegratedSecurity=SSPI;database=Northwind;server=XUEFENG;UserID=BUILTINadministrator; Password=hxfbit; 建立数据库的连接 Dim myconn As New SqlConnection(sqlstr) Dim mycmd As New SqlCommand(SELECT * from Customers , myconn) mycmd.CommandType = CommandType.Text (SQL语句查询命令) myconn.Open() Dim i As Integer Dim eof As Boolean eof = True Dim myreader As SqlDataReader = mycmd.ExecuteReader() 建立数据缓冲区 Do Until Not eof While myreader.Read() 显示查询数据 Me.TextBox1.Text = myreader.GetString(0) Me.TextBox2.Text = myreader.GetString(1) Me.TextBox3.Text = myreader.GetString(2) Me.TextBox4.Text = myreader.GetString(3) Me.ListView1.Items.Add(myreader.GetString(0) Me.ListView1.Items(2).SubItems.Add(myreader.GetString(1) End While eof = myreader.NextResult() Loop myreader.Close() myreader.Close() End Sub3、客户需要一个工业化的建议键盘来代替通用键盘的操作,UNO-2050本机上的DI/O口正好可以来满足此功能,通过4DI和4DO的交叉矩阵,通过软件处理,正好可以来实现一个最多有16个按键的仿真键盘。而研华公司也正好提供了在VB.NET下DIO编程的驱动,客户可以非常方便的来实现这个键盘功能. 驱动的主要函数用法如下:Imports Advantech.UNO 导入驱动Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim num As Int32 num = 0 UNO 2000的设备号就是为0 dev = New Advantech.UNO.Device(num) 初始化 UNO 2000 dev.Open() 打开UNO 2000 End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click dev.Close() 关闭设备 End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click dev.DIOPort().SetDoPortValue(255, 15) DO输出 第一个参数为屏蔽码(0为屏蔽),第二个参数为输出量,自动输出到输出端口End Sub 4、使用UNO2050与 串口的数据采集模块和串口仪表连接,但是由于客户需要采用VB.NET编程,VB.net 编程工具没有直接的类似VB6的MSCOMM的控件来进行编程,如果直接用NET下面的MSCORLIB.dll 来编程,会给客户带来很大的困难。但是研华为UNO提供了一个VB.NET下的串口变成驱动,很好的解决了此问题,用户可以非常方便的采用此驱动,就像使用MSCOMM控件一样简单,实现代码如下: Imports SystemImports Advantech.CommonPrivate Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click Dim port As Integer port = comArray(cbxCOM.SelectedIndex() com = New Advantech.Common.ComPort(port) 建立串口对象 com.SetComPortState(9600, 8, 0, 1) 设置串口参数 If com.OpenComPort() = True Then 打开串口 set COM port state If SetComState() = False Then MsgBox(Set COM port state failed!, MsgBoxStyle.OKOnly, Error) Return End If If SetComTimeout() = False Then MsgBox(Set COM port timeout failed!, MsgBoxStyle.OKOnly, Error) Return End If btnClose.Enabled = True btnSend.Enabled = True SwitchEnable(False) Else MsgB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论