组态王与单片机多机串口通信的设计方案
基于ASCII的单片机与组态王通讯设计
命令格式可查阅组态王使用手册。
2 通 信 流 程 图 1 组态 王从 单 片机 读 数 据 过 程 如 图 1所 示 。 )
字 头 HE AD: 1字节 1个 AS I , 0 Cl码 4 H
设备 地 址 : 节 2个 A CI , ~ 5 ( 0 0 0f 1字 S l 0 2 5 即 ~ xf 码 H)
标志: 1字 节 2个 AS l , i bi bt 0:读 , i =1: Cl码 bt 0~ t i 7, 0= bt 0
写 。 i : : 打包 。 i b 2 0 , bt O 不 1 bt i = 0 数据 类 型 为字 节 。 i bt = 1 3 t bt i 0 , 3 2 数据 类 型为 字 。bt bt = X 数 据 类 型为 浮 点 数 。 i i 1, 3 2
单 片 机的 串行 通 信 , 建 监 控 系 统 。 文 完 成 了组 态 王 与 单 片 机 构 本
通 讯 正 常 时下 位 单 片 机 应 答 格 式 为
HA ED 设 备 地 址 # # 蚌或 CR l ( 式 5 格 )
的通 讯 设 汁 , 方 法 设 汁简 单 且 实 时 性 好 , 用 于一 般 用 户 。 该 适 1 组 态 王 与 单 片机 的通 信 协 议
HE AD 设备 地址 标 志 数据 地 址 数据 字 节数 数 据 异 或 CR
通 讯 不 正常 时下 位 单 片机 应 答 为
J A J设备地址 j { HE D 异或 c J( 6) R 格式
其 中
和 舟} 不 同 的数 值 , }为 具体 组 态 王 与 单 片机 通 讯 的
异 或 :异 或 从 设 备 地址 到异 或 字 节前 ,异 或 值 转 换 成 2个
单片机多机串行通信设计方法分析
单片机多机串行通信设计方法分析单片机多机串行通信设计方法分析单片机是指只有一块集成电路中包含了微处理器CPU、存储器RAM和ROM、I/O口以及各种中断和计时芯片等,是一种完整的计算机系统。
在很多应用场合中,需要将多个单片机互相传递信息,实现工作协同。
这就需要用到串行通信技术,将多个单片机连接在一起,通过串行通信协议实现数据的传递与交换。
单片机多机串行通信的设计方法主要有以下几种:1.基于RS485总线的串行通信RS485总线是一种全双工的串行通信接口标准,可实现多个设备在同一总线上进行通信,具有通信距离远、噪声抵抗能力强、传输速率快等优点。
在单片机多机通信中,可以采用RS485总线,通过总线上的数据收发模块实现单片机之间的串行通信。
在RS485总线上,每一个设备都有一个独立的地址,可以通过地址来区分不同的设备。
发送数据时,将数据和目标地址打包成一个数据帧,通过总线发送给指定的设备;接收数据时,不符合地址的数据帧会被过滤掉,符合地址的数据帧会被接收并处理。
采用RS485总线可以连接多达128个设备,但也存在总线冲突、抢占等问题需要注意。
2.基于CAN总线的串行通信CAN总线是一种多控制器局域网(MCAN)的串行通信标准,用于高速实时数据传输场景,可实现多设备之间的串行通信。
在单片机多机通信中,可以采用CAN总线,通过总线数据收发模块实现单片机之间的串行通信。
在CAN总线上,每个设备都有一个独立的标识符,通过标识符来区分不同的设备和传输的数据类型。
发送数据时,将数据和目标设备的标识符打包成一个数据帧,通过总线发送给指定的设备;接收数据时,通过CAN总线模块接收数据帧,并根据标识符判断数据的来源以及类型。
采用CAN总线可以连接多达110个节点,但也存在总线错误、抢占等问题需要注意。
3.基于SPI总线的串行通信SPI总线是一种在集成电路内部实现的简单串行同步总线,可实现多设备之间的串行通信。
在单片机多机通信中,可以采用SPI总线,通过总线数据收发模块实现单片机之间的串行通信。
单片机串口通信设计方案
单片机串口通信设计方案
一、硬件设计
1.选择串口通信芯片:单片机通常会集成UART串口,因此可以直接
使用单片机自带的串口;如果需要拓展多个串口通信,可以选择对应的芯片,如常用的MAX232芯片。
3.选择通信线缆和接口:通信线缆主要有串口线缆和USB转串口线缆
两种,根据实际需要选择合适的线缆,并与单片机的串口进行连接。
二、软件设计
1.串口初始化设置:在单片机的程序中,需要对串口进行初始化设置,包括波特率、数据位、停止位、校验位等的设置。
2. 数据发送与接收:单片机通过串口发送数据到外部设备,或从外
部设备接收数据,可以利用单片机的串口发送和接收函数实现数据的传输,如使用C语言中的printf和scanf函数。
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开发板串口通信实现摘要本文阐述了一种基于亚控公司的组态王中的单片机通讯协议(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 过程可以比喻为两人对话,一方向另一方提出问题,然。
单片机与组态王的通信实例
单片机与组态王的通信组态王(kingView)内置了通用单片机通信模块,这样,我们自己开发的单片机仪表就可以挂接在KingView上了。
因为这样,所以对这个东西有了些兴趣,做了些研究。
(1)研究环境组态王6.53,免费下载,当然有使用限制,不过用于研究是没有问题的。
下载地址: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)组态王置根据自己屏幕选择演示项目中的一个找到设备->DDE,双击“新建...”选择:智能模块(上面的图中看不到)->单片机->通用单片机ASCII->串口起个名字,然后选择串口号,我们选择com4这一步选择地址,需要为自己的单片机设备确定一个地址,这有点麻烦。
单片机双机串口通信课程设计
单片机双机串口通信课程设计
本课程设计旨在通过单片机双机串口通信的实践,帮助学生掌握串口通信的原理和实现方法,提高学生的嵌入式系统设计能力。
具体内容包括:
1. 串口通信基础知识:串口通信的原理、常用通信协议、串口通信的特点等。
2. 单片机串口通信实践:使用Keil C编程语言,结合串口调试助手等工具,实现单片机之间的串口通信。
包括单向通信、双向通信、数据校验等。
3. 单片机双机串口通信实践:通过两个单片机之间的串口通信,实现数据的互传和双向控制。
包括数据的发送和接收、控制指令的编写等。
4. 应用实践:将所学知识应用到实际项目中,如智能家居、工业控制等领域。
学生需要设计和实现一个具有实际应用价值的小型嵌入式系统。
通过本课程设计,学生将学习到如何使用单片机实现串口通信,掌握串口通信的原理和实现方法,提高嵌入式系统设计能力。
同时,通过实际应用实践,培养学生的综合素质和实践能力。
- 1 -。
利用组态王实现串口通信控制.
学习情境二利用组态王实现串口通信控制工作任务一 组态王使用简介及板卡的安装【学习目标】1.了解组态王监控软件,能够应用组态王软件进行简单完整的工程开发。
2.了解工控机、数据采集板卡及其安装过程。
【技能目标】学生能够独立在计算机上安装完整的监控组态软件KingView6.5,了解组态王软件的功能和基本操作步骤。
掌握数据采集板卡的安装方法。
【所需设备、工具和材料】序号 名称 规格型号 数量1 PC机 12 PCI-1710HG多功能板卡 PCI-1710 13 PCL-10168数据线缆 PCL-10168 14 组态王软件 Kingview6.53 1【相关知识】知识一. 组态王使用简介一. 组态王通用版人机界面软件Kingview系列运行于Microsoft Windows XP/NT(SP6)/2000(SP4)中文平台建议配置:CPU:1G内存:256M显存:64M硬盘:20G(视实际存储情况)二. 组态王通用版软件的结构“组态王6.5”是运行于Microsoft Windows XP/NT/2000中文平台上的全中文界面的人机界面软件(HMI),窗体框架结构,界面直观易学易用。
采用了多线程、COM组件等新技术,实现了实时多任务且软件运行稳定可靠。
“组态王6.5”软件包由工程管理器ProjManager、工程浏览器TouchExplorer、画面开发系统TouchMak(内嵌于工程浏览器)和运行系统TouchVew四部分组成。
工程管理器用于新工程的创建和已有工程的管理,在工程浏览器中我们可以查看、配置工程的各个组成部分,画面的开发和运行由工程浏览器调用画面制作系统TouchMak和工程运行系统TouchVew 来完成的。
工程管理器ProjManager是计算机内的所有应用工程的统一管理环境。
ProjManager具有很强的管理功能,可用于新工程的创建及删除,并能对已有工程进行搜索、备份及有效恢复,实现数据词典的导入和导出等功能。
组态王6[1].5与单片机的通信方法
&h
II
T 222222 a .+J. (5Q,*9.*.(K.LEAEM"NGG"X&!R I I 读数据请求 T 222222 a .+J. (5Q,*9.*.(K.LEAEM"NGG"X&%R I I 写数据请求 T 222222 a I P 发送数据 P I (5Q,*O.)->,DR T U<G"H 9<G"H :OG"H *0*G"H 5C0Q(G"H(/,*O.)->,DH(__R T OV?FG,*O.)-LEAEM(NH \3(+.QU<GG"R H U<G"H *0*eG,*O.)-LEAEM(NH a OV?FG"X"fH I I 发送 :U8 \3(+.QU<GG"R H U<G"H *0*eG"X"fH 发送校验位 OV?FG*0*H II \3(+.QU<GG"R H U<G"H a a I P 初始化串口 P I KC(- ()(Ab,E0AQKC(-R T 222222 a KC(- DE()QKC(-R T ()(Ab,E0AQRH \3(+.Q$R T :OG$H E)J\.0b*D-QRH a a
!
结束语 组态王软件与单片机可以组合成一套经济可靠的数据采
集, 存储系统, 而且可以方便地接入以太网。实践证明这种系统 不但可靠、 实用、 经济, 而且便于设计, 易于扩充, 具有较高的推 广价值。 参考文献
$
北京亚控科技发展有限 公 司 2 组 态 王 g()1 =(.\ =.0J(C) ^2& 使 用 手册, !""f [收稿日期: !""#2&2!! ]
单片机与组态王串口通信的设计
单片机与组态王串口通信的设计
张松枝;张芝雨
【期刊名称】《无线互联科技》
【年(卷),期】2012(000)012
【摘要】组态王软件是当前广泛应用的组态监控软件之一,具有良好的人机操作界面以及强大的I0设备驱动能力.单片机接口丰富,与A/D转换模块组合可与组态软件实时通讯,并且系统可靠、成本低,本论文介绍一种组态王与单片机串口通讯的方法..
【总页数】2页(P114-115)
【作者】张松枝;张芝雨
【作者单位】许昌职业技术学院,河南许昌 461000
【正文语种】中文
【相关文献】
1.基于单片机和组态王的温度监控系统的设计 [J], 李图江
2.读一篇文章,作一个单片机电路(七)——基于AT89C51单片机的串口通信程序的设计 [J], 黄亮
3.组态王与单片机多机串口通信的设计 [J], 刘杰;王慧
4.基于组态王的PC机与单片机串口通信技术研究 [J], 宋晶;沈兴全;赵润鹏
5.用Visual Basic
6.O实现组态王和单片机的串口通信 [J], 宗风强;王振友
因版权原因,仅展示原文概要,查看原文内容请购买。
组态王与串口服务器连接2024
引言:组态王是一种功能强大的软件,可以用于实时监控和控制工业过程。
串口服务器作为一种设备,可以将串口信号转换为网络信号,使得组态王能够与远程设备进行通信。
本文将详细阐述如何实现组态王与串口服务器的连接。
概述:组态王与串口服务器的连接可以实现远程监控和控制。
通过串口服务器,组态王可以连接到各种设备,包括传感器、执行器等,从而实现实时数据采集和控制指令发送。
正文内容:1.选择合适的串口服务器1.1了解串口服务器的基本功能和特点1.2根据需求选择合适的串口服务器型号1.3确保串口服务器与组态王的兼容性2.配置串口服务器2.1连接串口服务器与组态王2.2打开串口服务器的管理界面2.3进行相关设置,包括IP地质、端口等2.4配置串口服务器支持的串口参数,如波特率、数据位等3.在组态王中添加设备3.1打开组态王软件3.2进入设备管理界面3.3添加设备按钮3.4选择串口服务器,并输入相关参数3.5保存配置4.实现数据采集和控制4.1在组态王中创建监控界面4.2选择需要监控的设备4.3设计界面布局,包括显示数据的图表、表格等4.4配置数据采集周期4.5启动组态王监控程序,实现实时数据采集和显示5.故障排除与维护5.1监控串口服务器的状态,及时发现故障5.2检查网络连接,确保稳定性5.3定期对串口服务器进行维护,如清理缓存、更新固件等5.4学习和掌握串口服务器的故障排除方法5.5随时关注厂商的技术支持,及时解决问题总结:通过本文的介绍,我们了解到了组态王与串口服务器的连接方法。
选择合适的串口服务器、配置串口服务器、添加设备、实现数据采集和控制,以及故障排除与维护都是实现连接的重要步骤。
通过掌握这些方法,我们可以实现远程监控和控制,提高工业过程的效率和安全性。
组态王与串口服务器的连接将为工业自动化领域带来更多便利和机会。
组态王与单片机的通信
组态王与单片机的通信与设计前言本文主要是解决装有组态王的PC机与单片机的通信问题,这里选择通过计算机的COM1口进行串行通信。
单片机和PC机的串行通行一般采用RS-232、RS-422或RS-485总线标准接口,也有采用非标准的20mA电流环的。
为保证通信的可靠,在选择接口时必须注意:(1)通信的速率;(2)通信距离:(3)抗干扰能力;(4)组网方式,既可以保证正常通信时的最大通信端口数量。
这里采用RS-232接口与单片机通信的方法。
由于两者间的电平规范不一致,实现两者间的通信要解决接口电路的电平转换问题。
正文选题背景随着单片机和微机技术的不断发展,单片机的应用也从独立的单机向网络发展,由PC机和多台单片机构成的多级网络测控系统已成为单片机技术发展的一个方向。
在一个大型的应用系统中,通常由单片机完成数据的采集和上传,后台则通过PC机对数据进行分析并处理,复杂的还要建立数据库形成网络,二者的结合,充分发挥了单片机在实时数据采集和微机对图形处理、显示以及数据库管理上的优点,使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制,而形成了向以网络为核心的分布式多点系统发展的趋势。
随着微电子技术、计算机控制技术、工业以太网技术及现场总线技术的发展,作为用户无需改变运行程序原代码的软件平台工具——工控组态软件日渐成熟。
由于工控组态软件在实现工业控制的过程中免去了大量烦琐的编程工作,解决了长期以来控制工程人员缺乏计算机专业知识与计算机专业人员缺乏控制操作技术和经验的矛盾,极大地提高了自动化工程的工作效率。
近年来,工控组态软件在中小型工业过程控制工程、工业自动化工程中越来越受到欢迎。
不仅如此,工控组态软件还在配电自动化、智能楼宇、农业自动化、能源监测等领域也逐步展示了其独特的优势。
单片机控制系统以其高性能价格比、稳定、易于实现等特点而被广泛使用,但他难以实现动态复杂的图形监控界面;而组态王软件具有强大丰富的监控界面设计功能,却难以实现复杂的控制算法,而单片机则难以实现动态复杂的图形监控界面,若采用以单片机为下位机,以装有组态王的PC极为上位机的控制方式,将彻底改变原来单片机控制系统的单调、简单的控制界面的缺陷,进一步推动单片机控制方式的广泛应用。
单片机与组态王基于ASCII型通讯程序设计
目前在工业控制现场的仪表较多,传统的数显仪表不能满足实际的需要,需要添加相应的A /D 或D /A 模块转换数据,上位机需要通过配套的下位机数据采集模块获取现场仪表数据,如PLC ,再通过相应通信协议来与下位机通讯进行数据交换,此法成本较高。
本文论述了通过单片机采集现场仪表数据,通过与组态软件提供的通用ASCII 型协议通讯。
实践表明:采用该方式通讯可靠、设计简单、代码可移植性高,实用性较强。
1组态王与单片机通讯协议概述单片机多用来采集现场的信息,如何实现单片机与组态软件进行数据交换?早期主要有DDE 方式、板卡方式等,最新版本组态王提供的单片机通用通讯协议支持HEX 型和ASCII 型,可通过串口直接与单片机通讯。
通讯方式为RS232、RS422、RS485,通讯波特率可达19200bps 。
蔚俊兰、赵学军等人介绍了采用HEX 型通讯协议来实现单片机与组态王通讯。
本文主要详细介绍ASCII 型通用通讯协议实现组态王与单片机通讯,该型具有设计简单,通俗易懂特点,具体参数可以查阅相关技术文档。
2组态王设备配置在实际开发过程中,组态王对ASCII 型通讯协议完全是封装好的。
在程序设计过程中可以采用相应串口监视软件来分析组态王向单片机发送的数据,便于程序设计。
为了实现单片机与组态王的通讯,在组态王中设置的通讯参数如波特率,数据位,停止位,奇偶校验必须与单片机编程中的通讯参数一致。
本文中采用通讯波特率9600bps ,8位数据位,1位停止位,无奇偶验证。
组态王中设置设备地址格式为:##.#。
前面两个字符是设备地址(0~255),此地址为单片机的地址;后面的一个字符是用户设定是否打包,“0”为不打包、“1”为打包。
体参数设定方法可以查阅相关技术文档。
3单片机通讯源程序设计本文的通讯程序采用C 语言设计,通过Keil 开发软件设计了单片机与组态王基于ASCII 码通用通讯程序。
3.1数据定义数据定义主要用于对单片机相关参数进行相应设定,如单片机地址,单片机与组态王通讯命令格式的字头、字尾。
组态王_单片机通讯设计及应用
组态王⁃单片机通讯设计及应用作者:傅宗宁姜周曙黄国辉来源:《现代电子技术》2014年第24期摘 ;要:设计一种基于单片机的组态王KingView液位控制系统;描述系统管路设计和底层硬件,着重对组态王和单片机之间的ASCII码型通信协议,以及单片机在组态王中的通信格式设置进行说明。
将其应用到设计的以ADμC834为主控芯片的三容水箱液位控制系统中,加入简单PID控制算法,进行了实物验证,使系统液位能快准稳的稳定在目标液位上,显示该系统具有可靠性高、集成度高和成本低等优点。
关键字:组态王; 三容水箱液位控制; PID; ASCII码中图分类号: TN919⁃34; TP24 ; ; ; ; ; ; ; ; ; 文献标识码: A ; ; ; ; ; ; ; ; ; ;文章编号:1004⁃373X(2014)24⁃0101⁃04Design and application of KingView communication system based onsingle⁃chip microcomputerFU Zong⁃ning, JIANG Zhou⁃shu, HUANG Guo⁃hui(Automation College, Hangzhou Dianzi University, Hangzhou 310018, China)Abstract: A sort of KingView liquid level control system based on single⁃chip microcomputer is designed in this paper. The pipeline design and underlying hardware of the system are described. ASCII code communication protocol between KingView and MCU, and MCU communication format in KingView are elaborated in detail. They are applied to the self⁃designed three⁃tank water level control system,in which ADμC834 is taken as its main control chip and a simple PID control algorithm is added. The physical verification result indicates that it can control the water level in the setting level quickly, accurately and steadily, which shows that the system has high reliability,high integration and low cost.Keywords: KingView; three⁃tank liquid level control; PID; ASCII code0 ;引 ;沿随着工业自动化要求的提高,以及控制设备和过程监控装置之间通信的需求,使用组态软件设计的监控系统在逐渐普及。
基于ASCII的单片机与组态王通讯设计
组 态 王 提 供 的 与 单 片 机 的 通 信 协 议 可 以 支 持 HEX 和 ASCII,其中 ASCII 开发比较简单。 文献[1]是基于 HEX 的,本文 以 ASCII 为例开发单片机和组态王的通讯程序。
组态王软件与单片机串口ascii通讯的机制及实现方法
组态王软件与单片机串口ascii通讯的机制及实现方法作者:姜宝申组态软件广泛的应用于工农业生产的各个领域,是保证相关系统设备经济稳定安全运行的重要方式,是对传统控制方式的一次革命,得到了越来越广泛的应用。
很多工控及电子爱好者对这方面很感兴趣,都跃跃欲试,可苦于软件要想得到实际效果,就得连接设备,通过设备预设的寄存器与软件的变量进行连接,辅以命令语言,才能取得真正的体验。
软件支持的设备比如板卡、数字仪表、PLC、变频器等等都是属于工控设备,价格都比较昂贵,一般很难触及。
那是不是组态软件就不适合于我们用了呢,也不一定,比如国产的组态王组态软件支持单片机串口ascii 通讯,烧写了相应程序的单片机也可以当做组态软件的设备,和其他设备一样,也能完成诸如水位、行程等状态的监视及电机、阀门、灯泡、加热器等的启动停止,开与关,以及模拟量经AD转换后,通过串口以ascii码的形式传送给组态软件,只是这些功能的实现是依靠单片机的端口来完成,组态软件访问单片机,监视单片机所有端口状态,控制一部分端口的高低电平状态,辅以外部电气回路,同样能实现相应的功能。
例如:组态软件通过串口发送指令,控制单片机的某个输出端口的电平高低变化,端口通过驱动使继电器的触点闭合,电机转动,假如这个电机是带动水泵往水箱里面打水,水箱水位的预定位置装有触点,这个触点连接在单片机的另一个输入端口上,当水位到达触点位置,触点动作单片机的这个端口电平发生变化,这个变化通过同一个串口传回给组态软件,组态软件可以根据命令语言编写的程序酌情是自动还是手动停止电机运行,或者是调整电机的转速,保证水箱的水位在预设的范围内,这就是组态软件构成的控制系统的最基本应用。
图1相对而言,用单片机与组态软件实现的控制系统要比其他成品设备的组态稍微麻烦一些,不但需要了解掌握组态软件的工作机制,还需要单片机的软硬件及电路方面的知识,这里边的重点就是单片机的汇编或c语言编程,但掌握了组态软件的通讯协议,按协议编写,比较起来并不是很难。
组态王与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开发板串口通信,其实任务就是在下位机ARM9开发板上设计下位机应答程序和通信数据缓存区,用下位机应答程序和上位机(组态王)发送的读写命令通信,用ARM9设计的通信数据缓存区中的存储单元与组态王中定义的寄存器对应。
利用VB实现组态王与单片机之旬的串行通信
利用VB实现组态王与单片机之旬的串行通信作者:刘艳来源:《科技创新导报》 2011年第36期刘艳(华北电力大学北京 102200)摘要:本文介绍了使用VB实现组态王与单片机之间的通信,减少了系统开发周期,提高了软件质量,便于系统调试与维护。
关键词:VB 组态王单片机中图分类号:TP29 文献标识码:A 文章编号:1674-098X(2011)12(c)-0023-01DCS的构成方式十分灵活,处于底层的过程控制级(下位机)一般由分散的数据采集站和现场控制站等就地实现数据采集和控制,并通过数据通信网络传送到生产监控级计算机。
生产监控级(上位机)对来自过程控制级的数据进行集中操作管理,如各种优化计算、统计报表、故障诊断、显示报警等。
一般由一台PC机作为上位机,多台单片机组成的数据采集与控制系统作为下位机,为使人机交互方便、操作简单直观,常采用VB、VC开发监控系统,但这种实现方法编程难度大,对设计人员要求高,开发周期长,而组态软件的出现恰好解决了这个问题。
组态软件是指一些数据采集与过程控制的专用软件,它们是处在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。
组态软件的应用领域很广,可以应用于电力系统等领域的数据采集与监视控制以及过程控制等诸多领域。
近年来,组态王KingView工控软件以其简单的操作、友好的界面、低廉的价格等优势得到了广大使用者的好评。
由于工业控制中需要监控的设备有仪表、模块及其他各种类型的设备,它们数量众多,需要开发大量的驱动以支持不同设备,而组态王提供的驱动不可能满足所有需求,对于用户自己设计的装置则没有相关驱动程序。
本文详细介绍了如何用VB实现组态软件与单片机之间的通信。
1 通信系统结构该系统结构框图如图1所示,组态王与VB应用程序间的通信通过DDE实现,单片机与VB应用程序间的通信通过串口通信实现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
组态王与单片机多机串口通信的设计
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直接连接,需要电气转换。
这里采用Maxim公司的M AX485,图2为其接口电路。
图2中,MAX485的RE和DE南STC89C52单片机的P1.7控制。
由于MAX485以半双工的方式工作,因此由P1.7控制其发送与接收。
当 P1.7为高电平时,驱动器使能而接收器为高阻态,此时可发送数据;而当P1.7为低电平时.接收器使能而驱动器为
高阻态,此时接收数据。
另外由于PC机的COM口是基于RS-232的串行通讯口.其电气特性与RS-485不一致,因此也需电平转换。
图3为单片机地址设置电路,单片机STC89C52的P1口的低4位用于设定本机地址,通过4位DIP开关的组合最多可设定16种地址。
如当4位开关全部断开时,对应的本机地址是11 11。
下位单片机在开始工作前需先设定自己的地址,这样,在开机自检时下位单机片就能获取本机地址。
4 系统通讯协议设计
组态王提供了通过PC机与单片机串口进行十六进制数据通讯的驱动,而驱动中已经规定好其通讯协议。
4.1 通讯参数
通讯参数包括数据位、停止位、波特率、校验方式。
其中,数据位、停止位、波特率由单片机决定。
组态王中的设定和单片机一致即可。
校验方式参照“数据传输格式”部分。
4.2 数据传输格式与协议说明
格式1 组态王发送地址请求格式(检验位为1>:
格式2单片机应答地址格式(检验位为0>:
格式3组态王读数据请求格式(检验位为0>:
格式4单片机应答读数据格式(正确>(检验位为O>:
格式5单片机应答读数据格式(错误>(检验位为0>:
格式6组态王写数据请求格式(检验位为O>:
格式7单片机应答写数据格式(正确>(检验位为0>:
协议具体说明如下:
ENQ(头>:H05,询问,请求帧的开始代码;
∙ACK(头>:H06,确认,ACK应答帧的开始代码;
∙NAK(头>:H15,否认,NAK应答帧的开始代码;
∙EOT(尾>:H04,正文的结束,请求帧的结束ASCII代码;
∙ETX(尾>:H03,结束正文,应答帧的结束ASCII代码;
数据传输:所有数据均为16进制数;
∙Sta:设备地址,1个字节,组态王设备地址范围为0~255,此地址为单片机的地址,由单片机中的程序决定;
∙R:读标志,1个字节(0x52>;
∙W:写标志,1个字节(0x57>;
∙DataType:需要交换的数据类型,1字节。
其中“1”代表字节,“2”代表字,“3”
代表浮点型;
∙DataNum:读取数据的个数,1字节;
∙DataAddr:数据偏移地址,2字节,低字节在前,高字节在后;
∙Data:实际传输的数据,低字节在前,高字节在后;
∙DataLong:单片机返回Data的字节数,2字节,低字节在前,高字节在后:∙CRC:为从第1个字节至CRC前的所有字节的异或值,1字节;
∙ErrorCode:错误代码,“0”代表正确应答,“1”代表数据类型错误,“2”代表数据范围超限,“3”代表指令无法识别。
∙ 5 单片机通讯程序流程设计
图4为组态王程序流程,图5为单片机通讯程序流程。
80C51系列单片机多机通讯可归纳如下:
上位机的SM2=0,所有下位机的SM2=1,以便只接收上位机发来的地址;
上位机给下位机发送地址时,第9数据位应该为1,以指示下位机接收这个地址;
所有下位机在SM2=1,RB8=1和RI=0时,接收上位机发来的地址,进入相应中断服务程序,并与本机地址相比较,以确认是否为被寻址的下位机;
被寻址下位机通过指令清除SM2,以便正常接收上位机发送来的数据,并向上位机发回接收到的地址以便核实。
未被寻址的下位机保持SM2=1,并退出各自的中断服务程序;
完成上位机和被寻址下位机之间的数据通信后,被寻址从机使SM2=1,并退出中断服务程序,等待下次通信。
6 结束语
该系统实现组态王软件与单片机多机的实时通信,已经在实际工程中得到应用。
应用的结果表明该设计方法简单有效,实时性好,成本低廉,可以在控制与监控系统中推广应用。