台达变频器和单片机的通讯介绍(软件部分)_第1页
台达变频器和单片机的通讯介绍(软件部分)_第2页
台达变频器和单片机的通讯介绍(软件部分)_第3页
台达变频器和单片机的通讯介绍(软件部分)_第4页
台达变频器和单片机的通讯介绍(软件部分)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

台达变频器和单片机通讯介绍台达变频器和单片机通讯介绍 软件部分软件部分 本文摘要本文摘要 台达 VFD 全系列变频器均能够通过通讯进行参数的读写和控制 随着 单片机功能的越来越强大 在嵌入控制中的应用更加的广泛 如何实现单片机 和变频器之间的通讯是本文的介绍重点 同时本文给出了单片机和变频器通讯 的硬件电路图和通讯源程序 C51 从而更加方便读者更加深入的了解通讯的内 容 关键词关键词 变频器 C51 单片机 引言 引言 在 台达变频器和单片机通讯介绍 硬件部分 中我们把单片机和变 频器通讯的硬件电路搭建起来 并且讲述了单片机通讯结构 也就是单片机的 通讯方式 在本文中我们将根据各自的通讯方式和通讯协议来进行编写通讯软 件 本文中的软件开发环境使用了 KEIL C 编程语言采用了 C51 台达变频器通讯协议介绍台达变频器通讯协议介绍 台达变频器通讯字符格式有 ASCII 和 RTU 格式 如下图 对于台达变频器的通讯格式 我们在作工程中或者是 DCS 系统中 我们只 是需要把相关的设置设置正确就可以进行通讯 但在单片机通讯中我们必须更 加深入的了解资料格式的含义 熟悉 BIT 流在整个通讯通道中是如何发送和接 受的 这样才能实现真正的报文握手正确 单片机通讯格式的设定单片机通讯格式的设定 在本程序中采用了每一帧数据发送 10 位 BIT 波特率为 9600 的协议 函 数 init serial 主要完成了单片机串行通讯相关寄存器的初始化 函数 ASCII 实现了台达变频器通讯协议转环卫 ASCII 协议格式功能 软件调试软件调试 单片机程序通过在 KEIL 环境下开发编译的 调试界面如下 通讯效果 该电路稳定可靠和台达变频器通讯 通讯源程序通讯源程序 本程序是 AT89C52 单片机和台达 B 系列 M 系列 L 系列 F 系列通讯例 子 通讯协议 ASCII 格式 帧格式为 1 位起始位 7 位数据 奇偶位 或无 结束位 共 10 位 台达 VFD 系列变频器一帧的通讯格式 第 0 位 起始位 第 1 2 位 站号地址 第 3 4 位 功能号码 第 5 6 7 8 位 写入的地址 第 9 10 11 12 位 传输 数据 第 13 14 位 校验码 第 15 116 位 停止 0X0D 0X0A 该程序通过向 2000H 地址写入 0012H 数据来启动变频器 向 2000H 地址写 入 0012H 数据来停止变频器 由 P1 0 来控制 MCU 发送数据 P2 来控制通讯指示灯 编译环境 KEIL V3 30 作者 刘元刚 部门 中达电通股份有限公司 AMD 产品处 编写时间 2008 1 8 修改时间 修改内容 include char send 17 0 char send1 8 0 x01 0 x06 0 x01 0 x00 0 x17 0 x70 0 x86 0 x22 char count int temp bit motor flag 0 ASCII 格式变量定义 char number 设备站号 char function 功能 char address h 地址高 char address l 地址低 char data h 数据 char data l 数据 char CRC H 校验 char CRC L 校验 char send temp int sum temp 函数 ASCII 实现了台达变频器通讯协议转换为 ASCII 协议格式的功能 void ASCII void init serial 函数串行通讯初始化函数 实现了 波特率的设定 定时器的选择 发送模式的选择 void init serial void 函数 ASCII7N2 以数据格式 7 N 2 方式发送数据 void ASCII7N2 void 函数 ASCII7O1 以数据格式 7 O 1 方式发送数据 void ASCII7O1 void 函数 ASCII7E1 以数据格式 7 E 1 方式发送数据 void ASCII7E1 void main init serial VFD 系列变频器通讯资料初始化 number 0 x01 function 0 x06 address h 0 x20 address l 0 x00 data h 0X00 data l 0 x12 while 1 if P1 0XFF for temp 0 temp 3000 temp 延时一段时间 if P1 0XFF P2 0 TI 0 ASCII 发送数据的处理 ASCII7N2 以通讯协议为 ASCII 9600 7 N 2 发送数据 ASCII7O1 以通讯协议为 ASCII 9600 7 O 1 发送数据 ASCII7E1 以通讯协议为 ASCII 9600 7 E 1 发送数据 for temp 0 temp 10000 temp 发送完数据之后延时一段时间 for temp 0 temp 10000 temp motor flag motor flag 完成了变频器启动和停止之间的切 换 if motor flag 1 data l 0 x11 else data l 0 x12 P1 0XFF P2 0XFF 函数 nop 名称 void init serial void 函数功能 参数列表 返回值 影响资源 实现过程 void init serial void SCON 0 x40 工作在方式 1 TMOD 0 x20 TH1 0 xFD 波特率为 9600 晶振 11 0592MHZ TL1 0 xFD TR1 1 启动定时器 1 P1 0XFF void ASCII7N2 void for count 0 count 17 count SBUF send count 0X80 while TI 0 TI 0 void ASCII7O1 void for count 0 count 17 count temp 0 ACC send count send temp ACC temp P send temp temp 7 send temp SBUF send temp while TI 0 TI 0 void ASCII7E1 void for count 0 count 17 count temp 0 ACC send count send temp ACC temp P send temp temp 7 send temp SBUF send

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论