文档库 最新最全的文档下载
当前位置:文档库 › 组态王与西门子S7-200的几种通信方式

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

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

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

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方式、板卡方式、网络节点方式、人机接口卡方式。

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 parameterisation,将用户界面配置为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站中。

(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良好的开放性和兼容性,可建立多种实时监控系统,提高工业自动化水平。

参考文献

[1] 廖常初. PLC编程及应用. 北京:机械工业出版社,2002.

[2] 北京亚控科技发展有限公司. 组态王KingView 60A培训教程,2003.

组态王与单片机通信协议1

一、通讯参数: 通讯参数包括数据位,停止位,波特率、校验方式。 数据位、停止位、波特率由单片机决定。组态王中的设定和单片机一致即可。校验方式参照“数据传输格式”中相关部分。 二、数据传输格式: 格式1、组态王发送地址请求格式:(此时检验位为1) ENQ Sta EOT CRC 格式2、单片机应答地址格式:(此时检验位为0) ACK Sta ETX CRC 格式3、组态王读数据请求格式:(此时检验位为0) ENQ R DataType DataAddr DataNum EOT CRC 格式4、单片机应答读数据格式(正确):(此时检验位为0) ACK DataLong Data….ETX CRC 格式5、单片机应答读数据格式(错误):(此时检验位为0) NAK ErrorCode ETX CRC 格式6、组态王写数据请求格式:(此时检验位为0) ENQ W DataType DataAddr Data….EOT CRC 格式7、单片机应答写数据格式(正确):(此时检验位为0) ACK ErrorCode ETX CRC 三、时序: 读数据: 组态王单片机

第一步:格式1 第二步:格式2 第三步:格式3 第四步:格式4或格式5 第五步:如果第四步单片机执行格式4, 结束。否则,执行格式1。 第六步:格式2 第七步:格式3 第八步:格式4或格式5 写数据: 组态王单片机 第一步:格式1 第二步:格式2 第三步:格式6 第四步:格式7 第五步:如果第四步单片机执行格式7 的ErrorCode=0,结束。否则,执行格 式1。 第六步:格式2 第七步:格式6 第八步:格式7 四、协议说明: 数据传输:所有数据均为16进制数 ENQ(头) H05 询问请求帧的开始代码 ACK(头) H06 确认ACK应答帧的开始代码NAK(头) H15 否认NAK应答帧的开始代码EOT(尾) H04 正文的结束请求帧的结束ASCII代码ETX(尾) H03 结束正文应答帧的结束ASCII代码 Sta::设备地址1字节 R:读标志1字节(0x52) W:写标志1字节(0x57)

组态王与单片机多机串口通信的设计

组态王与单片机多机串口通信的设计 发布: 2011-8-18 | 作者: —— | 来源:ranhaiyang| 查看: 300次| 用户关注: 1 引言随着工业化要求提高,分布式系统发展以及控制设备与监控设备之间通讯需要,组态软件设计的监控系统逐步普及。现在组态软件繁多,比如KingVieW(组态王)、MCGS、WinCC等。KingView 软件基于Microsoft Windows XP,NT/2000操作系统.具有友好的人机操作界面、强大的IO设备端口驱动能力,可与各种PLC、智能仪表、智能模块、板卡、变频器等实时通讯。由于在检测大量模拟量的工业现场使用PLC与组态软件通讯势必增加产品成 1 引言 随着工业化要求提高,分布式系统发展以及控制设备与监控设备之间通讯需要,组态软件设计的监控系统逐步普及。现在组态软件繁多,比如KingVieW(组态王)、MCGS、WinCC 等。KingView软件基于Microsoft Windows XP,NT/2000操作系统.具有友好的人机操作界面、强大的IO设备端口驱动能力,可与各种PLC、智能仪表、智能模块、板卡、变频器等实时通讯。由于在检测大量模拟量的工业现场使用PLC与组态软件通讯势必增加产品成本。而单片机接口丰富,与A/D转换模块组合可以完成相同的工作,并且系统可靠、成本低。 2 组态王与单片机的串口通讯方法 目前,组态王与单片机的通信多是通过动态数据交换(DDE)或通过自己开发通讯驱动程序完成。DDE是Windows平台上的一个完整的通信协议,组态王通过该协议与其他应用程序交换数据。但不可靠和非实时。而自己开发通讯驱动程序会带来设计困难,增加系统开发周期,可行性不高。组态王专门提供一种与单片机多机串口通信方法,可满足大多数系统需求。 3 PC机与单片机的硬件接口电路 图1为上位PC机与下位单片机80C51的连接电路。PC机与单片机本身都自带串行通讯接口,但由于在分布式系统中PC机与各单片机的分布不集中,不能利用RS-232通讯传输,只能改用RS-485。RS-485采用差分式传输信号,最大传输距离为1 219 m.最大传输速率为10 Mb/s.对同时出现的两条信号线A、B的干扰有较强的抑制能力。当两条线绞在一起时,被通信各种分布参数耦合过来的干扰信号可平均地分配到这两条线上,因此对RS-485的差分式传输线路而言,用双绞线可获得较强的抗干扰能力。RS-485采用二线

组态王6.53与51单片机上课讲义

组态王6.53与51单 片机

基于51单片机的智能仪表与组态王的通讯 1242人阅读 | 0条评论发布于:2009-8-10 23:01:00 1、引言 随着工业自动化进程的不断加快,现场仪器、仪表、设备正不断向数字化、智能化和网络化方向推进。 单片机以其强大的现场数据处理能力,低廉的价格,紧凑的系统结构、高度的灵活性,微小的功耗等一系列优良特性成为构建智能化现场仪器仪表、设备的重要手段,现已广泛应用于工业测量和控制系统中。 组态王 Kingview工控组态软件以其工作性能稳定可靠、人机界面友善、硬件配置方便以及编程简单易用同时其驱动程序较为丰富,如支持DDE、板卡、OPC服务器、PLC、智能仪表、智能模块等;支持ActiveX控件、配方管理、数据库访问、网络功能、冗余功能。其扩展性强,配有加密锁,支持工程加密;可方便与管理计算机或控制计算机联网通信等优良特性,提供了对工业控制现场大量数据进行采集、监控、处理的解决方案。在各种工业控制领域中得到了大量使用[1-2]。 将单片机和组态王优良的特性结合起来,使它们实现“强强联合”,成为改造传统工业,提升企业技术竞争力的重要趋势。 目前许多测控系统是由通用机或工控机和底层单片机控制装置组成,通用机或工控机通过组态软件控制现场仪器设备,单片机采集数据和现场状态通过串行口传送到通用机或工控机,由组态软件对采集到的现场数据进行分析、存储或显示,并将命令和控制通过串行口传到单片机以监控现场设备的运转。可靠地实现它们之间的通讯是实现各种测控任务必须解决的首要问题。对于一些重要名家厂商的板卡和模块,一般组态王可直接提供为数据采集和控制所需的底层硬件设备的驱动程序。但对于绝大多数一般用户自行设计开发的采集、控制装置则没有驱动程序提供。因此实现它们“强强联合”,必须解决它们之间之间的通信问题。迄今为止,人们对单片机与组态王的通信问题进行了广泛的研究[1-2]。 目前,单片机与组态王的通讯方法有主要有3种[3]:①利用组态的驱动程序开发包进行驱动开发自己的通讯驱动程序,该方法适用于专业厂商;②通过动态数据交换(DDE)方式进行通讯,该方法带来一些额

组态王与单片机的通信

组态王与单片机的通信与设计 前言本文主要是解决装有组态王的PC机与单片机的通信问题,这里选择通过计算机的COM1口进行串行通信。单片机和PC机的串行通行一般采用RS-232、RS-422或RS-485总线标准接口,也有采用非标准的20mA电流环的。为保证通信的可靠,在选择接口时必须注意:(1)通信的速率;(2)通信距离:(3)抗干扰能力;(4)组网方式,既可以保证正常通信时的最大通信端口数量。这里采用RS-232接口与单片机通信的方法。由于两者间的电平规范不一致,实现两者间的通信要解决接口电路的电平转换问题。 正文 选题背景随着单片机和微机技术的不断发展,单片机的应用也从独立的单机向网络发展,由PC机和多台单片机构成的多级网络测控系统已成为单片机技术发展的一个方向。在一个大型的应用系统中,通常由单片机完成数据的采集和上传,后台则通过PC机对数据进行分析并处理,复杂的还要建立数据库形成网络,二者的结合,充分发挥了单片机在实时数据采集和微机对图形处理、显示以及数据库管理上的优点,使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制,而形成了向以网络为核心的分布式多点系统发展的趋势。 随着微电子技术、计算机控制技术、工业以太网技术及现场总线技术的发展,作为用户无需改变运行程序原代码的软件平台工具——工控组态软件日渐成熟。由于工控组态软件在实现工业控制的过程中免去了大量烦琐的编程工作,解决了长期以来控制工程人员缺乏计算机专业知识与计算机专业人员缺乏控制操作技术和经验的矛盾,极大地提高了自动化工程的工作效率。近年来,工控组态软件在中小型工业过程控制工程、工业自动化工程中越来越受到欢迎。不仅如此,工控组态软件还在配电自动化、智能楼宇、农业自动化、能源监测等领域也逐步展示了其独特的优势。 单片机控制系统以其高性能价格比、稳定、易于实现等特点而被广泛使用,但他难以实现动态复杂的图形监控界面;而组态王软件具有强大丰富的监控界面设计功能,却难以实现复杂的控制算法,而单片机则难以实现动态复杂的图形监控界面,若采用以单片机为下位机,以装有组态王的PC极为上位机的控制方式,将彻底改变原来单片机控制系统的单调、简单的控制界面的缺陷,进一步推动单片机控制方式的广泛应用。 在这个设计中有以下问题待以解决:1、TTL/RS232电平转换及其接口电路的处理。2、由于组态王接收的是数据的ASCII码,因此要实现数据与它所对应的ASCII码的转换。3、组态王监控界面的设计。 设计要求 设计组态王监控界面,编写单片机发送接受程序以实现组态王与单片机两者间的通信。 方案论证 过程论证

亚控科技公司提供的通用单片机通讯协议

组态王通用单片机协议(ASCII) 概述 通用单片机ASCII协议支持单片机与组态王通讯,用户只要按照我们的协议编写单片机通讯程 序就可实现与组态王的通讯. 组态王设置 1、定义组态王设备 定义组态王定义设备时请选择:智能模块\单片机\通用单片机ASCII\串口 组态王的设备地址定义格式:##.# 前面的两个字符是设备地址,范围为0-255,此地址为单片机的地址,由单片机中的程序决定; 后面的一个字符是用户设定是否打包,"0"为不打包、"1"为打包,用户一旦在定义设备时确定了 打包,组态王将处理读下位机变量时数据打包的工作,与单片机的程序无关. 2、组态王通讯 通讯方式:RS-232,RS-485,RS-422均可。 波特率:由单片机决定(2400,4800,9600and19200bps)。 注意:在组态王中设置的通讯参数如波特率,数据位,停止位,奇偶校验必须与单片机编程中 的通讯参数一致 组态王数据词典--变量定义 在组态王中定义的寄存器数据格式(类型):由单片机决定。

斜体字dd代表数据地址,此地址与单片机的数据地址相对应. 注意: 在组态王中定义变量时,一个X寄存器根据所选数据类型(BYTE,USHORT,FLOAT)的不同,分别 占用一个、两个,四个字节,定义不同的数据类型要注意寄存器后面的地址,同一数据区内 不可交叉定义不同数据类型的变量。为提高通讯速度建议用户使用连续的数据区。 例如, 1、在单片机中定义从地址0开始的数据类型为BYTE型的变量: 则在组态王中定义相应的变量 的寄存器为X0、X1、X2、X3、X4。。。。。。。。,数据类型为BYTE,每个变量占一个字节 2、在单片机中定义从地址100开始的数据类型为USHORT型的变量: 则在组态王中定义相应的变 量的寄存器为X100、X102、X104、X106、X108。。。数据类型USHORT,每个变量占两个字节 3、在单片机中定义从地址200开始的数据类型为FLOAT型的变量: 则在组态王中定义相应的变 量的寄存器为X200、X204、X208、X212。。。。。。数据类型FLOAT,每个变量占四个字节 组态王与单片机通讯的命令格式: 具体协议内容请参看组态王安装盘:\Value Pack\单片机\通用单片机通讯协 议(ASCII).doc

基于51与组态王的智能仪表

基于51单片机的智能仪表与组态王的通讯 圈子类别:嵌入式系统 (未知) 2009-8-10 23:01:00 [我要评论] [加入收藏] [加入圈子] 1、引言 随着工业自动化进程的不断加快,现场仪器、仪表、设备正不断向数字化、智能化和网络化方向推进。 单片机以其强大的现场数据处理能力,低廉的价格,紧凑的系统结构、高度的灵活性,微小的功耗等一系列优良特性成为构建智能化现场仪器仪表、设备的重要手段,现已广泛应用于工业测量和控制系统中。 组态王Kingview工控组态软件以其工作性能稳定可靠、人机界面友善、硬件配置方便以及编程简单易用同时其驱动程序较为丰富,如支持DDE、板卡、OPC服务器、PLC、智能仪表、智能模块等;支持ActiveX控件、配方管理、数据库访问、网络功能、冗余功能。其扩展性强,配有加密锁,支持工程加密;可方便与管理计算机或控制计算机联网通信等优良特性,提供了对工业控制现场大量数据进行采集、监控、处理的解决方案。在各种工业控制领域中得到了大量使用[1-2]。 将单片机和组态王优良的特性结合起来,使它们实现“强强联合”,成为改造传统工业,提升企业技术竞争力的重要趋势。 目前许多测控系统是由通用机或工控机和底层单片机控制装置组成,通用机或工控机通过组态软件控制现场仪器设备,单片机采集数据和现场状态通过串行口传送到通用机或工控机,由组态软件对采集到的现场数据进行分析、存储或显示,并将命令和控制通过串行口传到单片机以监控现场设备的运转。可靠地实现它们之间的通讯是实现各种测控任务必须解决的首要问题。对于一些重要名家厂商的板卡和模块,一般组态王可直接提供为数据采集和控制所需的底层硬件设备的驱动程序。但对于绝大多数一般用户自行设计开发的采集、控制装置则没有驱动程序提供。因此实现它们“强强联合”,必须解决它们之间之间的通信问题。迄今为止,人们对单片机与组态王的通信问题进行了广泛的研究[1-2]。 目前,单片机与组态王的通讯方法有主要有3种[3]:①利用组态的驱动程序开发包进行驱动开发自己的通讯驱动程序,该方法适用于专业厂商;②通过动态数据交换(DDE)方式进行通讯,该方法带来一些额外的开销,如会降低系统实时性,增加系统的不可靠性等,对开发人员的要求也更高。而自己开发通讯驱动程序,有一定的难度,且增加开发周期、成本。⑧利用组态王提供的与单片机的通用通讯协议,该方法简单且实时性好,适用于一般用户。 本文介绍了一种采用通用单片机通讯协议,通过RS485接口实现组态王与基于51单片机的智能化仪器、仪表、设备的通讯方法,描述了单片杌和组态王通信的系统结构,电路组成,采用的通讯协议。并将该方法用于熔融氧化锑液位高度的实时远程测量中。

组态王通用单片机协议(ASCII)说明

组态王通用单片机协议(ASCII)说明 概述 通用单片机ASCII协议支持单片机与组态王通讯,用户只要按照我们的协议编写单片机通讯程 序就可实现与组态王的通讯. 组态王设置 1、定义组态王设备 定义组态王定义设备时请选择:智能模块\单片机\通用单片机ASCII\串口 组态王的设备地址定义格式:##.# 前面的两个字符是设备地址,范围为0-255,此地址为单片机的地址,由单片机中的程序决定;后面的一个字符是用户设定是否打包,"0"为不打包、"1"为打包,用户一旦在定义设备时确定了打包,组态王将处理读下位机变量时数据打包的工作,与单片机的程序无关. 2、组态王通讯 通讯方式:RS-232,RS-485,RS-422均可。 波特率:由单片机决定(2400,4800,9600and19200bps)。 注意:在组态王中设置的通讯参数如波特率,数据位,停止位,奇偶校验必须与单片机编程中的通讯参数一致 3.组态王数据词典--变量定义 在组态王中定义的寄存器数据格式(类型):由单片机决定。 斜体字dd代表数据地址,此地址与单片机的数据地址相对应. 注意:

在组态王中定义变量时,一个X寄存器根据所选数据类型(BYTE,USHORT,FLOAT)的不同,分别占用一个、两个,四个字节,定义不同的数据类型要注意寄存器后面的地址,同一数据区内不可交叉定义不同数据类型的变量。为提高通讯速度建议用户使用连续的数据区。 例如, 1、在单片机中定义从地址0开始的数据类型为BYTE型的变量: 则在组态王中定义相应的变量 的寄存器为X0、X1、X2、X3、X4。。。。。。。。,数据类型为BYTE,每个变量占一个字节 2、在单片机中定义从地址100开始的数据类型为USHORT型的变量: 则在组态王中定义相应的变 量的寄存器为X100、X102、X104、X106、X108。。。数据类型USHORT,每个变量占两个字节 3、在单片机中定义从地址200开始的数据类型为FLOAT型的变量: 则在组态王中定义相应的变 量的寄存器为X200、X204、X208、X212。。。。。。数据类型FLOAT,每个变量占四个字节

组态王及单片机多机串口通信的设计

组态王与单片机多机串口通信的设计 1 引言随着工业化要求提高,分布式系统发展以及控制设备与监控设备之间通讯需要,组态软件设计的监控系统逐步普及。现在组态软件繁多,比如KingVieW(组态王)、MCGS、WinCC等。KingView软件基于Microsoft Windows XP,NT/2000操作系统.具有友好的人机操作界面、强大的IO设备端口驱动能力,可与各种PLC、智能仪表、智能模块、板卡、变频器等实时通讯。由于在检测大量模拟量的工业现场使用PLC与组态软件通讯势必增加产品成 随着工业化要求提高,分布式系统发展以及控制设备与监控设备之间通讯需要,组态软件设计的监控系统逐步普及。现在组态软件繁多,比如KingVieW(组态王)、MCGS、WinCC等。KingView软件基于Microsoft Windows XP,NT/2000操作系统.具有友好的人机操作界面、强大的IO设备端口驱动能力,可与各种PLC、智能仪表、智能模块、板卡、变频器等实时通讯。由于在检测大量模拟量的工业现场使用PLC与组态软件通讯势必增加产品成本。而单片机接口丰富,与A/D转换模块组合可以完成相同的工作,并且系统可靠、成本低。 2 组态王与单片机的串口通讯方法 目前,组态王与单片机的通信多是通过动态数据交换(DDE)或通过自己开发通讯驱动程序完成。DDE是Windows平台上的一个完整的通信协议,组态王通过该协议与其他应用程序交换数据。但不可靠和非实时。而自己开发通讯驱动程序会带来设计困难,增加系统开发周期,可行性不高。组态王专门提供一种与单片机多机串口通信方法,可满足大多数系统需求。

3 PC机与单片机的硬件接口电路 图1为上位PC机与下位单片机80C51的连接电路。PC机与单片机本身都自带串行通讯接口,但由于在分布式系统中PC机与各单片机的分布不集中,不能利用RS-232通讯传输,只能改用RS-485。RS-485采用差分式传输信号,最大传输距离为1 219 m.最大传输速率为10 Mb/s.对同时出现的两条信号线A、B 的干扰有较强的抑制能力。当两条线绞在一起时,被通信各种分布参数耦合过来的干扰信号可平均地分配到这两条线上,因此对RS-485的差分式传输线路而言,用双绞线可获得较强的抗干扰能力。RS-485采用二线与四线平衡传输方式,二线制可实现真正的多点双向通信,但需要在传输线上接电阻(约120 Ω)。 由于80C51系列单片机STC89C52串行接口的,TTL电气特性与RS-485电气特性不相符,STC89C52不能与RS-485直接连接,需要电气转换。这里采用Maxim公司的MAX485,图2为其接口电路。

组态王6.53与51单片机

基于51单片机的智能仪表与组态王的通讯 1242人阅读| 0条评论发布于:2009-8-10 23:01:00 1、引言 随着工业自动化进程的不断加快,现场仪器、仪表、设备正不断向数字化、智能化和网络化方向推进。 单片机以其强大的现场数据处理能力,低廉的价格,紧凑的系统结构、高度的灵活性,微小的功耗等一系列优良特性成为构建智能化现场仪器仪表、设备的重要手段,现已广泛应用于工业测量和控制系统中。 组态王Kingview工控组态软件以其工作性能稳定可靠、人机界面友善、硬件配置方便以及编程简单易用同时其驱动程序较为丰富,如支持DDE、板卡、OPC服务器、PLC、智能仪表、智能模块等;支持ActiveX控件、配方管理、数据库访问、网络功能、冗余功能。其扩展性强,配有加密锁,支持工程加密;可方便与管理计算机或控制计算机联网通信等优良特性,提供了对工业控制现场大量数据进行采集、监控、处理的解决方案。在各种工业控制领域中得到了大量使用[1-2]。 将单片机和组态王优良的特性结合起来,使它们实现“强强联合”,成为改造传统工业,提升企业技术竞争力的重要趋势。 目前许多测控系统是由通用机或工控机和底层单片机控制装置组成,通用机或工控机通过组态软件控制现场仪器设备,单片机采集数据和现场状态通过串行口传送到通用机或工控机,由组态软件对采集到的现场数据进行分析、存储或显示,并将命令和控制通过串行口传到单片机以监控现场设备的运转。可靠地实现它们之间的通讯是实现各种测控任务必须解决的首要问题。对于一些重要名家厂商的板卡和模块,一般组态王可直接提供为数据采集和控制所需的底层硬件设备的驱动程序。但对于绝大多数一般用户自行设计开发的采集、控制装置则没有驱动程序提供。因此实现它们“强强联合”,必须解决它们之间之间的通信问题。迄今为止,人们对单片机与组态王的通信问题进行了广泛的研究[1-2]。 目前,单片机与组态王的通讯方法有主要有3种[3]:①利用组态的驱动程序开发包进行驱动开发自己的通讯驱动程序,该方法适用于专业厂商;②通过动态数据交换(DDE)方式进行通讯,该方法带来一些额外的开销,如会降低系统实时性,增加系统的不可靠性等,对开发人员的要求也更高。而自己开发通讯驱动程序,有一定的难度,且增加开发周期、成本。⑧利用组态王提供的与单片机的通用通讯协议,该方法

单片机与组态王的通信实例

单片机与组态王的通信 组态王(kingView)内置了通用单片机通信模块,这样,我们自己开发的单片机仪表就可以挂接在KingView上了。因为这样,所以对这个东西有了些兴趣,做了些研究。 (1)研究环境 组态王 6.53,免费下载,当然有使用限制,不过用于研究是没有问题的。下载地址:https://www.wendangku.net/doc/4d18184677.html,/download/index.aspx Keil软件,Porteus,这些就不多说了。 Virtual Serial Ports Driver XP 5.1 虚拟串口软件,用此软件可以生成一对相互联接的虚拟串口,这样,初期的研究工作就在电脑上完成了,省得用硬件电路板了。 (2)资料 KingView提供了一份简单的说明材料,就在下载后的解压缩文件包中。具体的位置是:Value Pack\技术资料\常用协议\单片机ASCII码通讯协议 (3)电路搭建 注意单片机的TXD与虚拟串口的TXD,单片机的RXD与虚拟串口的RXD是连在一起的,不要交叉哦,我在这上面可吃了不少的苦头。。。。 这个虚拟串口元件的设置如下图所示:

说明:这里选COM2,是因为我事先用Vspd生成了一对虚拟串口,com2和com4,至于其他参数则应该选得和kingview中的一致,这个到下面再说。 什么,这个元件不知哪里找?这里啦 (4)VSPD的使用 现如今的电脑很少有两个串口的了,人呢也是越来越懒了,虽然手边的电路板是现成的,写片子是容 易的,但是仍然还是嫌麻烦的,所以就发动狗狗搜一搜,找到了这个VSPD,当然它是很容易用的

在first后面选一个串口名,然后在Second后面再选一个串口名,然后点一下Add Pair 就行啦。怎么选都可以,就算是选com1也是可以的,虽然com1是真实存在的物理串口,但是这个VSPD照样把它给虚拟了。这里我选的是com2和com4,大家可以看到在左侧的窗口中出现了这样一对互联的串口了,也就是说,我从串口2发数据,然后串口4就能收到。同样,我从串口4发数据,串口2就能收到。(5)组态王置 根据自己屏幕选择演示项目中的一个

组态王与单片机通信实例

* 组态协议: 字头设备地址标志数据地址数据字节数数据… 异或CR * 字头:1字节1个ASCII码,40H * 设备地址: 1字节2个ASCII码,0—255(即0---0x0ffH) * 标志:1字节2个ASCII码,bit0~bit7,//把接收值将它发出即可 * bit0= 0:读,bit0= 1:写。 * bit1= 0:不打包。 * bit3bit2 = 00,数据类型为字节。 * bit3bit2 = 01,数据类型为字。 * bit3bit2 = 1x,数据类型为浮点数。 * 数据地址: 2字节4个ASCII码,0x0000~0xffff //把接收值将它发出即可 * 数据字节数:1字节2个ASCII码,1—100,实际读写的数据的字节数。//把接收值将它发出即可 * 数据…:为实际的数据转换为ASCII码,个数为字节数乘2。 * 异或:异或从设备地址开始异或,到异或字节前结束得异或值,异或值转换成2个ASCII 码 * //如得0x4b,对应Ascll为0x34和0x42. * CR:0x0d。 *///////// // 读格式为:字头设备地址标志数据地址数据字节数异或 CR // 写格式: 字头设备地址标志数据地址数据字节数数据… 异或 CR #include "reg52.h" #define uchar unsigned char #define CTH0 0xfe #define CTL0 0x0c sbit led1=P2^7;//定义LED. sbit led2=P2^6; sbit led3=P2^5; sbit led4=P2^4; //unsigned char i10=0; //收数据标 //unsigned int j=0; //动态显示数据用 unsigned char i=0; //动态显示用 int j=0; ////调试用 unsigned char k=0; ////调试用1~100. //unsigned char k4=0; //K4为发送的数据 ;K6为组态下传数据标志。k6=0; int k2=0; //接收死机保护。 uchar duan_tabled[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//需要显示的段选码 char pp1[22]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0a,0x0a,0x0a,0x

组态王与单片机多机串口通信

--文章转载组态王与单片机多机串口通信的设计 1 引言 随着工业化要求提高,分布式系统发展以及控制设备与监控设备之间通讯需要,组态软件设计的监控系统逐步普及。现在组态软件繁多,比如KingVieW(组态王)、MCGS、WinCC 等。KingView软件基于Microsoft Windows XP,NT/2000操作系统.具有友好的人机操作界面、强大的IO设备端口驱动能力,可与各种PLC、智能仪表、智能模块、板卡、变频器等实时通讯。由于在检测大量模拟量的工业现场使用PLC与组态软件通讯势必增加产品成本。而单片机接口丰富,与A/D转换模块组合可以完成相同的工作,并且系统可靠、成本低。 2 组态王与单片机的串口通讯方法 目前,组态王与单片机的通信多是通过动态数据交换(DDE)或通过自己开发通讯驱动程序完成。DDE是Windows平台上的一个完整的通信协议,组态王通过该协议与其他应用程序交换数据。但不可靠和非实时。而自己开发通讯驱动程序会带来设计困难,增加系统开发周期,可行性不高。组态王专门提供一种与单片机多机串口通信方法,可满足大多数系统需求。 3 PC机与单片机的硬件接口电路 图1为上位PC机与下位单片机80C51的连接电路。PC机与单片机本身都自带串行通讯接口,但由于在分布式系统中PC机与各单片机的分布不集中,不能利用RS-232通讯传输,只能改用RS-485。RS-485采用差分式传输信号,最大传输距离为1 219 m.最大传输速率为10 Mb/s.对同时出现的两条信号线A、B的干扰有较强的抑制能力。当两条线绞在一起时,被通信各种分布参数耦合过来的干扰信号可平均地分配到这两条线上,因此对RS-485的差分式传输线路而言,用双绞线可获得较强的抗干扰能力。RS-485采用二线与四线平衡传输方式,二线制可实现真正的多点双向通信,但需要在传输线上接电阻(约120 Ω)。 由于80C51系列单片机STC89C52串行接口的,TTL电气特性与RS-485电气特性不相符,STC89C52不能与RS-485直接连接,需要电气转换。这里采用Maxim公司的MAX485,

组态王通信例程

单片机与组态王通信 单片机与组态王通信,准备工作做好了,接下来就是编程实现了。当然少不了要看kingview提供的资料了。 以下引用自kingview的资料 ------------------------------------------------- 1.通讯口设置: 通讯方式:RS-232,RS-485,RS-422均可。 波特率:由单片机决定(2400,4800,9600and19200bps)。 字节数据格式:由单片机决定。 起始位数据位校验位停止位 注意:在组态王中设置的通讯参数如波特率,数据位,停止位,奇偶校验必须与单片机编程中的通讯参数一致 2.在组态王中定义设备地址的格式 格式:##.# 前面的两个字符是设备地址,范围为0-255,此地址为单片机的地址,由单片机中的程序决定; 后面的一个字符是用户设定是否打包,“0”为不打包、“1”为打包,用户一旦在定义设备时确定了打包,组态王将处理读下位机变量时数据打包的工作。 3.在组态王中定义的寄存器格式

寄存器名称dd上限dd下限数据类型Xdd 65535 0 FLOAT/BYTE/UINT 斜体字dd代表数据地址,此地址与单片机的数据地址相对应。 注意:在组态王中定义变量时,一个X寄存器根据所选数据类型(BYTE,UINT,FLOAT)的不同分别占用一个、两个,四个字节,定义不同的数据类型要注意寄存器后面的地址,同一数据区内不可交叉定义不同数据类型的变量。为提高通讯速度建议用户使用连续的数据区。 3.组态王与单片机通讯的命令格式: 读写格式(除字头、字尾外所有字节均为ASCII码) 字头设备地址标志数据地址数据字节数数据…异或CR 说明; 字头:1字节1个ASCII码,40H 设备地址: 1字节2个ASCII码,0—255(即0---0x0ffH) 标志:1字节2个ASCII码,bit0~bit7, bit0= 0:读,bit0= 1:写。

S7-200与组态王通讯方式

1 引言 随着工业自动化技术的发展,人们对自动化监控系统的要求越来越高。而在设计开发实时监控系统时,现场设备与上位机软件的通讯是关键技术,下面主要介绍国产流行工控软件“组态王”与西门子S7-200的通信方式。 2 组态王简介 “组态王”是在PC机上建立工业控制对象人机接口的一种智能软件包,它以Windows 98/ Windows 2000/ Windows NT4.0中文操作系统作为其操作平台,具有图形功能完备,界面一致友好,易学易用的特点。该软件包由工程管理器(ProjManager)、工程浏览器(Touch Explorer)、画面运行系统(TouchVew)三部分组成。ProjManager用于新建工程、工程管理,并能对已有工程进行搜索、备份及有效恢复,实现数据字典的导入和导出。TouchExplorer 是“组态王”软件的核心部分和管理开发系统,是应用工程的开发环境,内嵌画面开发系统,可完成对画面的设计、动画的连接等工作。TouchVew是“组态王”软件的实时运行环境,用于显示画面开发系统中建立的动画图形画面,并负责数据库与I/O服务程序的数据交换,通过实时数据库管理从一组工业控制对象采集到的各种数据,并把数据的变化用动画的方式形象地表示出来,同时完成报警、历史记录、趋势曲线等监视功能,并可生成历史数据文件。在TouchExplorer的画面开发系统中设计开发的画面应用程序必须在TouchVew运行环境中才能运行。 3 S7-200系列PLC 西门子公司的SIMATIC S7-200系列属于小型可编程序控制器,可用于代替继电器的简单控制场合,也可以用于复杂的自动化控制系统。S7-200系列PLC共有5种基本型号的CP U模块,即CPU221、CPU222、CPU224、CPU226、CPU226XM,控制点数可以从10点扩展到248点。其中,CPU221无扩展功能,适于用做小点数的微型控制器,CPU222有扩展功能,CPU224是具有较强控制功能的控制器,CPU226和CPU226 XM适用于复杂的中小型控制系统。所有型号的CPU在内部都集成了1个(CPU221、CPU222、CPU22

单片机与组态王软件通讯的解决方案

2. 单片机与组态王软件通讯的解决方案 2.1两种通讯解决方案 单片机与组态王软件通讯的解决方案有两种,其一是直接编写支持单片机的驱动程序,就象组态王支持PLC一样;其二是利用组态王软件和Visual Basic都支持DDE的特点,以VB 为开发平台,写一个数据通讯应用程序,一方面实现与单片机的连接,另一方面实现与组态王的动态数据交换。 2.2两种方案的比较 第一种方案的优点是程序结构比较紧凑,数据通讯效率较高;缺点是必须由对组态王软件内核比较清楚的程序员开发,开 发周期较长。第二种方案可由一般的程序员开发,缺点是数据通讯效率较低。在本项目中,我们采用了第二种方案。 3. 基于DDE方案的实现 3.1 DDE的概念 DDE是WINDOWS平台上的一个完整通信协议,它使应用程序能彼此交换数据和发送指令。DDE过程可以比喻为两人对话,一方向另一方提出问题,然后等待回答。提问的一方称为“客户”,回答的一方称为“服务器”。一个应用程序可以同时是“客户”和“服务器”,当它向其他程序中请求数据是,它充当的是“客户”,若有其他程序向它提供数据,它又成了“服务器”。 3.2通讯程序的数据流向 用VB编写的数据通讯程序作为中间者传递组态王与单片机之间的数据。当组态王需要向单片机发送控制命令时,组态王充当服务器向VB通讯程序提供数据,VB通讯程序再通过串口实现对单片机的远程控制;当组态王需要向单片机采集数据时,组态王充当客户向VB通讯程序请求数据。组态王与单片机通讯的数据流向如图1。 图1 组态王与单片机通讯的数据流向 3.3 代码实现 1.组态王的DDE设置 组态王的DDE对话的内容是通过三个标识名来约定的。 应用程序名(application):进行DDE对话的双方名称 主题(topic):被讨论的数据域

组态王与单片机协议-通用单片机通讯协议(ASCII)

组态王与单片机协议 1.通讯口设置: 通讯方式:RS-232,RS-485,RS-422均可。 波特率:由单片机决定(2400,4800,9600and19200bps)。 注意:在组态王中设置的通讯参数如波特率,数据位,停止位,奇偶校验必须与单片机编程中的通讯参数一致 2.在组态王中定义设备地址的格式 格式:##.# 前面的两个字符是设备地址,范围为0-255,此地址为单片机的地址,由单片机中的程序决定; 后面的一个字符是用户设定是否打包,“0”为不打包、“1”为打包,用户一旦在定义设备时确定了打包,组态王将处理读下位机变量时数据打包的工作。 注意:在组态王中定义变量时,一个X寄存器根据所选数据类型(BYTE,UINT,FLOAT)的不同分别占用一个、两个,四个字节,定义不同的数据类型要注意寄存器后面的地址,同一数据区内不可交叉定义不同数据类型的变量。为提高通讯速度建议用户使用连续的数据区。 例如, 1、在单片机中定义从地址0开始的数据类型为BYTE型的变量: 则在组态王中定义相应的变量的寄存器为X0、X1、X2、X3、X4。。。。。。。。,数据类型为BYTE,每个变量占一个字节 2、在单片机中定义从地址100开始的数据类型为UINT型的变量: 则在组态王中定义相应的变量的寄存器为X100、X102、X104、X106、X108。。。。。。。。,数据类型UINT,每个变量占两个字节 3、在单片机中定义从地址200开始的数据类型为FLOAT型的变量: 则在组态王中定义相应的变量的寄存器为X200、X204、X208、X212。。。。。。。,数据类型FLOAT,每个变量占四个字节 3.组态王与单片机通讯的命令格式:

组态王软件与单片机串口ascii通讯的机制及实现方法

组态王软件与单片机串口ascii通讯的机制及 实现方法 作者:姜宝申 组态软件广泛的应用于工农业生产的各个领域,是保证相关系统设备经济稳定安全运行的重要方式,是对传统控制方式的一次革命,得到了越来越广泛的应用。 很多工控及电子爱好者对这方面很感兴趣,都跃跃欲试,可苦于软件要想得到实际效果,就得连接设备,通过设备预设的寄存器与软件的变量进行连接,辅以命令语言,才能取得真正的体验。 软件支持的设备比如板卡、数字仪表、PLC、变频器等等都是属于工控设备,价格都比较昂贵,一般很难触及。 那是不是组态软件就不适合于我们用了呢,也不一定,比如国产的组态王组态软件支持单片机串口ascii 通讯,烧写了相应程序的单片机也可以当做组态软件的设备,和其他设备一样,也能完成诸如水位、行程等状态的监视及电机、阀门、灯泡、加热器等的启动停止,开与关,以及模拟量经AD转换后,通过串口以ascii码的形式传送给组态软件,只是这些功能的实现是依靠单片机的端口来完成,组态软件访问单片机,监视单片机所有端口状态,控制一部分端口的高低电平状态,辅以外部电气回路,同样能实现相应的功能。 例如:组态软件通过串口发送指令,控制单片机的某个输出端口的电平高低变化,端口通过驱动使继电器的触点闭合,电机转动,假如这个电机是带动水泵往水箱里面打水,水箱水位的预定位置装有触点,这个触点连接在单片机的另一个输入端口上,当水位到达触点位置,触点动作单片机的这个端口电平发生变化,这个变化通过同一个串口传回给组态软件,组态软件可以根据命令语言编写的程序酌情是自动还是手动停止电机运行,或者是调整电机的转速,保证水箱的水位在预设的范围内,这就是组态软件构成的控制系统的最基本应用。

相关文档
相关文档 最新文档