技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 西门子PLC > 西门子PRODAVE通信软件读写PLC字节函数

西门子PRODAVE通信软件读写PLC字节函数

林建平 发布于2022-11-03 17:54 25 2 标签:PRODAVE

  1. PRODAVE 简介

  PLC具有极高的可靠性,一般用来执行现场的控制任务,但是它的人机接口功能较差。

  PLC与个人计算机(PC)通过通信连接起来,用PC作为上位计算机,实现系统的监控、人机接口,以及与上一级网络(例如工业以太网)的通信等功能,可以使二者的优势互补,组成一个功能强、可靠性高、成本低的控制系统。因此在工业控制系统中,PC与PLC之间的通信是最常见和最重要的通信之一。

  实现计算机与PLC通信最简便的方法是使用计算机上运行的组态软件,例如西门子公司的WinCC或国产的组态软件。组态软件与现场设备(例如PLC)之间的通信程序是由组态软件生产厂家开发的,用户只需要设置一些通信参数,就可以实现上位计算机与现场设备之间的通信,通信的双方都不需要编写通信程序。但是每个系统都需要购买组态软件,费用较高。有的组态软件不能满足用户的某些特殊要求。

  S7-300400的MPI(多点接口)和S7-200的PPI(点对点接口)用于西门子公司控制产品之间的通信,例如安装在PC上的STEP7编程软件与PLC之间的通信,但是这些通信协议均未公开。

  PRODAVE是用于PC与S7系列PLC之间的数据链接通信的工具箱,可以用于S7-200、S7-300400、M7和C7等西门子PLC。通过下列硬件,可以在S7PLC与PC之间方便地建立数据链接(见图14-59):

  1)用于PC的MPI通信处理器,例如CP5511、CP5611和CP5613,通信速率最高12Mbits。

  2)用于S7-300400的PCMPI适配器或USBMPI适配器。

  3)用于S7-200的PCPPI编程电缆。

PC与PLC的连接方式

图14-59 PC与PLC的连接方式

  用PRODAVE来实现上位计算机与S7系列PLC的通信是很方便的。PRODAVE的动态链接库(DLL)提供了大量的基于Windows操作系统的DDL函数,供用户解决PLC与PC 之间的数据交换和数据处理问题。可以在VB或VC等编程环境中调用这些函数,来建立或断开通信连接,读写CPU的系统存储器,方便地实现计算机与S7-300400的点对点通信。

  PRODAVE有以下特点:

  1)使用简单方便,编程人员不需要熟悉复杂的通信协议,通过调用PRODAVE提供的动态链接库(DLL)中的函数就可以实现通信。

  2)上位计算机用通信函数直接读写PLC中的数据,不用编写PLC的通信程序。

  3)如果使用PCMPI适配器或用于PC的通信处理器作通信接口,它们同时还可以兼作编程软件与PLC的通信接口。

  PRODAVE的使用方法可以参阅随书光盘中的有关用户手册。

  PRODAVE的函数分为基本函数、数据处理函数和电话服务函数(TeleService Functions)。

  基本函数用于建立、断开和激活PC与PLC的连接,以及读、写PLC中的各种数据。数据处理函数用于PC中用户数据的转换和处理,与PC和PLC之间的通信没有直接的关系。电话服务函数用于PC通过电话线与PLC建立连接,本节主要介绍基本函数。

  2. 建立与断开连接的函数

  1)load_tool用于建立上位机与PLC的连接,初始化适配器,检查是否安装了驱动程序,初始化参数地址,激活选中的通信接口。

  2)unload_tool用于在通信结束时断开PC与PLC的连接,否则可能引起上位机死机,或者造成上位机系统的异常状况。

  3)new_ss用来激活PLC与PGPC的连接,也可以用它来重新建立已经关闭的连接。如果只有一个连接,不必使用new_ss函数。

  3. 读取PLC字节的函数

  函数X_field_read用于读取PLC的X地址区中从地址no开始的amount个字节的数据,将它们存放在PC的数组变量value中。其中的X可取e(输入I)、a(输出Q)和m(位存储器M)。e和a是德语的缩写。

  4. 写PLC字节的函数

  这类函数将存放在PC的数组变量value中的数据写入PLC的X地址区从地址no开始的amount个字节中,X可以取a和m。

  5. 读写数据块的函数

  1)d_field_read 读取PLC的db数据块中从地址no开始的amount个字节的数据,将它们存放在PC的数组变量value中。

  2)d_field_write将存放在PC的数组变量value中的amount个字节的数据,写入PLC的db数据块中从地址no开始的区域。

  3)db_readwrite 函数中各变量的意义与d_field_readwrite的类似,区别在于amount 以字为单位。

  6. 读定时器计数器字

  X_field_read 读取从地址 no 开始的 amount 个定时器或计数器的当前值,将它们存放在PC的数组变量value中。X可以取t(定时器)和z(计数器)。z是德语的缩写。

  7.写计数器字

  z_field_write 将存放在PC的数组变量value 中的 amount个字的数据,写入PLC从地址no 开始的的计数器区,改写的是计数器的当前值。

  8.读写混合数据

  mix_read最多可以读取PLC的20个数据,mix_write最多可以向PLC写20个数据。需要指明每个数据的地址区类型、长度(字节或字)和地址。

  9. 标志状态测试

  mb_bittest 检测PLC内地址为no的标志(即位存储器)字节MB中的第bitno位。返回值value与该位的01状态相同。

  10.置位复位标志

  mb_setbit和mb_resetbit分别将PLC中地址为no的MB的第bitno位置位和复位。

  11. 其他通信函数

  ag_info用于读取PLC的信息,ag_zustand用于读取PLC的状态,db_buch用于检测某数据块是否存在。

  12. 数据处理函数

  PRODAVE为了方便用户,在komfort.dll中还提供了与通信无关的数据处理函数,例如位数据与字节数据的转换函数,浮点数格式转换函数,高低字节交换函数,位测试函数和错误信息函数等。

  作者曾在某水电站控制系统中将PRODAVE用于S7-300与上位计算机的通信。

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

PRODAVE

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签