- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西门子S7―200PLC自由口通讯的两种Delphi实现方法.doc
西门子S7―200PLC自由口通讯的两种Delphi实现方法
【摘要】本文介绍了PC机与PLC实现自由口通信的两种方法。上位机采用的是PC机,利用Delphi6.0编写应用程序,详细对其中的两种方式做了详细说明。下位机采用西门子公司的S7-200PLC,文中列出了相应的程序说明。
【关键词】计算机通信;PLC;Delphi;自由口通信
1.引言
随着大规模和超大规模集成电路等微电子技术的迅猛发展,PLC作为一种新型高能的控制器已经越来越广泛地用于工业现场控制的各个领域,它有着高可靠性、低能耗、易操作、易安装等优点。但是,由于PLC的人机交互能力差,独立的PLC不能完成工业控制流程的实时和动态监控,PC机与PLC的通讯就愈加显得重要。通过PLC与PC机的通讯,使得个人计算机和其他智能控制设备交换数字信息,使系统形成一个统一的整体,方便实现分散控制和集中管理。
2.S7-200的通信与PC机的通信机理
S7-200 PLC的CPU支持多种通信协议,包括:点到点接口协议(PPI)、多点接口协议(MPI)、Profibus协议、自由通信接口协议和USS协议。自由通讯口模式是S7-200PLC一个很有特色的功能,用户可以通过用户程序对通信口进行操作并且自己定义通信协议。应用该通信方式,S7-200可以方便地和任何通信协议已知、具有串口的智能设备和控制器进行通信。
通过设定特殊存储字节SMB30(端口0)或SMB130(端口1)允许自由口模式,设置它的波特率、奇偶校验和数据位数。用发送指令(XMT)和接收指令(RCV)对数据进行通信操作。值得注意的一点是:只有在CPU处于RUN模式时才允许自由口模式,当CPU处于STOP模式时自由口模式将自动转换为PPI协议模式。用反应CPU模块上的工作方式的特殊存储器位SM0.7来控制自由口通讯方式的进入,当SM0.7为1时CPU处于RUN模式,可将通信口置为自由口模式。
在PC机与PLC的通讯过程中,主要是由PC机发送信息来强制控制PLC的状态,接收PLC发送过来的信息来显示控制状态。PLC发送信息通过检测SM4.5来每半分钟发送有关PLC状态的信息,以使PC机信息更新。
3.下位机(PLC)实现
对PLC的通信编程就是对串口进行设置。当CPU处于RUN模式时,进行自由口通信。
3.1 端口的初始化
4.上位机的Delphi实现
Delphi是Borland公司推出的一种功能强大的高级编程语言,具有可视化面向对象的特性。将Windows编程的复杂性封装,实现可视化设计和Object Pascal语言的有机结合,特别适于在Windows环境下图形界面和用户程度的编制。Delphi的伸缩性很强,控件功能强大,往往只需编写较少的代码就可以实现较复杂的应用。并且相对于WINCC、IFIX组态软件,使用Delphi会降低很多成本。
4.1 用第三方提供的控件MSComm实现
首先要将Activex控件导入Delphi中:打开主菜单[Component]选择[Import ActiveX Control],选择列表中的[Microsoft Comm Control 6.0]选项(安装VB6.0后就可以看到这个选项),单击Install按钮,编译后完成安装,这时,可以在Activex控件页上看到一个电话图标,这就是MSComm控件。
新建一个Application项目,在主窗体Form1中添加一个MSComm控件后可进行串行口的初始化。如设置COM口,设置发送、接收对列长度、比特率、数据帧长度、每次接受到字符即产生OnComm事件等[2]。
4.2 用API函数实现串口通信
在Windows系统下,由于应用程序不能直接访问硬件,因此只能通过调用API(Application Programming Interface)函数来完成与下层设备的数据交换。操作系统为每个通信设备开辟了用户可定义大小的读/写缓冲区,数据进出通信端口均由操作系统后台完成,用户只需调用API函数编写串行通信程序对读/写缓冲区进行操作而已。在Delphi中对串口编程的基本步骤是:
首先,采用CreateFile函数打开串行口,以确定本应用程序对此串口的占有权,并封锁其它应用程序对此串口的操作。
其次,DCB中记录有可定义的串行口参数,设置串行口参数时必须先用GetCommState函数将系统默认值填入DCB控制块,然后再通过调用SetCommState函数配置串行口的波特率、数据位、校验位和停止位。
然后通过ReadFile和WriteFile进行串行口的读写操作。
最后用CloseHandle函数关闭串行口
您可能关注的文档
最近下载
- 正方体的11种展开图--A4直接打印版.docx VIP
- 新能源汽车动力电池管理及维护技术PPT课件.pptx VIP
- 【中职】高教2023版 世界历史第2课 古代希腊罗马 PPT课件.pptx VIP
- DB32_T4725-2024池塘养殖尾水生态处理技术规范.pdf VIP
- Kaierda凯尔达 KC20机器人操作说明书.pdf VIP
- 第四章陈述性知识课件.ppt VIP
- 锚固剂参数、规格与安装说明.doc VIP
- 2025年安徽省第七届粮食行业职业技能大赛(粮油保管员赛项)备考试题库资料(含答案).pdf VIP
- “巴渝工匠”杯重庆市粮食行业职业技能竞赛_(粮油)仓储管理员备赛试题库资料(含答案).pdf
- 最新锅炉工资格完整考试题库必背100题(含答案) .pdf VIP
文档评论(0)