网站大量收购独家精品文档,联系QQ:2885784924

PLC串行通信在分布式监控系统中的应用.docVIP

PLC串行通信在分布式监控系统中的应用.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PLC串行通信在分布式监控系统中的应用.doc

PLC串行通信在分布式监控系统中的应用 1 引言   目前,plc作为一种成熟稳定可靠的控制器,已经在工业控制中得到了广泛的应用。在实际应用中通常采用以工业控制计算机和plc构成计算机监控系统。在这里,plc完成对系统的底层控制,即直接控制执行机构,实现数据采集,处理与控制;上位计算机则完成数据处理、信息管理等复杂的监控管理任务。通讯的实现就成为这种系统中的关键技术之一。本文以电厂输煤监控系统为例,介绍了串行通信技术在分布式监控系统中的应用。 2 监控系统硬件构成   某电厂输煤系统共有储煤圆筒仓6个,每个仓下面各对应着环式给煤机,犁煤机,变频器和皮带等设备,每个仓距离几十米。我们使用可编程控制器(omron c200h型plc)作为下位机负责对每台圆筒仓下的设备信号采集和控制命令的发送。由程序实现对设备启停的连锁控制,出现异常情况,如设备电流越限,给煤车挡板卡死等情况,能快速作出反应并报警。   采用工业控制计算机(ipc)作为操作员站,实现对整个的监控和管理功能。plc之间以rs422方式组成网络,并和上位机之间采用hostlink方式连接。系统结构图如图1所示。   每个圆筒仓下的设备使用一个c200h型plc对其进行控制,并配置一个com06通信模块。它能够为plc提供rs422/485方式的通讯。这样可以方便的将其联网。rs422采用平行发送接收方式,具有传输距离长,抗干扰能力强和多点通信能力,最多可以连接32台plc。在plc和上位机之间使用一个rs422/232转换模块,将rs422信号转换为rs232信号,这里使用的是研华adam4520。这种网络通信方式经济实用,完全能满足生产运行的需要。 3 系统软件开发及串行通信的实现   上位机监控系统开发c++ builder6.0编程软件。c++builder是borland公司的产品,它采用面向对象的c++语言,实时性好,运算速度快,编程效率高,人机界面功能强大。近年来越来越多地应用于工业控制。   plc与上位机的串行通信程序的编制是监控系统开发的关键部分。使用c++builder开发系统人机界面的部分较为容易,不是本文讨论的主要内容,在此不作详细叙述。 3.1 plc的通信协议简介   上位计算机和plc通讯使用的是上位链接通讯方式,所以我们要开发c++ builder与omron plc的串行通信,必须使用omron plc的上位机链接通信协议。   上位机链接通信是通过在上位机和plc之间交换命令(command)和应答(response)帧实现的。在一次交换中从上位机传输至plc的命令称为命令帧,plc对命令帧的应答数据称为应答帧。每个帧以设备号和标题开始,以检验码fcs及结束符结束。一个命令帧最多可以包含131个数据字符,多于131个数据字符的数据要分成若干帧发送。   从上位机发送一个命令帧时,命令格式如图2所示。   @符号必须置于每个命令的开头。节点号用来辨识接收命令的plc,节点号在数据寄存区dm6558地址中设定。识别码是2个字符的命令代码,用来设置通信的功能。正文设置命令参数,包括要读写的plc寄存器单元的起始地址和字数。fcs是2个字符的帧检查顺序码,是检查前面数据的校验码,终止符以“*”和回车(chr$(13))两字符,表示命令结束。一些常用命令代码如rr表示读ir/sr区的值,rd表示读dm区的值,wd表示向dm区写数据。具体情况可参照相关操作手册。   响应帧的格式与命令帧类似,在标志码后多了两位的结束代码。不同结束代码的值代表不同含义。查看结束码可以得知是否有错误发生以及发生错误的类型。正常情况下的结束码为00。表1为常见的结束代码及其含义。   帧顺序检查fcs在终止符之前,以检查传送时是否存在数据错误。fcs是一个转换成2个ascⅱ字符的8位数据。这8位数据为从帧开始到帧正文结束所有字符ascⅱ码执行“异或”操作的结果。每次接收到一帧,先要计算fcs,与帧中所包含的fcs作比较,就能检查数据传输的正确与否。例如:要读出01号plc的ir200里的数据,通过上位机可以发送格式为“@01rr0100000141*”的命令帧。其中“41”即为计算所得的fcs。每一帧的fcs的可由上位机程序计算得到。   3.2 c++ builder中串行通信的实现   使用c++ builder开发串行通信程序有两种方法:一种是利用activex控件,c++builder本身并不提供单独的串行通信控件,可以使用visual basic自带的mscomm32控件,在c++builder中注册它,c++ builder就可以调用了。另一种方法是利用windows api函数创建串行通信。 利用activex控件开发串行通信程序较为容易,很多文章都进行

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档