欢迎访问有用文档网!

当前位置: 有用文档网 > 作文大全 >

基于VB的上位机和西门子S7—400,PLC通信系统实现

| 浏览次数:


打开文本图片集

摘 要:文中介绍了在Windows环境下,VB与西门子S7-400系列 PLC的通信方法,并应用到北方重工特殊钢厂30MN快锻液压机组控制系统中,实践证明该方法通信实时性好,数据准确性高,满足30MN快锻液压机组的工艺要求。

【关键词】PLC VB 通信 以太网

1 引言

在智能控制的重型设备中,上位机的监控软件显得尤其重要。那么研究既能实现上位机和PLC的通信,又能满足设备工艺要求的开发软件有着实际而重要的意义。

2 软件总体设计

30MN快锻液压机组的锻打频次达103次/min之多,要求同步显示数据和曲线,并且这些数据和曲线要求具有记录和查询的功能。而Visual Basic(简称VB)作为一种可视化编程软件,在开发图形曲线显示、数据库等方面有着其它组态软件不可比的优势。因此,我们采用第三方软件VB来开发30MN快锻液压机组上位机监控软件,其主界面如图1所示。

3 数据通信

3.1 通信软件接口

解决西门子S7-400系列PLC与第三方应用软件VB的通信是该项目上位机软件开发成功的关键。经过调研,西门子公司发布的PRODAVE(Process Data Traffic 过程数据交换)MPI/IE软件包是专门用于S7系列PLC与上位机第三方应用软件之间数据通信的工具软件包,该软件包中集成了基于Windows操作系统的动态链接库DLL函数,且可以通过MPI适配器(PC-Adaptor)、MPI通信处理器(CP5611卡)、工业以太网卡等硬件设备实现PLC和上位机之间数据通信。如图2所示,本文通过一根网线把上位机的以太网卡,与PLC中的以太网模块CP443硬件连接组成工业以太网络,然后VB调用PRODAVE MPI/IE中函数实现S7-400 PLC与上位机的数据通信,并通过VB中的Adodc控件链接Access数据库,查询历史记录曲线并生成数据报表。

3.2 软件接口配置

在上位机中设置控制面板“PG/PC”接口,添加应用程序访问点,并指向上位机相应的以太网卡,如图3所示。需要注意的是上位机的IP地址,要与以太网模块CP443中的IP地址保持在同一个网段内,否则通信链接失败,上位机与PLC就无法进行数据交换。

3.3 动态链接库函数声明

程序中用到的PRODAVE函数主要有:

(1)LoadConnection_ex6函数用于建立PLC与上位机的初始化链接。

(2)SetActiveConnection_ex6函数用于激活PLC与上位机的链接。

(3)UnloadConnection_ex6函数用于断开PLC与上位机的链接。

(4)field_read_ex6函数用于从PLC DB块中读取连续的数据。

(5)field_write_ex6函数用于向PLC DB块中写入连续的数据。

通信开始之前首先要调用LoadConnection_ex6函数,来建立PLC与上位机的初始化链接,通信结束时要调用UnloadConnection_ex6函数来断开PLC与上位机的链接,否则会引起上位机系统的异常。

VB在调用PRODAVE中函数之前,必须用Declare语句在模块中声明所要使用的DLL函数,以指明函数所在的DLL库名和路径,以及函数的参数说明,这样Windows才能正确执行函数。程序中主要函数的声明如下:

Declare Function LoadConnection_ex6 Lib "Prodave6.dll" (ByVal ConNr As Integer, ByVal AccessPoint As String, ByVal ConTableLen As Integer, pConTable As CON_TABLE_TYPE) As Long

//ConNr 链接号,有效值是0-63

//AccessPoint= "CP-TCPIP" 链接接入点

//ConTableLen=9 链接信号的长度

//pConTable.AdrType 连接类型,IP地址,PLC背板号,CPU槽号

Declare Function SetActiveConnection_ex6 Lib "Prodave6.dll" (ByVal ConNr As Integer) As Long

//激活链接号为ConNr的链接

Declare Function UnloadConnection_ex6 Lib "Prodave6.dll" (ByVal ConNr As Integer) As Long

//断开链接号为ConNr的链接

Declare Function field_read_ex6 Lib "Prodave6.dll" (ByVal FieldType As Byte, ByVal blk As Integer, ByVal StartNr As Integer, ByVal Amount As Long,BufLen As Long, pBuffer As Byte, pDatLen As Long) As Long

//从PLC DB块中按数据字节读取StartNr为起始字节地址Amount字节数的数据存入pBuffer缓冲区

//FieldType = Asc("d") 数值类型为Data Byte,按数据字节读取数据

//Blk=2 数据块为DB2

//BufLen 缓冲区长度

