关于网络读写

有两台PLC224,通过PPI和一台上位机机组态王连接。
 用向导做的网络读把一台PLC的部分数据传到另一台PLC里了,但和组态王通讯的时候提示有主站模式,和组态王通讯不上。
1,请问大家怎么解决,需要注意哪些细节?

最佳答案

1 引言

    随着工业自动化技术的发展,人们对自动化监控系统的要求越来越高。而在设计开发实时监控系统时,现场设备与上位机软件的通讯是关键技术,下面主要介绍国产流行工控软件“组态王”与西门子S7-200的通信方式。 

    2 组态王简介

    “组态王”是在PC机上建立工业控制对象人机接口的一种智能软件包,它以Windows 98/Windows 2000/ Windows NT4.0中文操作系统作为其操作平台,具有图形功能完备,界面一致友好,易学易用的特点。该软件包由工程管理器(ProjManager)、工程浏览器(TouchExplorer)、画面运行系统(TouchVew)三部分组成。ProjManager用于新建工程、工程管理,并能对已有工程进行搜索、备份及有效恢复,实现数据字典的导入和导出。TouchExplorer是“组态王”软件的核心部分和管理开发系统,是应用工程的开发环境,内嵌画面开发系统,可完成对画面的设计、动画的连接等工作。TouchVew是“组态王”软件的实时运行环境,用于显示画面开发系统中建立的动画图形画面,并负责数据库与I/O服务程序的数据交换,通过实时数据库管理从一组工业控制对象采集到的各种数据,并把数据的变化用动画的方式形象地表示出来,同时完成报警、历史记录、趋势曲线等监视功能,并可生成历史数据文件。在TouchExplorer的画面开发系统中设计开发的画面应用程序必须在TouchVew运行环境中才能运行。

    3 S7-200系列PLC 

    西门子公司的SIMATIC S7-200系列属于小型可编程序控制器,可用于代替继电器的简单控制场合,也可以用于复杂的自动化控制系统。S7-200系列PLC共有5种基本型号的CPU模块,即CPU221、CPU222、CPU224、CPU226、CPU226XM,控制点数可以从10点扩展到248点。其中,CPU221无扩展功能,适于用做小点数的微型控制器,CPU222有扩展功能,CPU224是具有较强控制功能的控制器,CPU226和CPU226 XM适用于复杂的中小型控制系统。所有型号的CPU在内部都集成了1个(CPU221、CPU222、CPU224)或2个(CPU226, CPU226XM)通讯口,该通讯口为标准的RS485口,可在三种方式下工作,即PPI方式、MPI方式和自由通讯口方式。另外,S7-200可通过增加EM277模块接入Profibus-DP网络,通过CP243-1通讯模块连入工业以太网,通过CP243-2模块使其成为AS-i主站。

    4 组态王与西门子S7-200的几种通信方式

    4.1 组态王的通讯机制

    组态王把每一台与之通讯的设备看作是外部设备,为实现和外部设备的通讯,组态王内置有大量的设备驱动作为外部设备的通讯接口。在开发过程中,只需根据工程浏览器提供的“设备配置向导”,一步步完成连接过程,即可实现组态王和相应外部设备驱动的连接。在运行期间,组态王可以通过驱动接口和外部设备交换数据,包括采集数据和发送数据或指令。组态王的驱动程序采用ActiveX技术,每一驱动都是一个COM对象,这种方式使驱动和组态王构成一个完整的系统,从而保证运行系统的高效率,如图1所示。因此,组态王可以与一些常用I/O设备直接进行通讯,如可编程控制器(PLC)、智能模块、板卡、智能仪表等。组态王与I/O设备之间的数据交换采用五种方式:串行通讯方式、DDE方式、板卡方式、网络节点方式、人机接口卡方式。

