用户中心

资讯 > PLC与PAC

基于DCS与MATLAB实现车辆传动系统仿真平台数据通信

来源:www.gkzhan.com2008.02.07阅读 2441

1 引 言

  目前,分散控制系统(DCS)已广泛用于石油、化工、电力、冶金等工业控制领域。在DCS的实际工程应用中控制工程网版权所有,通常需要根据不同的控制对象设计出具体的控制方案,然后在DCS上通过控制组态的方式进行实现。但是由于实际工程的限制,新设计出的控制策略与算法很难有机会在现场进行测试。因此,有必要设计出被控对象的仿真模型供DCS测试时使用。
 
近年来,出现了MATLAB这种功能强大并在控制领域被广泛应用的软件,使用它可以很方便地为各种被控对象建立仿真模型。如能将DCS和MATLAB两者相连,由DCS完成控制运算功能,MATLAB提供被控对象的仿真模型。将充分发挥两者的优势,同时也能为科研人员开发新的控制策略和算法给予极大的帮助。

  本文以履带车辆传动系统为例,基于国电智深的EDPF-NT系统和MATLAB建立车辆传动系统仿真平台。在此平台上,在EDPF-NT系统中开发车辆传动系统电控模拟器,控制传动系统的运行。使用MATLAB构建传动系统模型,模拟传动系统的运行。该平台可以方便的模拟传动系统的换档过程,为优化换挡策略,提高传动系统的整体性能提供较好的仿真环境。
&nbs

p;
2 仿真平台硬件组成

  在构建传动系统仿真平台时,首先要解决硬件的设计问题。它主要由EDPF-NT系统的工程师站、DPU卡、COM卡、I/O卡和上位机组成。工程师站的功能是进行组态及设计控制方案,而上位机主要是运行传动系统MATLAB模型和数据通信程序。

3 仿真平台数据通信的实现

  在进行传动系统仿真平台构建过程中,实现平台内数据快速准确的通信是重点研究的内容CONTROL ENGINEERING China版权所有,主要解决EDPF-NT系统与MATLAB的数据通信。出于安全性的考虑,EDPF-NT系统的数据库只允许读取而不允许写入,所以EDPF-NT系统与MATLAB模型的数据通信要分三部分实现,首先是在工程师站读取EDPF-NT系统实时数据并发送给上位机,其次是MATLAB模型读取送至上位机的EDPF-NT系统数据,最后是在上位机中将MATLAB模型运行后的数据通过COM卡送入EDPF-NT系统。

3.1 EDPF-NT系统数据读取

  EDPF-NT系统的数据以特定的格式存储于数据库中,不能直接读写。国电智深为了方便用户对于数据的使用,提供了可以被VC、VB等软件调用的NTClient.dll文件,用户可以通过NTClient.dll提供的函数来读取EDPF-NT系统的实时数据。本文采用VB开发了读取EDPF-NT系统数据,同时利用Winsock控件将读取的数据发送到上位机的程序。此程序分为三部分:
1)声明NTClient.dll提供的函数;
2)读取EDPF-NT系统的数据;
3)发送数据到上位机。

3.2 MATLAB对EDPF-NT数据的调用

  作为当前最流行的仿真软件www.cechina.cn,MATLAB在控制系统分析与设计中起着重要作用。但是MATLAB本身不提供底层通信接口,必须使用其它方法实现网络上的数据通信。所以由EDPF-NT系统工程师站送至上位机的数据首先使用VB编写的程序接收,接下来通过OPC技术实现对这些数据的调用。

在不同的程序间传递数据时需要选择合适的通信接口,为此引入工控行业的软件接口标准OPC (OLE for Process Contro1)技术。OPC技术试图按照标准的方法解决不同程序、设备之间的数据交换问题CONTROL ENGINEERING China版权所有,它采用服务器/客户端模式,只要提供了具有统一OPC接口的服务器,即可按照一致的OPC客户端接口访问服务器,实现数据交换。
 
  MATLAB可以作为ActiveX自动化控制器,通过ActiveX自动化控制器技术,用户可以在MATLAB中,通过编写M文件对ActiveX自动化服务器进行各种控制。利用VB开发使用OPC自动化接口的OPC AxtiveX控件,在OPC AxtiveX控件中添加通信模块,接收EDPF-NT系统的数据,并将这些数据赋给OPC AxtiveX控件的属性值,通过MATLAB获取OPC AxtiveX控件中对应的属性值,就可以实现在OPC技术下MATLAB对EDPF-NT系统数据的调用。
 
  首先是建立OPC AxtiveX控件,并在内部工作变量的初始化中设置网络。其次在OPC AxtiveX程序中添加网络通信代码,完成对EDPF-NT系统工程师站送到上位机的数据进行接收。最后将接收到的数据赋给ActiveX控件属性值,生成OPC AxtiveX控件,并注册。用于数据接收的OPC AxtiveX控件就可以被MATLAB来使用了。在MATLAB使用一个ActiveX组件前,必须要找到对象的名字www.cechina.cn,即ProglD,另外还要了解对象用到的方法、属性和事件。利用这些信息,通过ActiveX客户支持就可以在MA

版权声明:版权归控制工程网所有,转载请注明出处!
继续阅读

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688