//pDatLen缓冲区的数据字节长度的指针

Declare Function field_write_ex6 Lib "Prodave6.dll" (ByVal FieldType As Byte, ByVal blk As Integer, ByVal StartNr As Integer, ByVal Amount As Long, BufLen As Long, pBuffer As Byte) As Long

//向PLC DB块中写入数据

3.3 Adodc控件连接Access数据库

采集数据的最终目的不仅要把需要显示的数据实时显示在人机界面上,还要把数据记录到数据库中,以备日后查询。VB中的Adodc控件是一个数据库绑定控件,可以用该控件连接Access数据库,对数据库中的数据表进行编辑,如对数据表中的记录进行查询、增加、修改和删除等。查询数据表中数据的部分程序如下:

如图4所示,查询到数据以曲线的形式直观的表示出来,以方便30MN快锻液压机组操作人员查询各个比例阀的开关过程,以及阀之间的配合关系等。如果操作人员要对数据进行分析,也可以以数据报表的形式保存 。

4 结束语

实践证明用VB调用PRODAVE动态链接库集成的函数进行上位机监控软件的开发,并通过工业以太网实现S7-400 PLC与上位机的通信,通信实时性好,数据准确性高,且满足30MN快锻液压机组的工艺要求。

参考文献

[1]Siemens PRODAVE MPI/IE V6.0 Manual (A5E00388168-01).Edition 05/2005.

[2]崔坚.西门子S7可编程序控制器—STEP7编程指南[M].北京:机械工业出版社,2007:257-270.

[3]明日科技,高春艳,刘彬彬,王斌.Visual Basic开发技术大全[M].北京:人民邮电出版社,2007:413-474.

[4]刘振东 梁秀满.西门子S7-300/400 PLC与VB的通信方法[J].微计算机信息,2006(04S):55-56.

[5]郭春春,贺贵明,陈明榜,刘发慧.基于VB6.0的西门子PLC与PC的通信实现微机监控功能[J].可编程控制器与工厂自动化:plc Fa,2004:71-73.

作者单位

1.西安兰石重工机械有限公司 陕西省西安市 710065

2.长安大学 陕西省西安市 710064

推荐访问:上位 系统实现 通信 VB PLC

热门排行Top Ranking

支部组织生活方面存在问题清单和整改措施 党组织生活个人问题整改清单

下面是小编为大家精心整理的支部组织生活方面存在问题清单和整改措施党组织生活个人问题整改清单文章,供大家阅读参考

2021年党员个人问题清单及整改措施 党组织生活个人问题整改清单

下面是小编为大家精心整理的2021年党员个人问题清单及整改措施党组织生活个人问题整改清单文章,供大家阅读参考。

浅析军队战斗力损耗的新变化

关键词:军队;战斗力损耗;新变化军队战斗力的结构,是战斗力各要素间的结合方式和相互关系。军队战斗力的

小学六年级毕业演讲稿100字左右9篇

小学六年级毕业演讲稿100字左右9篇小学六年级毕业演讲稿100字左右篇1敬爱的老师,亲爱的同学们:大

问题及整改措施 (2) 药房个人存在问题及整改措施

下面是小编为大家精心整理的问题及整改措施(2)药房个人存在问题及整改措施文章,供大家阅读参考。精品文章《问题及

个人问题清单及整改措施(最新) 能力作风建设个人问题清单及整改措施

下面是小编为大家精心整理的个人问题清单及整改措施(最新)能力作风建设个人问题清单及整改措施文章,供大家阅读参考。在认真

疫情防控赞美警察诗朗诵 关于警察的诗朗诵

下面是小编为大家精心整理的疫情防控赞美警察诗朗诵关于警察的诗朗诵文章,供大家阅读参考。疫情防控赞美警

纳税人满意度调查存在不足及对策探讨 提升纳税人满意度的方式方法有哪些

下面是小编为大家精心整理的纳税人满意度调查存在不足及对策探讨提升纳税人满意度的方式方法有哪些文章,供大家阅读参考。纳

小学思想品德教育面临的问题及对策

摘要:小学思想品德课程是小学教育教学过程中不可或缺的一门综合性课程,它对学生良好品德的形成具有重要影

2020党支部班子查摆问题清单及整改措施 农村党支部问题清单

下面是小编为大家精心整理的2020党支部班子查摆问题清单及整改措施农村党支部问题清单文章,供大家阅读参

消防安全检查简报 派出所校园消防安全检查简报

下面是小编为大家精心整理的消防安全检查简报派出所校园消防安全检查简报文章,供大家阅读参考。简报第2期申扎县中学

2021教师党员年度个人总结8篇

2021教师党员年度个人总结8篇2021教师党员年度个人总结篇1敬爱的党组织:我是一个普通年轻的人民