组态王与ARM开发板串口通信实现

合集下载

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

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

单片机与组态王的通信实例单片机与组态王的通信组态王(kingView)内置了通用单片机通信模块,这样,我们自己开发的单片机仪表就可以挂接在KingView上了。

因为这样,所以对这个东西有了些兴趣,做了些研究。

(1)研究环境组态王6.53,免费下载,当然有使用限制,不过用于研究是没有问题的。

下载地址:/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就能收到。

组态王自定义串口协议编程

组态王自定义串口协议编程

组态王自定义串口协议编程一、引言在自动化控制系统领域,组态王是一款广泛应用于监控和控制系统的软件。

为了实现与其他设备的通信,组态王提供了自定义串口协议编程功能。

本文将详细介绍如何进行自定义串口协议编程,以满足实际工程需求。

二、组态王简介组态王(KingView)是一款国内知名的监控和控制软件,具有良好的人机界面、强大的数据处理和通信功能。

组态王支持多种通信协议,如Modbus、Profibus、以太网等。

在实际工程中,用户可以根据需求自定义串口协议,实现与其他设备的通信。

三、自定义串口协议编程原理自定义串口协议编程主要包括以下几个方面:1.初始化串口:设置串口参数,如波特率、数据位、停止位等。

2.发送数据:按照协议格式,将数据发送给其他设备。

3.接收数据:接收其他设备发送的数据,并按照协议解析。

4.错误检测与处理:实现错误检测和处理功能,保证数据传输的可靠性。

四、具体操作步骤1.打开组态王,新建一个工程。

2.在工程中添加一个串口通信设备。

3.配置串口通信设备的属性,如波特率、数据位、停止位等。

4.编写自定义协议程序,实现数据的发送和接收。

5.调试并优化程序,确保通信正常。

五、实战案例分享以下是一个自定义串口协议编程的实战案例:1.设备A发送数据:设备A按照自定义协议格式,将数据发送给设备B。

2.设备B接收数据:设备B接收到数据后,按照协议解析并处理。

3.数据处理:设备B将解析后的数据上传至组态王,进行实时监控。

六、注意事项1.在编写自定义协议时,要确保协议的稳定性和可靠性。

2.注意错误检测与处理,避免因为传输错误导致系统不稳定。

3.调试过程中,密切关注数据传输情况,及时发现问题并进行优化。

七、总结通过本文的介绍,相信大家对组态王自定义串口协议编程有了更深入的了解。

在实际工程中,根据需求编写自定义串口协议,可以有效提高设备的通信效率和系统的稳定性。

组态王与串口服务器连接

组态王与串口服务器连接

组态王与串口服务器连接本文档旨在提供组态王与串口服务器连接的详细步骤和操作指南。

以下是具体的章节内容:1·硬件准备1·1 确保组态王和串口服务器都处于正常工作状态1·2 确保组态王和串口服务器之间有可靠的物理连接1·3 检查串口服务器的串口设置和参数2·组态王配置2·1 打开组态王软件并创建新项目2·2 在项目中添加串口设备2·3 配置串口参数,包括波特率、数据位、停止位和校验位等2·4 配置串口服务器的IP地质和通信端口号3·串口服务器配置3·1 登录串口服务器的管理界面3·2 根据厂家提供的操作指南,进行串口服务器的基本配置3·3 配置串口服务器的串口参数与组态王相匹配3·4 确保串口服务器正常监听指定的串口并转发数据4·测试连接4·1 在组态王软件中创建一个测试界面4·2 在该界面中添加一个串口设备4·3 配置好串口参数和通信地质4·4 启动组态王界面并进行数据的读写测试5·故障排除5·1 检查各项硬件连接是否正确5·2 检查组态王和串口服务器的配置参数是否匹配5·3 检查组态王和串口服务器的软件版本是否兼容附件:本文档中涉及的附件包括:组态王软件安装包、串口服务器配置指南、示例测试界面文件。

法律名词及注释:1·串口服务器:一种专门用于将串口信号转换成网络数据流并进行传输的设备。

2·组态王:一款用于人机界面(HMI)设计和开发的软件。

它可以与各种设备进行通信,并通过可视化界面实时展示数据。

3·波特率:速率衡量单位,表示每秒钟传输数据的位数。

4·数据位:每个字节中所用的位数,用于表示数据的有效位数。

5·停止位:用于指示数据传输结束的信号位。

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

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

单片机与组态王的通信实例随着工业自动化的发展,越来越多的设备开始采用单片机进行控制。

