浅谈紫金桥软件驱动开发 点击:251 | 回复:0



工控大亨

    
  • 精华:13帖
  • 求助:5帖
  • 帖子:851帖 | 1682回
  • 年度积分:0
  • 历史总积分:5491
  • 注册:2006年1月03日
发表于:2008-09-25 08:59:56
楼主

实时数据库系统和操作系统类似,也需要和各种各样的硬件设备,比如PLC,板卡,智能仪表等等进行通讯。为了增加系统的可靠度和稳定性,也需要引入操作系统中驱动程序的概念。同时驱动程序的引入,也使多人同时开发硬件的支持部分成为了可能。

实时数据库系统的驱动程序可以完成与各种I/O设备之间的数据交换。一方面,它把从I/O设备采集到的过程数据发送给实时数据库,另一方面,从实时数据库发出的下置数据也要通过驱动程序传送给I/O设备。

紫 金桥实时数据库系统提供了开放的驱动程序开发包,任何有VC++经验的开发人员都可以使用此开发包编制驱动程序,增加系统对新的硬件的支持。为了简化驱动 程序的编制,我们尽可能的把通用的功能和某具体设备的实现部分相分离,这些通用的功能部分放在一个独立的程序中,就是调度程序。这样编制驱动程序时,编制 者就不用了解很多实现的细节,比如串口的打开与关闭,网络Socket的操作等等。同时调度程序也负责和实时数据库的通讯,掌控超时重发机制等等。有了调 度程序,每一个驱动程序就可以专心的实现该设备的特殊功能即可,大大提高了效率。

首先我们先简单看一下调度程序所管理的对象。如下图所示

每 一个调度程序都会创建唯一的管理类(CManager)对象来管理着所有的其他对象,该对象同时管理着一系列的通道对象。所谓的通道(CChannel) 对象其实是一系列的通讯介质的抽象,比如一个串口就可以抽象为一个通道对象,再比如一个网络的端口也可以抽象成一个通道对象。调度程序的通道对象隐藏了各 种通讯介质的差别,驱动编制者可以不用关心通道的具体细节。在每一个通道对象的内部又管理着若干的设备(CDevice)对象。这种关系可以这样来理解, 比如我们在计算机的Com1口上通过Rs485总线联结了3台设备,在Com2口上联结了一台设备。那么调度程序在运行时就会首先创建一个 CManager对象,然后再创建两个CChannel对象让CManager对象来管理,它们分别对应Com1和Com2口。然后在Com1对象内创建 三个CDevice对象和三台设备相对应,在Com2对象内创建1个CDevice对象。在CDevice的下一级是包对象(CPacket),设备采集 数据的时候总是以包为单位进行采集。在包对象的内部又包含着若干的点(CItem),一个点对应着一个从实时数据库位号到实际设备的连接,从设备中采集到 的数据首先被放到点中,然后才送入实时数据库中去的。

另外我们看一下在紫金桥软件中定义设备并进行组点联结的过程,我们以“青岛青智仪器”的驱动程序为例来简要的说明一下整个过程。

  • 驱动的安装:

请 把“青岛青智驱动程序”目录下的“IO Servers”目录与紫金桥软件安装目录下的“IO Servers”目录进行替换。如果您是使用的缺省选项来安装紫金桥软件的那么“IO Servers”目录应该为“C:\Program Files\RealInfo\IO Servers”。

  • 定义设备:

进行完第一步之后,请重新启动紫金桥软件,这时在导航器的数据库页中可以找到该驱动程序,见下图:

双击该选项,将会弹出定义设备对话框,如下图所示:

可 以看到在此对话框中需要我们输入设备名称,调度程序就是使用设备名称来得到设备配置的。同时还可以看到在此对话框中需要我们输入设备地址,选择并配置通讯 端口。此对话框由紫金桥系统提供,是一个缺省的定义设备的对话框。一些简单的设备,使用缺省的设备定义对话框即可完成定义,而一些复杂的设备就必须要求驱 动程序提供进一步的设备定义。

输入任意设备名称,设备地址要和实际的青智单相仪表设备地址设置相一致,其他设置见图。

点击COM口旁边的“设置”按钮,会弹出如下所示的COM口配置对话框:

选择对应的设置,注意一定要和实际的青智单相仪表设备的设置相一致。

  • 定义IO点

要想从设备中采集数据仅仅定义设备是不够的,必须还要告诉驱动程序,需要采集设备中的那些位置的数据,这就需要进行组点连接。

把导航器切换到数据库页,可以看到在该页下有“点组态”项,如下图所示:

双击“点组态”项即可进入点组态管理。

在点组态管理器中使用鼠标双击点名下的空白处,如下图深蓝色方块所示:

即可弹出点定义对话框:

选择“模拟I/O点”并点击“继续”按钮,会弹出如下图所示的对话框:

在点名处输入需要创建的点的名称,比如A1,并点击确定即可完成一个IO输入输出点的定义。

点击“复制”按钮,并连续点击“粘贴”按钮可以迅速的复制刚才创建的点。

  • 进行组点连接

在点组态管理器中双击相应点的外部连接项,见下图所示:

在随后弹出的对话框中选择刚刚定义的设备,并点击增加连接项按钮会弹出如下所示的组点连接对话框:

选择需要采集命令类型及子类型。点击确定即可完成一个点的组点连接。

  • 运行系统,采集或下置数据

首先,确保设备进行了正确的连接,串口线连接没有错误,并且COM口和设备地址,命令类型以及校验方式都和实际相符,然后在紫金桥软件的工具条中点击按钮,即可运行整个系统。

注意:此驱动中可下置的命令为启/停/清除累计电能,其中当下置“0”时代表停止,“1”代表启动,“-1”代表清除,下置其它内容无效。

  • 查看数据,下置数据

系统运行之后,在计算



热门招聘
相关主题

官方公众号

智造工程师