北京市供应 HONEYWELL 05291202

北京市供应 HONEYWELL 05291202

参考价: 面议

具体成交价以合同协议为准
2018-05-14 09:00:00
455
产品属性
关闭
(上海办事处)厦门兴锐嘉进出口有限公司

(上海办事处)厦门兴锐嘉进出口有限公司

免费会员
收藏

组合推荐相似产品

产品简介

HONEYWELL 05291202

详细介绍

西门子HONEYWELL 05291202  PLC是目前我国应用的大中型PLC,研究西门子PLC

其网络的通信技术有着重要意义。本文通过对贵州钢绳集团2000KN拉力机测控系统的研究,

探讨了在Windows2000环境下,用VB开发的钢丝绳破断力试验机测控软件与CPU-314通信

的实现问题。结果表明,通过适当的方法,可以使VBS7-300/400 PLC进行良好的通信,

VB构成功能强大数据采集及控制软件。

1软件总体设计

通常情况下,我们一般选用WinCC作为西门子S7-300/400 PLC控制系统的监控和数

据采集软件(HMI/SCADA)。由于WinCC内置了基于S5/S7协议的通讯系统,并提供了大量面

向这些系统和技术的组件,从而为WinCC和这些系统的*化通讯和良好的互操作性提供了

保证。但是,作为一种作为一种通用组态软件,WinCC的应用领域主要是工业过程控制领域。

2000KN钢丝绳拉力试验机对于上位机软件的要求比较特殊:采样速率较高(20次/秒);

依采样速率同步显示曲线和数据;试验数据和曲线要能够按照试验编号查询并且调出显示。

很明显,WinCC的趋势曲线、过程值归档等功能不能满足2000KN拉力机的工艺要求。VB

为一种通用的高级编程语言,编程灵活,在开发图形曲线显示、数据库等方面有着WinCC

不可比拟的技术和成本优势。因此,我们选用VB来开发2000KN钢丝绳破断力试验机的数据

采集和控制软件。图12000KN拉力机测控软件系统及与PLC硬件连接示意图。

2数据通信

 

2.1通信软件接口

 

                              图1 HONEYWELL 05291202 拉力机测控软件系统及与PLC硬件连接示意图

该系统能否研究成功的关键问题在于VBCPU-314 PLC之间的通信。S7-300/400

MPI(多点通信接口)用于西门子公司的控制产品之间的通信,例如安装在PC上的STEP7

编程软件与PLC之间的通信,但是这些通信协议均未公开。如果用S7-300/400的点对点通

信协议实现PCPLC之间的通信,需要配置的通信处理器模块或带点对点通信接口的

CPU31x-2PtP。其点对点通信协议并不通用,要化较多的时间熟悉和摸索,才能编写出PLC

和计算机的通信程序。

PRODAVE是用于PCS7系列PLC之间的数据链接通信的工具软件包。PRODAVE

“Process Data Traffic”(过程数据交换)的缩写,通过PC/MPI适配器(PC-Adaptor)、

MPI通信处理器(CP5611卡)等硬件设备,可以实现PCPLC之间的数据链接。PRODAVE

的动态链接库(DLL)提供了大量基于Windows操作系统的DLL函数,供用户解决PLCPC

之间的数据交换和数据处理问题。Windows环境中的西门子公司的PRODAVE工具箱有PRODAVE

S7(*版)和PRODAVE S7 mini(简化版)两种,PRODAVE S7(*版)功能比较全面,可按

位或者字节读写PLC中的输入过程映像区、输出过程映像区、位存储区、定时器、计数器、

数据块等区域,PRODAVE S7 mini(简化版)则只能读写DB中的字和字节。

2.2动态链接库声明

程序中用到的PRODAVE函数主要有:

⑴load_tool函数用于PC机与PLC系统的初始化链接。

⑵unload_tool函数用于断开PC机与PLC系统的链接。

⑶db_read函数用于从PLCDB块中读数据字。

⑷db_write函数用于向PLCDB块中写数据字。

首先,HONEYWELL 05291202 在模块中应该声明程序使用的用户自定义的数据类型PlcAdrType

Type PlcAdrType

ADDRESS As Byte

SEGMENTID As Byte

SLOTNO As Byte

PACKNO As Byte

End Type

在通信开始之前,首先用load_tool函数建立与上位机与PLC的链接,通信结束时

必须用unload_tool函数断开PCPLC的链接,否则会引起上位机死机或上位机系统的异

常状况。VB在调用DLL函数之前,需要用Declare语句在模块中声明所要使用的DLL函数。

声明DLL函数的主要作用是指明该函数所在的DLL库名及路径,以及该函数的参数说明,以

便Windows能找到该函数,并能正确的执行该函数。

