资源描述:
第 4期 2 0 1 3年 4月 组 合 机 床 与 自 动 化 加 工 技 术 M o d ul a r M a c h i ne To o l& Au t o ma t i c M a n uf a c t u r i n g Te c hn i qu e No. 4 Ap r .2 01 3 文章编号 1 0 0 1 2 2 6 5 2 0 1 3 0 4 0 0 8 9一 O 4 基于 P C机的 P L C资源管理系统设计与实现 黄金梭 , 沈正华 温 州职 业技 术学 院 电气 电子 工程 系 , 浙 江 温州 3 2 5 0 3 5 摘要 针对 P L C与外界信息交互性差及其监控 系统开发 中存在的成本 高等问题 , 采用普通 P c机作为 开发平 台和 V B 6 . 0作 为开发 工具 , 提 出了一 种较 为通 用的 P L C资 源管 理 系统框 架及 实现 方 法。 详 细分析 了编 程 口通信 协议 , 重 点介 绍 了控 制指 令 字符 串的生成 机 制 及 V B程 序 开发 过 程 中需要 解 决 的 关键 函数 。最后 , 通过该 软件 系统与 F X 2 N一 4 8 MR P L C的联 机 测试 对该框 架进 行 了可行性 和有 效 性 的验 证 。 实验表 明 , 该 系统运 行稳 定 , 可 以实现 对 P L C的 内部 资源 更直观 、 高效 、 快捷 的管理 。 关键词 P C机 ; P L C; 资 源管理 ; 设计 中图分 类 号 T H 3 9 文 献标 识码 A De s i gn a nd Re a l i z at i o n o f PLC Re s o u r c e s M an a ge m e nt Sy s t e m Ba s e d o n PC M a c h i ne HUANG J i n S I l O,S HEN Zh e n g - h ua D e p a r t me n t o f E e l e c t r i c s a n d Ee l e c t r o n i c s ,We n z h o u Vo c a t i o n a l T e c h n i c a l C o l l e g e ,We n z h o u Z h e j i a n g 3 2 5 0 3 5 , C h i n a Ab s t r ac t Ai mi n g a t p r o bl e ms,s uc h a s t h e PLC ’ S p o o r i n t e r a c t i o n wi t h t he o u t s i d e,a nd t h e h i g h d e v e l o p i n g c o s t o f i t ’ S t e s t a n d c o n t r o l S ys t e m a n d t h e l i k e,t h e P C M a c h i ne wa s t a k e n a s t h e d e ve l o p i n g p l a t f o r m a n d t h e VB6 . 0 a s t he d e ve l o p i n g t o o l ,a k i nd o f t he g e ne r a l P LC r e s o u r c e s ma na g e me n t S y s t e m fla me a n d i t ’ S I mpl e me n t me t h od we r e p r e s e n t e d. Th e p r o g r a mmi n g po r t c o mmu n i c a t i n g p r o t o c ol wa s a na l i z e d i n de t a i l ,wi th t h e e mp h a s i s o n t h e g e n e r a t i ng me c ha n i s ms o f t h e c o n t r ol i n s t r uc t i o n s t r i n g s a n d t he k e y f u n c t i o n s r e qu i r e d wh e n d e v e l op i ng t he VB p r o g r a m .At l a s t ,t he f e a s i b i l i t y a nd e f f e c t i v e n e s s o f t he S y s t e m we r e v a l i d a t e d wi t h t h e d e b u g gi ng o n l i n e .Th e r e s u l t s h o ws t h a t t h i s S y s t e m r u ns s t a b l y a n d c a n r e a l i z e mo r e i n t ui t i v e,e f f e c t i v e a n d e ffi c i e n t ma na g e me n t f o r P LC i n t e r n a l r e s o u r c e s . Ke y wo r dsPC;PLC ;ma n a g e me nt ;d e s i g n O 引 言 可 编程逻 辑控 制 器 P L C 是 一 种 专 门为 工业 环 境 而设 计 的数 字 运 算 操 作 的 电 子 装 置 。 经 过 近 5 O 多年的不断发展 , P L C现在已经形成具有可靠性高、 抗 干扰 能力强 、 编 程 简单 、 系统 搭 建快 捷 、 体 积 小 、 质 量轻 、 耗 能少 和维 护方便 等 等优 点 ⋯ 。 因 以上优 点 , 在现 代 工 业 控 制领 域 中 , P L C经 常 被作为现场设备 的控制器 而得 到广泛的应用 , 在 生 产过程 中管理着大量 的数 据。然而 , P L C与外部 设 备及用户之 间的信 息交互性 较差, 尽管控制器 面板 上 具有 输入 继 电器 x 和 输 出继 电 器 Y 的 状 态 指 示 灯 , 但信息量少且 无法直观地反映工业现场及生 产 运行的状态 , 尤其是 P L C内部蕴含关键信息的数 据 寄存 器 D、 中间辅 助继 电器 M、 定 时器 c和 计 数器 T 等软元件的状态和数值无法直接被监测和控制 。 为此 , 市场上 出现 了类如组态软件 等可视化器 件作为 P L C监控系统的上 位机 , 实现 P L C内部资 源的监控管理。虽然 组态软件功能强大, 画面丰富 , 操 作 也简单 , 但 是价 格 昂贵 , 且 测 控 系统 中元 件 增 多 后会提高系统运行不稳定的风险。综合考虑 以上分 析 , 在普 通 P C机 开 发 平 台上 , 采 用 V B 6 . 0编 程 软件 作 为 开发工 具 , 通过 M S C o mm 串 口控件 实现 P C机 与 P L C之 间 的通 信 , 高 效 利 用 闲 置 的 编 程 口作 为 通 信 接 口 , 不需 要 另外 购 置通 信 模块 , 简化 了 系统 硬 件 构 成 , 又节约了开发成 本, P c机直接面向用户 , 而且在 数据 处理 、 人 机交互 功 能等 方 面具 有 强 大 的优 势 , 实 现 对 P L C内部 资 源 的直 观 、 高 效 管 理 。本 文 将 详 细 研究 以上思路 中的通信原理 、 软件系统及程序实现 方 法 。 1 编程 口通信协议 F X系列 P L C的编程 口通信协议 具有固定的通 信格式、 应答模式、 控制符 、 命令符及通信字串结构。 收稿 日期 2 0 1 2 0 9~ 2 8 ; 修 回 日期 2 0 1 21 01 4 作者简介 黄金梭 1 9 8 5 一 男 , 温州苍南人 , 硕士学历 , 助教 , 从 事机电系统开发 、 可重构控制策略及工业机器人 技术 的研究工作 , Em a i l h i s ma i l 1 2 6 . c o in 。 9 0 组 合机床 与 自动化加 工技术 第 4期 通 过发 送 符 合 以上 各 项 规 定 的 数 据 帧 可 以实 现 对 P L C相应软元件的强制 O N / O F F 、 读 、 写等命令操作 。 具体通信协议如下。 1 . 1通信 格式 编程 口通信的格式为 R S 4 2 2电气标准、 9 6 0 0 b p s 波特率、 偶校验 、 7位数据位、 1 位停止位。 1 . 2数据流 方 向 P C机与 P L C的编程 口通信时序 为 首先 由 P C 机向 P L C发起通信请求帧 E N Q 0 5 H , 确认 P L C是 否存 在及其 当前 的状 态 , 同 时 也 检测 通 信 线 路 是 否 正常 , 如图 1第①步。P L C收到 E N G请求后, 向 P c 发送 “ 字 串正确 ” 帧 A C K 0 6 H , 如 果 收 到无 法 识 别 的数 据 帧 , 则 向 P C 机 发 送 “ 字 串 错 误 ”帧 N A K 1 5 H , 如图 l第②步。P C机收到 P L C的响应后再 发送相关的命令帧, 如图 1 第③步。P L C收到相关命 令帧后 , 向 P C机回送相应的响应帧, 如图 1 第④步。 通过图 1所示的 4个步骤完成一次通信过程 J 。 P C 端 l 兰 L . 睑全 . . ① I A C K l ③ 应帧 I 图 1数 据 流 示 意 图 1 . 3通信 字 串结构 F X系列 P L C的编程 口通信协议 中一共有 3个 控制符、 4个命令符 C MD、 字串起始符 S T X和字串终 止符 E T X, 对应 A S C I I 码 的十六进制值及含义如表 1 所示 表 1通信字串各符号含 义 符号 含义 E NQ 0 5 H P c询问, 向 P L C发送通信请求 A C K 0 6 H P L C收到能识别的字串 N AK 1 5 H P L C收到无法识别 的字 串 “ ” 3 0 H 读取命令 ⋯ 1’ 3 I H 写人命令 “ 7 ” 3 7 H 强制 O N命令 “ 8 ” 3 8 H 强制 O F F命令 S T X 0 2 H 表示本次字串开始 E T X 0 3 H 表示本次字串结束 它们通过相互搭配形成特定的通信字串结构来 完 成不 同 的通 信 目的 , 如下所示 1 读取命 令 PC- - - S T X ADD By t e ET X S UM S TX Da t a l Da t a 2 ⋯Da t a n ET X SUM 一 PLC 2 写入命令 P C} S TX ADD By t e Da t a l Da t a 2 ⋯Da t a n ETX SUM A C K或 N A K ‘ 一 P L C 3 强制 O N / O F F命令 PC} S TX ADD ETX S UM A C K或 N A K 一P L C 2 MS CoMM 串 口通信控件 在 V B 6 . 0开发 环境 中 , 通 过 引 用 MS C o m m 控 件 实现 对 P C 机 串 行 I-7数 据 的 接 收 与 发 送 操 作 ] 。 MS C o mm控件 中与串口通信过程相关 的的属性非常 丰富 , 对该类属性的使用大致可以分为两类 , 一类是 调 用 串 口之 前 的初 始 设 置 , 另 外 一 类 是 在 串 口使 用 过 程 中的数据 收发 与 O n C o m m 响应 。 下文 就 以上 两 类相关属性的使用做具体介绍。 2 . 1 串 口初始 化 根据 编 程 口通 信 协 议 的 规 定 , 对 MS C o mm 串 口 作 如下初 始化 设置 Pr i v a t e Su b I n i t C o m n l R N u m a s I n t e g e r ’ 表示串 口初始 化 函 数 MS C o mm1 . C o mmP o r t 1‘ 将 串 口号 设 置 为 1 MS C o mm 1 . S e t t i n g s “ 9 6 0 0 , e , 7 ,1 ⋯将 串 口收发波 特 率设置为 9 6 0 0 b p s , 采用偶校验 , 7位数 据位 , I 位停止位 MS C o mm 1 . I n p u t Mo d ec o m I “ p u t M0 d e T e x t‘ 以文 本 的 形 式接收字符 串 MS C o mm1 . I n p u t L e n0 ‘ 表示 读 入 串 口收 到 的 全 部 数 据 MS C o mm1 . Ha n d s h a k i n g0 ‘ 取 消 硬 件 握 手 MSCo mm1. RThr e s h o l d R N u m ‘当 串口收 到 参数 R N u m个字符 时 , 产生 O n C o mm事件 MS C o m m1 . S T h r e s h o l d l‘当串 口发送寄存 器内 的字 符 数少于 1 个 时 , 产生 O n C o mm事件 2 . 2数据 收发 与 O n C o mm 响应 在利用 MS C o mm控 件 发 送 字 符 前 , 需 要 打开 串 口 , 如下语 句所 示 I f MS C o mm1 . P o r t F a l s e t h e n MS C o mm1 . P o r t T r u e ‘ 为 防止 因重 复打 开串 口而产生错 误 , 每次 打开串 口之前都需要 判 断 是 否 已 经 打 开 F o r n0 t o 8 MS Co mm1. Ou t pu tSe n d D a t a n ‘ 将要 发 送的 数据 赋 予 O u t p u t 属性 , 将 字符 推入发送寄存器 Ne x t 11 当串 口接收寄存器内的字符 数达到设 定的数 目、 通信 过 程发送错误时 , 将产生 O n C o mm事件 , 激活以下函数 P r i v a t e S ub MSCo mml On C o mm ‘ 在此写人产生 O n C o mm事件后 的处理程序 En d S ub 3 P L C资源管理系统框 架 对 P L C 进 行 资 源 管 理 , 其 实 质 是 读 取 和 改 变 P L C内部软元 件的数值或状态。本文 以三菱 F X系 列 P L C为例 , 设计 了 P L C资源管理 系统 P L C R e s o u r c e s Ma n a g e m e n t S y s t e m, 以 下 简称 P R MS 。 由于 篇幅所限, 只重点说明 P R MS的框 架结构及其字符 串生成 模块 的工作 机制 。 3 . 1 P R MS框 架搭 建 P R MS框架模 型 的设计 有两个 目的 一是 为人 机 交互 提供 良好 界 面 ; 二 是 在 用 户任 务 与 P L C资源 库 之间形成高效 的数据运算与通信控制。为此 , 构 建 2 0 1 3年 4月 黄金梭 , 等基于 P c机的 P L C资源管理 系统设计与实现 9 1 了如 图 2所 示 的 P R MS框架 模 型结构 。 其中, 任务请求 层的作 用是接受用户任 务并显 示查 询结 果 。任务 分 析 中心 模 块 的功 能 是 分解 用 户 任务 , 提取其中的指令类 型、 操作对象 以及数据 , 同 时提取包含查询结果 的数据码 。字符串生成与处理 模 块 的功 能是 根 据 任务 分 析 的结果 生 成 相应 的指 令 字符 串, 发送至 P L C以进行相应的管理操作 , 或处理 由 P L C返回的字符 串, 整理出包 含查询结果 的字符 供任务分析中心模块提取之用。知识库根据编程 口 通信 协议 编 制 而 成 , 是 字 符 串生 成 与处 理 模 块 执 行 具 体生 成和 处理 作业 的参 照 。 图 2 PRM S框 架 3 . 2指令 字符 串生成 模 块 如上 文所 述 , P R MS框架 的字 符 串 生成 与 处理 模 块的一个重要 功能是生成指令字符 串, 其工作机 制 如图 3所示。将用户任务的指令类型、 操作对象及 数据作为生成模块 的输入参数 , 首先根据通信协议 规定 的指 令 库 对 指 令 类 型 进 行 识 别 并 生 成 指 令 码 , 结合 指令 类 型 , 根 据 通 信 协 议 规 定 的地 址 编 码 库 和 数据转换原理分别计算 出对象 的地址码和相应的数 据码 , 根 据通 信 协 议 规 定 的 校 验 码 转 换 原 理 计 算 出 指令字符串的校验码。最后 , 根据通信协议规定 的 报文结构依次输出指令字符串码 。 图 3指 令 字 符 串 生成 机 制 4 程序 中的若干关键 函数 高效实 现 P R M S的功 能需 要众 多 函数 群 的支 撑 , 其中较为关键的函数是地址码计算 函数、 数据码 转换 函数、 校验码 计算 函数和指令字符 串合成 函数 等 , 通过 调用 和组 合 以上 函数 , 即可 生成 特 定 的 指令 字符 串, 完成某一命令操作 。 1 元件 地址 的 A S C I I 码计算 函数 由编 程 口通 信 协 议 所 规 定 的 地 址 码 库 可 以 发 现 , 不同元件对象具有不 同的地址码 , 同一元件对象 在不 同操 作 指 令 下 的地 址 码 也 不 同 , 针 对 上 述 情 况 需编写的地址码计算函数有 ①R e g V a l A d d‘ 寄存 器 D、 T 、 c的当前值查询地址计算 ; ②C o n t a c t o r A d d ’ 触点 x、 Y、 M、 S 、 T 、 C的状态查询地 址计算 ; ③B i t A d d ’X、 Y、 M、 S 、 T 、 C强制命令地址计算 。 2 操作 数据 的 A S C I I 码计 算 函数 Da t a Ke y A S C I I ‘ 输 入 十 进 制数 , 根据 数据 转 换 原 理 , 输 出相应 的 A S C I I 码 , 存 人全 局变量 。 3 校验码的计算 函数 S u m C a l ‘ 输入 需 要 校 验 的字 符 串 D a t a , 根据 校 验转 换原 理 , 输 出两位 校验码 , 存人 全局 变量 。 4 各个 指令 的合 成 函数 指令合 成 函数可 以任 意调 用 以上 3中关 键 函数 以及其 它 函数 。程 序 中 , 根 据 操 作命 令 的 不 同 , 可供 调用的指令合成函数有以下 4个 ①R E A D R e g i s t e r ‘ 输入元件对象、 元件序号及元 件数 量 扩 展参 数 , P R MS中设 定 为 1 个 , 即可 合 成 读 取命 令 的指令 字符 串 , 并返 回 P L C是否 响应 。 ②Wr i t e R e g i s t e r‘ 输入元件对象、 元件序号 、 元 件数量及数据 , 即可合成写入命令的指令字符串, 并 返 回 P L C是否 响应 。 ③S E T O b j e c t‘ 输入元件对象 和元件序号 , 即可 合 成置位 命令 的指 令字 符 串 , 并 返 回 P L C是 否响应 。 ④R S T O b j e c t‘ 输入元件对象和元件序号 , 即可 合成复位命令 的指令字符串, 并返 回 P L C是否响应 。 5 P RMS的实现 5 . 1 硬 件平 台 以普通 P C机作为上位机, P L C作为下位机 , 通过 一 根通信电缆 S 0 9连接上下位机 , 实现系统的通信 目 的 , 所搭建的系统平台如图 4所示。其中, 采用 V B 6 . 0 可视 化编程软件在 P C机上 开发 上位机 程序 实现 人机 交互 、 数 据处 理 和通 信 控制 等 目的。S 0 9编 程 电缆 一 端 为 R S 2 3 2电气标 准 , 可与 P C机 串 口连 接 , 另一 端为 R S 4 2 2电气标准, 可与 P L C的编程 口连接。 , 人机交互 { 数据处理 I 通信控制 R s 2 3 2 转R s 4 2 2 管理对象 图 4 P RMS的 硬 件 平 台 5 . 2 程 序 实现 围绕 文 中图 2所 设 计 的 系统 框 架 以及 图 3所 研 究 的指令 生 成 机 制 , 在 V B 6 . 0开 发 环 境 下 着 手 程 序 的编写与调试工作 , 以实现 P R MS的功能。 1 人 机界 面 窗 口
展开阅读全文