基于ASCII的单片机与组态王通讯设计

合集下载

基于组态王的modbus ascii通信测试

基于组态王的modbus ascii通信测试

MODBUS ASCII读写通信帧实例(组态王测试)======================= 实数(float) ====================1、读实数左边为通信传输帧,右边为ASCII码地址最大为FFFF解释3A开头0D 0A结尾表示ascii的回车换行30 31 表示读保持寄存器中间4bit为起始地址30 30 30 30,从0开始对应plc就是40001,由于浮点数占用2个寄存器,所以第二个实数对应plc地址就为40003,否则就会出现数据重叠紧接着的4bit为读取寄存器数量30 30 30 32 ,表示读取两个寄存器的值(对应浮点数)一次最多能够读取125个,对应30 30 37 44即0 0 7 D46 41 表示LRC校验位2、读取实数的反馈下图红色为读取实数的反馈值,在读取功能码(30 33)后面加了一个额外的操作码(30 34),表示读取成功,后面均为数据,紧接着就是校验位,结束位上位机实数值读取数据含义同读取帧,前为写入起始地址,后为写入数量表示写入操作码写入数据表示写入功能码3、写实数上图蓝色为写入实数数据帧,以872.09为例。

Acsii “:”、“01”、“10”分别为帧头、从站地址和写多个保持寄存器的功能码(因为写实数一次要写入2个寄存器)。

紧接着是 写入的起始地址和写入数据的数量(均为2的倍数) 写入数量后加一个操作码 30 34(“04”) 然后才是写入数据,校验位和结束帧。

4、写实数反馈写入成功以后会马上反馈一个成功标志,如下所示。

即将不带数据的写入帧按原样返回,注意04操作码不需要,校验位需要改变。

==========================整数(short )========================= 5、写入单个整数值为1234对应4D2;写入单个整数只有起始地址00006、写单个整数反馈(原样返回)值为123的反馈帧,007B;写负数-239,实际传输数据块为FF11,反馈一样7、读单个整数8、读单个整数的反馈帧反馈值为123, 7B反馈值为-239,FF11。

通用单片机通讯协议(ASCII)

通用单片机通讯协议(ASCII)
例如,
1、在单片机中定义从地址0开始的数据类型为BYTE型的变量:
则在组态王中定义相应的变量的寄存器为X0、X1、X2、X3、X4。。。。。。。。,数据类型为BYTE,每个变量占一个字节
2、在单片机中定义从地址100开始的数据类型为UINT型的变量:
则在组态王中定义相应的变量的寄存器为X100、X102、X104、X106、X108。。。。。。。。,数据类型UINT,每个变量占两个字节
bit3bit2 =1x,数据类型为浮点数。
数据地址:2字节4个ASCII码,0x0000~0xffff
数据字节数:1字节2个ASCII码,1—100,实际读写的数据的字节数。
数据…:为实际的数据转换为ASCII码,个数为字节数乘2。
异或:异或从设备地址到异或字节前,异或值转换成2个ASCII码
CR:0x0d。
46
30
30
30
46
30
34
31
30
46
46
46
46
30
30
字头
设备地址15
标志
写操作
浮点型
打包
数据地址15
数据字节数4
数据65535
30
30
0d
异或
若正确:
40
30
46
23
23
37
36
0d
字头
设备地址15
##
异或
若不正确:
40
30
46
2a
2a
37
36
0d
字头
设备地址15
**
异或
5.浮点数格式:
4字节浮点数=第一字节高4位ASCII码+第一字节低4位ASCII码

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

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

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

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

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

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

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

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

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

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

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

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

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

例如,可以使用控件的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、引言
组态王软件作为一种工业控制组态软件在国内已得到了非常广泛的应用。

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

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

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

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

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

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

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

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

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

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

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

