北京科技大学工业组态软件设计报告
DCS与工业组态软件实验报告

评分:DCS与工业组态软件实验报告学号:班别:姓名:实验一:硬件系统熟悉与操作一、实验目的:1、了解集散控制系统的组成和结构;2、熟悉系统规模、控制站规模;3、掌握控制站卡件型号、名称、性能及输入/输出点数;4、掌握控制站卡的地址设置。
二、实验内容:硬件简介:1、JX-300X DCS系统网结构如图1.1所示:图1.1 JX-300X DCS系统网结构示意图通讯网分为三层:信息管理、过程控制(SCnet II)和控制站内部I/O控制总线(SBUS)。
2、控制站卡件控制站卡件位于控制站卡件机笼里,主要由主控卡、数据转发卡和I/O卡组成。
卡件按一定的规则组合在一起,完成信号采集、信号处理、信号输出、控制、计算、通讯等功能。
控制站卡件一览表如表1.1所示:表1.1 控制站卡件一览表硬件选型:1、根据测点性质确定系统I/O卡件的类型及数量(适当留有余量),对于重要的信号点要考虑是否进行冗余配置;2、根据I/O卡件数量和工艺要求确定控制站和操作站的个数;3、根据上述设备的数量配置其它设备,如机柜、机笼、电源、操作台等;4、对于开关量,根据其数量和性质要考虑是否选配相应的端子板、转接端子和继电器。
Scnet II网络组件地址设置:对TCP/IP协议地址采用如表1.2所示的系统约定:表1.2系统约定的参数网络码128.128.1和128.128.2代表两个互为冗余的网络。
在控制站表现为两个互为冗余的通讯口,上为128.128.1,下为128.128.2。
在操作站表现为两块网卡,每块网卡所代表的网络号由IP地址设置决定。
三、实验条件:1、JX-300X集散控制系统一套2、DELL工控机计算机一台3、JX-300X DCS系统组态软件包一套四、实验练习:1、参考实验四的工程项目进行硬件配置。
2、TCP/IP协议地址的系统约定。
五、思考题:1、硬件选型时,I/O卡件选型的主要依据是什么?实验二:JX-300系统的组态设计一、实验目的:1、了解JX-300X系统组态软件包;2、掌握控制站、操作站等硬件设备在软件中的配置;3、掌握I/O设备、信号参数的设置。
《工业组态控制技术》实验报告范文

课程名称:工业组态控制技术任务一:我的第一个工程,时间3月8日任务二:水箱控制,时间3月22日任务三:用户权限的管理,时间4月18日任务一:我的第一个工程一、工作任务1、理解组态技术、MCGS组态软件的特点和构成。
2、建立一个简单的MCGS组态工程。
二、工作要求1、正确回答相关的理论知识点。
2、建立名为“我的第一个工程”的工程项目,保存到F盘以自己学号和姓名命名的文件夹中。
3、工程运行时,立即最大化显示工程画面,窗口标题为“我的第一个工程”。
画面中有:1台水泵、2个水罐、2个阀门、3段水管和相关文字注释。
工程效果图可参见MCGS帮助系统:MCGS快速入门。
三、工作过程(一)理论学习,回答下列问题:1、什么是工控组态软件?2、说明英文缩写的含义:MCGS、ODBC、OPC、OLE。
3、MCGS系统包括哪些部分?其核心是什么?4、MCGS系统为什么与设备无关?(二)详细写出组态工作过程1、创建自己的文件夹打开F盘,鼠标右击,新建文件夹,将文件夹命名为自己的学号和姓名,如:41011150 XX。
这样在F盘根目录下就建立了自己的文件夹——F:\41011150 XX。
(每次组态工作前,先创建自己的文件夹,然后将组态工程文件保存在此文件夹中,今后不再重复说明)。
2、创建工程(1)双击桌面“MCGS组态环境”图标,打开MCGS组态环境窗口。
(一般会自动弹出一个最近编辑过的工作台窗口,将它关闭。
)(2)单击“文件”菜单中的“新建工程”选项,弹出一个工作台窗口。
一般会在D:\MCGS\WORK\下自动生成新建工程,默认的工程名为:“新建工程0.MCG”(若新建工程0.MCG已经存在,则新建工程的顺序号顺延,如:1、2、3等)。
(3)单击“文件”菜单中的“工程另存为”选项,弹出文件保存窗口。
在“文件名”一栏内输入“我的第一个工程”。
再单击“保存在”一栏内的小黑三角,找到自己的文件夹,如F:\41011150 XX。
工业组态课程设计报告范文

工业组态课程设计报告范文一、课程目标知识目标:1. 学生能理解工业组态的基本概念,掌握工业控制系统的结构及功能。
2. 学生能掌握至少一种工业组态软件的基本操作,如组态王、WinCC等。
3. 学生了解工业现场信号类型及传感器的作用,理解数据采集与监控的过程。
技能目标:1. 学生能运用工业组态软件进行简单的控制系统设计与组态。
2. 学生具备分析工业控制系统故障的能力,并能提出合理的解决方案。
3. 学生能够通过小组合作,完成一个简单的工业自动化项目。
情感态度价值观目标:1. 学生培养对工业自动化技术的兴趣,增强对现代工业的认识和了解。
2. 学生在项目实践中,培养团队协作精神,提高沟通与表达能力。
3. 学生认识到工业自动化技术在实际生产中的应用价值,增强对科技创新的热情。
课程性质分析:本课程为工业组态实践课程,旨在帮助学生将理论知识与实际应用相结合,提高学生的动手能力和创新能力。
学生特点分析:学生为高中二年级学生,具备一定的电子、电工基础知识和计算机操作能力,对工业自动化技术有一定的好奇心。
教学要求:1. 理论与实践相结合,注重培养学生的实际操作能力。
2. 教师引导学生自主学习,培养学生的创新意识和解决问题的能力。
3. 注重团队合作,提高学生的沟通与协作能力。
二、教学内容1. 工业组态基本概念:包括工业组态的定义、作用及发展历程。
教材章节:第一章 工业组态技术概述2. 工业控制系统结构及功能:分析工业控制系统的层次结构,介绍各层次的功能及相互关系。
教材章节:第二章 工业控制系统的结构与组成3. 工业组态软件操作:以组态王、WinCC为例,教授基本操作方法,包括画面设计、数据库连接、报警与事件处理等。
教材章节:第三章 工业组态软件及应用4. 工业现场信号类型及传感器:介绍常见工业信号类型,如模拟量、数字量等,以及各类传感器的工作原理与应用。
教材章节:第四章 工业现场信号与传感器5. 数据采集与监控:讲解数据采集与监控的基本原理,分析其在工业控制系统中的应用。
组态软件实验报告范文(3篇)

