第一范文网 - 专业文章范例文档资料分享平台

6M25往复式压缩机状态监测系统研究 - 图文 (8)

来源:用户分享 时间:2020-06-23 本文由长虹饮涧 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

中南大学硕士学位论文第三章监测系统的通讯实现3.2通讯函数要实现监测软件的数据采集、故障诊断、现场控制等功能,必须从PLC指定的存储区读取数据以及把需要设定的参数写入PLC特定的存储区中,因此最重要的任务就是如何实现PLC与工控机之间的数据通信。由于西门子¥7-300系列PLC没有公开通讯协议,但西门子公司的ProdaveS7软件包提供了大量基于W'mdows用来建立通信的动态连接库文件(w95s7.ml,Konffort.rill)和库文件(W95一s7.1ib,Komfort.1ib),这些文件为用户提供可靠的工具函数,使用高级语言调用这些函数,可以实现以MPI方式与PLC通信。3.2.1PRODAVE动态链接库函数介绍在安装PRODAVES7时,系统会把动态链接库文件拷贝到Windows目录system和systend2下,只要W95.s7.dll、Komfort。dll在系统目录下,就可以调用软件包提供的各种功能函数网。本监测软件所使用的PRODAVE库函数主要有【361:1、load_tool(no:byte;name:pchar;adr_.table_type:pehar):integer;函数loadtool()的作用在于初始化适配器,初始化参数的地址以及激活选定的界面,实现PC机与PLC系统初始化链接;程序在读写PLC数据前应该用该函数初始化PC机与PLC的连接。此函数传送以下3个参数:llO:此参数指明建立连接的节点个数,指定连接数1.4,一般设为l。name:此参数为设备驱动器名称,如MPI驱动器的设备名为“S70NLⅣE”:测试时若改为其它名称好像连不上。plc._adrtable:此参数指明地址表入口,指定一系列连接参数,依次为:PLC的MPI地址、MPI网段的编号、PLCCPU当前的槽号、PLC当前的机架号。如果没有错误,此函数返回0,否则返回错误信息的相应十六进制代码。2、unload_tool函数unloadPC机与PLCl用于断开oot_程束结。数参有没数函该,接链的序之前,必须调用函数unload机死机,或者系统紊乱。3、db机与PLCl断开oot__起PC引将,则否。接连的PCread(blockno:integer;no:integer;amount:pointer;buffer:pointer):integert371;blocknoPLCd()的作用是从aer_据数个”“从中第“块据数个”110函数db字开始读。amount”个数据字存放到PC机的数组变量“buffer”中。如果数据块不存在,将返回错误信息的代码。如果要写的数据字数目的长度超过了数据块的长度,要写的数据字的长度将得到更正,同时此函数还返回303H错误信息。Blockno:指定DB块号;中南大学硕士学位论文第三章监测系统的通讯实现No:指定写入的起始字序号,=0表示DBWO,=l表示DBw2:Amount:指定写入多少个字;4、dbwrite(blockno:integer;no:integer;amount:pointer;buffer:pointer):integer;函数dbwrite()的作用是从Pc机的数组变量“buffer”中给PLC的第“blockno”个数据块中从“no”个数据字开始写“amount”个数据字。如果数据块不存在,将返回错误信息代码。如果要写的数据字数目的长度超过了数据块的长度,要写的数据字的长度将得到更正,同时此函数还返回303H的错误信息。Blockno:指定DB块号;No:指定写入的起始字序号,=o表示DBW0,--1表示DBW2;Amount:指定写入多少个字;5、mb_setbit(mbno:integer;bitno:integer):integer;,函数mbsetbit()的作用置位MB变量的位状态。mbno:指定位存储区(M)的字节地址;bitno;指定位存储区(M)字节的位地址,范围为O.7;6、mbresetbit(mbno:integer;bitno:integer):integer;函数mbresetbit()的作用复位MB变量的位状态。mbno:指定位存储区(M)的字节地址;bitno:指定位存储区(M)字节的位地址,范围为0.7;7、mb_bittest(mbno:integer;bitno:integer;retwert:pointer):integer;函数mbbittest()的作用读取MB变量的位状态当前值。mbno:指定位存储区(M3的字节地址,=o表示MB0,=l表示MBI;bitno:指定位存储区(M)字节的位地址,范围为0-7;retwert:为存储返回值的缓冲区地址。=l表示该位为1,卸表示该位为0;3.2.2PRODAVE动态链接库函数的引用该监测试软件用一个专门的Prodave单元集中声明要引入的ProdaveS7动态链接库的函数,然后在程序中在引用这个单元,即把“Prodave”单元加到程序的Uses子句。prodave单元的代码如下:unitprodave;interfacetypetadrtable_type=recordadr:byte;segmentid:byte;中南大学硕士学位论文第三章监测系统的通讯实现slotno:byte;raekno:byte;end;functionloadtool(no:byte;name:pchar;adr_table_type:pchar):integer;stdcall;exter/lal。w95.s7.dll’;functionunload_tool:integer;stdeall;external'w95_s7.dll’;functiondb_read(blockno:integer;no:integer;amotmt:pointer;buffer:pointer):integer;stdcall;external,w95_s7.dll’;functiondb_wfite(blockno:integer;no:integer;amount:pointer;buffer:pointer):integer;stdcall;extemal,wgs_s7.dll’:functionmb_setbit(mbno:integer;bimo:integer):integer;stdcall;external'w95_s7.d11’:functionmb_resetbit(mbno:integer;bitno:integer):integer;stdcall;extemal'w95s7.dll’;functionmb_bittest(mbno:integer;bitno:integer;retwert:pointer):integer;stdeall;extemal’w95_s7.dll’:implementationend.在监测软件的主程序调用prodave单元前,须将软件包prodave.pas文件加到工程中。这样才能在主程序中调用w95_s7.dll中的函数,具体程序调用实现如下:implementationuse¥prodave;{¥R’.DFM}3.3监测系统的通讯实现要对PLC存储区进行读写操作,首先应建立工控机与PLC的连接,对于MPI网络来说,最多可以同时建立32个连接,具有多点通信的性质。每个节点都有MPI地址,用STEP7软件中的Configuration功能为每一个节点分配MPI地址,PLC的CPU地址是唯一指定的。要想与PLC建立连接,必须指明PLC中南大学硕士学位论文第三章监测系统的通讯实现的MPI地址和CPU地址。3.3.1设置PG/PC接口PG/PC接口(PG,PCinterface)是PG伊C和PLC之间进行通信的接口。PG/PC支持多种类型的接口,每种接口都需要进行相应的参数(如通信的波特率等)。因此,要实现PG/PC和PLC设备之间的通信连接,必须正确设置PG/PC接口。在【smIA=ncManager]中,通过菜单项[OptionlI[SetPG/PCiIltCr£aCe]设置PG伊C接口的对话框如图3.2。设置步骤如下:1、将[AccessPointofApplication](应用访闯点)设置为[S70NLINE(STEP7)]2、在[InterfaceParameterAssignmentUsed】(接口参数)的列表中,选择[PCAdapter(MPI)]类型。3、选中,单击[Properties](属性)按钮,在弹出的对话框中对该接口的参数进行设置,如图3-2所示图3-2设置PG肫接口3.3.2建立地址表ProdavetypeS7软件包为我们提供了结构体‘'tadr_table_type”:tadrtable_type=recordadr:byte;//MPI站地址segmentid:byte;slotno:byte;//MPI网络段ID号//PLCCPU槽号中南大学硕士学位论文第三章监测系统的通讯实现//PLC架号rackno:byte;end;结构体中4位数字表示站、段、槽、架的位置号,第l位表示PLC的MPI地址,第2位表示MPI网络编号,第3位表示PLCCPU当前的槽号;第4位表示PLC当前架号。本监测系统采用默置地址表:tadr_table_type={2,0,2,O)。3.3.3建立连接要对PLC存储区进行读写操作,首先应建立工控机与PLC的连接,对于MPI网络来说,每个节点都有MPI地址,用STEP7软件中的Configuration功能为每一个节点分配MPI地址。PLC的CPU地址是唯一指定的,要想与PLC建立连接,必须指明PLC的MPI地址和CPU地址,本监测系统采用默认设置建立地址表:tadr_table.Jype={2,0,2,O}。部分程序语句如下:beginplc_adr_table[O】:=2;plc_adrI/MPI站地址CPU槽号table[1】:=O;胍但I网络段ID号//PLCplc_adr_table[2】:=2;plc.adrplctable[3】:=O;//PLC架号adr_table[4】:20;rcs:=Loadtool(1,"S70NLINE”,@plc_adr_tablc);//初始化链接ifrcs<>Othenbe#nshowmessage(嗵信连接不成功!t);unloadtool;end;ifres=Othen//断开连接beginshowmessage(嗵信连接成功!’);end;end;3.3.4读PLC内部资源。6M25往复式压缩机监测系统”要进行状态监测,须通过读PLC内部数据块把所有监测的参量都采集到上位机,以进行状态监测和故障分析;为了更好地描述MPI读PLC资源的过程,以读取1-9#轴承座三向加速度数据采集部分程序为例,来说明读PLC内部资源的方法。

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新高中教育6M25往复式压缩机状态监测系统研究 - 图文 (8)全文阅读和word下载服务。

6M25往复式压缩机状态监测系统研究 - 图文 (8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1098470.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top