西门子S7-300系列PLC与PC机的PRODAVE通信

上传人:宝路 文档编号:22555803 上传时间:2017-11-27 格式:DOC 页数:4 大小:63.12KB
返回 下载 相关 举报
西门子S7-300系列PLC与PC机的PRODAVE通信_第1页
第1页 / 共4页
西门子S7-300系列PLC与PC机的PRODAVE通信_第2页
第2页 / 共4页
西门子S7-300系列PLC与PC机的PRODAVE通信_第3页
第3页 / 共4页
西门子S7-300系列PLC与PC机的PRODAVE通信_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《西门子S7-300系列PLC与PC机的PRODAVE通信》由会员分享,可在线阅读,更多相关《西门子S7-300系列PLC与PC机的PRODAVE通信(4页珍藏版)》请在金锄头文库上搜索。

1、西门子 S7-300 系列 PLC 与 PC 机通信实现的研究1 引言西门子工控产品在我国有较高的市场占有率,它的通信及网络产品有着引导世界工控技术潮流的作用,研究西门子工控产品及通信技术的实际应用问题有着广泛普遍的重要意义。本文通过对某市级烟草公司的卷烟配送分拣系统的研究,探讨了在 Windows 环境下,用 Delphi 开发的数据库应用软件与西门子 S7-300 之间通信的实现问题。该卷烟配送分拣系统计算机部分结构如图 1 所示。该系统管理计算机接收信息中心局域网发送来的各条送货线路当天的访销信息数据,在此基础上管理计算机建立起以送货线路为单位的配方数据库,将配方数据分批次连续地下传给P

2、LC。PLC 根据下传的配方数据对系统控制使其连续分拣和收集,同时系统工作状态及工作数据通过 PROFIBUS 现场总线在两个触摸屏 TP27-10 得到动态显示,最后在收集工位自动得到一箱对应一个销售网点的用户配料。为了提高调系统试效率,我们在 DELPHI 和 Microsoft Access 数据库平台上编写了用于 PLC 控制程序的调试软件。从上看出该系统能否研制成功必须要解决的问题是:西门子 S7-300 系列 PLC 通讯协议不公开,管理计算机和调试计算机上第三方软件编制的程序如何实现 PC 机与西门子 S7-300 系列PLC 信息交换?通过技术调研和实际调试,我们成功实现了在

3、VB、DELPHI 程序开发平台上开发的管理程序及调试程序与 S7-300 系列 PLC 通信,顺利完成了系统研制任务。限于篇幅,本文以调试软件的通信实现方法来讨论第三方应用软件与西门子 S7-300 PLC 的通信问题2 调试软件设计根据 PLC 控制程序的调试要求,该调试软件使用 DELPHI 的数据库技术把事先设计的 60 个配方数据写入数据库,根据调试需要也可通过人机界面对数据库中的数据进行任意修改,当执行“下传数据”命令时把数据库中的数据字段进行一定数据处理后通过调用 PRODAVE S7 软件包写入 PLC 中对应的 DB(DATA BLOCKS)块,其中一条记录对应一个 DB 块

4、,每条记录的一个字段对应该 DB 块中的一个字。该调试软件也可按一定顺序读 PLC 中各 DB 块中的字,并把读取的数据经过处理后写入数据库,以供调试人员检查写入数据的正确性。PC 机与 PLC CPU318-2DP MPI 口之间的数据通信是通过 PC/MPI 适配器硬件连接实现的。3 数据通信3.1 通信软件实现 PC 机与 PLC 之间的数据通信是一个棘手的问题。西门子公司的 PRODAVE S7 软件包的动态链接库(DLL)提供了大量的基于 Windows NT,Windows95/98,Windows3.11 或 MS-DOS 的函数,这样就使用户解决 PLC 与 PC 之间的数据交

5、换和数据处理问题变为可能。3.2 通信函数在 DELPHI 的 Object Pascal 语言中,要访问动态链接库 DLL(Dynamic Link Library)中的例程有两种方式。一种是静态引入方式;另一种是动态引入方式。本软件使用静态引入方式,即在单元的 Interface 部分用 External 指示字列出要从 DLL 中引入的例程。如果要引入的例程比较多,就可以用一个专门的单元来集中声明要引入的例程。PLC 控制程序调试软件用到的 PRODAVE 函数主要有:(1)load_tool PC 机与 PLC 系统初始化链接;(2)unload_tool 断开 PC 机与 PLC 系

