企业信息

    浔之漫智控技术(上海)有限公司

  • 6
  • 公司认证: 营业执照已认证
  • 企业性质:外资企业
    成立时间:
  • 公司地址: 上海市 松江区 石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 姓名: 刘经理
  • 认证: 手机已认证 身份证未认证 微信已绑定

渭南西门子PLC模块授权代理商

时间:2023-05-26点击次数:7

渭南西门子PLC模块授权代理商

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

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编程电缆。

图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与上位计算机的通信。




http://tianxia56.b2b168.com