第1篇实验名称:组态软件应用实验实验日期:2023年4月15日实验地点:计算机实验室一、实验目的1. 熟悉组态软件的基本功能和操作流程。
2. 学习如何使用组态软件进行实时数据的采集、处理和显示。
3. 培养实际应用组态软件解决实际问题的能力。
二、实验原理组态软件是一种广泛应用于工业自动化领域的软件,它可以将各种硬件设备连接起来,实现对实时数据的采集、处理和显示。
组态软件具有以下特点:1. 灵活性:可以灵活地配置各种硬件设备,满足不同应用需求。
2. 易用性:操作简单,用户界面友好,易于上手。
3. 可扩展性:支持多种接口,可以方便地与其他软件或硬件设备进行集成。
三、实验内容1. 组态软件的安装与启动2. 硬件设备的连接与配置3. 数据采集与处理4. 数据显示与报警设置5. 组态软件的应用案例四、实验步骤1. 组态软件的安装与启动(1)将组态软件安装光盘放入光驱,自动运行安装程序。
(2)按照安装向导提示,选择合适的安装路径、组件和选项,完成安装。
(3)启动组态软件,进入主界面。
2. 硬件设备的连接与配置(1)将硬件设备连接到计算机,确保设备正常运行。
(2)在组态软件中,选择“设备”菜单,添加相应的硬件设备。
(3)配置设备参数,如通讯方式、波特率、地址等。
3. 数据采集与处理(1)在组态软件中,创建一个新项目,设置项目名称、描述等信息。
(2)在项目中,添加数据采集设备,如模拟量输入、开关量输入等。
(3)设置采集设备的参数,如采样周期、数据类型等。
(4)对采集到的数据进行处理,如滤波、转换等。
4. 数据显示与报警设置(1)在组态软件中,创建一个新画面,用于显示实时数据。
(2)在画面上,添加相应的控件,如趋势图、仪表盘等。
(3)设置控件的数据源,将采集到的数据绑定到控件上。
(4)设置报警条件,如数据超出范围、设备故障等,并配置报警动作。
5. 组态软件的应用案例(1)以一个简单的工业生产过程为例,设计一个组态软件项目。
工业组态课程设计报告(组态王)

工业组态软件设计报告学院自动化学院专业班级自1103目录1标题纯水制备系统监控界面制作 (1)2目的 (1)3内容 (1)3.1纯水制备系统主画面 (1)3.2纯水车间流程监控 (1)3.3注射水车间流程监控 (1)3.4纯水车间各数据历史曲线 (2)3.5注射水车间各数据历史曲线 (2)3,6纯水车间报警 (2)3.7注射水车间报警 (2)3.8纯水车间报表 (2)3.9注射水车间报表 (3)4结果 (3)4.1 系统主画面 (3)4.2纯水车间流程及实时数据曲线 (3)4.3 注射水车间流程及实时曲线 (4)4.4 纯水车间数据历史曲线 (5)4.5 注射水车间数据历史曲线 (6) (6)4.6 纯水车间报警 (7)4.7 注射水车间报警 (8)4.8 纯水车间数据报表 (9)4.9 注射水车间数据报表 (10)5心得体会 (10)1标题纯水制备系统监控界面制作2目的通过组态王编辑人机交互界面实现对纯水制备系统各数据的监控,操作人员可以根据组态王人机界面中的系统状态对实际系统进行相关调试,完善控制。
3内容3.1纯水制备系统主画面整个系统的主画面即人机界面首页,通过该页面可以进入纯水制备系统的任意界面,并且此模块中包含整个系统唯一的退出链接,操作人员只能从这一界面实现系统的退出。
3.2纯水车间流程监控纯水制备系统的一个重要环节,此环节经过加药,过滤,软化,混床,微滤,紫外灯消毒等步骤实现对原水的净化。
并且在流程图的下面附有各数据量的实时监控曲线,形象直观。
页面中设有主画面和菜单按钮,可进行系统中各画面间的切换。
3.3注射水车间流程监控注射水车间通过蒸馏的方法进一步对纯水进行净化,满足一些工业过程对蒸馏水的需求,并且该系统可以对用过的水进行再收集进行二次蒸馏净化,节约资源,提高生产效率。
并且在流程图的下面附有各数据量的实时监控曲线,形象直观。
页面中设有主画面和菜单按钮,可进行系统中各画面间的切换。
北京科技大学工业组态软件设计报告