而组态王作为一种通用的组态软件,可以方便地对单片机的控制过程进行监控和操作。

本文将介绍一个单片机与组态王通信的实例,以帮助读者了解二者的基本通信原理和实现方法。

一、单片机与组态王的通信方式单片机与组态王之间的通信一般采用串口通信方式。

串口通信是一种常见的通信方式,它通过串口数据线将单片机与计算机连接起来,实现数据传输。

在组态王中,可以通过设置串口参数来与单片机进行通信。

二、单片机通信协议在单片机与组态王通信的过程中,需要约定一些通信协议来实现数据的传输和控制。

通信协议一般包括数据格式、波特率、校验方式等。

根据不同的单片机和组态王版本,通信协议可能会有所不同,需要根据实际情况进行调整。

三、组态王通信控件的使用在组态王中,可以使用串口通信控件来实现单片机与组态王之间的通信。

控件提供了许多函数和属性,可以方便地进行串口通信。

例如,可以使用控件的Open函数打开串口,使用Read函数和Write函数进行数据的读取和写入。

四、实例:单片机控制LED灯亮灭下面是一个简单的单片机与组态王通信实例:通过单片机控制LED灯的亮灭。

该实例中使用的单片机型号为AT89C51,组态王版本为6.53。

1、硬件连接将AT89C51单片机的P1.0引脚连接到LED灯上,并将单片机的RXD 和TXD引脚分别连接到计算机的串口上。

2、编写程序在AT89C51单片机上编写程序,用于控制LED灯的亮灭。

程序如下:MOV P1.0, #1 //将P1.0引脚电平设为高电平,LED灯亮SJMP $ //无限循环,保持电平不变3、组态王组态设计在组态王中创建一个新项目,并添加一个设备,选择与AT89C51单片机进行通信的串口设备。

然后创建一个画面,添加一个按钮和指示灯,用于控制LED灯的亮灭。

4、编写组态王脚本程序在组态王中编写脚本来实现与单片机的通信。

脚本如下:Dim ledState As Integer //定义LED状态变量,初始值为0 Function OnClick() As Integer //按钮单击事件处理函数If ledState = 0 Then //如果LED状态为灭,则发送高电平信号,使LED亮起CommandManager.WriteTag("TagName", "1") //写入高电平信号ledState = 1 //修改LED状态为亮Else //如果LED状态为亮,则发送低电平信号,使LED熄灭CommandManager.WriteTag("TagName", "0") //写入低电平信号ledState = 0 //修改LED状态为灭End IfEnd Function5、调试与运行将程序编译并下载到AT89C51单片机中,然后运行组态王程序。

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

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

组态王与单片机多机串口通信的设计1 引言随着工业化要求提高,分布式系统发展以及控制设备与监控设备之间通讯需要,组态软件设计的监控系统逐步普及。