图1   组态王与外部设备通讯示意图

    4.2 组态王与S7-200的PPI通信方式

    PPI(Point-to-Point)是西门子专为S7-200系列开发的一个通讯协议,为主/从协议,PC机为主站,S7-200为从站。该方式下有两种硬件连接方法,一种是使用PPI电缆将PC机串口和S7-200的通讯口相连,采用串行通讯方式。另一种是PC机通过CP5611通讯卡与S7-200相连。在第一种方式下,使用PLC编程软件STEP 7-Micro/WIN32安装通讯硬件,在“SET PG/PC Interface”对话框中配置PC/PPI cable,选择Interface Parameter Assignment为PPI,并设置PPI参数默认值,双击通讯框中得刷新图标后建立与S7-200的通信连接。在第二种方式下,将CP5611卡安装在PC机的插槽中,用连接带缆将CP5611卡与S7-200的PORT口相连,安装STEP 7-Micro/WIN32和STEP 7 V5.0 +ServicePack5(或STEP 7 V5.1+ServicePack 2),运行PG/PC-interface para 
meterisation,将用户界面配置为CP5611 (PPI)方式。这两种方式的上位机组态王的设置基本相同,首先使用“设备配置向导” 定义外部设备,分别选择西门子S7-200系列PPI通信和西门子S7-200系列通讯卡通信,并设定如下通信参数:波特率9600bps,数据位8位,停止位1位,偶校验。在设定PLC地址时,两种方式有所不同,前者将PLC地址设为默认地址2。后者采用“PLC地址.2”地址格式,小数点前的数字为有效地址PLC的地址(即站号),小数点后为数字2,所设定的地址范围为2.2~126.2,其中PLC的地址可通过编程软件STEP 7-Micro/WIN设置来实现。

    在组态王的“数据字典”中定义相关变量,选择变量类型为I/O型,并选择连接设备,指定所访问的寄存器名及寄存器类型。注意,组态王只支持V寄存器,如果要监控Q、I、M寄存器,可以先在PLC程序中将Q、I、M寄存器传至V寄存器,组态王通过对V寄存器的操作来实现对Q、I、M寄存器的监控。另外,组态王不支持直接以I/O离散变量的定义,需以字节(BYTE)形式存取,每一BYTE类型(8个BIT位)对应8个开关量的输入或输出状态,即BYTE的0~7位分别对应输入或输出的0~7开关量通道,如果要显示或控制某一开关量通道的状态,可以使用组态王提供的BIT()或BITSET()函数进行取位或置位。在制作好的监控画面中,将画面的图素与定义的变量建立“动画连接”,在TouchVew中运行,即可建立实时通信,得到一个反映工业现场的监控画面。

    4.3  组态王与S7-200的MPI通信方式

    MPI(Multi-Point)为多主站的通信方式。在西门子公司的可编程控制器、操作员界面和编程器上的集成有MPI口,可与PC机、S7-200建立小型的MPI网。由于S7-200只能作为MPI从站,所以装有组态王的PC机与S7-200仍为主/从协议。PC机通过MPI卡(如CP5611通讯卡)接入MPI网中作为主站。其通信设置和使用与前类同。

    4.4  组态王与S7-200的自由口通信方式

    自由口通讯方式是S7-200的一个很有特色的功能。它是一种通讯协议完全开放的工作方式,不受PPI协议的限制,是PPI方式的一个补充。在该方式下的通讯口的协议由外设决定,PLC通过程序来适应外设。从而使得S7-200系列PLC可以与任何具有通讯能力的并且协议公开的设备相通讯,即S7-200可以由用户自己定义通讯协议。

    在与组态王采用自由口协议方式通讯时,为主从的问答方式,装有组态王的上位机为主呼方,下位机S7-200为应答方。亚控公司提供了使用STEP 7 Micro/WIN编写的自由口通讯的PLC初始化程序,该梯形图程序通过接收中断和发送中断以及发送指令(XMT)控制通信口的操作,其默认的PLC通讯端口为PORT0,地址为2,波特率9600bps。若要更改通讯端口、地址和波特率,可在STEP 7-Micro/WIN编程软件中将中断程序6(INT_6)中XMT指令的PORT 0口改为所用端口,并在系统块中进行相应更改;将VW8(存放PLC的地址的寄存器)传送PLC的实际地址值;波特率设置可通过更改SMB30的值,该寄存器是自由口控制寄存器,用于存放自由口控制字节。

    在使用亚控的PLC初始化程序具体操作时,首先用PC/PPI电缆将PC机的串口与S7-200的通讯口相连,当CPU为226时,有两个通讯口:PORT0和PORT1,应选择PORT0与组态王进行通讯,因为此时使用PORT1通讯不上。在PC/PPI电缆上有DIP开关,用于设置通讯的波特率,此处设为9600bps,与SET PG/PC intererface中的设置一致。使用PLC编程软件STEP 7-Micro/WIN32安装和设置PC/PPI电缆,建立计算机与S7-200的连接后将亚控公司提供的自由口通讯的初始化程序下传至PLC中去。在组态王中定义外部设备为西门子S7-200系列编程口通信,并设定如下通信参数:波特率9600bps,数据位8位,停止位1位,无校验,设定PLC地址为默认地址2。其它操作与前相同,运行TouchVew,则可建立组态王与S7-200的自由口通信方式。

    4.5 组态王与S7-200的Profibus-DP通信方式

    Profibus-DP是用于分布式的I/O设备高速通信的一种协议,该协议定义了主站和从站,支持单主或多主系统,各主站间为令牌传递,主站与从站间为主/从传送,主站周期地读取从站的输入信息并周期地向从站发送输出信息。

    S7-200可通过增加EM277 Profibus-DP扩展模块的方法支持Profibus-DP网络协议,作为DP从站。使用Profibus-DP协议方式S7-200和组态王通讯时,需要通过OPC方式来实现,组态王不再提供直接的DP驱动,其中西门子提供OPC Server,组态王作为OPC Client进行数据通讯。具体配置过程为:

    (1)将CP5611通讯卡安装在PC机中,并根据硬件安装向导安装卡的驱动程序,用Profibus-DP通讯电缆将CP5611卡与EM277通讯口相连,CP5611作为DP主站。

    (2)在PC机上安装Simatic net 6.0软件,它用于组态整个Profibus-DP网络。软件安装后,首先选择SIMATIC NET→Settings→Configuration Console,在PC Station中添加OPC Server程序及CP5611通讯卡;然后使用SIMATIC NET→Settings→Commissioning Wizard→PC Station Wizard创建项目和虚拟PC Station;更改硬件组态时,在弹出PC Station 的配置图中添加EM277的GSD文件后,设置CP5611卡的地址和通讯波特率及协议模式,此处我们将CP5611卡的地址设为1,通讯波特率设为1.5M,协议选择DP,并将CP5611卡操作模式选择设为DP Master;在HW Config窗口的DP Master 总线上添加EM277模块作为DP从站,双击总线上的EM277模块设置其地址(要求与实际模块的拨码设置一致) ,此处我们设为2,并为EM277建立数据交换区,可根据实际需要选择交换区大小;在SET PG/PC Interface设置为S7ONLINE(STEP 7)→PC internal(local), CP_L2_1:→CP5611(PROFIBUS);然后将以上配置信息下载到虚拟PC站中,如图2所示:

图2   Profibus-DP硬件组网界面

    (3)通过西门子提供的OPC Server程序读写PLC中的的数据。用鼠标点击SIMATIC NET→Profibus→Softnet Profibus→OPC Scout,进入OPC Server的项目配置环境;在OPC Server中用鼠标双击“OPC.SimaticNet”,新建一个组名,双击创建的组则可打开“OPC-Navigator”,此时可看到在配置网络过程中选择的协议;双击“DP”项,在OPC中作相应的定义。定义完毕后,运行OPC Server程序,则可通过Profibus-DP总线协议和PLC建立连接。

    (4)用组态王读取OPC Server中的数据。在组态王中选择OPC.SimaticNET建立OPC服务器,在“数据字典”中定义变量,变量为I/O型,连接设备为OPC服务器,即OPC.SimaticNET,寄存器中可直接引用OPC中所定义的所有变量元素;在制作好的画面上建立变量的动画连接并运行组态王,则组态王可通过OPC与S7-200通信。

    5 结束语

    利用组态王开发简单,网络通信不需了解协议的具体细节的优点,结合S7-200良好的开放性和兼容性,可建立多种实时监控系统,提高工业自动化水平

提问者对于答案的评价:
谢谢大家

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc313923.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午3:31
下一篇 2020年11月1日 下午3:31

