基于ARM和I2C总线的嵌入式PLC设计.pdf
电气 自动化 2 o l 0年第 3 2卷 第 4期 嵌 入 式 系 统 . .E. . .m.. . . . .b. . .e...d. . . .d.. .e. . .d. . . . ..S. .y. . .s.. .t. . .e. ..m. s 基于 A R M和 1 2 C总线的嵌入式 P L C设计 西安交通大学 西安 7 1 0 0 4 9 田 军甘永梅熊伟 摘要 P L C是一种应用非常广泛的工业 自动化控制装置 , 该文针对传统 P L C在现代控制领域不能满足智能化 、 多任务的要求 , 提出了一种 基于 A R M和 I 2 C总线 以及带有 L i n u x 操作系统的嵌入式 P L C控制装置 , 具体给出了硬件的设计 以及操作系统的实现过程。 关键词 A R M P L C I 2 C总线嵌入式 L i n u x 移植 【 中图分类号] T P 3 6 8 【 文献标识码] B 【 文章编号】 1 0 0 0 3 8 8 6 2 0 1 0 0 4 . 0 0 3 8 0 4 Th e De v e l o p me n t o f Emb e d d e d PL C Ba s e d o n ARM a n d 1 2 C Bu s X i 0 n J i a o t o n g U n i v e r s i t y , X i a n S h a n x i 7 1 0 0 4 9 , C h i n a T i a n J u n G a n Y o n g m e i X i o n g We i Ab s t r a c t P LC i s a ki n d o f d e v i c e wh i c h h a s b e e n wi d e l y a pp l i e d i n i n du s t r i a l a u t o ma t i o n c o n t r o l s y s t e m,t hi s pa pe r a i ms a t t h e d e ma n ds o f i n t e l l i g e n t a n d mu l t i mi s s i o n w h i c h t r a d i t i o n a l P L C c a n ’ t me e t ,a n d d e s i g n s a k i n d o f e mb e d d e d P L C c o n t r o l s y s t e m w i t h L i n u x o p e r a t i n g s y s t e m b a s e d o n ARM a n d t h e I 2 C b u s ,h o w t o d e s i g n h a r d wa r e c i r c u i t a n d o p e r a t i n g s y s t e m a r e il l u s t r a t e d i n d e t a i l . Ke y wo r d s ARM PL C I 2 C bu s e mb e d d e d l i nu x p o i n g 0 引言 可编程控制技术是基于微处理器的控制技术 ,基于微处理器 的可编程控制器 P L C 自问世 以来 , 已取得迅速的发展 , 成为工业 自动化领域应用最 为广泛 的控制设备。随着工业技术 的发展以及 规模 的不断扩大 , 传统的 P L C面临着 I / O点数增多、通讯 功能需 要增强等诸多方面的挑 战。随着嵌入式 P L C的发展 , 具有嵌入式 操作系统的 P L C将会给 P L C领域带来新的变革 , 成为 自动化领域 发展 的方 向。 以A R M为代表的3 2位高性能微处理器促使了嵌入式系统的 高速发展 , 使 系统开发更加方便 、 灵活 。 同时 , I 2 C总线的发展使得 总线速度已达 3 . 4 M b p s ,扩展了通讯距离,具有出色的热插拔功 能, 并拥有一整套完善的产品, 包括大量的集线器、 中继器、 多路复 用器 和开关等器件 ,将 I 2 C技术从 芯片间二线通讯的简单应用发 展 到功能强大 而且全面 的控制 网络 。嵌入式 L i n u x 具有 内核可裁 剪 、 效率高 、 稳定性好 、 可靠性高 、 移植性好 、 源代码开放等优点 , 还 内含 了完整 的 T C P / I P网络协议栈 , 很适合在嵌入式领域应用。 以上各种技术的发展 , 构成了本研究实现 的技术基础 , 促使 了 基于 A R M与 I 2 C总线并结合 L i n u x操作系统 的嵌 入式 P L C控 制 装置的开发 。 1 P L C系统 的硬件设计 1 . 1 系统的整体结构 本 P L C控制系统采用模块化结构, 如图 1 所示。分为电源模 块、 C P U模块、 数字量 I / 0输入模块、 数字量 I / 0输出模块和模拟 量 I / 0模块 , 通过底板连接模块将各个模块连接起来 。其 中底板 在 电气上 实现各模块 间的联 系 ,使 C P U能访问底板上 的所 有模 块; 机械上实现各模块间的连接, 使各模块构成一个整体; 电源模 块为整套装置提供各种等级工作电压 ; C P U模块是整个 P L C系统 的核心 , 与其他 I / 0模块构成 P L C系统 , 通过在 C P U模块 内移植 3 8 l Ele c t r i c aI Au t o ma t io n 嵌入式系统 ,来 执行用户所 编写 的应用程序 ,采 集输入模块 的信 号 ,经过处理来 控 制 其 他 I / 0 模块的输 出 ,达 到用户所预期 的 效果。 模 CP 块 U 模块 I I I l l I 器 l I I i I i l 蓄 底板连接模块 图 1 P L C系统的整体 结构 1 . 2 C P U 模块 设计 微处理器是嵌入式系统硬件结构 的核心部分 ,从系统应用的 工业领域、成本 因素以及开发周期等多方面考虑 ,本设计中采用 A T M E L 公 司的 A T 9 1 R M 9 2 0 0微处理器作为主控芯片, 这是一款基 于 A R M9 2 0 T核 的高性能 、 低功耗 1 6 / 3 2位 R I S C 精简指令集计算 机 微处理器 , 内部集成丰富的外设资源 , 适用于要求外设资源丰 富 、 功耗低 、 工作严格稳定的工业 控制 等方 面, 如嵌入式工业 控制 、 医疗设备、 网络通信 等。片内集成 的外围功能模块 , 主要包括 7个 外部中断源和 1 个快速中断源, 4个 3 2位的 I / 0控制器, 2 0通道 外 围数据控制器 P D C或 D MA , 1个 1 0 / 1 0 0 M 以太网控制器 , 2 个 U S B 2 . 0主机接口, 1 个 U S B 2 . 0设备接口, 4个 U S A R T 通用 同步 / 异步串行 1 1 , 1 个主/ 从 S P I 串行设备接 I I , 1 个两线 串行 接 口 T wI 主模式 , J T A G/ I C E接 口等。 如 图 2所示 , 在 C P U模块 中,复位芯 片电路保证系统运行的 稳定 ; 扩展 的 1 6 MB容量 的 S D R A M用来执行 内部的嵌入式操作系 统 , 可以提高整个系统的运行速度 ; 扩展的 8 MB容量的F l a s h芯片 主要作 为嵌入式 操作 系统及应 用程序的存储 ;R S 2 3 2通信接 口 1 作为整个系统的监视接口,通过上位机提供的接口软件 w i n d o w s 下利用超级终端 、 L i n U X 系统下利用 m i n i c o m 来监控系统的启 动信 息 ,同时作为调试 接 口,可 以通过一些命令来实现对 P L C存储器 _嵌 入 式 系 统 .E mb e d d e d S y s t e ms 的操作 ,以 及一些系统 变量的设 置 等 功 能 ; R S 2 3 2通信 接 口2是 系 统预 留 的 9 针 通 讯 接 图 2 C P U模块框图 口,可 以用 来和外部其他的设备进行通讯连接 ; J T AG接 口采用 2 O针标准 , 用 于芯片内部测试及对系统进行仿真、 调试; 以太网接口可以方便地 实现与上位机的通讯 , 用来 快速 下载嵌入式系统和应用程序 , 监视 系统运行时的一些状态变化 , 实现上位机与 P L C系统之间 的信息 交互 , 同时也可 以很容易地组成 工业 以太 网; I 2 C总线接 口是整个 P L C系统的核心总线 , C P U模块作为 I 2 C总线 的主器件 , 各种控制 信息通过总线传递到 I / 0模块 的从器件 , 输入模块的状态通过总 线传递到 C P U模块 , 经过程序处理后 , 再控制各个输 出模块的状 态变化 。 1 . 3 数字 量输 入模块 设计 在一般 的 P L C系统中 ,C P U通过输入 电路来读取各 种开关 、 按钮、 电磁 阀门和继 电器等的开关状态。工业 现场 的复杂环境 , 各 种设备之间不可避免地相互干扰 。比较理想的解决方 案是对各个 设备之间进行电气隔离,使最初互相连接的设备变成相对独立的 设备单元 , 这样就会大大减小相互之 间的干扰 。 本套P L C装置采用 N X P的工业级 P C A 9 5 3 9芯片实现数字 I / 0的输入和输 出 , 这是一款 1 6 位通用并行输入 / 输 出口 G P I / O 扩展芯片, 带 中断和复位管脚 , 可以配置为输入或输 出 在输入 I / 0模块 中设置为输入 , 在输 出 I / 0模块 中设置为输 出 , 允许 多个 器件 1 6个 挂接在总线上而不会产生地址冲突 。 系统 主控制器通 过写 I / 0 口相应 的配置位来激活端 口的输入或输 出。 每个输入或 者输出口的数据保存在相应的输入或输出寄存器中。读寄存器操 作 的极性根据极性反转寄存器 内容而反转。系统主机能读取所有 寄存器的内容。 另外 , N X P还提供了大量 的 I / 0接 口芯片 , 可 以很 方便的将 P L C控制系统 的 I / 0点数 扩展 到几千点 以上 。 本 系统 主要 处理的是 0~ 2 4 V的电磁 继电器信号 。在设计本 模块的时候, 为了提高整套装置的抗干扰性, 采用工业现场与 P L C 系统之 间进行有效隔离的方法 ,继电器信号采 用光电耦合器进行 隔离,将现场 电平转换成可以处理 的 T T L电平 P C A 9 5 3 9的输入 输 出口兼容 ,r I ’L电平 , 最高耐压值 为 5 V 。 如 图3 所示 , 这是 输入模块 的典型 电路 图, 现 场 电平 1 0 . 0 经 过输 入处理 电路 到达 光耦 输入 两 端 , 这部分 电路 主要 由 1 、 R 2 、 R 3 、 D 1 、 c 1 组成 , 作用是限制输入信号 1 0 . 0 的输入电流的大小 ; 1 与 1 一起构成 稳压电路 , 既可 以防止输入 的过 电 压 , 又可稳定供给光耦的驱动电压 , 还 可以防止输 入信号 1 0 . 0 极性接反而击穿光耦 ; 1 、 c 1 、 R 3 又 一 起组成一个低通滤波器 , 抑制输入信号 中的高 频 干扰。 电阻 R 2 是滤波 电容 c 1 上电荷 的泄放 电 电气 自动化 2 m o年第 3 2卷 第 4期 图 3 数字输入模块典型原理图 阻 , 当输入断 开时 , 1 0 . 0 呈 开路 状态 , 此时 c 1 上 的电荷通 过 R 2 释 放掉 。 在光耦 的输 出电路 中, R 4 和 D 2 组成一个 发光 L E D灯的指示 电路 , 用来显示输入 信号的状态 , 非 门 U 2 用来实现 输入 信号 1 0 . 0 与处理信号 X 0 之间的高低逻辑同步。 X 0 信号输入到 P C A 9 5 3 9 中 进行处理 。 1 . 4 数字输 出模块设计 在工业 现场中 ,P L C产生的各种输出信号经过输出接 口用来 控 制和驱动各种 负载 , 比如指示灯的亮灭 , 电动机的启 动、 停止或 者正反 转、 设备 的转动 、 阀门的开闭等 。 本文主要处理 的是 0 2 4 V 的电磁继电器线圈控制信号。为了保证工作的可靠性,提高抗干 扰 能力 , 在输出接 口内采用了相应 的隔离措施 。 如 图 4电路所示 , 输出模 块的典型电路可 以分为三个部分 , 对 P C A 9 5 3 9的输 出信号 Y 0进行光耦隔离 、非门处理 以及输出驱 动 。其 中光耦隔离部分和输入模块非常相似 ,不 同之处在于光电 耦合器 的原边由 3 . 3 V电平驱动 , 因此驱动电路简单。输 出和输入 模块的最大不同在于输出驱动部分,输出驱动电路的核心是达林 顿管阵列集 成芯片 U L N 2 8 0 3 ,这是一款集成 的继 电器驱动芯片 , 可以同时驱动 8 路 继电器输 出。在继 电器 的控制电路中 , D l 是输 出状态的 L E D指示灯 , R 3是 LE D的限流电阻 , 稳压管 D 0既可防 止继 电器线 圈过 电压 , 同时可 以抑制 U L N 2 8 0 3输出截止 瞬间使继 电器线 圈上产生反 向高压 , 从 而保 护 U L N 2 8 0 3以免反 向击穿。 1 . 5 模拟量 I / O模块设计 模拟量输入/ 输出信号可有电压和电流两种 ,常用的模拟量 输入 / 输 出信号为 0~1 0 V和 4~ 2 0 m A, 本 文选择这两种信号进行 处 理 。 在模拟量处理电路中 ,采用 了 P C F 8 5 9 1 芯片 ,这是一款单电 源、 低功耗 8位 C O MS型 A/ D、 D / A转换芯片, 它具有4路模拟量 输入 通道 、 一路模拟量输出通道和 1个 I 2 C总线接 E l 。 该器件具有 多路模拟量输入 、 片上跟踪保持等功能 ; A/ D与 D / A的最大转换 速率由I 2 C总线的最大传输速率决定 ; 单电源供电2 . 5 6 V 4个 模拟输入可编程为单端或差分输入 ;两条双向串行 I 2 C总线实现 地址 、 数据 和控制信号 的输A / 输 出。 本系统中采用 3 . 3 V供 电, 所 以 P C F 8 5 9 1 输入模拟 电压范 围为 0~3 . 3 V。 在本模块 中 , 采用两片 图 4 数字输 出模块典型原理图 E l e c t r ic a I Au t o ma t io n l 3 9 广 L 电 气自 动 化 1 2 0 1 0 年 第3 2 卷第4 期 嵌 入 式 系统 .E mb e d d e d Systems l 0 V电 昔号 A G U T . I o V E 唐号 P I F 8 5 9 1 1 竺 竺 厂 r L 竺竺 厂 r 1 j I 电黻 m 电 氚 f 言 号 图 5 模拟量 I / 0模块框 图 P C F 8 5 9 1 芯片 , 实现 6路模拟电压输入 , 2路模拟 电流输入 , 1 路模 拟 电压输出以及 1 路模拟 电流输出。 通常现场可能有多路模拟信号需要采集 , 需要在进入模块前 , 对模拟量信号进行转换和预处理,把他们变换成输入模块能统一 处理的电信 号, 经多路转换开关进行多 中选 一 , 再将已选 中的那路 信号进行 A / D转换 , 转换结束后供P L C进行必要处理。 如图 5 所示 ,预处理部分主要完成信号滤波 、电平转换等功 能 , 先把现场 的被测模 拟量规范化 以后 , 转变成 A/ D转换适用的 电压信号后进行转换 。电压输 入信 号通过滤波和电压钳制 电路 , 防止过电压信号 的突然出现而影响 P L C系统 , 再进行 电平增益转 换输入 到 P C F 8 5 9 1的 A / D接 口; 如果是 42 0 m A电流输入, 首先 进行 I / V转换再进行处理 。 P C F 8 5 9 1的模拟量输 出信号经过内部保持 器保持 ,以便在新 的输出信号 到来之前 , 能维持 已有的输出信 号不变 , 从 而使执行机 构驱动信号得到保持, 保持器的输出信号经过滤波、 增益转化和功 率放大电路送到执行机构 , 输出 0~1 0 V的电压 , 控制执行机构按 要求的控制规律动作 ; 如果执行机构是要求 电流驱动 的, 则必须在 功率放大电路之后增加 V / I 变换环节 ,将输 出的 0~1 0 V电压转 换为 4 2 0 m A电流 。 2 P L C系统 软件设计 2 . 1 嵌入式 P L C操作系统的选择 从 开发环境 的成本 、源码 的开放程度以及可用 资源 的丰富程 度考虑 ,本 套 P L C装置采用嵌 入式 L i n u x 操作 系统 。由于嵌入式 L i n u x具有的优势, 越来越 多的企业和科研机构已经把 目光转 向了 嵌入式 L i n u x的开发和应用上 。归纳而言 , 嵌入式 L i n u x 至少具有 以下九点优势 开放 的源码 , 丰富的软件资源 ; 功能强大的 内核 , 性 能高效 、 稳定 , 多任务 ; 支持多种体系结构 ; 完善的网络通讯 、 图形、 文件管理机制 ; 支持大量 的周边硬件设备 ; 大小 、 功能都可定制 ; 良 好 的开发环境 , 不断发展的开发工具集 ; 软件开发者 的广泛支持; 价格低廉。 因此, 本文选择 L i n u x 一 2 . 4 . 1 9内核版本作为嵌入式操作系统 。 2 . 2 嵌 入式 P L C软 件 的整体 分析 如图 6所示 ,这是本装置软件 的启动流程,系统在上电或者复 位 以后 , 首先检查硬件 , 在确认完好的情况下, 实现网口、 串口、 I 2 C B o o t l o a d e r f 导程序 L i n u x 操作系统 系统服 务程序 用户 麻用程 序 图 6 嵌入式 L i n u x的开发流程 图 7 软件 系统组成 4 0 I E l e c t r ic a I Aato ma t io n 总线、系统中断以及其他 硬 件 的驱 动 ,成功 启 动 L i n u x 操作系统 , 然后执行 固化 在 C P U模块 中 的系 统内置程序 , 完成 P L C装 置的三种状态 下载 、 运行 、 停止 的判断 , 根据不同的情况实现不同 的功能。 2 . 3 嵌入式 P L C软件 系统的移植 所谓移植 ,就是将一个软件从一个平台迁移 到另一个与其不 同的平 台上工作 , 对本文而言 , 就是将原本基于 X 8 6体系的 L i n u x 移植 到基 于 A R M体系的嵌入式 L i n u x 。 首先是工具链 的移植 , 需要 在 P c上建立交 叉编译工具链 ; 其次是内核部分 的移植 , 主要包括 两方 面的工作 , 一是体系结构的移植 , 如从 i 3 8 6移植到 A R M, 二是 硬件驱动程序的移植 ; 最后是应用程 序的移植 。 如 图7 所示 , 整个软件系统由 四部分组成 , 可以分为 B o o t l o a d e r 引导 程序 、 L i n u x操作 系 统 、 系统 服务 程序 以及 用 户应 用程 序 。 B o o t l o a d e r 主要完成硬件检测和系统的引导 ; 操作系统主要是管理 系统硬件设备 , 屏蔽硬件的具体细节 , 向上层的应用程序提供标准 接 口, 方便应用程序 的编写和移植 ; 系统服务程序是 向用户提供服 务的应用程序 , 为用户 的应用程序提供必要 的服务 ; 用户应用程序 在本装置中是指实现 P L C功能的程序代码。 表1 所示的是整套系 统 的 存 储 分 表 1 系统的存储分布 布情况 。 Bo o t l o a d e r 引 导 装 载 程序 就是在 系 统 内 核 运 分 区 地址分布 分 区大小 Bo o t l o a d e r Ox l 0 0 0 O 0 0 H 0~0 x1 0 0 7 FF FF 0. 5MB L i n u x内核 O x l 0 0 8 0 0 0 0~O x l 0 1 3 F F F F 0 . 7 5 MB 根文件 系统 0 x 1 0 1 4 0 0 o 0 ~0 x 1 0 5 F F F F F 4. 7 5 MB 用户存储分 区 O x 1 O 6 O 0 o o O~ O x l 0 7 F F F F F 2 MB 行之前 的一段小程序 , 用来初始化硬件设备 、 建立 内存空间的映射 图 , 从而将系统的软硬件环境设置成 一个合适 的状态 , 以便为最 终 调用操作 系统 内核准备好正确 的环境 。然后解压 内核 映像 ,再跳 转到 内核 映像入 口。在嵌入式 系统开发 中 ,不存在 普遍通用 的 B o o t l o a d e r 。U B o o t 是功能强大的 B o o t l o a d e r , 是遵循 G P L条款的开 放源码项 目,支持尽可能多的嵌入式处理器和嵌入式操作系统 。 本文利用 U B o o t 作为 B o o fl o a d e r 来引导嵌入式 L i n u x 操作系统。 L i n u x操作 系统包括 L i n u x内核 和根文件系统两部 分 L i n u x 内核主要是根据本装置的实际硬件情况 ,将 L i n u x系统以及各种 设备驱动 进行移植 ,这部分主要完 成的工作是针 对 P L C系统 的 C P U目标板进 行内核编译 ,实现 C P U模块 的各种设备驱动, 包括 网络接 口、 R S 2 3 2串口、 I 2 C总线驱动、 P L C三种运行状 态中断驱动 等 ; 建立根文件 系统 的作用是存放各种工具 L i n u x 命 令等 、 应用 程序 、必需 的链接库等 等 ,本文 中采用 R A MD I S K作为根文件 系 统,它将内存 R A M和磁盘 D I S K联系起来,在内存中开辟一块空 间当做磁盘来使用 。执行用户的 i n i t 程序 , 完成 系统初始化 、 启动 相关服务和管理用户登 录等工作。 系统 服务 程序是针对 本套 P L C装置实现 的一些后 台应用 程 序 , 主要包括下面几个部分 利用 l r z / l s z 工具包编译生成 r z 、 s z 工 具 , 实现利用 串口进行应用程序的上下载 ; 利用 b f t p d 工具编译生 成 F r P服务器 , 实现上位机通 过 丌P工具登陆服务器 , 来进行应 _嵌 入 式 系统 Em b e d d e d S y s t ems 用程序的上下载;编写 P L C状态判断程序 , 通过读取三种不同的 状态来实现 P L C装置 的下载 、 运行和停止。 用户应用程序是指将 P L C的梯形图程序编译生成的可执行 文件,由于 R A MD I S K是加载在内存 S D R A M中运行, 掉电后数据 不保存 ,因此为了保存 下载后 的 P L C可执行文件 以及一些需要保 存 的数据 , 制作了一个 J ff s 2文件系统 , 能够高效地直接对 fl a s h芯 片进行操作 ,同时充分考虑意外断 电的情况 ,当 L i n u x系统启动 后 。 J ff s 2文件系统 自动挂 载到 R A MD I S K某个 文件 夹 , 用户可 以很 方便 的进行应用程序 的创建和保存。 3 P L C装置功能的实现 P L C是一种工业控 制计算机 ,程序 的执行依照程序号顺序进 行 , 相应各继 电器 的动作也是串联进 行。P L C在程 序执行时 , 采用 了“ 不 断循环顺序扫描” 的工作方式 首先是输入扫描 , 在具体 的用 户程序执行前 ,每次扫描过程都 首先要读入各输入模块的全部输 入状态, 存放在数据存储器中, 以等待用户程序执行时取用。如在 程序执行期间, 希望随时读取 或直接读取 输入模块中的输入信 号, 可采取“ 立即输入指令” 。其次是在程序扫描阶段, 若此时 C P U 处于运行阶段 , 就开始顺序执行程 序 , 在梯形 图中, 程序按先左后 右 , 先上后下的次序执行 , 通过逻辑判 断和算术运算将每步的结果 写入相关 的寄存器 中,程序 执行完就进入最后一个阶段即输出扫 描阶段 , 将数据存储器 中的输 出信号送至各输出模 块 , 驱动外部负 载。若要在程序执行阶段向输出模块传送数据 , 可采用 “ 立即输出 指令” 。 结合本装置 , 如图 8 所示 ,当 L i n u x 系统启动后 , 先判 断当前 P L C开关状态 , 如果是下载状态 , 则会初始化 串口下载程序和 f I p 服务器工具 , 此时用户可 以从上位机通过串 13 1 或者 f t p 登 录工具 进行应用程序的下载 ; 如果不是下载状态 , 则转入运行或者停止 状 态 , 系统首先复位所有 的定时器 、 将输出继电器清零 、 检查 总线及 I / 0连接是否完好 , 然后判断是否为运行状态 , 是则循环执行用户 电气 自动化 2 0 1 0年第 3 2卷 第 4期 的 应 用 程 序 ,包括对 输入的采样 保持,顺序 执 行 程 序 , 最后进行输 出状态的刷 新 ;否则是 P L C的停止 状态 ,此时 则会保持当 前I / O 状 J 裔硎 i nu 操 作 系 统j ,,、 , , L G 、 ~ f l a s 蜮 用 程序 隧 一一一 鬻 嚣 嚣 ; ⋯~一一~ ⋯ ⋯一 一. 检查总螗及I , o 连接 , .,/ _I \ ,j‘ I 、 一 ; Y} _ l一 荐 Ⅲ] ⋯一~一 ⋯⋯一 输 出刷 新 态以及相应 图 8 P L C装置功能图 的系统信息 , 停止运行应用程序 。至此 , P L C装置的功能就得 以实 现 。 4结束语 本 文针对传统 P L C的分析 , 提 出一种新型的嵌入式 P L C的设 计 方案 , 完成 P L C控制系统的功能 , 并且在 I / O扩展 等方 面, 有着 很 广 阔的空间 。此套 P L C装 置 已经成 功 的运 行于物流分拣 装置 上 , 达到 了很好的控制效果 。 参考文献 【 1 ] A T ME L .A R M9 2 0 T b a s e d mi e r o c o n t rol l e r AT 9 1 R M9 2 0 0 d a t a s h e e t .2 0 0 3 [ 2 ] h t t p ∥w w w . n x p . c o rn / [ 3 ] 韦东山. 嵌入式 L i n u x 应用开发【 M】 . 北京 人民邮电出版社, 2 0 0 8 [ 4 ] 胡学林. 可编程控制器教程 【 M】 . 北京 电子工业出版社, 2 0 0 3 [ 5 1 宋宝华. L in u x设备驱动开发详解【 M】 . 北京 人民邮电出版社 , 2 0 0 8 【 作者简 介] 田军 1 9 8 5一 , 男, 陕西西安人 , 硕士研 究生, 研 究方向为嵌 入 式软硬件设 计以及 P L C应 用。 甘永梅 1 9 7 l 一 , 女 . 陕西宝鸡人 , 副 教 授 , 研 究方 向 为现 场 总 线技 术 、 自动控 制 技 术 和计 算机 控 制 技 术 。 熊伟 1 9 7 8一 , 男, 河南信 阳人 , 硕士研 究生 , 研 究方向为嵌入 式软件设 计 以及计算机应用技术。 上接第 7页入 阶跃位置信号为 2 0 m m,当动子达到给定位置并 且稳定时 , 计时 间起点为 t O s , 在 t 0 . 1 S 时 , 对 电机动子突加 7 O N的负载扰动。 图 5是系统 的位置误差曲线 , 曲线 1 是不带扰动 观测器双闭环 系统 的误差曲线 ,误差峰值高达 9 . 5 m m;曲线 2是 带有扰动观测器改进系统的误差曲线。由曲线 1和曲线 2的对 比 可以明显看 出, 曲线 2的误差峰值相对于曲线 1明显减小 。 在 t 0 . 2 s 左右时,误差就衰减为 0 ;而曲线 1 在经过 0 . 6 s 的震 荡后才 趋于稳定 。因此可以得出 ,带有扰动观测器的系统抑制负载扰 动 的能力 明显增强。 4结论 本文针对 P ML B D C M结构 特点所造成 的抗扰动能力差 、系统 控制精度不高的问题 , 研究 使用扰动观测器来抑制外部扰动 , 并在 控制 系统的电流环设计 了扰动观测器 。针对 P ML B D C M 中常见 的 两种扰动类型度量误差扰动和负载扰动分别做了仿真并将结果 进行 了对 比,文 中还提出扰动观测 器设计时所应注意到的系统不 稳定问题。 仿真结果表明, 带有扰动观测器的 P ML B D C M控制系统 可 以更好地 抑制度量误差扰动和负载扰 动 ,系统 的控制精度得以 明显提高 , 对于实际系统设计具有一定的理论意义。 参考文献 [ 1 ] 叶云岳. 直线 电机原理与应用 [ M】 . 北京 机械工业 出版社 , 2 0 0 0 [ 2 ] C . M. L i a w, R . Y . S h u e , H. C . C h e n a n d S . C . C h e n . D e v e l o p me n t o f a l i n e a r b r u s h l e s s D C m o t o r d ri v e w i t h r o b u s t p o s i t i o n c o n t r o l 【 J 1 .I E E P r o c e e d i n g s o f E l e c t ri c P o we r Ap p l i c a t i o n s . 2 0 01 [ 3 ] We i t e S u a n d C h a n g Mi n g L i a w . A d a p t i v e P o s i t i o n i n g C o n t ml f o r a L P MS M D riv e r B a s e d o n Ad a p t e d I n v e r s e Mo d e l a n d Ro b u s t Di s t u r b a n c e Ob s e r v - e L T r a n s a c t i o n s o n Po we r El e c t r o n i c s . 2 0 0 6 【 4】 A. A . Ha s a n , a n d D r . m. A z z a m. R o b u s t P o s i t i o n C o n t r o l F o r A F i e l d O r i . e n t e d L i n e a r B ms h l e s s D C Mo o r [ J 】 .I E E P r o c e e d i n g s o f E l e c t ri c P o w e r A p 。 p l i c a t i o n s . 2 0 0 4 【 5】 J . S . Mo g h a n i ,J . F . E a s t h a m. T h e D y n a m i c R e s p o n s e o f L i n e a r B ros g l e s s D . C .Mo t o r [ J ] .1 E E P r o c e e d i n g s o f E l e c t ri c P o w e r Ap p l i c a t i o n s . 2 0 0 5 【 6 】 于艾 , 杨 耕 , 徐文立. 具有扰动观测器调 速系统的稳定性分析及转速环 设计 [ J ] . 清华大学学报 , 2 0 0 5 【 7 ] 杨开明, 叶佩青. 直线电机精密控制台扰动观测器设计【 J 】 . 机械科学与 技术 , 2 0 0 4 【 8 】 贾松涛 , 朱煜. 精 密工作 台扰动观测器 的设计 【 J 】 . 微细加工技术 , 2 0 0 7 [ 9 】 B o n g K e u n K i n , Wa n K C . A d v a n c e d d e s i g n of d i s t u r b a n c e o b s e r v e r f o r h ig h p e r f o romn c e [ J 】 . P r o c e s s o f t h e A me ri c a n C o n t r o l C o n f e r e n c e , 2 0 0 2 【 作者介 绍】 王兴 贵 1 9 6 3一 , 男, 汉族 , 甘 肃甘 谷人 , 教授 级 高工, 博士生 导师 , 研 究方 向为电力电子技术及运动控 制。 刘 琦 1 9 8 3一 , 男, 汉 族 , 硕 士, 黑龙 江虎林人 , 研 究方向为电力 电子与 电力传动 。 Ele c t r ic a l Au t o ma t ion l 4 1