Declare Function load_tool Lib "w95_s7.dll" (ByVal nr As Byte, ByVal dev As

String, adr As PlcAdrType) As Long

//nrPC要激活的连接的个数(1-32个);

//dev是用户驱动设备的名称MPI接口时为“S7ONLINE”;

//adr是连接的地址列表;

Declare Function unload_tool Lib "w95_s7.dll" () As Long

//断开连接

Declare Function db_read Lib "w95_s7.dll" (ByVal blockno As Long, ByVal no

As Long, Amount As Long, value As Byte) As Long

//读取DB块号为blockno中的从地址no开始的Amount个数据字。

//读取的数据存放于PC的变量区value中。

Declare Function db_write Lib "w95_s7.dll" (ByVal blockno As Long, ByVal no

As Long, Amount As Long, value As Byte) As Long

//PC的变量存储区value中的amount个数据字写入到PLC的数据块DB

中从no开始的数据区。

2.3读写函数使用的注意事项

我们在调试过程中曾发现读入的模拟量(双字)存在突然变小的情况,在排除硬件故

障后,发现是由于VB对于字符串的处理比较特殊而造成的错误结果。因此,在使用PRODAVE

工具箱进行通信的程序中,要特别注意的是VB在处理字符串时对“0”是自动舍弃的,现举

例说明如下:

HONEYWELL 05291202 4~20mA模拟量输入信号在PLC中的地址PIW292的数据类型是整数,经过

数据转换存于DB1.DBD36中,DB1.DBD36的数据类型是双整数。转换的梯形图如图2所示。

2 HONEYWELL 05291202 模拟量转换为双整数的梯形图

VB中执行下列语句:

Res = db_read(1, 36, 4, Buffer_R(0))     // Buffer_R()是字符串型数组

Res = db_read(1, 36, 4, Buffer_R(0))执行后,DB1.DBD36中的数据被VB读入到

Buffer_R(0)~Buffer_R(3)中,将Buffer_R(0)~Buffer_R(3)中String 型数据变为

Single型数据后,得到的即为PLC上的传感器的数值。将将Buffer_R(0)~Buffer_R(3)中

String型数据变为Single型数据的方法如下:

Val=CSng(Buffer_R(0)+ Buffer_R(1)+ Buffer_R(2)+ Buffer_R(3))

Val即为Single型的模拟量采样结果。

假设DB1.DBD36中数值为16进制的“00003F12”,经过上述转换后,Val的值为

00003F12”(16进制),变为10进制为“16146”。此时实际读入的结果是正确的。但是,

Buffer_R()中的字符串有“0”字符时:例如DB1.DBD36中数值为16进制的“00003F02”,

Val中的结果应该是16进制的“00003F02  ”,即10进制的“16130”。而实际读入的数值为

10进制的“1010”,比真实的模拟量信号变小了近16倍!

为什么会出现如此错误的结果呢?原因如下:当传感器的真实值为“00003F02”时,

Buffer_R(0)=“00”;

Buffer_R(1)=“00”;

Buffer_R(2)=“3F”;

Buffer_R(3)=“02”;

执行Val=CSng(Buffer_R(0)+ Buffer_R(1)+ Buffer_R(2)+ Buffer_R(3))的语句的

过程中,Buffer_R(3)的“02 ”中的“0”被VB自动舍弃,Val变为“003F2”(16进制),

也就是“1010”(10进制)!这就是模拟量读入值突然变小的原因。要解决这一故障,需要

在执行Val=CSng(Buffer_R(0)+ Buffer_R(1)+ Buffer_R(2)+ Buffer_R(3))语句前进行一

下判断,当Buffer_R()的中的低位是“0”时,用程序补上一个“0”字符以避免错误的发

生。

Reliance Electric AutoMax 57407 4J 574074J Processo NIB

Allen Bradley 1785-L60C D 1785L60C PLC 5/60 Controlnet

Modicon AS-B882-239 ASB882239 High Speed Counter

Modicon PC-0984-385 ASM380006 Mem ASE385904 Exec Carts

Modicon AM-SA85-030 AMSA85030 Modbus MB+ Adapter NIB

Schneider Modicon 110-CPU-722-00 110CPU72200 NIB FS

Allen Bradley 1774-CI2 1774CI2 Computer Interface

Modicon AS-M84A-102 ASM84A102 CPU Processor NIB

Allen Bradley 1785-O5E 1785O5E OSI Interface NIB FS

Schneider Modicon TSXETHPC101M PC Ethway Module

Modicon AS-B239-001 ASB239001 High Speed Counter NIB

上一篇:AXISS 控制器 4480 下一篇:NASON 压力控制器 CJ-2C-16G/WL115
热线电话 在线询价
提示

仪表网采购电话