现在组态软件繁多,比如KingVieW(组态王>、MCGS、W inCC等。

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直接连接,需要电气转换。

组态王与ARM开发板串口通信实现

组态王与ARM开发板串口通信实现

组态王与ARM开发板串口通信实现组态王与ARM开发板串口通信实现摘要本文阐述了一种基于亚控公司的组态王中的单片机通讯协议(ASCII)实现组态王与ARM9开发板串口通信的程序设计方法,本方法已在TQ2440开发板上编程设计实现,并成功与组态王正确通信。

关键词组态王;ARM9;通讯协议;串口通信0 引言随着工业自动化要求提高,组态软件设计的监控系统逐步普及,开发的控制设备与监控设备之间需要通讯。

组态王KingView软件基于Microsoft Windows XP,NT/2000操作系统,具有友好的人机操作界面,可与各种PLC、智能仪表等实时通讯,但无法与自己开发的控制设备通信,ARM9作为高性能处理器经常用来开发工控设备,所以实现组态王与ARM9开发板的串口通信对工控设备开发十分必要。

1 组态王与ARM9开发板的串口通信方法1.1 组态王支持的单片机通讯协议(ASCII)本设计采用亚控公司的组态王中的单片机通讯协议(ASCII)实现组态王与ARM9开发板串口通信。

亚控公司的组态王中的单片机通讯协议(ASCII)简介如下:上位机发送读命令:字头-设备地址-标志-数据地址-数据字节数-异或-CR若正常下位机应答:字头-设备地址-数据字节数-数据-异或- CR 若不正常下位机应答:字头-设备地址-**-异或- CR上位机发送写命令:字头-设备地址-标志-数据地址-数据字节数-数据-异或- CR若正常下位机应答:字头-设备地址-##-异或- CR若不正常下位机应答:字头-设备地址-**-异或- CR1.2 组态王与ARM9开发板串口通信方法组态王与ARM9开发板串口通信采用亚控公司的组态王中的单片机通讯协议(ASCII)。

组态王安装在上位PC机上,组态王本身支持单片机通讯协议(ASCII),要实现组态王与ARM9开发板串口通信,其实任务就是在下位机。

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

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

单片机与组态王软件通讯的解决方案
1、引言
组态王软件作为一种工业控制组态软件在国内已得到了非常广泛的应用。

其具有强大的硬件支持能力,对国内外绝大多数PLC、变频器、板卡、模块、仪器仪表都编写了相应的驱动程序,使用起来相当方便快捷。

在农水实验田环境监测项目中,我们使用的硬件设备包括日本三菱PLC、台湾研华亚当模块及自行开发的基于单片机的分析仪器,我们选择的软件开发平台是组态王软件。

因此,实现单片机与组态王的数据通讯是一个必须解决的问题。

2、单片机与组态王软件通讯的解决方案
2.1 两种通讯解决方案
单片机与组态王软件通讯的解决方案有两种,其一是直接编写支持单片机的驱动程序,就象组态王支持PLC 一样;其二是利用组态王软件和Visual Basic 都支持DDE 的特点,以VB 为开发平台,写一个数据通讯应用程序,一方面
实现与单片机的连接,另一方面实现与组态王的动态数据交换。

2.2 两种方案的比较
第一种方案的优点是程序结构比较紧凑,数据通讯效率较高;缺点是必须由对组态王软件内核比较清楚的程序员开发,开发周期较长。

第二种方案可由一般的程序员开发,缺点是数据通讯效率较低。

在本项目中,我们采用了第二种方案。

3、基于DDE 方案的实现
3.1 DDE 的概念
DDE 是WINDOWS 平台上的一个完整通信协议,它使应用程序能彼此交换数据和发送指令。

DDE 过程可以比喻为两人对话,一方向另一方提出问题,然。

组态王自定义串口协议编程

组态王自定义串口协议编程

组态王自定义串口协议编程【最新版】目录1.组态王简介2.串口协议编程基础3.组态王自定义串口协议编程方法4.实际应用案例5.总结正文一、组态王简介组态王(KingView)是一款由北京三维力控科技有限公司研发的工业自动化监控软件,广泛应用于各类工业自动化控制系统中。

组态王具有强大的数据采集、处理、显示和控制功能,能够满足各种复杂工程的应用需求。

在组态王中,串口通信是一种常见的数据传输方式,通过自定义串口协议编程,可以实现与其他设备或系统的无缝对接。

二、串口协议编程基础串口协议编程是指通过编写程序实现数据在串口之间的传输和接收。

通常情况下,串口协议编程需要考虑以下几个方面:1.波特率:波特率是指每秒钟传输的比特数,通常用“bps”表示。

常见的波特率有 9600、19200、38400、57600 和 115200 等。

2.数据位:数据位是指每次传输时所传输的二进制位数,通常为 7 位或 8 位。

3.奇偶校验:奇偶校验是一种用于检测数据传输错误的校验方法,常见的有奇校验和偶校验。

4.停止位:停止位是指数据传输结束后,用于标识数据传输结束的位数,通常为 1 位或 2 位。

三、组态王自定义串口协议编程方法在组态王中,自定义串口协议编程可以通过以下步骤实现:1.创建通信串口:在组态王中,首先需要创建一个通信串口,用于与其他设备或系统进行数据传输。

2.配置串口参数:根据实际通信需求,设置串口的波特率、数据位、奇偶校验和停止位等参数。

3.编写发送数据函数:通过编写函数,实现数据的发送。

在函数中,需要将数据按照串口协议进行格式化,然后通过串口发送数据。

4.编写接收数据函数:同样地,通过编写函数,实现数据的接收。

在函数中,需要从串口接收数据,并根据串口协议进行解格式化。

5.编写数据处理函数:根据实际应用需求,编写数据处理函数,对接收到的数据进行处理。

四、实际应用案例以组态王与某 PLC 通信为例,首先创建一个通信串口,并配置好串口参数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

组态王与ARM开发板串口通信实现摘要本文阐述了一种基于亚控公司的组态王中的单片机通讯
协议(ascii)实现组态王与arm9开发板串口通信的程序设计方法,本方法已在tq2440开发板上编程设计实现,并成功与组态王正确通信。

关键词组态王;arm9;通讯协议;串口通信
中图分类号tp311 文献标识码a 文章编号 1674-6708(2011)49-0235-01
0 引言
随着工业自动化要求提高,组态软件设计的监控系统逐步普及,开发的控制设备与监控设备之间需要通讯。

组态王kingview软件基于microsoft windows xp,nt/2000操作系统,具有友好的人机操作界面,可与各种plc、智能仪表等实时通讯,但无法与自己开发的控制设备通信,arm9作为高性能处理器经常用来开发工控设备,所以实现组态王与arm9开发板的串口通信对工控设备开发十分必要。

1 组态王与arm9开发板的串口通信方法
1.1 组态王支持的单片机通讯协议(ascii)
本设计采用亚控公司的组态王中的单片机通讯协议(ascii)实现组态王与arm9开发板串口通信。

亚控公司的组态王中的单片机通讯协议(ascii)简介如下:
上位机发送读命令:字头-设备地址-标志-数据地址-数据字节数-异或-cr
若正常下位机应答:字头-设备地址-数据字节数-数据-异或- cr 若不正常下位机应答:字头-设备地址-**-异或- cr
上位机发送写命令:字头-设备地址-标志-数据地址-数据字节数-数据-异或- cr
若正常下位机应答:字头-设备地址-##-异或- cr
若不正常下位机应答:字头-设备地址-**-异或- cr
1.2 组态王与arm9开发板串口通信方法
组态王与arm9开发板串口通信采用亚控公司的组态王中的单片机通讯协议(ascii)。

组态王安装在上位pc机上,组态王本身支持单片机通讯协议(ascii),要实现组态王与arm9开发板串口通信,其实任务就是在下位机arm9开发板上设计下位机应答程序和通信数据缓存区,用下位机应答程序和上位机(组态王)发送的读写命令通信,用arm9设计的通信数据缓存区中的存储单元与组态王中定义的寄存器对应。

2 组态王与arm9开发板串口通信接口电路
上位pc机与下位单片机arm9的串口通信硬件接口电路。

上位pc机与下位机arm9开发板本身都自带串行通讯接口,但由于在分布式系统中上位机与各下位机的分布不集中,故采用rs-232转
rs-485进行串口通信。

rs-485最大传输距离为1 219 m,最大传输
速率为10 mb/s,对干扰有较强的抑制能力。

3 arm9开发板串口通信程序设计实现
3.1 下位机arm9通信数据缓存区设计
下位机arm9设计通信数据缓存区,其目的是让下位机通信数据缓存区中的存储单元与组态王中定义的寄存器对应起来,为数据通信做好准备。

本设计在arm9中定义64字节通信数据缓存区(u8 x[64]),即数组逻辑地址从0-63共64个字节的存储单元,每个存储单元都可读可写,具体情况可由开发监控系统的需要来灵活决定。

上位pc机组态王中定义寄存器格式xdd,其中dd代表数据地址,此地址与本设计arm9通信数据缓存区存储单元(数组x)的地址相对应。

3.2 下位机arm9串口通信程序设计
组态王与arm9开发板串口通信程序设计具体思路。

首先,在arm9中设置串口通信数据缓存区(定义64字节缓存区:u8 x[64])与组态王中定义的寄存器x相对应;然后,让arm9开发板上的串口等待上位pc机(组态王)发送的读写命令,当串口接收到数据时发生串口中断,并执行串口中断处理程序。

串口中断处理程序功能:当串口收到不是读写命令或收到读写命令的设备地址不是本下位
机的地址时本下位机不作回应,当收到读写命令的设备地址是本下位机的地址时本下位机按照单片机通讯协议(ascii)作出相应的应答。

完成组态王与arm9开发板串口通信的串口中断程序及中断处理程序arm _ ack()的程序流程图如下图:
本文基于亚控公司的组态王中的单片机通讯协议(ascii)实现组态王与arm9开发板串口通信的程序设计方法,已在tq2440开发板上编程设计实现,并成功与组态王正确通信。

4 结论
在工控中使用32位arm处理器,是未来工业控制的发展方向,所以解决组态王等监控软件与arm开发板串口通信对工控设备开发有着重要的现实意义。

参考文献
[1]何小阳.计算机监控原理及技术[m].重庆:重庆大学出版社,2003.。

相关文档
最新文档