资源描述:
电 气自 动 化 } 2 0 1 1 年 第3 3 卷第2 期 可编程序控制器应用 PL C A p plic a t iO n s P L C串行通信在 油管智能检 测控 制 中的应用 马磊张杰 1 . 中国海洋石油能源发展监督监理有限公 司 , 湛江5 2 4 0 5 9 ;2 . 中国石油塔里木 油田公司 , 塔里木8 4 1 0 0 0 摘要 为实现油管智能化检测 , 使用 P L C串行通信技术完成油管检测数据的 自动采集 。介绍 了松下 F P X型 P L C的通信协议 , 阐述 了计算机与 P L C之间串行通信的方法 , 在 V B中构建 了通信程序 , 并成功的应用到油管智能检测控制中。 关键词P L C 串行通信油管检测V B [ 中图分类号]T P 2 7 4. 5 ; T P 3 9 [ 文献标识码 ]B[ 文章编号]1 0 0 0 3 8 8 6 2 0 1 1 0 2 -0 0 7 0 - 0 3 Ap p l ic a t io n o f PL C Se r ie s Co mmu n i c a t i o n i n I n t e l li g e n t Oi l Tu b e De t e c t in g Sy s t e m Ma L e i Z h a n g J i e 1 . C N O O C E n e r g y T e c h n o l o g y S e r v i c e s L t d S u p e rv i s i o n T e c h n o l o g y C o m p a n y , Z h a n j i a n g G u a n g d o n g 5 2 4 0 5 9 , C h i n a ; 2 .T a r i m O i lfie l d C o m p a n y ,T a l i m u X i n j i n g 8 4 1 0 0 0 ,C h i n a Ab s t r a c t P L C s e r i e s c o mmu n i c a t i o n t e c h n o l o g y i s a d o p t e d t o r e a l i z e i n t e l l i g e n t d e t e c t i n g o f o i l t u b e .T h e c o mmu n i c a t i o n p r o t o c o l o f P a n a s o n i c F P X P L C i s i n t r o d u c e d . T h e s e r i a l c o mmu n i c a t i o n me t h o d b e t we e n c o mp u t e r a n d P L C i s e x p l a i n e d . A c o mmu n i c a t i o n p r o g r a m i s de v e l o pe d wi t h VB,wh i c h us e d s u c c e s s f u l l y i n i n t e l l i g e nt o i l t ub e de t e c t i ng s y s t e m. Ke ywo r d s PLC,s e r i a l c o mmun i c a t i o n,o i l t u be d e t e c t i n g,VB O前言 油管检测系统用 于对 油管损 伤缺陷进 行检 测。油管采 取直 线运动通过检测机构 的方式实 现对油管 管体的 扫描检测 。为实 现油管的智能化检测, 需要油管在到达检测位时开始采集数据 , 并在油管离 开检测位 时停 止采集 数据 。油管位 置信号 通过光 电 开关获取, 采用松下 F P x型 P L C实时监测光电传感器的状态。 通过与 P L C的串行通信 , 计算机获得油管位置信号, 根据油管的 位置控制数据采集。计算机与 P L C的串行通信在 M i c m s o f t V i s u a l B a s i c 6 . 0环境 下开发完成 。 1 松下 P L C通信协议 1 . 1 计算机链接通信 松 下 F PX型 P L C通过 U S B端 口可 以实现计算机链接通信 功能。连接在 P L C上的计算机拥有信息传送权。计算机 向P L C 发出指令 指令信息 后, P L C按照指令作出响应 响应信息 。 计算机和 P L C之间 的数据交 换使用 ME WT O C O LC O M通 信协 议。对于由计算机发出的指令 , P L C会 自动地做出响应回复, 在 P L C侧不需要有关通信 的程序 。 针对 P L C的指令称作“ 指令” , 从计算机向 P L C发出; 从 P L C 返回到计算机的信息称作“ 响应” 。P L C收到指令后 , 自行处理 指令后作出响应 。计算机侧 可 以通过 返 回的响应确认 指令 的执 行结果。通信 以会 话形式进 行 , 指令 和响应 以 A S C I I 代码 发送 。 最初的发送权在计算机 侧 , 发送 权在每 次信息发送 时 , 在计算 机 收稿 日期 2 0 1 0 0 70 9 7 0 E l e c t r ic a I Au t o ma t io n 和 P L C之间交换 。 1 . 2指令 和 响应 的形式 1 . 2 . 1 指令信息 在文本部分写入指令所需项 目, 指定 P L C地址后发送。指 令 信息格式 如下所示 瞪 终 端 代 码 -1 , B三c 、} { o I { 考 c s 小 l f }C R 一 始端代码 在信 息的开始处必须写入% ; P L C地址 写入指令接收方 P L C的地址, 默认地址为“ O 1 ” , 该地址可通过系统寄存器设置; 文本 内容随着指令种类而不同; B C C校验码 采用 横 向奇偶 进行 错误 检测 , 用 “ ” 代 替 B C C时 , 可 以省略 B C C ; 终端代码 在信息终 端必须写入“ C R” 。 可编 程序 控制器应 用 P L C Ap p l ic a t i o ns 1 . 2 . 2响应信息 收到上述指令 的 P L C把处理 结果 发送 给计算 机。P L C返 回 给计算机的“ 响应” 信息格式如下所示 % O l R C O c L ⋯ _ 于 旨 令名 针对 文本 内容随着指令 的种类 而不 同 , 未 正 常处理 时记 录错 误 代码, 可以确认异常内容; 其他各项与指令信息定义相同。 部分常用指令代码 如表 1所示 。 表 1 部分常用指令代码一览 表 指令 功能描述 R C S 读取单个触点 的状态信 息 WC S 写入单个触点 的状态信息 R C P 读取多个触点 的状态信 息 WC P 写入多个触点 的状态信息 RD 读取数据寄存器值 WD 写入数据寄存器值 R T 读取 P L C当前状态 R P 读取程序 WP 写入程序 2 V B 中构建计算机 与 P L C通信程序 2 . 1 Ms c o mm 介绍 V B提供 了串行端 口控件 M s c o m m 为应 用 程 序提 供 串行 通 信。该控件屏蔽了通信过程中的底层操作 , 程序员应用时只需设 置 、 监视 Ms c o m m控件 的属性 和事件 即可完成 对 串行 口的初始 化 和数据的输入输 出工作 。M s c o m m控件 的主要属性 如下 C o m m p o r t 属性设置并返 回通信端 口号, 例如 Ms c o mm. C o rn re p o r t 1 , 即设置 当前通 信端 口为 C O M1 。S e t t i n g属 性 设置 并返 回波特率 、 奇偶校 验 、 数据位 长度 、 停止位 长度 , 格式 为 Ms e o mm. 电气 自动化 2 0 1 1年第 3 3卷第 2期 S e t t i n gs t r i n g 。s t r i n g是一个包 含 四部 分 的字符 串 , 第 一部 分为 波特率; 第二部分为奇偶校验 N表示不校验, E表示偶校验, O 表示奇校验, S表示空格校验, M表示符号校验 ; 第三部分为数据 位长度 , 其 可选值为 4 , 5 , 6 , 7, 8 ; 第 四部分 为停止 位长度 , 其 可选 值 为 1 , 1 . 5, 2 。S e t t i n g 属性 的缺省值为 “ 9 6 0 0 , N, 8 , 1 ” 。P o O p e n 属性 设置并返 回通信端 口的状态 , 也可 以打开和关 闭端 口。I n p u t 属性 从接收 缓 冲 区返 回和 删 除字 符 , 该 属 性在 运 行 时 为 只读 。 I n p u t L e n属性设置并返 回每次 I r t p u t 属性从接 收缓 冲区读 取 的字 符数 , I n p u t L e n属性 的缺省值为 0 , 设置 I n p u t L e n为 0时 , I n p u t 将 读取接收缓冲区的全部内容。O u t p u t 属性向传送缓冲区写数据, 要传送 的数据为文本数据或二进 制数据 J 。 2 . 2 V B 中通 信程 序 的实 现 2 . 2 . 1 串 口初始化 Ms c o m m. C o m mP o 3 设定通信端口 Ms c o mm. S e t t i n g s ” 1 1 5 2 0 0 , 0 , 8 , 1 ” 波特率为 1 1 5 2 0 0 b p s , 奇校验 , 8位数据 位 , 1 位结束位 Ms c o mm. I n B u ff e r S i z e1 0 2 4 设置接收数据缓冲区 Ms c o mm. O u t B u ff e r S i z e 5 1 2 设 置发送数据缓冲 区 Ms e o mm. I n p u t M o d e 0 设 置以字符 串形 式接收数据 Ms c o mm. I n p u t L e n 0 不 限制一 次读取 的字节长度 Ms c o mm . I n B u ff e r C o u n t0 清空接收缓 冲区 Ms e o mm. P o O p e n T r u e 打开 串行 口 Ms c o mm.I n Bu f f e r Co u n t 0 Ms c o m m. P o r t O p e n F a l s e 关 闭串行 口 2 . 2 . 2 数据发送 与接收 Ms c o m m. I n B u ff e r C o u n t0 清 空接 收缓 冲区 Ms c o m m. O u t p u t C o m ma n d发送指 令信 息 Fo r in l To 1 0 0 F o r n 1 To 1 5 0 0 s t e p s t r Ms c o m m. I n p u t 读取 串行 口的数 据 I f L e n s t e p s t r 0 T h e n E x i t F o r Ne x t n r e s p r e s p & s t e p s t r Ne x t m[ ] 3 P L C串行通信在 油管智能检测控 制中的实现 3 . 1油管检测系统 油管检测 系统示 意图如 图 1所示 。油管在辊轮 带动下 , 匀速 通过检测机构接受检 测。当油管到达检测位时开始 采集数据 , 当 油管离开检测位 时停 止采集数据 。检测位置 的识别 由安 装在检 构 图 1 油管检测 系统示意 图 凸 凸 E le c t r i c a I Au t o ma t i o n 7 1 电 气自 动 化 2 0 1 1 年 第3 3 卷第2 期 可编程序控制器应用 P L C Ap p li c a t ion s 测机构前方的光电开关完成, 采用松下 F Px型 P L C实时监测 光电传感器 的状态 。通 过与 P L C的串行通 信 , 计算 机获得 油管 位置信号 , 从 而根据油管 的位置控制数据采集。 3 . 2 计 算机链 接通信 环境 设定 P L C采用将 U S B作为虚 拟 的串行 端 口进 行通 信 的方式 , 因 此认 为由 U S B所连接的 F PX型 P L C是 由计算机 通过 C O M端 口进行连接的。计算机链接 的通信设 置要通过编 程工具 F P WI N G R来进行。在 P L C系统寄存器设置中设置如下内容 N o . 4 1 1站号 P L C地址 可从 1~ 9 9进行设定 ; N o . 4 1 2通信模式 设置 为计 算 机链接 ; 在端 口选 择 中, 选 择 “ 内置 U S B ” ; N o . 4 1 4 C O M 2端 口用 传送 格式 的设 定 数据 长度 8 b i t , 奇 偶校验为奇校验, 停止位 1 b i t , 终端代码 C R 固定 , 始端代码无 S T X 固定 ; N o . 4 1 5速率的设定 速率固定为 1 1 5 2 0 0 b p s 。 3 . 3 V B通 信程序 的开发 在检测 台正前方装有光 电开关用来 感应油 管是否 到达检测 位 , 其对应的 P L C输 入端子为 X 0 。采用 中间继电器 R 0存储 X 0 的上升沿 , R1 存储 X 0的下 降沿 。梯形图程序如图 2所示 。 图 2梯形图程序 当油管进入检测机构时 , R 0为 1 并保持 1 S , 此时开始数据采 集; 当油管离开检测机构时 , R 1为 1 并保持 1 s , 此时停止数据采 集 。R 0和 R 1的状态通过指令 R C S读取 。由于系统要反 映 P L C 数据 区的实时变化 , 所 以在控件 T i m e r l 1 O O m s 执行一次 里编写 发 出和接收指令的代码 P r i v a t e S u b T i me r l _T i m e r Ms c o m m. I n B u f f e r C o u n t0 清空接收缓 冲区 Ms c o mm. Out pu t ”% 01RCS R0 00 0”” ”Chr 1 3 读 取 R O状态指令 Ms c o mm. Ou t p u t ” % 01 RC S R0 0 0 1 ” ” ” C h r 1 3 读取 R 1 状态指令 Fo r m 1 To 1 0O Fo r n 1 To 1 50 0 s t e p s t r Ms c o m m. I n p u t 读取 串行 口的数据 I f L e n s t e p s t r 0 T h e n E x i t F o r Ne x t n r e s p r e s p & s t e ps t r Ne x t m I f Mi d r e s p ,l , 9 ” %0 1 R C 1 2 0 ”T h e n判 断 R O状态 Da t a l o g g e r _o n开始数据采集 En d I f I f Mi d r e s p ,l 1 , 9 ” %0 1 R C 1 2 0 ”T h e n判 断 R 1 状态 Da t a l o g g e r o ff停止 数据采集 En d I f En d Su b ” %0 1 R C S R 0 0 0 0 ” ” ” C h r 1 3 代 表发 送的命令 为%0 1 R C S R 0 0 0 0 C R, R C S 代表通信指令为读取单个触点 的 状态信息 , R 0 0 0 0代表 R 0 。P L C收 到该指 令 , 会根 据 R O位 的状 态回复。若为“ 1 ” , 则响应信息为 %O l R C 1 2 0 C R, R C表示触 点状 态读 取 , “ 1 ” 为触点状态 , “ 2 0 ” 为不使 用 B C C校验 时的输 出 字符 ; 若为“ 0 ” , 则响应信息为 %0 1 R C 0 2 1 C R。 4 结论 在 Mi c r o s o f t V i s u a l B a s i c 6 . 0环境下开发 了基于松下通信协 议 ME WT O C O LC O M 的通信程序, 实现了计算机与 F Px型 P L C的串行通信 , 并应 用到油管智能检测控 制 中。经现场长期使 用, 该系统运行稳定可靠。P L C通信技术可广泛应用于其他智能 控制领域。 参考文献 [ 1 ]松 F电工 中国 有限公司 , 可编程控制器 F P X用户手册 [ z ] . [ 2 ]松下电工 中国 有限公司, 松下电工 F P系列可编程控制器通信协 议 ME WT O C O L . [ 3 ]MS DN L i b r a r y V i s u a l S t u d i o 6 . 0 . [ 4 ]刘正 国, 刘唯.计算机与松下 F P系列 P L C串行通信 的实现[ J ] .微 计算机信息, 2 0 0 6, 2 2 8~1 . 【 作者简介】马磊 1 9 8 2一 , 男, 汉族, 本科, 完井监督, 主要研究方向为 完井测试 工程 。 张杰 1 9 8 5一 , 男, 汉族 , 本科 , 工程师 , 主要从事设 备 管理和石 油钻具的无损检测工作。 r 一一一⋯⋯⋯⋯⋯⋯一⋯⋯⋯⋯⋯ l 地球是我家, 绿化靠大家 ; i 森林是氧 气的制造工厂 } ⋯⋯⋯一⋯⋯⋯⋯一一⋯⋯⋯一⋯一⋯一⋯一⋯⋯⋯l一 7 2 Elec t r i c al Au t oma ri o n l, 嚏, 。;
展开阅读全文