基于VC++的PC与PLC自由口通讯.pdf
第 4 2卷第 7期 2 0 1 3年 7月 当 代 化 工 C o n t e mp o r a r y C h e mi c a l I n d u s t r y V o 1 . 4 2.N O . 7 J u l y,2 0 1 3 基于 V C 的 P C与 P L C 自由口通讯 林 盛,迟新利,曲延华,高庆忠 沈阳工程学院, 辽宁 沈阳 1 1 0 1 3 6 摘 要在工业控制中, 需要对 P L C进行监控,实现的方式可以是专门的组态软件,也可以是利用微软的 应用程序开发工具。对中小型企业而言,后一种方式更显高效和灵活。本文介绍了如何通过 vc 编程,实现 计算机与西门子 s 7 2 0 0 P L C之间的自由口通讯。 关键词自由口; 可编程控制器 ; 通讯; vc 中图分类号T P 3 1 3 文献标识码 A 文章编号 1 6 7 1 0 4 6 0 2 0 1 3 0 7 1 0 1 5 0 2 Fr e e Po r t Co m m u ni c a t i o n Be t we e n PC a nd PLC Ba s e d o n VC L I NS h e n g ,C H I Xi n l i ,QVY a n h u a ,G AO Qi n g - z h o n g S b e n y a n gI n s t i t u t e o f E n g i n e e ri n g , L i a o n i n g S h e n y a n g 1 1 0 1 3 6 ,C h i n a Ab s t r a c t Th e mo n i t o r i n g o f P LC d u r i n g t h e i n d u s t r i a l c o n t r o l p r o c e s s i s n e c e s s a r y . Us i n g t h e p r o f e s s i o n a l mo n i t o r i n g s o ft wa r e o r t h e a p p l i c a t i o n s o f t wa r e d e v e l o p i n g t o o l s o f M i c r o s o f t i s f e a s i b l e . F o r s m a l l a n d me d i a - s i z e d e n t e r p ris e s , the l a t t e r me tho d i s mo r e e ffic i e n t a n d fle x i b l e . I n t h i s p a p e r , t h e c o mmu n i c a t i o n b e t we e n P C a n d P LC t h r o u g h t h e f r e e p o r t o f P LC b y u s i n g t h e t o o l o f VC wa s i n tr o d u c e d . Ke y wo r d s F r e e p o r t ; PL C; Co mmun i c a t i o n ; VC 作为新一代工业控制装置,P L C 自 上世纪 6 0 年代产生以来,发展迅猛,被广泛应用于众多的工 业控制现场。 s 7 2 0 0系列的 P L C 是西门子公司的小 型 P L C ,从其推向市场的那天起,就以高可靠性和 性价比在国内广受欢迎。在工业控制现场 ,往往需 要上位机 P C对下位机 P L C进行监控 ,以实 现控制的分散和管理的集中。但上位机的专用组态 软件 ,往往价格昂贵,并且控制不够灵活。 如果可以 自己编程实现 P L C与上位机之间的通 讯,必可起到节约成本提高效率的效果。可是若要 完全由自己来编写一段用于通信的程序,必须对相 关的网络协议及其他的一些较底层的技术有很深入 的了解,这不是一件容易的事。本文将介绍一种简 单的方法, 借助于 V i s u a l S t u d i o 2 0 1 0中的V c 开发 工具 , 用户只需通过设置 s e r i a l P o r t 组件的属性并调 用其方法, 再在 P L C内部进行简单的编程, 就可经 由自由口实现 P C与P L C之间的通信。 1 P L C编程 s 7 2 0 0 的自由口通信模式建立在 R S 一 4 8 5 硬件 基础上 。如果 P L C选择 了自由口模式 ,用户就可以 通过发送指令 X MT 、接收指令 R C V 、发送中 断以及接收中断对通信口进行相应的操作。s 7 2 0 0 P L C也允许用户对诸如数据长度、奇偶校验等进行 简单设置设置 】 。对于 X M T和 R C V 指令,用户可 以在编程当中为其指定相应的数据缓冲区。 最终的 P L C程序应当由主程序、中断 接收 完成/ 发送完成 子程序、 读 写 操作子程序和校 验子程序等组成,各个程序块各司其职。 主程序需要进行诸如打开端口、 设置波特率和 奇偶校验等操作,并按照适当的条件执行中断或其 他子程序。 主程序与子程序部分示例代码如下 N E T WO R K 1 / / 主程序 L D S M0 . 1 / / 首个周期运行标志 MO V B 1 60 5 ,S MB 1 3 0 / / 打开 C O M1 ,无奇偶 校验,数据位 8 ,波特率为 1 9 2 0 0 ,自由口模式 M O V B 1 6 E C ,S M B 1 8 7 H 接收使能,以S M1 8 8 和 S M1 8 9内字符分别作为开始和停止字符 , MO V B 3 5 ,S MB 1 8 8 / / 以 “ ”做为开始字符 M O V B 3 8 ,S M B 1 8 9 / / 以 “ ”做为停止字符 MO V B 3 0 ,S MB 1 9 4 / / 3 0为最大可接收字节数 , 收稿 日期 2 0 1 3 - 0 6 2 5 作者简介 林盛 1 9 7 9 一 ,男,山东栖霞人,讲师,硕士,现从事过程控制的教学与研究工作。E m a i l l i n s h e n g s i e . e d u . c n ,电话0 2 4 3 1 9 7 5 5 6 8 。 1 0 1 6 当 代 化 工 2 0 1 3 年 7月 设定范围为 1 2 5 5 M O V W 9 9 ,S M W1 9 2 / 股 置通信信道空闲时间 为 9 9 ms A T CH I NT _0 ,2 3 以接收完成为标识 ,触发中 断 0 A T C H I N rr _ 2 , 9 ,/ 以发送完成为标识, 触发中断2 E N I / / 用户中断允许 R C V V B 2 0 0 1 / / 为 C O M1 指定从 V B 2 0 0开始的 缓冲区 N E T WO R K1 / / 中断 0 ,接收完成中断子程序 L D B S M B 1 8 6 1 6 2 0 ,/ 接收完成状态标识 MO V B 1 0 S M B 3 4 / / _设置定时中断 0的时间间隔 为 1 0 ms A T C H I N T _ l 1 0 / / 定时中断 0 超时,触发中断 1 C R E T I / / 返回 NOT R C V V B 2 0 0 1 / / 1 次接收完成 ,开始新的接收 N E T WO R K1 / / 中断 1 L D S M0 . 0 / / 运行标识 D T C H 1 0 / / 解除定时中断 X M T V B 2 0 0 l , / 向C O M 1 的缓冲区返回信息 完整的程序运行流程如 图 1 所示。 图 1 P L C程序 流程图 F i g . 1 Pr o g r a m F l o w Ch a r t f o r P LC 2 P C编程 P C 机侧程序采用微软公司的V is u a l C 工具开 发。在以往的实践中,大家或利用标准通信函数、 或利用第三方控件 MS C o m m、或利用 A P I 函数p 来 实现串行通信 微 软从 V i s u a l S t u d i o 2 0 0 5 开发工 具开始 ,在 N E T F r a m e w o r k 类库包含了 S e r i a l P o r t 组件,利用此 组件 ,可以方便地实现串口通讯的多种功能 。 S e r i a l P o r t 组件的常用属性极其描述如表 1 所示。 表 1 S e r ia l P o r t 属性 Ta b l e 1 At t r i b u t e o f S e r i a l P o r t 属性 描述 获取或设置通信端 口 设置波特率 设置数据位 设置停止位 设置校验位 s e r i a l P o r t 组件的串口属性要设置成与P L C串口 参数相同的数值,其代码如下 s e r i a l P o r t 1 . P o N a m e “ C O M1 ” ;/ / 设置通讯端 口为 C O M1 s e ri M P o a1 . B a u d R a t e 9 6 0 0;/ / 设 置 波 特 率 为 9 60 0 b p s s e r i a l P o r t 1 . D a t a B i t s 8 ;假 置 8 位数据位 s e r i a l P o r t 1 . S t o p B i t s S y s t e m. I O. P o r t s . S t o p B i t s . On e ;臌 置 l 位停止位 s e riMP o 1 . P a ri t y S y s t e m. I O. P o r t s . P a ri t y . No n e ;/ / 无奇偶校验 s e fi M P o 组件打开关闭串口 采用的是调用类的 O p e n 0 和 C l o s e 0 方法。其读取数据的方法是多为同 步阻塞调用,因此可以使用异步处理或线程间处理 调用这些读取数据的方法, 从而尽量避免在主线程 中调用,由此可以显著提高系统的工作性能。 能 够 触 发 s e fi a lP o a 组 件 接 收 数 据 的 是 D a t a R e c e i v e d事件。由于此事件在辅线程被引发, 还要用到跨线程处理。 最终完成的通讯界面如图2 所示, 在这个通信 界面上可以根据实际需要,自由设置串口的各个参 数。在完成通信参数、 命令类型和寄存器参数的设 置后, 便可发送指令数据。 命令类型中0 5 代表“ 读” , 0 6 代表 “ 写” 。 翻蝴 网熟_面 翻 _ l 瓣 画 图 2 P C程序界面 Fi g . 2 P r o g r a m I n t e r f a c e o f P C 下转第 1 0 3 9页 鼍; y ~ 第 4 2 卷第 7期 刘见阳, 等 冷换框架风荷载计算在计算软件中的应用 1 0 3 9 A s 泼 备 6 . 1 8 总的挡风面积为 A0 A l 2 3 4 A 5 3 9 . 2 1 m 2 折减系数 A dA 3 9 . 2 1 / 1 . 3 66 1 0. 8 38 2 结 论 1 根据12 3 N个框架的计算 ,可以看到横向的 挡风面积的折减系数在 0 .7 0 .7 3 之间, 纵向的挡风 面积的折减系数在 O . 8 3~O . 8 6之间,考虑到 P K P M 体型系数的取值不分横向和纵向,为了安全,建议 折减系数取 0 .8 5 左右; 对其他考虑横向和纵向的计 算软件,建议此系数在横向取 0 .7 5 ,纵向取 0 .8 6 。 2 由于本文只是引证了 2个具体的工程实例, 不能正确的反应所有的情况,加之参考的规范为 1 9 9 6 版本, 对实际情况的反应不够准确, 待新规范 出台和以后随着工作经验的增多,能运用概率统计 的理论,在保证足够安全的情况下对此系数取一个 更加合理的值。 参考文献 [ 1 ]建筑结构荷载规范 G B 5 0 0 0 9 2 0 0 1 2 0 0 6 年版 【 s 】 . [ 2 ]中国石化北京设计院石 油化工企业钢结构冷换框架设计 规范 S H3 0 7 7 9 6 [ 1 . 上接 第 9 3 5页 4 结 论 1 应用有限元分软 a n s y s 对天然气干燥器裙 座及下封头接管区域进行结合热应力和机械应力的 综合分析可得最危险区域存在于下封头与接管连接 区,通过截取几个危险路径进行的安全评定得出各 项应力值均小于许用值。 2 在疲劳分析之前正确的找到了应力幅值的 范围,以及应力分解并重组后最大应力强度的点, 得到的累计损伤系数 0 . 1 0 4 6 7 1 较为准确。这一系 数表明该部位满足疲劳强度的要求。 3 在本文探讨范围外, 最低工作压力为负压 0 . 1 ,还应考虑结构的稳定性 。 参考文献 [ 1 ] 郑津洋,董其伍 ,桑芝富. 过程设备设计【 M】 .北京 化学工业出 版社,2 0 0 9. [ 2]邵宗科 , 黄重国, 董红磊. 基于 A N S Y S的 X C Q1 6 钢轴向疲劳实 验与有限元仿真『 J 】 . 陕西陕西理工学院学报,2 0 0 9 . [ 3] J B 4 7 3 2 --1 9 9 5钢制压力容器分析设计标准f s 】 . [ 4 ]余伟炜,高炳军 , 等.A N S Y S 在机械与化工装备中的应用[ M] .北 京中国水利水电出版社,2 0 0 7 . [ 5 ] 丁伯民. A S M E压力容器规范分析与应用[ M] . 北京 化学工业 出版 社.2 0 0 9 . 上接 第 1 0 1 6页 4 结束语 随着 P L C在工业现场 的大量普及和应用 ,对 P L C的监控和管理显得 日益重要 。 本文在 P L C与 P C 的自由口通讯中,采用了 V C 内置的 s e r i a l P o r t 组 件, 不但大大简化了编程, 而且取得了不错的效果。 在此基础上,配合 P C与P L C的通信协议, 就可以 开发出交互界面友好、 功能强大的上位机监控系统, 以较低的成本, 满足众多中小企业自动化、 信息化、 网络化的要求 。 参考文献 [ 1 ] 西门子 中国 有限公司. S I M A T I C s 7 2 0 0可编程控制器系统手册 【 G 1 . 2 0 0 8 . [ 2] I v o r H o r t o n ,V i s u a l C 2 0 1 0入门经典 【 M】 .第 5版. 北京清华大 学出版社,2 0 1 0 . [ 3 ] 高潮,罗强 ,郭永彩,扶新. 用 V i s u al c 实现 P c与 P L C之间的 串行通讯『 J ] . 重庆大学学报 自然科学版 , 2 0 0 6 ,2 9 6 1 9 2 2 .