基于单片机的通用控制器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉大学本科综合实验报告(II)基于HostLink通信协议的OPC服务器开发
院(系)名称:动力与机械学院
专业名称:自动化系
学生姓名:王媛媛
指导教师:张世荣副教授
目录 (2)
摘要 (3)
第1章实验背景和原理 (4)
1.1实验背景 (4)
1.2 实验原理 (4)
第2章设计说明 (6)
2.1开发流程 (6)
2.1开发平台和编程环境介绍 (7)
2.2 Omron CQM1H-CPU21 (7)
2.3客户端组态王的介绍 (8)
2.4 HostLink通信协议 (9)
2.5 FCS校验 (11)
2.6 OPC技术 (13)
2.7多线程设计 (13)
第3章程序设计 (16)
3.1基于HostLink通信协议的数据传输实现 (16)
3.1.1窗体界面设计 (16)
3.1.2串口参数设置及开/关控制 (17)
3.1.3读写功能的实现 (18)
3.2基于C#语言的OPC服务器开发 (21)
3.2.1初始化服务器并写注册表 (21)
3.2.2设计客户端组态王画面 (22)
3.3.3服务器向客户端发送数据信息 (23)
3.3.4 线程2 客户端向服务器回写信息 (23)
第4章测试与分析 (24)
4.1通信测试 (24)
4.2访问和回写服务器 (25)
4.3 测试结果分析 (25)
第6章实验总结及感想 (26)
参考文献 (27)
本实验对欧姆龙CQM1H系列PLC 的HostLink 通信协议进行了介绍, 并提出了使用C# 利用Visual Studio 2010 中的SerialPort控件[1]实现PLC 与上位机通信的方法,并给出了实现通信的具体步骤以及优化的通信方案。鉴于PLC的人机交互性太差,而计算机具有良好的用户交互界面,所以在此基础上开发OPC 服务器,以便在组态王作为客户端能够实时的显示和回写PLC中的数据信息。
关键词:OmronPLC 、串口通信、HostLink协议、C#、OPC服务器、多线程。
第1章实验背景和原理
1.1实验背景
PLC是新一代工业控制装置,由于可靠性高、适应性好、抗干扰能力优、接口功能强、编程简单、直观以及模块化结构、使用方便等优点,在工业控制领域中,作为一种稳定可靠的控制器得到广泛的应用。但它也有自身的一些缺点,即数据的计算处理和管理能力较弱,不能给用户提供良好的界面等。而计算机恰好能弥补PLC的不足,它不但有很强的数据处理和管理能力,而且能给用户提供非常美观而又易于操作的界面[2]。将PLC与计算机结合,可使系统达到既能及时地采集、存储数据,又可处理和使用好数据,两者结合的关键是PLC与计算机之间的通信。本实验以欧姆龙公司的CQM1H-CPU21型号的PLC为例,用C#语言设计基于HostLink协议的PLC与计算机的通信程序,实现在Windows平台下为可编程控制器(PLC)网络提供实时数据传输和交换服务[3]。同时为了很好的利用计算机能够给用户提供良好的界面的优点,进行OPC服务器和客户端的开发,便于很好的显示和修改PLC中的数据信息。
1.2 实验原理
实验中,我们在.NET平台下,Visual studio2010开发环境中,用C#语言进行程序编写。本此实验中PC兼具作为控制主站和OPC服务器的功能,主站与从站(PLC)之间通过HoatLink协议实现读写通信,并利用组态王软件作为客户端,用来监测通信的实时状态,同时实现向PLC写入数据的功能。
图1-1 实验原理图
简而言之,我们要实现的就是PC机对PLC的可读可写,客户端对服务器的可读可写功能。
第2章设计说明
2.1开发流程
整个程序开发包括窗体界面设计和程序代码的编写,而开发流程主要分为两大部分,用到两个个线程。这两个部分分别是基于HostLink通信协议的数据传输实现和基于C#语言的OPC服务器开发。
1.准备工作
(1) 学习C#语言编程方法,窗体界面的设计方法,控件的功能和使用方法。
(2) 在Omron官网上下载CQM1H-CPU21型号的PLC的说明书和操作手册。查阅相关书籍和论文,学习Hsotlink协议。
(3) 在PC机上安装USB转串口的驱动,在CX-programmer里面测试PC机和PLC是否能正常连接。测试结果显示上位机能够和PLC连接,接下来可以开始进行程序设计部分了。
2. 程序设计流程
设计流程图如下:
图2-1 设计流程图
3. 测试
测试串口是否打开;在窗体界面发送测试命令,上位机读IR区,读数据区,读HR区;上位机写IR区,写DM区,写HR区,改写运行状态。客户端选取一个变量进行数据信息改写。
4. 程序优化
在测试结果无误的前提下,进一步的代码改进和通信窗口美化。如修改和添加注程,调整位置等。
2.2开发平台和编程环境介绍
1. NET框架介绍
.NET框架(.NET Framework)是由微软开发,一个致力于敏捷软件开发(Agile softwaredevelopment)、快速应用开发(Rapidapplication development)、平台无关性和网络透明化的软件开发平台。它是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境。.NET包含许多有助于互联网和内部网应用迅捷开发的技术。
2. Visual studio2010开发环境介绍
Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台。
2.3Omron CQM1H-CPU21
1. Omron的CQM1H-CPU21介绍
Omron的CQM1H-CPU21是一种紧凑的支持同性功能和其他先进功能的课编程程序控制器。它是一个安装在DIN导轨上,控制中小型机械的组装型的PC。该PLC用串行通信与机械部件连接。串通信板支持协议宏的功能。即可以根据外部设备的通信规约生成一个协议宏,能用单个PMCR指令实现数据的传输。原则上从任何使用串口的参数都可以与之通信。