利用FETCH_WRITE方式实现计算机和西门子S7PLC直接通讯.docx_第1页
利用FETCH_WRITE方式实现计算机和西门子S7PLC直接通讯.docx_第2页
利用FETCH_WRITE方式实现计算机和西门子S7PLC直接通讯.docx_第3页
利用FETCH_WRITE方式实现计算机和西门子S7PLC直接通讯.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

利用 fetch/write 方式实现计算机 和西门子 s7plc 直接通讯张世友(安徽马钢自动化信息技术有限公司 ,安徽马鞍山,243011)【摘要】 介绍了西门子 s7 系列 plc 和计算机通讯的几种方式,着重 fetch/write 通讯方式的组态配置、原理、报文格式等内容;同时描述了计算机通讯模块的 tcp/ip socket 通讯的原理、程序流程图、多线程操作、以及如何利用 vc+2005 实现整个通讯模块。【关键词】plc;多线程;通讯【中图分类号】 tp393【文献标识码】 b【文章编号】1006-6764(2014)08-0078-04doi:10.13589/ki.yjdl.2014.08.023to achieve direct communication between computer and siemens s7 plc using fetch/writezhang shiyou(masteel automation & infomation company of maanshan iron & steel co.ltd., maanshan, anhui 243011, china)abstract several communication modes between siemens s7 plc and computer system are introduced focusing on the configuration, principle and message format, etc. of fetch/ write communication mode. the principles, program flow chart, multi-threaded operation of the tcp/ip socket communication of computer communication module and how to use vc+2005 to integrate the whole module are also described.key words plc; multi-threading; communication1 前言随着 plc 性价比的不断提高,其应用范围不断 扩大,特别是近年来 plc 向着大型网络化方向发展,已经渗透到钢铁,化工电力,制造、运输等各个行业中。针对 plc 编程、计算能力有限及 pc 机大量应用的情况,pc 机与 plc 的结合使用就成为必然趋 势。在各行各业的控制系统中西门子的 s7 plc 被 广泛采用,由于西门子公司没有公开西门子的 s7 以 太网通讯协议,目前 s7-400 plc 和 pc 机通讯的方式主要有以下几种:通过西门子 opc 服务器实现 pc 机和 plc通讯;在利用 fetch/write 方式实现 plc 和 pc机之间通讯,直接读取 plc 的 m 区、i 区、q 区、db区等区域内的任何数据。在以上四种方式虽然都能和 plc 实现数据交 换,前三种通讯方式有的要安装数量不等的西门子软件,有的只能交换某一特定数据块的数据,增加系 统的软件成本和调试维护的难度;而第四种利用windows 操 作 系 统 中 的 tcp/ip 协 议 和 plc 的fecth/write 通讯方式直接实现 plc 和 pc 的数 据交换,不仅节省了系统的软件成本,同时加快了系统的响应速度,可以读 s7 plc 中所有区域内的数 据。2s7 plc 端的通讯tcp/ip 是当前应用最为广泛的通讯协议,广泛利用西门子的 sap(i西门子应用程序编程接口) 调用西门子提供的动态链接库函数来实现 pc机应用程序和 plc 之间的数据之间交换。在 plc 和 pc 机之间建立通讯连接,调用plc 的通讯功能块,利用 tcp/ip 协议之间和 pc 机 进行通讯。应用于各种 pc 网络;西门子的工业以太网卡如cp443-1 也支持 tcp/ip 协议,为 s7 plc 和 pc 通 讯提供了硬件基础。tcp/ip 协议实现了两种通讯方 式:面向连接的(tcp)通讯方式和无连接的(udp)冶金动力2014 年第 8 期总 第 174 期79metallurgical power通讯方式;由于工业现场的数据都十分重要,为了保证通讯的准确无误,我们采用了面向连接的通讯方 式。2.1 s7 400-plc 的硬件及网络组态为了使 s7 400-plc 能够和 pc 机进行通讯,理,然后返回确认数据报文或响应数据报文,完成一次通讯操作。为了通过 fetch/write 方式和 pc 机通讯,必 须要知道每个通讯报文的数据组成,s7 请求报文的 长度有 16 个字节组成,分为向 plc 写数据的数据报文格式和从 plc 读取数据的数据报文格式。2.2.1 向 plc 写数据的请求报文和相应报文格式(见图 1)写数据请求报文由 pc 发送到 plc,主要包括: 系统标识、报头长度、操作代码表示、操作代码长度、 操作代码等,这些内容对每个报文都是固定的值,同时报文包括操作的区域 (db 区、i 区、q 区、m 区、c 区、t 区)、数据块号(在对 db 区操作时有效,范围 为:1255)、以字节为单位的起始地址、以字节为单 位的数据长度和要发送的具体数据。写数据响应报 文由 plc 发送到 pc 机,确认写数据请求报文的处 理情况,如果成功,则数据写响应报文的错误代码(error field)为 0,如果请求报文中的数据有误,则 通过写数据响应报文返回错误代码。需要通过 cp443-1 以太网模块,将 s7 400-plc连到以太网上,同时设置好正确的 ip 地址和网关等,进入西门子硬件组态,选择 cp443-1 以太网模块的 属性,在相应的位置设置好 ip 地址、网关和子网掩 码等相关信息;在西门子的网 络 组 态 软 件(net pro)中要建立一个通讯连接,在网络协议栏中选择 tcp 协议,同时设置好本地通讯的端口,同时将连 接的方式设置为 fetch/write 方式,且 plc 作为通讯服务器方。2.2 s7 plc 端通讯程序的实现利用 fetch/write 方式,其他设备可以存取 s7系统中的任何存储期的数据,进行数据交换时,在s7-400 plc 段不需要编写任何程序,只需要按照要 求设置好相应的通讯连接,并且 pc 机按要 fetch 和 write 的 pdu 的要求发送相应的通讯请求报文 plc,plc 根据接受的请求报文后对请求报文解析处从 plc 读取数据的请求包和相应包格式(见2.2.2图 2)图 1 写数据报文及其响应报文冶金动力2014 年第 8 期总 第 174 期80metallurgical power图 2 读数据请求报文及其相应报文读数据请求报文由 pc 发送到 s7 plc,能够读取的数据区域和写入数据相同,主要不同是操作代 码不同,其读请求报文不含数据区;读响应报文除了 含有报文头外,还包含请求数据包中所请求读取的 数据,若错误,则返回错误代码。3 计算机端通讯程序在 winddows 操作系统下,通过 winsock网络编程接口,来实现应用程序的网络通讯功能;为 了减少程序的 cpu 占用率和提高系统的实时性,采用了 overlapped i/o (重叠式 i/o)socket 通讯方式。通常一台 pc 机有可能和多台 plc 连接,为使程序 高效执行和减少程序设计的复杂性,将采用多线程技术,pc 机和不同 plc 的通讯有不同的线程来完应;测试有没有数据发送,若有,则接受,若没有,则继续测试;整个程序的流程图如图 3。成,整个通讯程序采用 visualc+ 2005下完成。3.1 通讯程序的主要流程及程序实现开发平台图 3 pc 机通讯流程图为了和多个 plc 进行通讯,可以在通讯模块中 为每个 plc 创建一个通讯线程,由不同的线程和不 同的 plc 进行通讯,这样便于系统的调试和维护, 同时程序设计时采用了通讯容错技术,在 pc 机和plc 的网络出现故障时,pc 机每隔 30 s 会和 plc建立通讯连接,只要 plc 重新在线, (下转第 83 页)pc 机和一台 plc 通讯的功能都在一个线程函数中完成。主要过程有:首先初始化 winsocket通讯动态连接库,然后创建套接字,并且将其绑定到 tcp协议上;然后开始和 plc 的以太网接口进行建立连 接;在连接建立好以后,开始向 plc 发送读或写数 据的请求报文,并进行 i/o 重叠操作,等待 plc 响冶金动力2014 年第 8 期总 第 174 期83metallurgical power于事件的。基于时间的调度可在指定的时间触发一次或多次;基于事件的调度用一个有效的数据源来触发一个动作,当指定的数据源的状态发生变化时触发一个事件。图 2 语音报警设置语音报警与画面报警同时运用在喷煤系统中,二者双管齐下,设备始终处于无缝监控下,双重措施 保证系统的安全稳定运行。4 总结发现隐患、及时排除、有效降低故障率;提高设 备的自动化控制水平,减少人为因素影响,降低劳动量;应用综合报警,并推广至其他维护区域,有效保障喷煤系统乃至高炉区域系统的安全稳定运行。在 莱钢型钢高炉喷煤自控系统的日常维护中,总结维 护中遇到的各种问题和解决方法,对以后维护过程中的判断与处理有很大的帮助。参 考 文 献【1】马国华监控组态软件及其应用(第 1 版)m.北京:清华大学出版 社,2001【2】 黄友锐,曲立国.pid 控制器参数整定与实现 m. 科学出版社.2010.1【3】方彦军,李世红.基于 ifix 的软件报警技术在自动测量系统中的 实现j.工业仪表与自动化装置.2004.3收稿日期:2014-02-27作者简介:崔青(1981-),女,大学本科学历,工程师,现从事自动化 仪表与维护工作。!不需要人工干预,系统自动恢复plc 中相应数据的值了。4结论为了便于控制系统和二级系统的集成,已经将 本技术开发成中间件,成功应用于江阴兴澄铁钢 1#加热炉三级系统、马钢车轮压轧线机械手控制系统,马钢(合肥)1# 连续退火机组等生产线上,通过近几 年的运行,证明该通讯方式非常简洁高效,保证了工艺数据和设定值的高效传输。参 考 文 献1 (美)anthony jones jim ohlund.windows 网络编程技术m.北京: 机械工业出版社.2000收稿日期:2014-04-04作者简介:张世友 (1974),男,安徽来安县人,工程师,现从事冶金 行业处理线控制系统的编程调试工作。(上接第 80 页)正常。3.2 数据字节顺序的处理因 s7 400plc 和 pc 机的在整数,浮点数等数 据类型中高低字节顺序正好使相反的,为了保证数据正确的传输,在 pc 机端需要对接受到的 plc 数 据和发送给 plc 的数据进行高低字节顺序的对调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论