资源描述:
工业 自 C P M2 A H P L C与 S T C 8 9 C 5 2 单片机之问的 串行通信设计及其应用 王 宏超 .吴 亦锋 福 州大学机械 工程及 自动化学院 , 福建福 州 3 5 0 1 0 8 程控制 器 P L C的 I / O资 源 ,采用功 能强大 的欧姆 龙 C P M2 A H P L C与 S I 、C 8 9 C 5 2单 片机作 为主要控 制器 , 系统 的硬件设 计 .首先说 明了二者 串行 接 口的工作特性 以及通信参数 的设 置方法 ,其次详 细分析了二者 的通 .并举例说 明了二者进 行通信的参数设置 ,最 后实现 了单 片机 与 P L C的通信 ,从而节省 了 P I C的 I / O点数的 该通信方式经 济且 可靠 ,在实际工程应用中有一定意义 。 关键词 串行通信 ;P L C;单片机 中图分类号 T N 9 1 5 . 0 4 文献标 识码 A 文章编号 1 0 0 9 9 4 9 2 2 0 1 0 0 9 0 0 3 5 0 2 l 刖吾 在 P L C组 成 的工 业 控 制 设 备 中 .用 户 多 利 用 其 并 行 接 口进 行功能的扩展 ,如键 盘 、显示 等 ,这就要 占用大量 的 I / O点 资源。其实 ,优 秀的 P L C都 配有高性 能的串行接 口 单元 S I U ,这个 S I U专 门负责高速 的 串行通 信任务 ,不 需要 或仅需 少量 的 C P U干涉 ,它将 C P U解放 出来集 中解 决 数据处 理或实 时控 制 问题 。P L C的 R S 一2 3 2 C接 口就 是 一 个 典型 的串行通信接 口 。它除可 以与计算 机 实现 1 l的 通信外 ,还可连接外 围设备 ,如条码判 读器 、串行打 印机等f l - 2 ] 。 若 能 利 用 单 片 机 丰 富 的 I / 0 口 资 源 和扩 展 灵 活 的 功 能 做 系 统 的 键 盘 、显 示 模 块 .通 过 RS 一 2 3 2串 口与 P L C进 行 通 信 ,对 P L C各寄存器进行读写 ,可充分 利用 单片 机成本 低 、扩展 方便 的 优点 , 使 P L C应 用 更 具 灵 活 性 。 本 j研 究 以 0MR 0N C P M2 AH PL C 与 S T C 8 9 C 5 2单 片机 为 主要 控制 核心 器 件 。设计二 者的通信 系统 ,说 明其 无协 议通信的实现 方法 ,介绍 一种经济 、可 靠的通信方式。 2通信接 口电路及其参数设 置 2 . 1通信 接 口 电路 设计 现代 P L C大 多具有 标 准 的 R S 一 2 3 2 接 口 ,可 以 与 P C机 、其 它 P L C、可 编 收稿 日期 2 0 1 0 0 3 2 2 程终 端等 设备进 行 串行通 信 。R S 一 2 3 2是 由美 国 电子 工业 协会 E I A制定 的异步传 输标 准接 口 ,最大通 信距 离为 1 5 m,发送 线 与接 收 线各 为一 条 ,采 用 负逻 辑 ,即逻 辑 “ 1 ” .一 5 V 1 5 V.逻 辑“ 0 ” 5 V~ 1 5 V,而 单 片机采 用 的是 I T I ’ L电 平 ,即逻 辑“ 1 ” 3 V~ 5 V,逻 辑 ⋯ 0’ 0 . 4 V.二者不 能互 相兼容 ,所 以得先进 行电平转换 。本文 使 用 MA X 2 3 2芯 片进 行 电平 转 换 。图 l所 示 为 0 MR 0 N C P M2 A H P L C与 S T C 8 9 C 5 2单 片机通过 MA X 2 3 2进行 通信 的硬 件 连 接 图 。 图 l P L C与 S r C 8 9 C5 2单 片机 通 信 硬 件 连 接 2 . 2通信 参数设 计 0 MR O N P L C采用 Ho s t L i n k协议与单 片机进行 1 1 通 信 ,单 片机 作为上位机 ,主动发送滨写命令 ,实现对 P L C 的数据存储 区 D M、继 电器 区 H R的指定位或 通道进行 强 制置位等读写操作 。通信前保证 单片机与 P L c具有相同的 通信参数 ,如波特率 、数据位等 具体设置方法将 在下面 介绍 ,P L C无 需编写任何 通信程序 ,只要用 户遵循通信 协议 的要求 ,发送 相应 的命 令帧 ,P L C就会 自动 做 出响 应 ,并将结果返 回给单片机 。 2 . 2 . 1 P L C串行 通 信 接 口设 置 通信前必须 先在 C P M2 A H P L C中设 置参 数如表 】所 示 表 1 P I C相关寄存器参数设置 参数 设置值 上位机链接端口通信模式 H O s t L i n k 置 D M6 6 4 5 1 2 ~ 1 5 位为0 端 口设置 l 暨 D M6 6 4 5 0 0 ,- .0 3 位为 1 波特率 9 6 0 o 置 D M6 6 4 60 0 - - 0 7 位为 0 3 启始位 l 数据位 8 鼍 DM6 6 4 60 8 一 l 5位 为 0 8 停止位 I 奇偶校验位 N 节点号 0 0 置D M6 6 4 8 0 0 -, ,0 7 位为 0 0 这些参数 在 O MR O N P L C编程 软件 C X P r o g a m m e r中 设置完成后 ,再传到 P L C后 才能生效 .并且要将 C P U单 元的通信开关 D I P开关 置 为 O F F状态 才能使其设 置值 有效 ,P L C才能实 现与单 片机通 信 。而 D I P开 关置 为 O N状态时的通信参数是由缺省值决定 ,无法 自行设置 。 2 . 2 . 2单片机串口设置 S T C单片机是一 款增强 型的 5 1系 列单 片机 ,完 全兼 容 MC S 一 5 l ,还 增 加 了 一 些 新 的功 能 .具 有 一 个 全 双 工 的 U A R T口 ,其 中 P 3 . 0 R X D为接 收端 .P 3 . 1 T X D为发 送 端 。通过 串行 口控 制 寄 存 器 S C O N和 电源 控 制 寄 存 器 P C O N这两 个特殊 寄存器控制其工作 。本文采用 串行通 信 丁作方式 1 ,方式 l是标 准的异步通信 方式 ,这种方式 每 帧 数据包 括 1 O位 l 位 起始 位 、8位 数据 位 、1个 停止 位 ,波特 率可变 ,由定时器 T l的溢 出率 和 P C 0 N波特率 选择位 S MO D决定 .波特 率采用 9 6 0 O b i t / s.4 l ,当 C P U 晶 振选 为 1 1 . 0 5 9 2 MH z时 ,单片机相应 寄存器参数 设置如表 2所示 表 2 单片机相应寄存器参数设置 寄存器名称 设置值 T MO D 2 0 H 设置定时器 1 为工作方式 2 T Hl 0 x f d H1 T L l 0 x f d H 波特率 9 6 0 0 b i t / s l S C o N 5 0 H 串口工作方式 1 .允许接收 3通信协议 上位 机链接 通 信协议 采用 0 M R 0 N H o s t L i n k 协议 , 在保证 P L C与单片机间通信参数设景一致后 ,单片机编写 相应控 制命 令的发送和接收程序 ,P L C接收来 自上位机发 送 的 A S C Ⅱ码控制命令时 .自动 以 A S C I I 码做出响 直。 3 . 1 命 令帧格 式 [ 5 ] 单 片机发送到 P L C的命令帧格式如表 3所示 。 表 3 单片机发送到 P L C的命令帧格式 I节点号 l头代码 l开始字 l字数 l F C S I终止符 起始码 。必须置于每个发送命令的开头 ; 节点号 每个 P L C的地址 ,设置在 D M 6 6 4 8中节点号 头代码 设置 2字符的命令代码 如 WD、R L ; 开始字 指定字开始进行操作 ; 字数 指定操作字数 ; F C S 设置 2字符的帧检查顺序代码 终 止符 设 置 2个字符 , “ 和回车 C HR 1 3 以 表示命令的结束。 注 F C S为所有字符 A S C I I 码异或运算 的结果。 3 . 2应答 帧格 式 【 】 P L C到单片机 的响应帧格式如表 4所示。 袁 4 P L C到单片机的响应帧格式 l 节点 号 l 头 代码 l 尾码 l 读数据 l F C S I 终止 符 起始码 ,必须置 于每个发送命令的开头 ; 节点号 每个 P L C的地址 .设 置在 D M 6 6 4 8中的节点 号 头代码 返 回 2字符的命令代码 如 wD、R L ; 尾码 表示命令完成的状态 0 O H为正常完成 ; 读数据 当有读数据时才有 内容 ; F C S 设置 2字符的帧检查顺序代码 ; 终止符 设置 2个字符 , “ 和回车 C H R 1 3 以表示应答的结束 。 注 F C S为所有字符 A S C I I 码异或运算的结果 。 3 . 3应 用举例 将 C P M2 A H P L C的 O 0 0 0通道 的 o o位置为 1 。 单片机发送 到 P L C的命令帧如表 5所示。 表 5 单片机发送到 P L C的命令帧 P L C到单片机 的响应帧如表 6 所示 。 下转第 7 6页 与开发 [ 5]张永才,蔺天存 .齿轮传动误差 的检 测 [ J ].机械科 学与技 术 ,1 9 9 2 ,4 2 2 6 2 6 5 . [ 6]彭 东林 ,张兴红 ,刘小康,等.基 于时空转换 的精 密位移测 量新 方法与传统方法的比较 [ J ].仪器仪表 学报,2 0 0 6 ,2 7 4 4 23 4 2 6 . [ 7 ]陈 自然.基 于绝对 式位 移传 感器的传动误差检测 系统设计与 开发[ D].重庆重庆理工大学 ,2 0 0 9 . 上接 第 3 6页 表 6 P L C到单片机的响应帧 P L C响应尾码 0 0 H A S C I I 码为 3 0 H ,表示操作正常 完 成 。 4单片机的通信编程 单片机 与 P L C进行通信 ,单片机主动发送命令帧启动 通信 ,通信结束后 ,根据单片机所发 指令 P L C立即作出相 应的响应 。无须 编写任何通信程序 ,然后把 响应 帧返 回给 开始 定时器 ,串口卡 J J 始化 T S 命令 ,测试 串u 接收响应帧 WD命令 ,发送数据 接收响应帧 返回码足O O H吗 图 2 查询方式下的程序流程图 单 片机 ,单 片机接 收 P L C的响 应帧 。进行 数据 处理 。单 片机程 序包括 发送命 令子程 序 、数据处理 子程序 等 。 S T C 8 9 C 5 2单 片 机可 以工 作在查 询方 式和 中断方式 ,在查 询方式 下 ,单 片机 实 时进行查询 。随 时与 P L C从 站 进 行 通 信 . 其 中 R I为 数 据 接 收 完成 标志位 、T I 为 数 据 发 送 完 成 标 志 位 . 但 这 种 方 式 单 片 机 的 工作效 率低 .在单 片 机任务繁 忙时不 宜采 用 . 以 免 影 响 主 站 的 工作效率 。在 中断方 式下 .在引发中断后单 片机 才查 询通 信状 态 ,从而进行接 收和发送操作 。其余 时间主站可以执 行其 它任务 ,工作效 率高 。本设计采用查询方式 ,程序流程 图如图 2所示 。 用 随着人们使用汽车数量的急剧增加导致城市停 车问题 不断 恶化 ,为了缓解停 车 难问题 ,立体 停 车库就 应运 而 生 ,现在大多数立体停 车库都采用 P L C作为其 主控 制器 . [ 8 ] 彭 东林 ,刘 小康 ,张兴红 ,等.精 密 时栅位 移传 感器研 究 [ J ].制造技术与机床,2 0 0 5 1 1 9 8 - 1 0 1 . 第一作者简介 刘锋 ,男 ,1 9 7 9年生 ,山东高唐人 ,硕士研究 生。研究领域 新 型机械传动系统及其 C A D / C A E。 编辑 昊智恒 因整个 系统需要用 到较多的 I / 0资源 .如果 人机接 口部分 直接使用 P L C的 I / 0点会使 整个 系统价格膨胀 。本设计应 用单片机与 P L C通信 ,充分利用各 自的长处 ,由单片机完 成键盘输入 、显示等功能 。而 P L C集 中处理立体停车库的 控 制问题 。从而使得整个系统既工作可靠 、使用 方便 ,又 大大降低了成本 。 6结束语 本研究 提出了设备 间一种 全新 的通信方式 .通过对欧 姆龙 P L C、单片机 串 口特性 与及通信协议的介绍 ,详细说 明了该方式 的实现方法 。该方法不仅充 分利用了 P L C功能 强大 、抗干 扰能力强等优点 ,也利用 了单片机 编程灵活 、 价格低廉 等优点 。该通信方式 已成 功应 用于立体停车库控 制 系统 中。实践结果表明 ,该方式是一种 经济方便 的通信 方式 ,具有稳定性好 、运行可靠 、易于开发 、成本低 等优 点 。今后可考虑采用与上位机进行无线通信 等方法 ,实现 上位机对 P L C控制设备系统进行无线控制 ,使控制更加灵 活 、可靠。 研 究结果表 明这是一 种经济 、灵 活 、低成 本的方法 , 具有较好的实用价值 和经济效 益 ,在实际工程应用 中有一 定 意 义 。 参考文献 [ 1 ]李辉 ,郑宁.P L C与单片机之间的 串行通信及 应用 [ J ].电 工技 术 ,2 0 0 3 8 6 7 6 8 . [ 2 ]冯怀 迪 ,周亚 军.通信 协议 设计 与 实现[ J 】.机 电工程 , 2 0 0 9 1 1 9 1 - 9 3 . [ 3 ]欧姆龙 公 司.欧姆龙 C P M2 A C P M2 AH 系列 P L C操 作手册 [ Z ].2 0 0 3 . [ 4 ]胡汉才.单片机 原理及接 口技 术 f M].北京 清华大学出版 社 .2 0 0 4 . [ 5 ] 欧姆 龙公 司.欧 姆龙 C P M2 A H 系列 P L C 编程 手 册[ Z ]. 2 0 0 3 . [ 6 ]吴亦锋.可编程序控制 器原理与应 用速成[ M].福 州福建 科技 出版杜 .2 0 0 4 . [ 7 ]郭宗仁 .昊亦锋 ,郭永.可编程序控 制器应用 系统设计及 通 信网络技术[ M].北京 人民邮电出版社 ,1 9 9 9 . 第一作者 简介 王宏超 ,男 ,1 9 8 7年 生 ,福建 泉州 ,硕 士研究 生。研究领域机电自 动化控制系统。 编辑 吴智恒 [二] 丑]
展开阅读全文