组态王通用单片机协议(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。

单片机与组态王基于ASCII型通讯程序设计

单片机与组态王基于ASCII型通讯程序设计
单 片 机 与组 态 王 基 于 A Cl 通 讯程 序 设 计 S l 型
单片机与组态王基于 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

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

组态王通用单片机协议(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。

组态王与单片机通信实例

组态王与单片机通信实例

* 组态协议: 字头设备地址标志数据地址数据字节数数据… 异或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 0x0csbit 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为组态下传数据标志。

组态王与单片机的通信

组态王与单片机的通信

组态王与单片机的通信与设计前言本文主要是解决装有组态王的PC机与单片机的通信问题,这里选择通过计算机的COM1口进行串行通信。

单片机和PC机的串行通行一般采用RS-232、RS-422或RS-485总线标准接口,也有采用非标准的20mA电流环的。

为保证通信的可靠,在选择接口时必须注意:(1)通信的速率;(2)通信距离:(3)抗干扰能力;(4)组网方式,既可以保证正常通信时的最大通信端口数量。

这里采用RS-232接口与单片机通信的方法。

由于两者间的电平规范不一致,实现两者间的通信要解决接口电路的电平转换问题。

正文选题背景随着单片机和微机技术的不断发展,单片机的应用也从独立的单机向网络发展,由PC机和多台单片机构成的多级网络测控系统已成为单片机技术发展的一个方向。

在一个大型的应用系统中,通常由单片机完成数据的采集和上传,后台则通过PC机对数据进行分析并处理,复杂的还要建立数据库形成网络,二者的结合,充分发挥了单片机在实时数据采集和微机对图形处理、显示以及数据库管理上的优点,使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制,而形成了向以网络为核心的分布式多点系统发展的趋势。

随着微电子技术、计算机控制技术、工业以太网技术及现场总线技术的发展,作为用户无需改变运行程序原代码的软件平台工具——工控组态软件日渐成熟。

由于工控组态软件在实现工业控制的过程中免去了大量烦琐的编程工作,解决了长期以来控制工程人员缺乏计算机专业知识与计算机专业人员缺乏控制操作技术和经验的矛盾,极大地提高了自动化工程的工作效率。

近年来,工控组态软件在中小型工业过程控制工程、工业自动化工程中越来越受到欢迎。

不仅如此,工控组态软件还在配电自动化、智能楼宇、农业自动化、能源监测等领域也逐步展示了其独特的优势。

单片机控制系统以其高性能价格比、稳定、易于实现等特点而被广泛使用,但他难以实现动态复杂的图形监控界面;而组态王软件具有强大丰富的监控界面设计功能,却难以实现复杂的控制算法,而单片机则难以实现动态复杂的图形监控界面,若采用以单片机为下位机,以装有组态王的PC极为上位机的控制方式,将彻底改变原来单片机控制系统的单调、简单的控制界面的缺陷,进一步推动单片机控制方式的广泛应用。

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

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

组态王与单片机多机串口通信的设计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采用二线与四线平衡传输方式,二线制可实现真正的多点双向。

利用组态软件的单片机ASC_码协议进行多机串行口通信

利用组态软件的单片机ASC_码协议进行多机串行口通信

3 7 仪器仪表标准化与计量 2 0 0 4 ·1
Application and Practice
3 组态软件配置与单片机程序 3.1 组态王中设备配置
利用设备配置向导就可以完成串行通信方式的 I/O设备安装,安装过程简单、方便。在配置过程中, 用户需选择I/O设备的生产厂家、设备型号、连接方 式,为设备指定一个设备名,设定设备地址和串口。
图1 单设备通信连接图 当组态王计算机与多个 I/O 设备相连时,由于 RS-232 是一个点对点的标准,可以将 RS-232 转化 为 RS-485,再经过一次 RS-485 到 RS-232 的转化, 实现一个计算机串口连接多个 I/O 设备。此种方法 适合远距离传输信号。如图 2:
图2 多设备通信连接图
图7 其中格式:##.#。前面的两个字符是设备地 址,范围为0~255,此地址为单片机的设备地址,由 单片机中的程序决定;后面的一个字符是用户设定 是否打包,“0”为不打包、“1”为打包,用户一旦 在定义设备时确定了打包,组态王将处理读下位机 变量时数据打包的工作与单片机的程序无关。本例 中的单片机设备地址为 0,其它项正常设置即可。 3.2 组态王中变量的设置
(Information Department of Liaoning Mechanic and Electronic Professional Technological College, Dandong 408000) 【摘 要】 本文介绍一种在组态软件与进行多个单片机通讯的方法,不需要附加任何设备,直接利用组态 软件中提供单片机ASCI I 码协议来进行通信。 本文给出了调试成功的单片机程序及相应的PC 机中软件的设置。 【关键词】 组态软件 单片机 多机串行通信 ASCI I 码协议 Abstract:The paper introduces a multi-SCM serial communication method between configuration software and SCM . It donÕt need to attach any facilities, directly use the SCM ASCII protocol provided by configuration software to communicae. The paper also gives the successful program of SCM and the software configuration of PC.

单片机与组态王基于ASCII型通讯程序设计

单片机与组态王基于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的单片机与组态王通讯设计

基于ASCII的单片机与组态王通讯设计
if(Read==1) 邀 Read=0; Midd=SENT[DIZHI]>>4; if(Midd>9) Tbuf[5]=Midd+0x37; else Tbuf[5]=Midd+0x30; Tbuf[6]=(SENT[DIZHI]-Midd觹16); if(Tbuf[6]>9) Tbuf[6]=Tbuf[6]+0x37; else Tbuf[6]=Tbuf[6]+0x30; for(i=1;i<7;i++) crc^=Tbuf[i]; / / 发送前校验 Midd=crc>>4; / / 将校验结果作为校验位 if(Midd>9) Tbuf[7]=Midd+0x37; else Tbuf[7]=Midd+0x30; Tbuf[8]=(crc-Midd觹16); if(Tbuf[8]>9) Tbuf[8]=Tbuf[8]+0x37; else Tbuf[8]=Tbuf[8]+0x30; Tbuf[9]=OVER; for(i=0;i<10;i++) / / 发送出去 send_char_com(Tbuf[i]); 妖 if(Read==2) 邀 Read=0; UP_sent=SENT[DIZHI]>>8; Low_sent=SENT[DIZHI]-UP_sent觹256; Midd=UP_sent>>4; if(Midd>9) Tbuf[5]=Midd+0x37; else Tbuf[5]=Midd+0x30; Tbuf[6]=UP_sent-Midd觹16; if(Tbuf[6]>9) Tbuf[6]=Tbuf[6]+0x37; else Tbuf[6]=Tbuf[6]+0x30;
组 态 王 提 供 的 与 单 片 机 的 通 信 协 议 可 以 支 持 HEX 和 ASCII,其中 ASCII 开发比较简单。 文献[1]是基于 HEX 的,本文 以 ASCII 为例开发单片机和组态王的通讯程序。

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

组态王与单片机协议-通用单片机通讯协议(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码)字头:1字节1个ASCII码,40H设备地址:1字节2个ASCII码,0—255(即0---0x0ffH)标志:1字节2个ASCII码,bit0~bit7,bit0= 0:读,bit0= 1:写。

bit1= 0:不打包。

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

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

组态王软件与单片机串口ascii通讯的机制及实现方法作者:姜宝申组态软件广泛的应用于工农业生产的各个领域,是保证相关系统设备经济稳定安全运行的重要方式,是对传统控制方式的一次革命,得到了越来越广泛的应用。

很多工控及电子爱好者对这方面很感兴趣,都跃跃欲试,可苦于软件要想得到实际效果,就得连接设备,通过设备预设的寄存器与软件的变量进行连接,辅以命令语言,才能取得真正的体验。

软件支持的设备比如板卡、数字仪表、PLC、变频器等等都是属于工控设备,价格都比较昂贵,一般很难触及。

那是不是组态软件就不适合于我们用了呢,也不一定,比如国产的组态王组态软件支持单片机串口ascii 通讯,烧写了相应程序的单片机也可以当做组态软件的设备,和其他设备一样,也能完成诸如水位、行程等状态的监视及电机、阀门、灯泡、加热器等的启动停止,开与关,以及模拟量经AD转换后,通过串口以ascii码的形式传送给组态软件,只是这些功能的实现是依靠单片机的端口来完成,组态软件访问单片机,监视单片机所有端口状态,控制一部分端口的高低电平状态,辅以外部电气回路,同样能实现相应的功能。

例如:组态软件通过串口发送指令,控制单片机的某个输出端口的电平高低变化,端口通过驱动使继电器的触点闭合,电机转动,假如这个电机是带动水泵往水箱里面打水,水箱水位的预定位置装有触点,这个触点连接在单片机的另一个输入端口上,当水位到达触点位置,触点动作单片机的这个端口电平发生变化,这个变化通过同一个串口传回给组态软件,组态软件可以根据命令语言编写的程序酌情是自动还是手动停止电机运行,或者是调整电机的转速,保证水箱的水位在预设的范围内,这就是组态软件构成的控制系统的最基本应用。

图1相对而言,用单片机与组态软件实现的控制系统要比其他成品设备的组态稍微麻烦一些,不但需要了解掌握组态软件的工作机制,还需要单片机的软硬件及电路方面的知识,这里边的重点就是单片机的汇编或c语言编程,但掌握了组态软件的通讯协议,按协议编写,比较起来并不是很难。

基于ASCII的单片机与组态王通讯设计

基于ASCII的单片机与组态王通讯设计

基于ASCII的单片机与组态王通讯设计
雷钧;徐洪胜
【期刊名称】《工业控制计算机》
【年(卷),期】2010(023)012
【摘要】介绍了基于ASCIl的组态王与单片机之间的通信协议,设计了通讯流程,给出了通讯的MCS51源代码,该程序运行正常.
【总页数】3页(P17-19)
【作者】雷钧;徐洪胜
【作者单位】湖北汽车工业学院电气与信息工程学院,湖北,十堰,442002;湖北汽车工业学院电气与信息工程学院,湖北,十堰,442002
【正文语种】中文
【相关文献】
1.X25045与DS12887在组态王与单片机通讯模块设计中的应用 [J], 卫鹏斌;张慧;贺子奇;苏君;范长胜
2.组态王-单片机通讯设计及应用 [J], 傅宗宁;姜周曙;黄国辉
3.单片机与组态王基于ASCII型通讯程序设计 [J], 朱小超;徐雪春
4.单片机与组态王的通讯程序设计 [J], 赵学军
5.组态王与CC2430单片机通讯程序设计 [J], 颜鹏;贾建明;王迅
因版权原因,仅展示原文概要,查看原文内容请购买。

单片机ASCⅡ码协议进行多机串行口通信解析

单片机ASCⅡ码协议进行多机串行口通信解析

利用组态软件的单片机ASC II码协议进行多机串行口通信Using the SCM ASCII Protocol of Configuration Softwareto Proceed Multi-machine Serial Communication知娜(辽宁机电职业技术学院信息系,丹东市118002己沁Na(Information Department ofLiaoning Mechanicand Electronic Professional TechnologicalCollege,Dandong408000l摘蘸】本文舟鸳一种在绝态簌捧与进行多个荦片搬懑澈萄方法,不需要辩掬任露设备,矗接翻麓缝态软件中提供单片机ASCI1码协议来邀行通信。

本文给出了调试成功阁单片机程序及相应的PC机中软}牛曲接赣。

【关镰涌】组态鞔薛单旨礼多枫串{-通毯ASCII褥持泼Abstract:The paper introducesa multi—SCM serial communication method between configuration sol,rate and SCM.Itdo n’tneedtoattachanyfacilities,diI.ectlyH∞theSCMASCllprotocolprovidedbyconfigta'a60asoftware 埝colD/nuulcae.Thepaperalsogivesthe successfulprogram,ofSCM andthesolhvar 《configurationofPC.Key words:Configuration Software SCM Multi.SCM Serial Communication ASCII Protocolll富本文介绍的方法已应用于一个组态系统数据j}6=控系统,形成了网络艘擞仪表。

遮神通信方式只需器掌攘了组态软件中静ASCII协议,根据该游议来露单片机程序即可。

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

命令格式可查阅组态王使用手册。
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个
AS l 。 CI码
CR: x d。 0 0
单 片机 根 据 上位 机 组 态王 发 送 读写 的命 令 做 出 不同 的应 答 。
1 上 位 机 组 态 王 发 送 读 设 备 命 令 格式 为 : )
正常。
关 键 词 : 态王 , 片机 , 讯 , 组 单 通 串口
Ab t a t s r c
T i pa hs per n r itodu es he c t co munc t prt ol bewe Ki m ia i on ooc s t en ngViw d e an M CU b e on as d AS I he lw a i — CI T f o ch r s de t sgn a t pr gr m s r c de f CS51 i i ed nd he o a ouce o o M s prvi d o i plm en t e o m u cain o de f r m e t of h c m ni t pr o o otcol Th prgrm i s e o a s
al ady n oo wor ig o d r e i g d kn r er
Ke ywor : n dsKigViw, CU, m munc t e M co ia i s i -por on,er al t
目前 许 多 自动 化 监 控 系 统 是 由 P 机 作 为 上 位 监 控 计 算 机 C 与单 片机 作 为 下 位 机 所 组 成 。上 位 机 与 单 片机 通 过 串 行 通 信 方 式 进 行 数 据 交 换 , 位 机 以组 态 软 件 为技 术 平 台 , 成对 下 位 单 上 完
组 态 王 提 供 的 与 单 片 机 的 通 信 协 议 可 以 支 持 H X 和 E A C} 其 中 A Cl 发 比较 简 单 。文 献 [] 基 于 H X的 , 文 S J 1 S J 开 1是 E 本
以 AS l 例 开 发 单 片 机 和 组 态 王 的通 讯 程 序 。 Cl为 组 态王 发 送 数 据 格 式 为 :
雷 钧 徐 洪 胜 ( 湖北 汽 车工业 学 院 电气与信 息 工程 学 院 , 北 十堰 4 2 0 ) 湖 4 0 2
摘 要
介 绍 了基 于 ASCI的 组 态 王 与 单 片 机 之 间 的 通 信 协 议 , 计 了通 讯 流 程 , 出 了通 讯 的 MCS5 1 设 给 1源代 码 , 程序 运 行 该
《 业 控 制 计 算 机 } 0 0年 第 2 工 21 3卷 第 1 2期
1 7
基 于 A CI S 的单 片机 与组态王通讯设 计 I
De i n f Co sg o mmu ia in e we n nc t B t e MCU n Kig e Ba e n ASC o a d n Viw s d o
H AD E
设 备 地 址
异 或 CR 来自2 上 位 机 组 态 王发 送 写 设 备命 令格 式 为 )
HA 设 ED 备地址 标志 数 址 据地 敌 据字节散 数据 异或 C I 格式 4 R ( )
片机 控 制 系 统 的 数 据 采 集 和 监 控 任 务 。我 们 可 以利 用组 态 王 与
数据 地 址 : 2字 节 4个 ASCl码 ,x 0 0~ x 。 I 0 0 0 0 卅f
数据 字节数 : 1字 节 2个 A CI码 , ~ 0 S J 1 1 O,实 际 读 写 的 数
据 的字 节 数 。
数 据 : 实 际 的数 据 转 换 为 A C I , 为 S I码 个数 为 字 节 数 乘 2 。
H D EA 设 备地 址 标 志 数 据地 址 数据 字节 数 异或 CR
图 1 读 数 据 流 程 图
2 组 态 王从 单 片 机写 数 据过 程 如 图 2所 示 。 )
( 格式’ ) 3 上 位 机 组 态 王 数 据 定 义
相关文档
最新文档