首先是一些总体的设计方面的亮点:
1、系统结构完整,功能定义清晰:
农、林、牧业是一个比较大的概念,涉及到很多技术以及诸多领域的知识。有我们所熟知的,也有我们需要进一步理解掌握的。在系统设计过程中,我们分块学习掌握了农、林、牧业系统的各个方面,对每一部分功能都有一定的认识与理解。因此在整个构思建构系统时,我们能够全面的把握系统的整体,并且统筹各个方面的功能,做到不重不漏,全面、清晰地阐释农、林、牧业系统。
仓库中还可以执行牛肉出口、羊毛出口、肥料施用的功能。点击界面右侧的运输车辆可以运出农作物和水果。点击界面右下角的数据按钮可以获得实时的直观的各个农作物、水果、牛肉、羊毛的柱形图。点击返回按钮可以返回主界面。
四、设计亮点
本次课程设计利用“组态王”软件所设计的开心农场演示系统,虽然并没有涉及到实际农、林、牧业系统的方方面面,但我们通过查阅相关书籍资料,网络信息搜索等手段也基本掌握了农、林、牧业所涉及的基本组成部分,我们在所设计的组态系统中对这些部分都进行了一定程度的展开说明,并采用上位软件系统进行了演示,比较充分地阐释了农、林、牧业的整个系统的运行过程,并加入了自己结合所学知识的进一步理解。可以说是涉及了工程设计实践过程的思考、设计、修改、实现、优化各个步骤,最终呈现出的系统效果也达到了我们设计之初的预计效果。
3.牧场画面主要由四部分组成:牧场变量监控区;牧场活动操作区;曲线显示;图片显示区。牧场变量监控区:此区域主要包括“牧场温度”、“牛的个数”、“饲料数量”、“羊毛余量”四个变量,“牛的个数”、“饲料数量”、“羊毛余量”对应图片显示区有动画显示,图片中牛、羊、草的数量会随之变化。牧场活动操作区:此区域包含四种功能“一键宰杀”、“一键剪毛”、“一键饲养”、“一键清扫”。这些操作同样对应着图片显示区的动画显示。特别的,动态变化的排泄物数量过多会报警。曲线显示:在实时曲线中主要监测两个变量,温度实时变化和饲料数量变化。另外还有历史曲线可供查找。
工业组态软件实习报告-力控
第一章基础设计报告1.1设计题目:储存罐液位监控系统1.2工艺流程储存罐液位监控系统是用来监测和控制储存罐内液体液位的系统。
工艺设备包括一个油罐,一个进油控制阀门,一个出油控制阀门,一个开始按钮,一个停止按钮。
按下开始按钮后设备运行,当液位低于低位设定值时入口阀门打开,液体注入储存罐,并且出口阀门关闭;当液位高于设定值时,入口阀门关闭,液体停止注入储存罐,并且出口阀门打开,液体流出储存罐。
另外,还有报警装置,用于液位低于低位设定值和高位设定值时的报警提示;实时曲线、历史趋势和报表专家用于数据查询。
由此来控制储罐液位形成一个有效的液位监控系统。
如下图所示:图1-1 储存罐液位监控系统1.3 设计任务:运用力控组态软件设计一个储存罐液位监控系统1.4 I/O点收集及清单本流程可以由以下四个I/O点完成功能。
表1-1 各I/O点名字及说明1.5 制作工程画面1、正确设计系统流程图。
(1)绘制工艺流程图打开力控软件在右边的工程项目“窗口选项”右击创建一个新的窗口:图1-2 创建窗口在新的窗口我们就可画出储罐、阀门、管道:图1-3 窗口图库初步绘制的工艺流程图如下:图1-4 简单工艺流程图我们可以在页面的右上角看到一个工具箱,如图所示:图1-5 工具箱由其我们可以补充液位显示和开始、停止按钮:图1-6 液位值及按钮(2)建立驱动在工程项目IO设备组态双击的到图1-7 仿真PLC建立驱动。
(3)创建I/O点或变量现在填充数据库找到数据库组态打开并填入相关数据图1-8 创建I/O点并且根据数据的不停情况选择不同类型的指标图1-9 I/O点设置(4)关联变量双击油罐得到:图1-10 罐向导选择表达式后面的省略号,出现:图1-11 变量选择我们选择level.pv,其他按默认值,单击选择,其余阀门与此类同不再介绍。
双击按钮得到:图1-12 动画连接选择左键动作编入如图程序,停止按钮则编入“run.pv=0;”图1-13 脚本编辑器(5)编写应用程序及动作运行找到单击得到图1-14 编写程序根据系统要求编入如下程序IF run.pv==1 THENIF level.pv<=70 THENifrise.pv=1;level.pv=level.pv+1;in_value.pv=1;out_value.pv=0;ENDIFIF level.pv>=80THENlevel.pv=level.pv-1;ifrise.pv=0;in_value.pv=0;out_value.pv=1;ENDIFIF(level.pv<80)&&(level.pv>70) THEN IF(ifrise.pv)THENlevel.pv=level.pv+1;in_value.pv=1;out_value.pv=0;ENDIFIF(ifrise.pv==0)THENlevel.pv=level.pv-1;in_value.pv=0;out_value.pv=1;ENDIFENDIFENDIFIF run.pv==0 THENin_value.pv=0;out_value.pv=0;ENDIF汇编通过并保存,这样这个工程就基本做完了。
报告
北京科技大学工业组态软件报告学院专业班级姓名学号指导教师成绩年月目录1标题[葡萄酒生产过程的控制] (1)2目的 (1)3内容 (1)4结果 (6)4.1[以管理员身份登录画面] (6)4.2[反应车间监控画面] (6)4.3[报警画面] (7)4.4[历史趋势曲线画面] (8)4.5[内部控件画面] (9)4.6[实时报表画面] (9)4.7[一分钟历史报表显示画面] (11)4.8[分钟历史报表查询画面] (12)4.9[数据实时显示与查询画面] (13)4.10[葡萄酒配方画面与增加配方画面] (15)5心得体会 (19)1标题:葡萄酒生产过程的控制2目的:建立一个葡萄酒生产过程的反应车间的控制画面。
监控中心从生产现场采集数据,并以动画形式直观的反应到生产车间的控制画面上,控制画面上将同时显示实时趋势,画面还提供了报警信息的查询,历史趋势的查询,实时报表的查询、打印与存储,历史报表的查询,还可以进行对葡萄酒配方的修改,并且可以与数据库连接,以实现数据的存取与查询。
3内容(1)新建工程;建立并保存一个属于自己的工程,命名为葡萄酒生产过程。
(2)定义外部设备和数据变量;定义需要用到的外部设备。
定义工程中需要用到的数据变量。
主要变量有:液位(I/O整形),温度(I/O整形),压力(I/O整形),开关(内存离散)。
(3)设计各个画面;(3).1反应车间监控画面:用于监控葡萄汁罐的压力,混合罐的液位,发酵罐的温度,并显示各个变量的变化值,以及三个变量的实时曲线。
画面中包括了报警指示灯,画面切换键,退出按钮,以实现报警信息的实时反映,各功能画面的顺利切换和退出系统。
(3).2建立报警和事件窗口:对报警和事件进行记录,其中包括实时报警信息与历史报警信息,还可以显示温度,压力,液位变量的实时值与报警上下限,并可以对报警上下限进行修改。
画面中有三个变量的报警指示灯和总报警指示灯,以便提醒操作者。
在画面属性编辑主要程序为:if(\\本站点\温度>\\本站点\温度.hilimit||\\本站点\温度<=\\本站点\温度.lolimit){\\本站点\温度报警标志=1;}else{\\本站点\温度报警标志=0;}if(\\本站点\液位>\\本站点\液位.hilimit||\\本站点\液位<=\\本站点\液位.lolimit){\\本站点\液位报警标志=1;}else{\\本站点\液位报警标志=0;}if(\\本站点\压力>\\本站点\压力.hilimit||\\本站点\压力<=\\本站点\压力.lolimit){\\本站点\压力报警标志=1;}else{\\本站点\压力报警标志=0;}if(\\本站点\压力>\\本站点\压力.hilimit||\\本站点\压力<=\\本站点\压力.lolimit||\\本站点\液位>\\本站点\液位.hilimit||\\本站点\液位<=\\本站点\液位.lolimit||\\本站点\温度>\\本站点\温度.hilimit||\\本站点\温度<=\\本站点\温度.lolimit){\\本站点\$新报警=1;}else{\\本站点\$新报警=0;}(3).3建立历史趋势曲线画面:用来反应变量随时间变化情况。
《工业组态软件设计》
工业组态软件设计报告工业组态软件设计报告学院自动化班级自班姓名学号指导教师成绩工业组态软件设计报告工业组态软件设计报告目录1混凝土生产线 ........................................................................................................................... - 1 - 2目的 ............................................................................................................................................ - 1 - 3内容 ............................................................................................................................................ - 1 -3.1新建工程........................................................................................................................ - 2 -3.2建立仿真PLC ............................................................................................................... - 2 -3.3创建数据字典变量 ....................................................................................................... - 2 -3.4创建“监控画面” ....................................................................................................... - 5 -3.5创建“报警和事件画面”......................................................................................... - 10 -3.6创建“实时趋势曲线画面”..................................................................................... - 12 -3.7创建“历史趋势曲线画面”..................................................................................... - 13 -3.8创建“XY控件画面” .............................................................................................. - 15 -3.9创建“实施数据报表画面”..................................................................................... - 16 -3.10创建“实时数据报表查询画面” .......................................................................... - 17 -3.11创建“历史数据报表画面”................................................................................... - 18 -3.12创建“1分钟数据报表画面” ............................................................................... - 19 -3.13创建“1min数据查询报表画面”......................................................................... - 20 -3.14创建“主界面” ....................................................................................................... - 21 -3.15添加小工具及画面的美化....................................................................................... - 22 - 4结果 .......................................................................................................................................... - 23 -4.1界面效果图.................................................................................................................. - 23 -4.2工程浏览器界面 ......................................................................................................... - 30 - 5心得体会.................................................................................................................................. - 32 -工业组态软件报告1混凝土生产线混凝土生产线是由自来水、石英砂、水泥三种原材料按照一定的比例混合,在搅拌器中混合均匀后产生混凝土产品的自动化生产线。
北京科技大学软件课程设计报告-自动化专业
北京科技大教之阳早格格创做课程安排(硬件安排)报告班级:姓名:教号:共组共教:指挥西席:曾慧日期: 2014 年 11 月 13 日目录1安排真质通过本质支配进一步相识OPC的百般观念,掌握OPC客户端的编写要领.并对于微硬的DCOM有一定的相识,央供通过符合的DCOM摆设,使客户端不妨读与搜集上服务器中的数据.1)利用VB谈话编写出一个简朴的OPC客户端步调,央供那个客户端不妨读与服务器中的数据,并隐现出去.2)摆设DCOM,使客户端不妨能过DCOM读与另一台服务器上的数据.2应用步调总体分解与安排应用步调与OPC服务器举止连交并读与服务器端的数据,共时把读与到的数据通过棒柱战文本框隐现,并不妨保存数据便于查找,共时应用了Picture控件对于真时数据变更趋势分解.修坐一个Visual Basic工程1)开用Visual Basic,新修一个Visual Basic工程.采用[Standard EXE]动做新修工程的典型.图 Visual Basic 工程的修坐2.2 OPC修坐对于OPC包拆DLL举止备案:从Visual Basic菜单里采用[Project]-[References].正在[Available References]表示中,采用 [OPC Automation 2.0].图2.2 引用的树坐正在Visual Basic里,是以对于象的单位对于OPC服务器举止考察.OPC自动化交心是由以下四种对于象所定义.OPC服务器OPC组(OPC组集中)OPC标签(OPC标签集中)OPC欣赏器1)变量声明图2.3 OPC对于象变量的声明其中,部分变量声明意思睹表所示.变量名证明objServer OPCServer对于象,用于连交OPC服务器.objGroups OPCGroups对于象,用于增加OPC组的OPC组集中objTestGrp OPCGroup对于象,演示用的OPC组.objItems OPCItems对于象,用于增加OPC标签的OPC标签集中. lServerHandles() 少整型的数组,用于保存OPC标签的服务器句柄.3应用步调各功能模块分解与安排窗体中所使用的控件种类如表3.1所示.控件称呼窗体(Form) FmMain 下令按钮(CommandButton) BtnConnect下令按钮(CommandButton) BtnAddItem下令按钮(CommandButton) BtnQuit下令按钮(CommandButton) BtnSave下令按钮(CommandButton) BtnStop下令按钮(CommandButton) Btndraw定时器(Timer) tmUpdate定时器(Timer) dataUpdate 对于话框(CommonDialog) CommonDialog1图像(PictureBox) picBar(动做数组使用,从左开初1~2) 标签(Label) lbBar(动做数组使用.从左开如1~2) 文本框(TextBox) dataInfo图像(Picture) Picture1那里用“NEW”闭键词汇死成OPC服务器的对于象,而后调用OPC服务器对于象的“Connect”要领,战OPC服务器连交.Connect子步调如下:'连交OPC服务器战修坐OPC组Sub Connect(strProgID As String, Optional strNode As String)If objServer Is Nothing Then' 修坐一个OPC服务器对于象Set objServer = New OPCServerEnd IfIf objServer.ServerState = OPCDisconnected Then' 连交OPC服务器objServer.Connect strProgID, strNodeEnd IfIf objGroups Is Nothing Then' 修坐一个OPC组集中End IfIf objTestGrp Is Nothing Then' 增加一个OPC组Set objTestGrp = objGroups.Add("TestGrp")End IfEnd Sub增加OPC标签对于OPC服务器举止考察前,必须先正在OPC组里增加要考察的OPC标签.AddItem子步调如下:‘增加OPC标签Sub AddItem()Dim strItemIDs(8) As StringDim lClientHandles(2) As LongDim lErrors() As LongDim I As IntegerIf objTestGrp Is Nothing ThenExit SubEnd IfIf Not objItems Is Nothing ThenIf objItems.Count > 0 ThenExit SubEnd IfEnd If' 树坐组活动状态objTestGrp.IsActive = True' 与消组非共期报告objTestGrp.IsSubscribed = False' 修坐OPC项集中' 死成标签的项标记符For I = 1 To 2strItemIDs(I) = "TAG"lClientHandles(I) = INext' 增加OPC项Call objItems.AddItems(8, strItemIDs, _lClientHandles, lServerHandles, lErrors)End Sub断开服务器连交着OPC服务器的OPC应用步调,正在退出前必须断开战OPC服务器的连交.果为OPC服务器本去不知讲OPC应用步调的退出,如果不先断开连交,那么OPC服务器使用的估计机资材便不被释搁.如果那样的问题反复爆收,暂而暂之,连绝运止的自动统造系统大概会使估计机资材徐徐枯竭进而爆收宽沉问题.Disconnect子步调如下:'断开OPC服务器Sub Disconnect()Dim lErrors() As LongIf Not objItems Is Nothing ThenIf objItems.Count > 0 Then' 扫除OPC项objItems.Remove 2, lServerHandles, lErrorsEnd IfSet objItems = NothingEnd IfIf Not objTestGrp Is Nothing Then' 扫除OPC组objGroups.Remove "TestGrp"Set objTestGrp = NothingEnd IfIf Not objGroups Is Nothing ThenSet objGroups = NothingEnd IfIf Not objServer Is Nothing ThenIf objServer.ServerState <> OPCDisconnected Then' 断开OPC服务器.End IfSet objServer = NothingEnd IfEnd Sub客户端使用2个定时器TmUpdate战dataUpdate,定时为1S.正在TmUpdate事变中调用共步读与数据函数SyncRead,每隔1S读与服务器端的数据,共时对于棒柱的隐现举止刷新.正在定时器dataUpdate事变中读与系统时间本去不竭刷新TextBox的真质,隐现目前的时间战数据.为了是隐现越收人情化,对于分歧范畴的数值隐现采与了分歧的颜色.当数值过矮大概者过下时分别隐现深蓝色战白色以示告诫.中间值隐现绿色战橙黄色.步调代码如下所示:SyncRead OPCCache, vtItemValues, lErrors' 棒图的表示For I = 1 To 2' 数据的要领化strBuf = Format(vtItemValues(I), "###.000")' 表示数据字符串lbBar(I).Caption = strBufdataTemp(I) = strBuf' 估计棒的宽战下nWidth = picBar(I).ScaleWidthnHeight = picBar(I).ScaleHeightsglScale = vtItemValues(I) / 100nDrawHeight = CInt(nHeight * sglScale)' 扫除现棒图picBar(I).Cls' 画造棒图If vtItemValues(I) < tHoldValue1 ThenpicBar(I).Line (0, nHeight - nDrawHeight)-(nWidth, nHeight), RGB(0, 0, 255), BFElseIf vtItemValues(I) < tHoldValue2 ThenpicBar(I).Line (0, nHeight - tHoldValue1 / 100 * nHeight)-(nWidth, nHeight), RGB(0, 225, 0), BFpicBar(I).Line (0, nHeight - nDrawHeight)-(nWidth, (1 - tHoldValue1 / 100) * nHeight), RGB(225, 225, 0), BFElsepicBar(I).Line (0, nHeight - tHoldValue1 / 100 * nHeight)-(nWidth, nHeight), RGB(0, 225, 0), BFpicBar(I).Line (0, nHeight - tHoldValue2 / 100 * nHeight)-(nWidth, (1 - tHoldValue1 / 100) * nHeight), RGB(225, 225, 0), BFpicBar(I).Line (0, nHeight - nDrawHeight)-(nWidth, (1 - tHoldValue2 / 100) * nHeight), RGB(255, 0, 0), BFEnd IfEnd IfIf I = 1 Theny(num1) = vtItemValues(I)num1 = num1 + 1Elsez(num2) = vtItemValues(I)num2 = num2 + 1End IfNextEnd Sub步调代码如下:Private Sub dataUpdate_Timer()If SaveFlag Then '保存数据中断后扫除本去的数据dataInfo.Text = Year(Now()) & Month(Now()) & Day(Now()) & " " & Hour(Now()) & ":" & Minute(Now()) & ":" & Second(Now()) & " " & "反应罐温度:" & dataTemp(1) & " " & "反应罐液位:" & dataTemp(2) & Chr(13) & Chr(10)SaveFlag = FalseElsedataInfo.Text = dataInfo.Text & Year(Now()) & Month(Now()) & Day(Now()) & " " & Hour(Now()) & ":" & Minute(Now()) & ":" & Second(Now()) & " " & "反应罐温度:" & dataTemp(1) & " " & "反应罐液位:" & dataTemp(2) & Chr(13) & Chr(10)End IfEnd Sub此处定义bool型的SaveFlag为保存标记,正在保存时停止对于新的数据的交支.主要用到CommonDialog控件.该控件可用于创修“文献挨开”、“文献保存”、“文献挨印”、“颜色树坐”、“字体树坐”、“助闲”6种对于话框.步调代码如下所示:Private Sub BtnSave_Click()TmUpdate.Enabled = FalsedataUpdate.Enabled = FalseCommonDialog1.DialogTitle = "另存为"CommonDialog1.DefaultExt = "txt"If Len(CommonDialog1.FileName) > 0 ThenOpen CommonDialog1.FileName For Output As #1Close #1SaveFlag = TrueEnd IfEnd SubPicture是功能强盛坐标图画造硬件,本次安排中采与VB中Picture控件举止真时直线画造.正在安排时增加2个系列直线,代表二个通讲,即温度战液位与时间的闭系.并正在图中画出二条警戒线,能更直瞅天比对于数据的变更.部分步调代码如下所示:If Check1.Value = 0 ThenIf col < 201 ThenFor u = 1 To 2For j = col To colX = jY = vtItemValues(u)px(j, u) = Xpy(j, u) = YNext jNext ucol = col + 1pl = pl + 1ElseFor s = 1 To 2For t = 1 To 199px(t, s) = tpy(t, s) = py(t + 1, s)Next tpy(200, s) = vtItemValues(s)Next sEnd IfElsecol = colEnd IfIf pl >= 2 ThenFor w = 1 To 2Picture1.PSet (px(1, w), py(1, w))For j = 2 To colPicture1.Line -(px(j - 1, w), py(j - 1, w)), QBColor(w * 2)Next jNext wEnd If'画二条警戒线Picture1.DrawWidth = 2Picture1.Line (0, 150)-(200, 150), vbRedPicture1.Line (0, 600)-(200, 600), vbBlue' 指示警戒值,警戒值以上改变隐现颜色If lbBar(1).Caption > 150 Or lbBar(2).Caption > 600 ThenLabel7.Caption = "出现非常十分!"ElseLabel7.Caption = "正正在瞅测!"End IfIf lbBar(1).Caption > 150 ThenText2.Text = "温度过下!"picBar(1).Line (0, nHeight - nDrawHeight)-(nWidth, nHeight), _RGB(255, 0, 0), BFEnd IfIf lbBar(1).Caption < 150 ThenText2.Text = "温度稳固!"picBar(1).Line (0, nHeight - nDrawHeight)-(nWidth, nHeight), _RGB(0, 255, 0), BFEnd IfIf lbBar(2).Caption > 600 ThenText1.Text = "液里过下!"picBar(2).Line (0, nHeight - nDrawHeight)-(nWidth, nHeight), _RGB(255, 0, 0), BF4步调尝试运止步调后,先单打“连交”按钮,包管客户端连交上组态王数据库.而后单打“加载”按钮,瞅察数据时间仄常隐现,棒柱的数据战颜色是可仄常,文本框内的时间战数据是可仄常以及瞅是可能真时隐现直线.单打“保存数据”按钮,弹出对于话框,采用路径,挖写文献名后保存数据.末尾单打“退出”按钮,瞅成可仄常退出步调.运止步调,注意将bin文献夹搁到工程下.从尝试截止上瞅,所有步调不bug,各个功能仄常.从画图的截止不妨瞅出从服务器传去的数据是按正弦顺序变更的.图4.2步调尝试图二5步调文档(1)运止步调,连交乐成后,开用,此时棒状图以及文本框内便会隐现反应罐温度战反应罐液位的值.(2)当数据聚集到一定程度之后,面打“画图”按钮,应罐温度战反应罐液位数值变更直线便会隐现出去,每面打一次,便会刷新一次.进而真止了数据的真时隐现.步调中数据刷新为1s,果此正在面打“画图”按钮时频次最佳不要超出1s.(3)保存数据.面打“保存”按钮,会弹出对于话框,输进赞同的文献名保存即可.保存数据后,所有履历数据会被浑空.浑单Option Base 1Option ExplicitDim WithEvents objServer As OPCServerDim objGroups As OPCGroupsDim objTestGrp As OPCGroupDim objItems As OPCItemsDim lServerHandles() As LongDim px(200, 2) As Single, py(200, 2) As SingleDim col As IntegerDim pl As IntegerDim dataTemp(2) As StringDim DrawFlag As BooleanDim SaveFlag As BooleanSub Connect(strProgID As String, Optional strNode As String)If objServer Is Nothing Then' 修坐一个OPC服务器对于象Set objServer = New OPCServerEnd IfIf objServer.ServerState = OPCDisconnected Then' 连交OPC服务器objServer.Connect strProgID, strNodeEnd IfIf objGroups Is Nothing Then' 修坐一个OPC组集中End IfIf objTestGrp Is Nothing Then' 增加一个OPC组Set objTestGrp = objGroups.Add("TestGrp")End IfEnd SubSub AddItem()Dim strItemIDs(2) As StringDim lClientHandles(2) As LongDim lErrors() As LongDim I As IntegerIf objTestGrp Is Nothing ThenExit SubIf Not objItems Is Nothing ThenIf objItems.Count > 0 ThenExit SubEnd IfEnd If' 树坐组活动状态objTestGrp.IsActive = True' 与消组非共期报告objTestGrp.IsSubscribed = False' 修坐OPC项集中' 死成标签的项标记符strItemIDs(1) = "反应罐温度.Value"strItemIDs(2) = "反应罐液位.Value"lClientHandles(1) = 1lClientHandles(2) = 2' 增加OPC项Call objItems.AddItems(2, strItemIDs, _lClientHandles, lServerHandles, lErrors)End SubSub Disconnect()Dim lErrors() As LongIf Not objItems Is Nothing ThenIf objItems.Count > 0 Then' 扫除OPC项objItems.Remove 2, lServerHandles, lErrorsEnd IfSet objItems = NothingEnd IfIf Not objTestGrp Is Nothing Then' 扫除OPC组objGroups.Remove "TestGrp"Set objTestGrp = NothingEnd IfIf Not objGroups Is Nothing ThenSet objGroups = NothingEnd IfIf Not objServer Is Nothing ThenIf objServer.ServerState <> OPCDisconnected Then ' 断开OPC服务器.End IfSet objServer = NothingEnd IfEnd SubPrivate Sub btnConnect_Click()' 调用Connect子步调Call Connect("kingview.view.1")Label7.Caption = "与服务器连交乐成!"End SubPrivate Sub btnAddItem_Click()' 调用AddItem子步调Call AddItemIf Not objTestGrp Is Nothing ThenIf objTestGrp.OPCItems.Count > 0 Then' 开用定时器tmUpdate.Enabled = TruedataUpdate.Enabled = TrueElseEnd IfEnd IfPrivate Sub btnQuit_Click()' 卸载窗体Unload fmMainEnd SubPrivate Sub Form_Unload(Cancel As Integer)' 调用Disconnect子步调Call DisconnectEnd SubPrivate Sub tmUpdate_Timer()Dim vtItemValues() As VariantDim lErrors() As LongDim strBuf As StringDim nWidth As IntegerDim nHeight As IntegerDim nDrawHeight As IntegerDim sglScale As SingleDim I As Integer, u As Integer, j As Integer, s As Integer, t As Integer, w As Integer Dim X As Single, Y As Single' 共期读与SyncRead OPCCache, vtItemValues, lErrors' 棒图的表示For I = 1 To 2' 数据的要领化strBuf = Format(vtItemValues(I), "###.000")' 表示数据字符串lbBar(I).Caption = strBufdataTemp(I) = strBuf' 估计棒的宽战下nWidth = picBar(I).ScaleWidthnHeight = picBar(I).ScaleHeightsglScale = vtItemValues(I) / 700nDrawHeight = CInt(nHeight * sglScale)' 扫除现棒图picBar(I).Cls' 画造棒图picBar(I).Line (0, nHeight - nDrawHeight)-(nWidth, nHeight), _RGB(255, 0, 0), BFNext'直线画造If Check1.Value = 0 ThenIf col < 201 ThenFor u = 1 To 2For j = col To colX = jY = vtItemValues(u)px(j, u) = Xpy(j, u) = YNext jNext ucol = col + 1pl = pl + 1ElseFor s = 1 To 2For t = 1 To 199px(t, s) = tpy(t, s) = py(t + 1, s)Next tpy(200, s) = vtItemValues(s)Next sEnd Ifcol = colEnd IfIf pl >= 2 ThenFor w = 1 To 2Picture1.PSet (px(1, w), py(1, w))For j = 2 To colPicture1.Line -(px(j - 1, w), py(j - 1, w)), QBColor(w * 2)Next jNext wEnd If'画二条警戒线Picture1.DrawWidth = 2Picture1.Line (0, 150)-(200, 150), vbRedPicture1.Line (0, 600)-(200, 600), vbBlue' 指示警戒值,警戒值以上改变隐现颜色If lbBar(1).Caption > 150 Or lbBar(2).Caption > 600 ThenLabel7.Caption = "出现非常十分!"ElseLabel7.Caption = "正正在瞅测!"End IfIf lbBar(1).Caption > 150 ThenText2.Text = "温度过下!"picBar(1).Line (0, nHeight - nDrawHeight)-(nWidth, nHeight), _RGB(255, 0, 0), BFEnd IfIf lbBar(1).Caption < 150 ThenText2.Text = "温度稳固!"picBar(1).Line (0, nHeight - nDrawHeight)-(nWidth, nHeight), _RGB(0, 255, 0), BFEnd IfIf lbBar(2).Caption > 600 ThenText1.Text = "液里过下!"picBar(2).Line (0, nHeight - nDrawHeight)-(nWidth, nHeight), _RGB(255, 0, 0), BFEnd IfIf lbBar(2).Caption < 600 ThenText1.Text = "液里稳固!"picBar(2).Line (0, nHeight - nDrawHeight)-(nWidth, nHeight), _RGB(0, 255, 0), BFEnd IfEnd SubSub SyncRead(nSource As Integer, ByRef vtItemValues() As Variant, _ ByRef lErrors() As Long)Dim lServerHandlesTemp(2) As LongDim j As IntegerIf objTestGrp Is Nothing ThenExit SubEnd IfIf objTestGrp.OPCItems.Count > 0 Then' 共期读与objTestGrp.SyncRead nSource, 2, lServerHandles, _vtItemValues, lErrorsEnd IfEnd SubPrivate Sub Form_Load()tmUpdate.Enabled = FalsetmUpdate.Interval = 100dataUpdate.Enabled = FalsedataUpdate.Interval = 1000'初初化时间变量col = 1' 调用时间函数,隐现时间Call date1'初初化坐标范畴Picture1.Scale (0, 750)-(200, 0)End Sub'调用系统时间子函数Sub date1()Label3.Caption = Trim(Str(Year(Date))) + "年" + Trim(Str(Month(Date))) + "月" + Trim(Str(Day(Date))) + "日"Label4.Caption = "目前时间:" + Trim(Str(Hour(Time))) + "时" + Trim(Str(Minute(Time))) + "分" + Trim(Str(Second(Time))) + "秒"End Sub'保存数据事变处理Private Sub BtnSave_Click()tmUpdate.Enabled = False。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工业组态软件设计报告
学院自动化学院
班级
姓名
学号
指导教师刘艳
成绩
2017年 5 月
一、基本情况
二、项目概况
三、设计方案
四、设计亮点
本次课程设计利用“组态王”软件所设计的开心农场演示系统,虽然并没有涉及到实际农、林、牧业系统的方方面面,但我们通过查阅相关书籍资料,网络信息搜索等手段也基本掌握了农、林、牧业所涉及的基本组成部分,我们在所设计的组态系统中对这些部分都进行了一定程度的展开说明,并采用上位软件系统进行了演示,比较充分地阐释了农、林、牧业的整个系统的运行过程,并加入了自己结合所学知识的进一步理解。
可以说是涉及了工程设计实践过程的思考、设计、修改、实现、优化各个步骤,最终呈现出的系统效果也达到了我们设计之初的预计效果。
从以下系统设计的不同方面都可以展现出我们所设计组态系统的一些亮点:首先是一些总体的设计方面的亮点:
1、系统结构完整,功能定义清晰:
农、林、牧业是一个比较大的概念,涉及到很多技术以及诸多领域的知识。
有我们所熟知的,也有我们需要进一步理解掌握的。
在系统设计过程中,我们分块学习掌握了农、林、牧业系统的各个方面,对每一部分功能都有一定的认识与理解。
因此在整个构思建构系统时,我们能够全面的把握系统的整体,并且统筹各个方面的功能,做到不重不漏,全面、清晰地阐释农、林、牧业系统。
图4.1
2、简洁和谐的人机接口界面,丰富精美的系统画面:
由于组态王本身的在很多元素的选择上我们起初受到了一定程度的限制。
但随
着进一步的学习并且利用一些其他软件的使用技巧,我们找到并且改造、设计出了好多按键、下拉条、提示框等交互接口界面,既适用于系统,也非常简洁易用。
图4.2
在系统画面的选择和构建上,也体现除了我们的一些投入。
我们了大量和我们系统主题相关的图片素材,并且利用PS软件对图片的像素、背景等元素进行了一定的修改,形成了我们系统中所使用的背景图片以及好多其他个性化元素。
图4.3(利用ps抠图的小牛)
图4.4(白菜)
图4.5(可以斜线移动的农药喷洒车)
3、全面丰富的逻辑控制,丰富的命令语言:
在各个界面的设计当中,通过对“组态王”软件的学习,我们理解和掌握了组态软件设计和开发的诸多技巧,并且在界面设计和环境建设过程之中,我们将这些逻辑语言以及一些逻辑控制运用到了我们所设计的系统的开发当中。
实现动画当中对复杂运动的控制,仅仅依靠简单的动画连接指令是不够的。
在同一个画面当中,为了达到预期的动画效果我们运用了比较复杂逻辑控制语句,以及好多软件系统的相关函数。
一些元素出现的先后,以及它所要呈现的运动效果都需要一层层逻辑搭建。
而且一些功能的实现都需要调用系统中比较陌生的函数,有时需要在一遍遍的尝试过程中才能实现函数功能。
1)农场设计亮点:
(1)农场中设计了多个变量的实时监控,如土壤温度、土壤湿度、土壤酸度、农药浓度等,使得界面的结构更加贴近实际,方便用户进行操作与查看。
按钮操作也简单明了,如点击锄草按钮有一键除草的效果,浇水施肥分别改变土壤湿度与土壤酸碱度,收割后土地恢复初始播种状态。
(2)动画设计:农场的设计动画贴近现实,比如点击施加农药按钮时候出现洒药车,并且洒药车沿着田地的边缘进行斜向移动,同步的还有农药的动态模拟,即出现水滴图像的闪烁效果。
除此之外,还有模拟田间杂草的生长效果,利用内部变量递增模拟草生长周期,并在草生长数量递增过程中逐渐出现草的点位图,当杂草数量大于60开始有指示灯闪烁报警,当杂草数量大于80指示灯变红并依旧保持闪烁状态。
(3)界面设计
图素选择:由于组态王软件提供的图库精灵有限并且形状单一固定,因此我们上网查阅资料将图库进行扩充,运行了一个名为SYMFAC1的软件对图库中的素材进行了大量补充。
同样,为了模拟真实的环境,我们搜寻了大量的点位图并对其中
五、设计成果
一.登录界面:
图5.1 二.主界面
图5.2
图5.3
图5.4
图5.5 三.果园
图5.6 四.农场
图5.7 五.牧场
图5.8 六.仓库
图5.9
六.参数记录
1.果园实时参数
图6.1
2.果园环境参数
图6.2 3.牧场参数
图6.3 4.仓库参数
图6.4
七.命令语言
1.牧场外景
if(\\本站点\清扫移动变量2==1)
{
\\本站点\清扫移动变量= \\本站点\清扫移动变量+30;
if( \\本站点\清扫移动变量>=100)
{
\\本站点\清扫移动变量2=0;
\\本站点\清扫移动变量=0;
}
}
if(\\本站点\闪烁==0)
{
\\本站点\闪烁=1;
}
else if(\\本站点\闪烁==1)
{
\\本站点\闪烁=0;
}
数据词典:
六、心得体会
七、指导教师评语。