相关推荐

  • 如何同时测量2个通道的频率值

    想测量2个编码器的脉冲数的同时也能同时测量这2个通道的频率请问各位朋友如果才能实现这个功能呢? 问题补充:我的控制方案是用:2个编码器做反馈速度(需要精度高),用2个PID去控制我…

    SIMATIC S7-200 2018年12月5日
  • S7-200 与ABB变频器用MODBUS通讯,如何解决?

    S7-200PLC与ABB550用modbus通讯,我过去只做过,PLC给定频率和读取模拟量速度。这时是用两个命令进行通讯的,比较麻烦。 而现在要PLC同时对ABB550…

    SIMATIC S7-200 2021年7月5日
  • plc地址怎么确定

    编程过程中全局变量和局部变量表中,对数据类型的选择不是很清楚?什么时候选bool 什么时候选 real 等以及和上位机io配置时也不是很懂,哪位指教指…

    SIMATIC S7-200 2020年11月1日
  • s7200cpu与其它品牌的扩展模块组合

    现有模拟量输入点60个,cpu选s7200的,但是一个cpu只能扩展7个模块,为了节约成本,想不用西门子的扩展模块,有没有点数多的,能在一个200cpu上扩展的模块啊?选哪个厂家的…

    SIMATIC S7-200 2021年7月4日
  • p = 电机运转需要的脉冲数 这个数据怎么求得

    编码器接到高速计数器HC0,使用频率库,编码器是1000线的增量型,请教以下2个问题 1、frequency库得到频率,是对应以下公式f = 频率&n…

    SIMATIC S7-200 2021年7月5日
  • ET200M分布式I/O通讯

    ET200M分布式I/O各站通讯故障怎么诊断 最佳答案 看PLC CPU诊断信息就可以看出来。如果想自动识别就给看对应OB86等组织块的故障信息了。 提问者对于答案的评价…

    SIMATIC S7-200 2017年5月28日
  • EXCEL中VBA控件的使用问题

    在使用CP243-1时,我想使用EXCEL中的VBA按钮向PC ACCESS中的项目写入数据,由于对VBA不是很了解,所以想问一下下面这段帮助中的代码:<<&…

    SIMATIC S7-200 2021年7月5日
  • s7-200 smart 格雷码转换二进制

    之前用的s7-200和欧姆龙的编码器,现在换成smart,想请教一下smart有graycode库吗,还是得自己编程序去转换。 最佳答案 有的到下面的链接里面去下载。STEP&nb…

    2021年7月5日
  • s7200程序上传

    我这有台切铜管的设备很老了相关资料也没有。最近坏了我想上传里面的程序修要密码有高手知道怎样处理么? 最佳答案 如果已经设置了CPU的protection(保护)选项等级为“读写保护…

    SIMATIC S7-200 2020年11月1日
  • 西门子200与力控软件

    我想用力控软件显示西门子200里VD、VW寄存器里的数值,怎样才能实现呢?我试着连接了一下,力控软件数值显示-9999,并不是V寄存器里存的数值,怎么回事呢? 最佳答案 西门子S7…

    SIMATIC S7-200 2017年6月10日