单片机与组态王的通信实例
基于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个
组态王与单片机多机串口通信的设计方案
组态王与单片机多机串口通信的设计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直接连接,需要电气转换。
单片机与组态王的通信实例
单片机与组态王的通信组态王(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这一步选择地址,需要为自己的单片机设备确定一个地址,这有点麻烦。
单片机与组态王基于ASCII型通讯程序设计
单片机与组态王基于 A CI S 型通讯程序设计 l
Co m u ia in P o r m b t e CU a d ig e B s d o m nc t r g a o e we n M n K n Viw a e n ASCI r o o s t c l I p o
# e ie E d 0 0 / d f n x d 定 义字 尾 C 一个 A CJ / n R, S I . # e ie e d o o / d f R a x o 上 位机 读 n /
#d fn W re x e ie i O O1 t / 上 位 机 写 /
u h r n we 【] 1x 0O 3 ,x 000000 0 } c a A s r8 = 0 4 ,x 00 3 ,,,.,x d ;
应答 信 息 帧 数 组 / u h rc u t O / c a o n= . 接 收 字 头字 尾 间 数 据 个 数 t / u h rf g 0 c a l = ; / 单 片 机 接 收 到字 头 标 志 a /
Ths i pap ito ce t e er n rdu s h ASCI omm u c i p ooc l bewe KigVi I c niat on r t os t en n ew an MCU, d d an prvi s o de al C pr a l ogrm s ure o c co of m pl de i eme of o muncain nt c m i t pr o ol I ont o otc s. d ne d o ta h t e t at c an f clisdi t us t e y a it r l ie ec y e h ASCI r t o I ooc l p
基于51与组态王的智能仪表
基于51单片机的智能仪表与组态王的通讯圈子类别:嵌入式系统 (未知) 2009-8-10 23:01:00[我要评论] [加入收藏] [加入圈子]1、引言随着工业自动化进程的不断加快,现场仪器、仪表、设备正不断向数字化、智能化和网络化方向推进。
单片机以其强大的现场数据处理能力,低廉的价格,紧凑的系统结构、高度的灵活性,微小的功耗等一系列优良特性成为构建智能化现场仪器仪表、设备的重要手段,现已广泛应用于工业测量和控制系统中。
组态王Kingview工控组态软件以其工作性能稳定可靠、人机界面友善、硬件配置方便以及编程简单易用同时其驱动程序较为丰富,如支持DDE、板卡、OPC服务器、PLC、智能仪表、智能模块等;支持ActiveX控件、配方管理、数据库访问、网络功能、冗余功能。
其扩展性强,配有加密锁,支持工程加密;可方便与管理计算机或控制计算机联网通信等优良特性,提供了对工业控制现场大量数据进行采集、监控、处理的解决方案。
在各种工业控制领域中得到了大量使用[1-2]。
将单片机和组态王优良的特性结合起来,使它们实现“强强联合”,成为改造传统工业,提升企业技术竞争力的重要趋势。
目前许多测控系统是由通用机或工控机和底层单片机控制装置组成,通用机或工控机通过组态软件控制现场仪器设备,单片机采集数据和现场状态通过串行口传送到通用机或工控机,由组态软件对采集到的现场数据进行分析、存储或显示,并将命令和控制通过串行口传到单片机以监控现场设备的运转。
可靠地实现它们之间的通讯是实现各种测控任务必须解决的首要问题。
对于一些重要名家厂商的板卡和模块,一般组态王可直接提供为数据采集和控制所需的底层硬件设备的驱动程序。
但对于绝大多数一般用户自行设计开发的采集、控制装置则没有驱动程序提供。
因此实现它们“强强联合”,必须解决它们之间之间的通信问题。
迄今为止,人们对单片机与组态王的通信问题进行了广泛的研究[1-2]。
目前,单片机与组态王的通讯方法有主要有3种[3]:①利用组态的驱动程序开发包进行驱动开发自己的通讯驱动程序,该方法适用于专业厂商;②通过动态数据交换(DDE)方式进行通讯,该方法带来一些额外的开销,如会降低系统实时性,增加系统的不可靠性等,对开发人员的要求也更高。
组态王通用单片机协议(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。
组态王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!! ]
组态王与单片机的通信
组态王与单片机的通信与设计前言本文主要是解决装有组态王的PC机与单片机的通信问题,这里选择通过计算机的COM1口进行串行通信。
单片机和PC机的串行通行一般采用RS-232、RS-422或RS-485总线标准接口,也有采用非标准的20mA电流环的。
为保证通信的可靠,在选择接口时必须注意:(1)通信的速率;(2)通信距离:(3)抗干扰能力;(4)组网方式,既可以保证正常通信时的最大通信端口数量。
这里采用RS-232接口与单片机通信的方法。
由于两者间的电平规范不一致,实现两者间的通信要解决接口电路的电平转换问题。
正文选题背景随着单片机和微机技术的不断发展,单片机的应用也从独立的单机向网络发展,由PC机和多台单片机构成的多级网络测控系统已成为单片机技术发展的一个方向。
在一个大型的应用系统中,通常由单片机完成数据的采集和上传,后台则通过PC机对数据进行分析并处理,复杂的还要建立数据库形成网络,二者的结合,充分发挥了单片机在实时数据采集和微机对图形处理、显示以及数据库管理上的优点,使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制,而形成了向以网络为核心的分布式多点系统发展的趋势。
随着微电子技术、计算机控制技术、工业以太网技术及现场总线技术的发展,作为用户无需改变运行程序原代码的软件平台工具——工控组态软件日渐成熟。
由于工控组态软件在实现工业控制的过程中免去了大量烦琐的编程工作,解决了长期以来控制工程人员缺乏计算机专业知识与计算机专业人员缺乏控制操作技术和经验的矛盾,极大地提高了自动化工程的工作效率。
近年来,工控组态软件在中小型工业过程控制工程、工业自动化工程中越来越受到欢迎。
不仅如此,工控组态软件还在配电自动化、智能楼宇、农业自动化、能源监测等领域也逐步展示了其独特的优势。
单片机控制系统以其高性能价格比、稳定、易于实现等特点而被广泛使用,但他难以实现动态复杂的图形监控界面;而组态王软件具有强大丰富的监控界面设计功能,却难以实现复杂的控制算法,而单片机则难以实现动态复杂的图形监控界面,若采用以单片机为下位机,以装有组态王的PC极为上位机的控制方式,将彻底改变原来单片机控制系统的单调、简单的控制界面的缺陷,进一步推动单片机控制方式的广泛应用。
组态王通信例程
单片机与组态王通信单片机与组态王通信,准备工作做好了,接下来就是编程实现了。
当然少不了要看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:写。
bit1= 0:不打包。
bit3bit2 = 00,数据类型为字节。
单片机与组态王基于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数据定义数据定义主要用于对单片机相关参数进行相应设定,如单片机地址,单片机与组态王通讯命令格式的字头、字尾。
X25045与DS12887在组态王与单片机通讯模块设计中的应用
WE P n - n,Z I eg Bi HANGHu ,HEZ— .S u F h n - h n i iQi UJn AN C a g S eg
( l g f eh ncl n lcr a E gn eig Notes F rsyUnv rt, ri i n j n 1 0 4 , ia Col eo c aia a dEe tcl n ier , r a oet iesy Habn He o gi g 5 0 0 Chn ) e M i n h t r i l a
d t l e v r m p ra c o a l z n e l e i i e t c u e i c d ha p n d a e wi b e y i o n e t nay e a d r ai ncd n s a s s wh h ha p e .An ncd n ssor d s s e s d s ne c o d n l t z i i e t t e y t m wa e i d a c r i g g
t heprn il fsse r nnngsa hy a e u i whih a sd t e X2 0 sm e o  ̄ c mpo e t o t i cp eo tm u i tbit nd sc rt y y, c w su e h 5 45a m r o n n ,DS 2 8 st i ompo e t 1 8 7 a i ng c m n n,
基于ASCII的单片机与组态王通讯设计
组 态 王 提 供 的 与 单 片 机 的 通 信 协 议 可 以 支 持 HEX 和 ASCII,其中 ASCII 开发比较简单。 文献[1]是基于 HEX 的,本文 以 ASCII 为例开发单片机和组态王的通讯程序。
组态王软件与单片机串口ascii通讯的机制及实现方法
组态王软件与单片机串口ascii通讯的机制及实现方法作者:姜宝申组态软件广泛的应用于工农业生产的各个领域,是保证相关系统设备经济稳定安全运行的重要方式,是对传统控制方式的一次革命,得到了越来越广泛的应用。
很多工控及电子爱好者对这方面很感兴趣,都跃跃欲试,可苦于软件要想得到实际效果,就得连接设备,通过设备预设的寄存器与软件的变量进行连接,辅以命令语言,才能取得真正的体验。
软件支持的设备比如板卡、数字仪表、PLC、变频器等等都是属于工控设备,价格都比较昂贵,一般很难触及。
那是不是组态软件就不适合于我们用了呢,也不一定,比如国产的组态王组态软件支持单片机串口ascii 通讯,烧写了相应程序的单片机也可以当做组态软件的设备,和其他设备一样,也能完成诸如水位、行程等状态的监视及电机、阀门、灯泡、加热器等的启动停止,开与关,以及模拟量经AD转换后,通过串口以ascii码的形式传送给组态软件,只是这些功能的实现是依靠单片机的端口来完成,组态软件访问单片机,监视单片机所有端口状态,控制一部分端口的高低电平状态,辅以外部电气回路,同样能实现相应的功能。
例如:组态软件通过串口发送指令,控制单片机的某个输出端口的电平高低变化,端口通过驱动使继电器的触点闭合,电机转动,假如这个电机是带动水泵往水箱里面打水,水箱水位的预定位置装有触点,这个触点连接在单片机的另一个输入端口上,当水位到达触点位置,触点动作单片机的这个端口电平发生变化,这个变化通过同一个串口传回给组态软件,组态软件可以根据命令语言编写的程序酌情是自动还是手动停止电机运行,或者是调整电机的转速,保证水箱的水位在预设的范围内,这就是组态软件构成的控制系统的最基本应用。
图1相对而言,用单片机与组态软件实现的控制系统要比其他成品设备的组态稍微麻烦一些,不但需要了解掌握组态软件的工作机制,还需要单片机的软硬件及电路方面的知识,这里边的重点就是单片机的汇编或c语言编程,但掌握了组态软件的通讯协议,按协议编写,比较起来并不是很难。
浅谈组态王6.55与单片机的应用及通讯
浅谈组态王6.55与单片机的应用及通讯摘要:本文详细介绍了组态王6.55与51单片机各自特点及结合在一起应用的优点,简单介绍组态王6.55与51单片机直接通信的参数说明。
这种组态王6.55与51单片机的通信方法简单、快速、可靠,并在工业自动化方面得到广泛的应用。
关键词:组态王6.55,51单片机,通信Abstract:This paper introduces in detail the Kingview 6.55 and their respective characteristics of the 51 microcontroller and combining the advantages in application of the parameters together, introduces Kingview 6.55 and 51 SCM direct communication. This communication method between Kingview 6.55 and 51 SCM is simple, fast and reliable, and has been widely used in industrial automation.Keyword: Kingview6.55,51 SCM,communication单片机具有强大的数据处理能力、控制功能强、价格低廉、可靠性高、功耗小的特点,应用领域非常广泛,是计算机自动化控制中最为流行的一种控制机型,目前的应用领域有:(1)工业自动化:机械、电子、电力、石油、化工、纺织、食品等领域,无论过程控制、数据采集与测控技术、生产线上的机器人,都离不开单片机;(2) 信息和通信产品:计算机外设、办公自动化设备;(3)家用电器:智能化;(4) 仪器仪表:数字化、智能化、多功能化、柔性化,单片机使精度提高、结构简化、体积减轻、携带方便,并增加了显示、报警和自诊断功能;(5) 军事装备:单片机也渗入其中随着工业自动化进程的不断加快,现场仪器、仪表、设备正不断向数字化、智能化及网络化方向推进,北京亚控科技发展有限公司的Kingview6.55工控组态软件以其工作性能稳定可靠、友好的人机界面、配置硬件方便以及易学易用,同时其驱动程序较为丰富(多达500多种的设备、3000多种驱动),如支持DDE、板卡、OPC、市面上使用的大部分PLC、智能仪表、智能模块等;支持Windows通用的ActiveX控件、SQL数据库访问、配方管理应用、网络功能(B/S结构的网络发布)、冗余功能(即双设备冗余、双机热备和双网络冗余)。
利用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应用程序间的通信通过串口通信实现。
组态王与单片机通讯
166 //打包字读
#define TYPEWritw
85 //字节写
#define TYPEWritw2
87 //打包字写
#define TYPEReadF
168 //双字读
#define TYPEReadF2
170 //打包双字读
#define TYPEWritF
组态王与单片机通讯
与组态王通讯时请注意选择的单片机晶震频率和波特率及效验否则无法通讯成功
本次测试组态王只支持 19200 波特率,再高的波特率没有成功,不知道是何原因难道组态的原因吗?
************************************************************************************************************/
//xdata uint x2 _at_ 0x2000; //在 xdata 区中定义字变量 x2,它的地址为 0x2000H,这里是 uint
//unsigned int xdata dat[10]={1,7,3,4,5,6,7,8,9,10}; unsigned char xdata datBYTE[3]={ 5,
6, 7,
}; unsigned int xdata datWORD[10]; unsigned long xdata datFOALT[10];
unsigned char recbuf[22]={ 0x40, //字头---------组态王向单片机回读写的数据 0x30, //设备地址 2 0x31, //设备地址 1 0x30, //标志 11111111 B(000001100) 0x31, //标志 bit0= 0:读,bit0= 1:写 bit1= 0:不打包。 0, //数据地址 0, //数据地址 0, //数据地址 0, //数据地址 0, //数据字节数 0, //数据字节数 0, //数据 0, //数据 0, //数据 CR 结束符号读写数据类型为字节为 14 个数据 0, //数据 0, //异或 0, //异或 0x0d, //CR 结束符号读写数据类型为字为 18 个数据 0, 0x0d, //CR 结束符号读写数据类型为浮点型为 20 个数据 0,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机与组态王的通信实例随着工业自动化的发展,越来越多的设备开始采用单片机进行控制。
而组态王作为一种通用的组态软件,可以方便地对单片机的控制过程进行监控和操作。
本文将介绍一个单片机与组态王通信的实例,以帮助读者了解二者的基本通信原理和实现方法。
一、单片机与组态王的通信方式单片机与组态王之间的通信一般采用串口通信方式。
串口通信是一种常见的通信方式,它通过串口数据线将单片机与计算机连接起来,实现数据传输。
在组态王中,可以通过设置串口参数来与单片机进行通信。
二、单片机通信协议在单片机与组态王通信的过程中,需要约定一些通信协议来实现数据的传输和控制。
通信协议一般包括数据格式、波特率、校验方式等。
根据不同的单片机和组态王版本,通信协议可能会有所不同,需要根据实际情况进行调整。
三、组态王通信控件的使用在组态王中,可以使用串口通信控件来实现单片机与组态王之间的通信。
控件提供了许多函数和属性,可以方便地进行串口通信。
例如,可以使用控件的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单片机中,然后运行组态王程序。
当单击画面上的按钮时,指示灯会根据单片机的程序实现亮灭切换。
同时可以在组态王中观察到TagName变量的值也会随之变化。
组态王培训资料一、概述组态王是一款广泛使用的工业自动化控制系统软件,它为用户提供了一个易于使用、功能强大的图形化界面来监控和管理工业过程。
为了帮助用户更好地理解和使用组态王软件,我们提供了这份培训资料。
二、组态王软件的基本功能1、图形界面设计:组态王提供了丰富的图形元素和工具,方便用户创建和编辑监控界面。
2、实时数据监控:组态王可以实时获取和显示来自控制设备的状态信息,以及各种数据参数。
3、历史数据记录与分析:组态王可以保存和处理历史数据,方便用户进行数据分析和优化。
4、报警与故障处理:组态王具有强大的报警和故障处理功能,能够及时发现并处理问题。
5、远程监控与管理:组态王支持远程访问和控制,使得用户可以在任何地方对系统进行监控和管理。
三、组态王软件的高级功能1、自定义报表:组态王允许用户根据需要自定义报表,满足特定的数据分析和展示需求。
2、高级图表显示:组态王支持多种高级图表显示方式,帮助用户更好地理解数据趋势和比较。
3、数据库连接:组态王可以连接多种数据库,实现数据的存储和共享。
4、复杂逻辑控制:组态王支持复杂的逻辑控制,满足各种复杂的工业控制需求。
5、多语言支持:组态王支持多种语言,方便不同语言的用户使用。
四、使用组态王的注意事项1、熟悉软件功能:在使用组态王之前,建议用户详细了解软件的各种功能和使用方法。
2、数据安全:在使用组态王时,需要注意保护系统数据的安全性,避免数据泄露或损坏。
3、规范操作:使用组态王时,需要按照规范进行操作,避免误操作导致的问题。
4、与硬件设备匹配:在使用组态王控制硬件设备时,需要注意软件与硬件的匹配和兼容性问题。
5、定期维护:建议定期对组态王系统进行维护和更新,以保证系统的稳定性和正常运行。
6、学习资源:如果用户对组态王的使用有疑问或遇到困难,可以参考官方文档、教程或求助于社区论坛等资源。
7、避免非法复制和使用:请确保您是通过合法渠道获得组态王软件,并遵守相关的许可协议和使用规定。
8、注意更新和维护:软件更新通常会带来新的功能、修复已知问题并增强安全性。
因此,建议定期检查并安装最新的更新和补丁程序。
9、备份重要数据:在使用组态王的过程中,建议定期备份重要的数据和配置文件,以防意外情况导致数据丢失或损坏。
10、安全性考虑:在使用网络连接进行远程监控和管理时,需要注意安全性问题。
建议采取必要的安全措施,如使用加密通信、限制远程访问权限等。
11、与其他系统集成:组态王可以与其他系统进行集成,如与企业资源规划(ERP)或制造执行系统(MES)等相连。
在这种情况下,需要注意接口的兼容性和互操作性。
12、合规性考虑:在使用组态王时,需要遵守相关的法规和标准要求。
例如,对于涉及安全或环保的领域,需要确保使用的控制系统满足相关法规要求。
基于Qt的嵌入式智能家居组态软件设计引言随着科技的不断发展,智能家居成为了人们生活中不可或缺的一部分。
智能家居组态软件作为智能家居系统的核心,能够实现家庭设备的远程监控、定时控制、语音控制等功能,提高生活质量、节约能源并提升家居安全性。
本文将介绍一种基于Qt的嵌入式智能家居组态软件的设计。
需求分析在智能家居组态软件的设计过程中,我们需要考虑以下需求:1、支持各种硬件平台,包括树莓派、ARM等;2、实现家庭设备的远程监控功能;3、支持设备的定时控制;4、支持语音控制;5、实现家庭设备的场景模式;6、用户界面友好,易于操作。
软件设计基于Qt的嵌入式智能家居组态软件的设计思路如下:1、使用Qt框架实现软件的用户界面;2、通过串口通信或网络通信实现与硬件平台的通信;3、实现各种控制功能的逻辑处理;4、对硬件平台进行定时控制和远程监控;5、实现场景模式的控制功能。
在实现过程中,我们需要注意以下几点:1、使用Qt框架实现软件的用户界面时,需要考虑用户界面的布局和交互效果;2、实现控制功能的逻辑处理时,需要保证控制的准确性和稳定性;3、进行定时控制和远程监控时,需要考虑网络延迟和设备性能对控制效果的影响。
软件测试为了验证基于Qt的嵌入式智能家居组态软件的正确性和可靠性,我们进行了一系列的测试,包括:1、功能测试:测试软件的各项功能是否正常工作;2、性能测试:测试软件的响应速度和稳定性;3、兼容性测试:测试软件在不同硬件平台和不同操作系统上的兼容性。
测试结果表明,该智能家居组态软件在功能、性能和兼容性方面均表现良好。
结果分析通过测试结果的分析,我们发现该智能家居组态软件具有以下优点:1、使用Qt框架实现用户界面,使得用户界面更加美观、易用;2、支持各种硬件平台和通信协议,具有良好的兼容性;3、实现了家庭设备的远程监控、定时控制和语音控制等功能,提高了生活质量、节约了能源并提升了家居安全性。
然而,该软件也存在一些不足之处,例如:1、在进行远程控制时,网络延迟可能导致控制不及时;2、在处理大量家庭设备控制请求时,软件的性能可能会下降。
针对以上不足之处,我们提出以下改进意见:1、优化网络通信协议,减少网络延迟对控制效果的影响;2、对软件进行优化,提高软件的并发处理能力。
新型DCS组态软件OPC客户端和服务器的研究与开发DCS组态软件OPC客户端和服务器是一种用于工业自动化领域的组态软件,它能够实现现场设备与上位机之间的数据传输和通信。
其中,OPC客户端和服务器分别位于现场设备和上位机上,通过OPC协议进行通信,实现数据的传输和处理。
在智能制造领域,DCS组态软件OPC 客户端和服务器也被广泛应用于各种生产过程中,如化工、石油、电力等领域。
目前,国内外针对DCS组态软件OPC客户端和服务器的研究主要集中在以下几个方面:OPC协议的优化和完善、DCS组态软件OPC客户端和服务器的可扩展性研究、数据传输安全性的研究等。
虽然已经取得了一定的成果,但仍存在以下问题:OPC协议的兼容性问题、可扩展性不足、数据传输安全性有待提高等。
本次研究采用理论研究和实证研究相结合的方法,首先对OPC协议的原理和特点进行深入研究,然后通过实验验证DCS组态软件OPC客户端和服务器的可扩展性和数据传输安全性。
具体实施步骤如下:1、对OPC协议的原理和特点进行深入研究,分析其优势和不足;2、设计并实现一个DCS组态软件OPC客户端和服务器,对其可扩展性进行评估;3、通过实验验证数据传输安全性,分析存在的风险和应对措施;4、对本次研究进行总结,提出未来研究方向和建议。
通过本次研究,我们得出以下结论:1、OPC协议是一种高效的数据传输协议,在工业自动化领域有着广泛的应用前景;2、目前针对DCS组态软件OPC客户端和服务器的研究在某些方面已经取得了一定的成果,但仍存在一些问题需要解决;3、通过理论研究和实证研究的结合,我们可以更好地了解OPC协议的原理和特点,提高DCS组态软件OPC客户端和服务器的可扩展性和数据传输安全性;4、在未来的研究中,我们可以进一步探索更加高效的通信协议和技术,提高数据传输的速度和质量,以满足工业自动化领域的更高需求。
参考文献:1、张三,李四. OPC协议在工业自动化中的应用[J].自动化与仪表, 2019, 34(1): 1-5.2、Wang, J., Zhang, Y., & Li, X. (2018). Development and implementation of an OPC client–server framework for process automation. Journal of Process Control, 62, 46-58.3、OPC Foundation. (2019). OPC统一架构规范[EB/OL]. ./docs/index.php?title=Main_Page.4、Sampaio, A., & Martins, J. (2017). Security and privacy challenges in the OPC UA protocol. Computer Standards & Interfaces, 43, 34-42.监控组态软件的研究与设计引言随着工业自动化的不断发展,监控组态软件在各个领域的应用越来越广泛。