6、统链接;(3)db_read 从 PLC 的 DB 块中读数据字;(4)db_write 向 PLC 的 DB 块中写数据字。3.3 通信程序的实现在该调试软件中用一个专门的单元集中声明要引入的 PRODAVE S7 动态链接库的例程,然后在程序中在引用这个单元,即把引入单元“prodave”加到程序的 Uses 子句。该引入单元的代码如下:unit prodave;interfacetypeTadr_table_type=recordadr:byte; segmentid:byte;slotno:byte; rackno:byte;end; function load_tool(no:Byt

7、e;name:PChar;adr_table_type:PChar):Integer;stdcall;external w95_s7.dll; function unload_tool:Integer;stdcall;external w95_s7.dll; function db_read(blockno:integer;no:integer;amount:pointer;buffer:pointer):integer;stdcall;external w95_s7.dll; function db_write(blockno:integer;no:integer;amount:pointe

8、r;buffer:pointer):integer;stdcall;external w95_s7.dll; 在调试软件的主程序中调用该引入单元前,须将软件包 prodave.pas 文件加到工程中。这样才能在主程序中调用 w95_s7.dll 中的函数,具体程序调用实现如下:implementationuses prodave;$R *.DFMbeginplc_adr_table0 := 2; address plc_adr_table1 := 0; segment idplc_adr_table2 := 2; slotno plc_adr_table3 := 0; rackno plc_a

9、dr_table4 := 0;res := Load_tool(1,S7ONLINE,plc_adr_table); /初始化链接函数 load_tool 的作用在于初始化适配器,初始化参数的地址以及激活选定的界面。程序在读写 PLC 数据前应该用该函数初始化 PC 机与 PLC 的连接。此函数传送以下 3 个参数:no:此参数设置可激活连接的数量,连接个数可以达到 16 个。此例中,no=1;device:用户驱动设备名称,如 MPI 驱动器的设备名为“S7ONLINE”;plc_adr_table:连接部分的地址列表指针。如果没有错误,此函数返回 0,否则返回错误信息的相应十六进制代码。下

10、面给出数据下载程序:beginerror:=false;table1.first; /定位到配方表的首记录for i:=2 to 61 do /把 60 个配方数据写到 DB2-DB61beginfor j:=1 to 42 do /把 42 个库位的自动配烟数的值高低字节调换位置存入 buffer 数组beginc0:=table1.fields.fieldsj.asinteger;clow:=c0 shl 8;chigh:=c0 shr 8;cdate:=clow xor chigh;bufferj-1:=cdate;end; anzahl:=42;dbno:=i; /DB 块dwno:=

11、1; /第 1 个数据字,即 DW2res := db_write(dbno,dwno,anzahl,buffer); 函数 db_write()的作用是从 PC 机的数组变量“buffer”中给 PLC 的第“dbno” 个数据块中从“dwno”个数据字开始写“anzahl” 个数据字。如果数据块不存在,将返回错误信息的代码。如果要写的数据字数目的长度超过了数据块的长度,要写的数据字的长度将得到更正,同时此函数还返回 303H 的错误信息。需要特别注意的是:数据在缓冲区存放的顺序是从高字节到低字节。而 Object Pascal 语言中,变量类型为 word 的变量,它的数据存放顺序是从低字

12、节到高字节。因而,在对所读取的数据进行操作时或给 PLC 数据块中写数据字时要进行相应的处理。结束程序之前,必须调用适配器函数 unload_tool 断开 PC 机与 PLC 的连接。否则,将引起PC 机死机,或者系统紊乱。由于数据上传与数据下载的实现方法相近,限于篇幅,数据上传实现的方法本文不予介绍,请读者参考数据下载实现方法部分。4 结束语运用 DELPHI 开发环境编写的 PLC 控制程序调试软件,具有界面友好、人机交互功能方便、数据库功能强大灵活的优点,具有一定的通用性和实用性。而且通过调用 PRODAVE S7 软件包的动态链接库实现 PC 机对 PLC CPU318-2DP 数据的读写操作,不但数据传输数率快,而且数据传输正确率高。在对 PLC 控制系统的调试过程中,可以大大缩短调试周期,提高工作效率。此通信技术的实现对西门子工控产品的应用及 PROFIBUS 现场总线的推广应用有着广泛普遍的重要意义。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号