组态王与单片机ASCII通讯协议详解

版权申诉
0 下载量 187 浏览量 更新于2024-08-22 收藏 106KB DOC 举报
"通用单片机通讯协议ascii.doc" 是一份关于如何使组态王(一种工业自动化软件)与单片机进行通讯的文档,主要涉及通讯参数设置、设备地址和存放器定义以及命令格式。 1. **通讯参数设置**: - 通讯方式:支持RS-232, RS-485, 和 RS-422 三种串行通讯接口。 - 波特率:可选2400, 4800, 9600, 或 19200bps,具体值由单片机程序决定。 - 字节数据格式:包括起始位、数据位、校验位和停止位,这些也由单片机决定。通常,数据位可以是5到8位,校验位可选无、奇、偶、标记或空间,停止位一般为1或2位。 2. **设备地址定义**: - 设备地址以“##.#”的格式表示,前两个字符是设备地址,范围0到255,这与单片机程序中设定的地址对应。 - 第三个字符决定是否打包数据传输,“0”表示不打包,“1”表示打包。如果选择打包,组态王会负责数据的打包工作。 3. **存放器定义**: - 存放器名称由用户自定义,每个存放器都有其上限和下限,以及数据类型,比如FLOAT(浮点数)、BYTE(字节)和UINT(无符号整数)。 - 数据地址(dd)与单片机的内存地址对应,不同类型的数据占用不同字节数:BYTE占1字节,UINT占2字节,FLOAT占4字节。 - 定义变量时,同一数据区内不可交叉定义不同数据类型的变量,建议使用连续的地址空间以优化通讯效率。 4. **命令格式**: - 命令格式包含字头、设备地址、标志、数据地址、数据字节数、实际数据、异或校验和回车符(CR)。 - 字头是固定ASCII码40H。 - 设备地址是1字节的ASCII码,范围0到255。 - 标志位用于指示命令的类型,例如读取还是写入操作。 - 数据地址和数据字节数指示要操作的变量及其大小。 - 异或校验用于错误检测,确保数据传输的准确性。 - CR(回车符)作为命令的结束标识。 这份文档对于理解组态王如何与单片机通过ASCII协议进行数据交换非常重要,对于开发基于单片机的控制系统或者进行工业自动化项目的人来说,是实现系统间通讯的基础。正确配置通讯参数、定义设备地址和存放器,以及遵循正确的命令格式,都是保证通讯成功的关键步骤。