西门子一级代理商
西门子一级代理商
西门子一级代理商
浔之漫智控技术(上海)有限公司
本公司销售西门子自动化产品,全新原装,质量保证,价格优势
西门子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与上位计算机的通信。
断路器 | 3VA1110-5EE32-0AA0 |
断路器 | 3VA1225-5EF32-0AA0 |
端子盖 | 3VA9111-0WD30 |
连接端子 | 3VA9113-0JJ12 |
连接端子 | 3VA9213-0JJ13 |
断路器 | 5SY4120-7CC |
断路器 | 5SY6132-7CC |
断路器 | 5SY6150-7CC |
断路器 | 5SY6304-7CC |
断路器 | 5SY6340-7CC |
断路器 | 5SY6350-7CC |
断路器 | 5SY6363-7CC |
断路器 | 5SU1354-7KK06 |
断路器 | 5SU1354-7KK10 |
断路器 | 5SY6220-7CC |
断路器 | 5SY6240-7CC |
断路器 | 5SL6110-7CC |
断路器 | 3LD2203-0TK53 |
断路器 | 5SY4116-7CC |
断路器 | 5SL6240-7CC |
断路器 | 5SL6332-8CC |
断路器 | 5SL6340-7CC |
断路器 | 5SL6510-7CC |
断路器 | 5SL6632-8CC |
断路器 | 5SY6232-7CC |
断路器 | 5SY6320-7CC |
断路器 | 5SY7310-8CC |
旋转手柄 | 3VA9257-0FK25 |
端子盖 | 3LD9251-0A |
断路器 | 5SY6120-7CC |
断路器 | 5SY6125-7CC |
断路器 | 5SP4391-7 |
断路器 | 5SL5206-6CC |
断路器 | 5SL5204-6CC |
断路器 | 5SL5210-6CC |