fameview监控系统毕业设计.doc_第1页
fameview监控系统毕业设计.doc_第2页
fameview监控系统毕业设计.doc_第3页
fameview监控系统毕业设计.doc_第4页
fameview监控系统毕业设计.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

武汉科技大学本科毕业设计摘 要随着微电子技术、计算机控制技术、工业以太网技术及现场总线技术的发展,作为用无需改变运行程序原代码的软件平台工具工控组态软件日渐成熟。由于工控组态软件在实现工业控制的过程中免去了大量烦琐的编程工作,解决了长期以来控制工程人员缺乏计算机专业知识与计算机专业人员缺乏控制工程现场操作技术和经验的矛盾,极大地提高了自动化工程的工作效率。近年来,工控组态软件在中小型工业过程控制工程、工业自动化工程中越来越受到欢迎。本文介绍以fameview平台开发完成风力电机试验站监控系统。按照设计流程,以实际情况总结开发过程,包括了驱动选择安装,运行数据库的建立,画面的制作,通过脚本实现一些功能,数据库功能,服务器客户端结构的搭建,多屏显示。根据这些基本的步骤,可以实现简单的监控系统的设计,希望以实例总结出用fameview开发监控系统的一般步骤和方法。关键词: 组态; fameview; c/s结构; 监控系统abstractwith the development of microelectronics technologies, computer controlling technology, industrial ethernet technology and fieldbus technology, the industrial-controlled configuration software is maturing as a software platform tool that uses primary code without changing the running programs. as the industrial-controlled configuration software has eliminated a lot of tedious programming work and resolved the contradict that for a long time, the control engineering staffs lack the computer expertise and the computer professionals lack the site operations skills and experience of control engineering. it has greatly improved the efficiency of automation projects. in recent years, the industrial-controlled configuration software has been more and more popular in small and medium industrial process control engineering and industrial automation projects. this article introduces a method that bases on the fameview platform to develop and complete monitoring system for wind turbine test station. in accordance with the design process to the actual summary of the development process, including the driver choose to install, run the database set up, the picture produced by the script to achieve some of the features, database functionality, the server client architecture, structures, multi-screen display. according to these basic steps, you can achieve a simple control system design i hope to conclude the general steps and methods that using fameview to develop monitoring systems with some examples.key words : configuration; fameview; c / s structure; monitoring system目 录1 绪论41.1 课题背景41.2 设计内容及工作42 框架设计63 设备通信73.1 安装驱动73.2 新建设备数据表83.3 新建运行数据库104 画面制作135 脚本功能165.1 脚本环境165.2 脚本控制动态标题175.4 脚本实现单窗口多操作205.5 脚本实现配电线路变色245.6 脚本控制液体动态流动285.7 脚本实现带记忆功能的配置315.8 脚本实现树形选择326 数据库功能347 服务器客户端结构的实现367.1 服务器端设置367.2 客户端设置378 多屏显示399 结束语40参考文献41致 谢42411 绪论1.1 课题背景组态软件源于上世纪80年代初, 并在上世纪80年代末进入我国。当时国内用户缺乏对组态软件的认识,软件意识不强,宁愿投入大量人力物力针对具体项目做长周期的上位机编程, 而不采用组态软件。随 着mis和cims的大量应用, 要求工业现场为企业的生 产、经营、决策提供更详细深入的数据, 优化生产经营 各个环节。因此, 在上世纪90年代中期以后, 组态软件 在国内逐渐普及。组态软件, 是指利用windows操作系 统提供的编程工具, 通过简单、形象的组态工作而实 现的, 具有良好的人机界面、综合应用与开发功能,集数据库、历史库、图形库、控制操作和运行监视为一体的多任务信息处理系统。其内涵, 组态软件是指软件工程师根据特定要求,配置用户应用软件的过程; 其 应用, 组态软件是完成硬件与软件沟通, 建立人机对 话的软件平台。组态软件凭借良好的开放性, 极高的 稳定性, 强大的控制功能, 在石油化工、冶金建材、物 流仓储、工矿电力、智能楼宇等领域, 得到了广泛的应用。在风力发电发展的过程中,风力发电机的技术显得尤为重要,由于电机的容量越大,需要的驱动力也越大,对整个系统的要求也越高,现在主流风机容量在1.5-5mw之间,我们称之为中型电机。电机的质量以及效率直接影响到整个风电系统,日益增大的需求要求我们严格把好电机质量关,尽量减少人工失误,自动化、智能化的电机试验系统迫在眉睫。电机试验系统是让电机分别处于发电状态和电动状态,通过调节频率和电压来测量和分析电机不同状态下的各种参数。早期的试验系统采用的方式是:电力驱动一台大电机,由这台电机拖动一台发电机,产生一个频率可调的电源,然后用这个可调电源去驱动被试机,这种方法对电能的浪费比较大。现在采用双馈试验方法,直接用变频电源驱动,被试机发出的电能可以回馈到电网,起到节能的作用。1.2 设计内容及工作通过对以上硬件条件的分析,决定采用fameview组态软件进行开发,开发设计流程下:1)数据通信。对于整个系统,数据通信的可靠性和快速性是监控系统的灵魂,没有可靠实时的数据,何谈控制。fameview组态软件提供了丰富的plc驱动和各种仪表的驱动,可以做到100ms更新一次,可靠性高,实时性强。我们要做的是确定数据的区域,大大的简化了开发过程。2)协议分析。数据准确的读回来后,这些数据代表的是什么,有什么用途,及如何操作,这就是协议了。plc上来的数据有db块解释,通过这些解释,确定各个数据的含义,如有的是电压,有的是电流,有的是流量等等,有些是可以写下去的数据,有无互锁,是电平控制还是脉冲控制,这都是协议规约的。分析完协议后,就可以建立运行数据库,为监控程序的运行做好底层工作。3)系统框架设计。这一部分是最直观的了,也就是人机界面,操作员天天看到的就是人机界面。人机界面把系统的各种状态反应出来,同时提供了人去操作的接口。框架设计要做到分类明确,直观,突出重点,尽量做到方便操作员的监控与操作,这一过程要不断的与操作员沟通,不断的改进,精益求精。4)数据库功能。fameview提供完善的数据库服务与功能,可以很方便的对数据库进行读取,添加,修改等操作,使用简单,功能全面,用户只需要把相应的数据表对应好,就可以对数据库进行操作。5)服务器客户端网络结构。fameview的网络服务功能也很全面,只需要设置好ip地址及相应参数,就可以实现服务器客户端结构,避免了多台上位机都从控制器读取数据,节省了系统资源,同时也保证了数据的统一性。具体设计及其实现过程请参阅下文。2 框架设计东方电机中型电机厂试验站系统硬件包括:电源系统,冷却系统,控制系统,采集单元。电源采用10kv进线,通过变压后给变频电源供电,冷却系统采用水冷和油冷相结合,应用在不同地方,控制系统由plc组成,采集单元采用高速采集仪表。要求采用服务器客户端结构,一台服务器,五个客户端,服务器负责数据的采集与通信,客户端由操作员操作。关键的信息要求大屏幕多屏显示,方便监控。要求实现web远程访问,在网络内能通过浏览器方便的查看试验状况。对于整套系统的操作,要求五个人就能完成试验,人机交互显得尤为重要,需要一个可靠方便的监控系统,这也决定了整个系统的可操作性及智能化程度。 通过对系统的初步分析,在主体上按功能分为6个画面,分别为,高压及变频器系统,低压系统,水系统,油系统,试验线路,试验界面,界面的下方有导航条,可以实现界面的切换,上方有界面信息的标题以及系统时间等信息。3 设备通信3.1 安装驱动根据通信协议,新建设备数据表。本系统主站plc由西门子300plc构成,采用网口通讯方式,ip地址为192.168.1.10。数据约定存放在db10中。在fameview主界面的左边导航目录: 图3.1 设备通讯然后点击安装驱动,在弹出框左边的目录中选择西门子/s7tcp,然后点击安装。图3.2 驱动安装在启动驱动中选择安装的驱动,点击确定,图3.3 启动驱动3.2 新建设备数据表双击设备数据表,弹出如下窗口:图3.4 设备数据表d1为系统默认设备,双击d2,弹出如下窗口:图3.5 定义设备设备号名称取名为“主站plc”,驱动选择s7tcp,远程参数中,槽号默认为2,地址为192.168.1.10,其他默认,在通讯设置中,由于是要与plc的db10交换数据,所以数据类型选择db-数据块,数据快(dbx)选择10,由于现在要在db10中从字节0开始,取1000个字节,所以开始地址为0,长度为1000,其他默认。这样,就设置好了与西门子s7-300plc在db10中的数据交换,其他设备的通讯设置与此类似,关键是选择好对应的驱动,以及设置好相关参数,有了组态,通讯变得很简单,工程师要做的就是配置好设备,大大简化了开发难度。当设备数据表新建好以后,在主程序的导航目录中,点击运行数据库,这就是程序运行的过程中所需要的数据。图3.6 运行数据库3.3 新建运行数据库fameview采用先进的数据交换模式,其思想是先通过通信把需要的数据批量读上来,放在缓冲区中,这时所有数据都放在一起,还不知道这些数据到底有什么意义,然后通过配置运行数据库,把数据的意义区分开来,这样可以实现最大的通信量,模块性强,结构清晰,方便用户配置。以已经读上来的设备d2为例,d2中的数据是s7-300plc的db10中前1000个字节的数据,通过plc工程师给的db10数据协议,比如说db10中字节地址从182开始的两个字节表示的是被试机二次水回水温度,这个数据只需要读,不需要写,双击ai-模拟只读变量,弹出如下窗口:图3.7 新建ai变量点击新建,弹出如下窗口:图3.8 制作变量设备号选择d2,单元号选择d2.b182,由于西门子数据采用的是反高低字节,这个数据是由一个字构成,所以处理方式选择按字处理,反高低字节,这个数据对应原始值就行,不需要进行线性处理,选择y=i2(x2,x1),在有些时候,数据是要进行线性处理的,比如读上来的数据是0-32767,对应的实际值是0-100,这是我们就要选择带线性运算的处理方式,即y=kx+b,在下面的变量最小值,变量最大值中写入相应变量的实际范围,在对应的原始值填读上来的数据范围。以db10中字节地址从238开始的两个字节为例,这两个字节表示的是环境温度,读上来的原始数据范围是0-27648,对应的实际温度是-200到600摄氏度,所以我们要选择按字、反高低字节y= k*i2(x2,x1)+b,变量最小值填-200,变量最大值填600,对应原始值为0-27648.这样数据在读上来之后组态软件就通过线性处理得到我们想要的值。按照上面的方法,把所有数据建立起来,但是数据量一旦大了,编辑工作就相当大,fameview支持从excel导入,在运行数据库界面中选择使用excel组态,然后先导出一个模板,点击运行数据库excel,选择需要导出的变量,点开始导出就可以得到相应的excel,打开excel,按照已经生成的格式填入相应的内容,不同类型变量在自己的sheet中,通过excel下面的按钮选择,处理方式在后面的sheet中有说明。图3.9 导入excel4 画面制作点击显示画面,双击画面制作,新建画面:图4.1 新建画面设置名称和大小后,确定弹出一张空白画面,在画面右边有组件箱,里面有画图及一些画面控件。图4.2 画面窗口通过形象的图形反映出工艺流程,简单方便的功能让操作员更好的操作。通过分析,画面主要分为高压与变频器配电画面、低压配电画面、试验线路画面、试验画面、水系统画面、油系统画面,按照功能的不同,通过最简洁直观的方式,把系统的设备和流程展现在操作员面前,让操作员一目了然。在高压与变频系统中,开关和线路采用单线图,其实每一根线都代表三相。当开关是断开状态是,开关显示断开,颜色是绿色,当开关合上时,开关闭合,颜色是红色,这样就很形象的反应了开关的状态。要实现以上功能,通过设置线的可见性实现,双击要操作的线,弹出属性窗口:图4.3 直线属性通过设置相应的功能就可以达到相应的目的。其他对象也类似。在要显示数据的地方放一个变量框,通过双击变量框弹出属性窗口,设置动态变量就可以让变量框显示我们需要的数据。在低压配电画面中,大体与高压部分类似,在布好线路后,对相应的开关加以操控,这样就动态的反映了系统的开关状态。试验线路的配电部分也与上面类似,通过布好线路,然后对开关加上动态功能,反映试验线路的状态。水系统画面根据施工方提供的水系统设计图,画出水系统的工艺流程图,在管道上加上动态流动管道,可以实现水的动态流动。流动管道在组件箱的画面控件中,双击弹出设置界面。可以对流动的颜色,方向,快慢,加以设置,使其更美观。然后通过变量控制动态可见和动态起停达到直观反应水流状态的目的。油系统与水系统类似,按照水系统的方法,根据设计图,把油系统的界面做好。试验界面是最复杂也是最关键的画面,试验站在做试验时操作员操作时间最长的就是试验界面,总体设计是先配置试验,在配置的过程中首先选择好试验项目,由于电机的温度数据是从采集仪表mw100通信过来的,其有60个通道,而且每个通道每次试验所测的数据可能不一样,比如通道3上次试验可能接的是环境温度,这次试验接的是轴承温度,所以在试验之前需要对通道进行配置。还有量程的选择,每次试验的电机大小可能不一样,所以测量的过程中选择的量程也应该根据电机而变化,所以要对量程进行配置。在试验的时候,需要的保护措施也不一样,可能这次当电流到达1000a的时候电源就要报警,可是下次800a就要报警,所以需要配置保护设置。根据试验站要求,在试验的过程中,负责电源的人负责开电源开关是拖动机启动,负责试验的人负责试验线路的开关。这样就在试验的过程中分拖动界面和试验界面两个界面。每个试验配电线路不一样,显示的参数也有些不同,所以在设计时考虑每个试验就是一个单独的画面,根据不同的需要在每个试验画面中做相应的功能。根据以上要求,把试验界面做好,流程图如下:5 脚本功能fameview集成vb脚本编程,极大的方便了用户。vbscript是微软开发的一种脚本语言,可以看作是vb语言的简化版,与vba的关系也非常密切。它具有原语言容易学习的特性。目前这种语言广泛应用于网页和asp程序制作,同时还可以直接作为一个可执行程序。用于调试简单的vb语句非常方便。通过脚本我们可以灵活方便的实现某些功能,而且结构清晰,逻辑性强,便于以后的开发与维护。5.1 脚本环境双击某一个对象,在弹出的属性窗口中,有在鼠标事件中选择点击左键:图5.1 鼠标事件弹出脚本编辑窗:图5.2 脚本窗口在编辑窗口的左边有所有功能函数的导航目录,按不同的功能和操作对象的不同区分,方便选择,在编辑窗口上方有快捷选择目录,都是一些常用的函数。vb脚本基本语法与vb一致,数据类型,条件语句,都是一样的。熟悉vb的话可以很快上手,就算没有vb基础,也可以通过每个函数的说明很容易实现相应的功能。5.2 脚本控制动态标题比如我们需要一个主窗口,上面的title显示程序信息,当前画面的信息,系统的时间与日期,中间显示相应的画面,下面是一排导航按钮。通过导航窗口切换不同的画面,title的信息也跟着变化。设计好title和下面的导航按钮,在画面中间放置一个子窗口,在组件箱的画面窗口中,通过切换子窗口中的内容,就可以实现功能画面的切换。我把子窗口命名gali,把下面导航按钮的缺省文本改为需要切换的画面信息,比如第一个按钮我想点击后切换到高压与变频其的画面,我把缺省画面改为高压与变频。在画面切换的过程中,我想title中反应画面信息的文本也改变成高压与变频。我通过动态文本实现,在运行数据库中新建一个内部模拟变量vd,命名为界面标号,界面标号等于1时上面的信息框就显示高压与变频。图5.3 动态文本双击高压与变频按钮:图5.4 按钮属性点击处理脚本,弹出脚本编辑框。编程的思想是把子窗口中的画面切换到高压与变频画面,然后把内部模拟变量界面标号给设置为1,在编辑窗口上面的菜单中点击 画面/改变子窗口,在选择对象名称中选择已经放置好的子窗口gali,在画面选择窗口中选择高压及变频,编辑器自动写出如下代码:subviewobj.changepicture gali ,高压及变频.drw然后点击上面快捷菜单的变量/设置变量的值,在变量选择窗口中选择内部模拟变量/界面标号,自动生成如下代码:runsys.setvarvalue va,界面标号,-1,x,将最后的那个x改为我们想要设置的值,这里我们改为1。通过上面的一个简单的例子,可见脚本的应用相当的简单灵活,在要实现负责功能时,更能体现其灵活方便。5.4 脚本实现单窗口多操作开关不光要反应真实开关的状态,还要实现远程控制,就是操作员在需要合上开关时可以在计算机上实现开关的控制。分析发现,开关操作的界面可以设计成一样的,只是在点击相应的开关后只对相应的开关进行合分控制。开关控制界面如下,识别开关通过新建内部文本变量高压开关标号,点击不同的开关把这个文本变量设置为相应的开关标号,然后通过程序判断需要对那个开关操作。双击画好的开关,在属性窗口中的鼠标事件中点击左键,选择处理脚本,要实现的功能是先设置内部文本变量高压开关标号,然后弹出开关操作窗口,比如说高压开关3.1qf,具体代码如下:runsys.setvttext 高压开关标号,-1,3.1qfpicture.opensubwindow 高压开关分合.drw,-1,-1,200,90第二行后面的两个合闸按钮,选择处理脚本,首先要读取高压开关标号,以确定要对哪个开关进行操作,然后在对相应开关操作。图5.5 开关操作通过select语句实现,具体代码如下:s=runsys.getvttext(高压开关标号,-1)select case s case 1c.1qf runsys.setvarvalue ar,1cb断路器控制,-1,1 case 2.1qf runsys.setvarvalue ar,2gb断路器控制,-1,1 case 3.1qf runsys.setvarvalue ar,3gb断路器控制,-1,1 case 4.1qf runsys.setvarvalue ar,4gb断路器控制,-1,1 case 5.1qf runsys.setvarvalue ar,5gb断路器控制,-1,1 case 6.1qf runsys.setvarvalue ar,6gb断路器控制,-1,1 case 7.1qf runsys.setvarvalue ar,7gb断路器控制,-1,1 case 8.1qf runsys.setvarvalue ar,8gb断路器控制,-1,1 case 9.1qf runsys.setvarvalue ar,9gb断路器控制,-1,1 case 10.1qf runsys.setvarvalue ar,10gb断路器控,-1,1 case 13.1qf runsys.setvarvalue ar,13gb断路器控,-1,1 end selectpicture.closesubwindow与合闸功能类似,分闸功能按钮也可以通过以上代码实现,只是将每个case最后面的1改为0。 低压开关的操作也与高压开关的类似,为了区分远程和就地操作,在通信协议中,规定合闸写1,分闸写2,代码结构与高压开关的类似,只是写的数值不一样。很多类似的功能都可以用以上方法实现,新建一个内部变量用作标识,在弹出的操作框中通过内部标识来判断需要对哪个对象加以操作。高压综合保护仪表的数据显示也是通过这个方法,不过显示的内容也要跟着变化。也是先新建内部变量高压综保标识,在高压与变频界面上要显示的地方显示一相的电流,通过点击这个变量框,弹出详细数据窗口,在详细窗口中显示相应的数据。详细窗口如下:假如点击的是3gb综保,先应把综保标识置为相应的数字,然后弹出详细窗口显示3gb的数据,弹出窗口通过综保标识来判断要显示的是哪个综保的数据,具体实现如下:在3gb综保显示框的单击左键鼠标时间中,添加如下代码:runsys.setvarvalue va,综保标志,-1,2picture.opensubwindow 综合继电器保护数据.drwtitle=3gb综保数据,-1,-1,225,196把详细综保数据的每一个变量框命名,以便脚本操作,比如显示a相电流的变量框命名为ia,以此类推。在综保详细数据窗口中添加定时器,在组件箱的画面编程中,时间改为0,连续执行,处理的脚本如下x=runsys.getvarvalue(va,综保标志,-1)select case x case 0 textobj.setvar ia,ai,1cb遥测信号ia textobj.setvar ib,ai,1cb遥测信号ib textobj.setvar ic,ai,1cb遥测信号ic textobj.setvar uab,ai,1cb遥测信号uab textobj.setvar ubc,ai,1cb遥测信号ubc textobj.setvar uca,ai,1cb遥测信号uca textobj.setvar 频率,ai,1cb遥测信号频率 textobj.setvar 有功功率,ai,1cb遥测信号有功功率 textobj.setvar 无功功率,ai,1cb遥测信号无功功率 case 1 textobj.setvar ia,ai,2gb遥测信号ia textobj.setvar ib,ai,2gb遥测信号ib textobj.setvar ic,ai,2gb遥测信号ic textobj.setvar uab,ai,2gb遥测信号uab textobj.setvar ubc,ai,2gb遥测信号ubc textobj.setvar uca,ai,2gb遥测信号uca textobj.setvar 频率,ai,2gb遥测信号频率 textobj.setvar 有功功率,ai,2gb遥测信号有功功率 textobj.setvar 无功功率,ai,2gb遥测信号无功功率 case 2 textobj.setvar ia,ai,3gb遥测信号ia textobj.setvar ib,ai,3gb遥测信号ib textobj.setvar ic,ai,3gb遥测信号ic textobj.setvar uab,ai,3gb遥测信号uab textobj.setvar ubc,ai,3gb遥测信号ubc textobj.setvar uca,ai,3gb遥测信号uca textobj.setvar 频率,ai,3gb遥测信号频率 textobj.setvar 有功功率,ai,3gb遥测信号有功功率 textobj.setvar 无功功率,ai,3gb遥测信号无功功率 case 3 textobj.setvar ia,ai,4gb遥测信号ia textobj.setvar ib,ai,4gb遥测信号ib textobj.setvar ic,ai,4gb遥测信号ic textobj.setvar uab,ai,4gb遥测信号uab textobj.setvar ubc,ai,4gb遥测信号ubc textobj.setvar uca,ai,4gb遥测信号uca textobj.setvar 频率,ai,4gb遥测信号频率 textobj.setvar 有功功率,ai,4gb遥测信号有功功率 textobj.setvar 无功功率,ai,4gb遥测信号无功功率 case 4 textobj.setvar ia,ai,5gb遥测信号ia textobj.setvar ib,ai,5gb遥测信号ib textobj.setvar ic,ai,5gb遥测信号ic textobj.setvar uab,ai,5gb遥测信号uab textobj.setvar ubc,ai,5gb遥测信号ubc textobj.setvar uca,ai,5gb遥测信号uca textobj.setvar 频率,ai,5gb遥测信号频率 textobj.setvar 有功功率,ai,5gb遥测信号有功功率 textobj.setvar 无功功率,ai,5gb遥测信号无功功率 case 5 textobj.setvar ia,ai,6gb遥测信号ia textobj.setvar ib,ai,6gb遥测信号ib textobj.setvar ic,ai,6gb遥测信号ic textobj.setvar uab,ai,6gb遥测信号uab textobj.setvar ubc,ai,6gb遥测信号ubc textobj.setvar uca,ai,6gb遥测信号uca textobj.setvar 频率,ai,6gb遥测信号频率 textobj.setvar 有功功率,ai,6gb遥测信号有功功率 textobj.setvar 无功功率,ai,6gb遥测信号无功功率 case 6 textobj.setvar ia,ai,7gb遥测信号ia textobj.setvar ib,ai,7gb遥测信号ib textobj.setvar ic,ai,7gb遥测信号ic textobj.setvar uab,ai,7gb遥测信号uab textobj.setvar ubc,ai,7gb遥测信号ubc textobj.setvar uca,ai,7gb遥测信号uca textobj.setvar 频率,ai,7gb遥测信号频率 textobj.setvar 有功功率,ai,7gb遥测信号有功功率 textobj.setvar 无功功率,ai,7gb遥测信号无功功率 case 7 textobj.setvar ia,ai,8gb遥测信号ia textobj.setvar ib,ai,8gb遥测信号ib textobj.setvar ic,ai,8gb遥测信号ic textobj.setvar uab,ai,8gb遥测信号uab textobj.setvar ubc,ai,8gb遥测信号ubc textobj.setvar uca,ai,8gb遥测信号uca textobj.setvar 频率,ai,8gb遥测信号频率 textobj.setvar 有功功率,ai,8gb遥测信号有功功率 textobj.setvar 无功功率,ai,8gb遥测信号无功功率 case 8 textobj.setvar ia,ai,9gb遥测信号ia textobj.setvar ib,ai,9gb遥测信号ib textobj.setvar ic,ai,9gb遥测信号ic textobj.setvar uab,ai,9gb遥测信号uab textobj.setvar ubc,ai,9gb遥测信号ubc textobj.setvar uca,ai,9gb遥测信号uca textobj.setvar 频率,ai,9gb遥测信号频率 textobj.setvar 有功功率,ai,9gb遥测信号有功功率 textobj.setvar 无功功率,ai,9gb遥测信号无功功率 case 9 textobj.setvar ia,ai,10gb遥测信号ia textobj.setvar ib,ai,10gb遥测信号ib textobj.setvar ic,ai,10gb遥测信号ic textobj.setvar uab,ai,10gb遥测信号uab textobj.setvar ubc,ai,10gb遥测信号ubc textobj.setvar uca,ai,10gb遥测信号uca textobj.setvar 频率,ai,10gb遥测信号频率 textobj.setvar 有功功率,ai,10gb遥测信号有功功率 textobj.setvar 无功功率,ai,10gb遥测信号无功功率 case 10 textobj.setvar ia,ai,13gb遥测信号ia textobj.setvar ib,ai,13gb遥测信号ib textobj.setvar ic,ai,13gb遥测信号ic textobj.setvar uab,ai,13gb遥测信号uab textobj.setvar ubc,ai,13gb遥测信号ubc textobj.setvar uca,ai,13gb遥测信号uca textobj.setvar 频率,ai,13gb遥测信号频率 textobj.setvar 有功功率,ai,13gb遥测信号有功功率 textobj.setvar 无功功率,ai,13gb遥测信号无功功率 end select通过以上方法,可以动态的切换变量框对应的变量,以实现显示不同数据的功能,但到注意的是必须先给变量框命名,而且必须先对应好一个变量,任何变量都可以。5.5 脚本实现配电线路变色 在配电的过程中,要求把带电的线路用红色标识,也就是某一线路的上一级有电,而且他们之间的开关闭合,这一段线路就带电,就要用红色表示。主要思路是从电源开始,一级一级往下判断,每次只判断上一级是否带电,他们之间的开关是否合上,如果上一级带电而且开关也合上这一级就带电,具体实现通过全局脚本,新建若干内部开关变量,让每一段线路都对应某个内部开关量,当这个开关量为0时,代表没电,线路是灰色,当开关量为1时,代表有电,线路是红色,双击某段线路,最属性窗口中点动态边框色,选择相应的变量,把颜色对应好,在全局脚本中新建脚本,高压部分代码如下:ga=runsys.getvarvalue(dr,g2.2.2qs状态,-1)runsys.setvarvalue vd,2g-1,-1,gagb=runsys.getvarvalue(dr,g2.2.1qf状态,-1)runsys.setvarvalue vd,2g-2,-1,gb and gagc=runsys.getvarvalue(dr,g2.2.1qs状态,-1)runsys.setvarvaluevd,2gb-3,-1,gc and runsys.getvarvalue(vd,2g-2,-1) gd=runsys.getvarvalue(dr,1c.1qs状态,-1)runsys.setvarvaluevd,1cb-1,-1,gdandrunsys.getvarvalue(vd,2gb-3,-)ge=runsys.getvarvalue(dr,1c.1qf状态,-1)runsys.setvarvaluevd,1cb-2,-1,geandrunsys.getvarvalue(vd,1cb-1,-)gf=runsys.getvarvalue(dr,g3.3.1qs状态,-1)runsys.setvarvaluevd,3gb-1,-1,gfandrunsys.getvarvalue(vd,2gb-3,-)gg=runsys.getvarvalue(dr,g3.3.1qf状态,-1)runsys.setvarvaluevd,3gb-2,-1,ggandrunsys.getvarvalue(vd,3gb-1,-)gh=runsys.getvarvalue(dr,g4.4.1qs状态,-1)runsys.setvarvaluevd,4gb-1,-1,ghand runsys.getvarvalue(vd,2gb-3,-1)gi=runsys.getvarvalue(dr,g4.4.1qf状态,-1)runsys.setvarvalue vd,4gb-2,-1,gi and runsys.getvarvalue(vd,4gb-1,-1)gj=runsys.getvarvalue(dr,g5.5.1qs状态,-1)runsys.setvarvalue vd,5gb-1,-1,gj and runsys.getvarvalue(vd,2gb-3,-1)gk=runsys.getvarvalue(dr,g5.5.1qf状态,-1)runsys.setvarvalue vd,5gb-2,-1,gk and runsys.getvarvalue(vd,5gb-1,-1)gl=runsys.getvarvalue(dr,g6.6.1qs状态,-1)runsys.setvarvalue vd,6gb-1,-1,gl and runsys.getvarvalue(vd,2gb-3,-1)gm=runsys.getvarvalue(dr,g6.6.1qf状态,-1)runsys.setvarvalue vd,6gb-2,-1,gm and runsys.getvarvalue(vd,6gb-1,-1)gn=runsys.getvarvalue(dr,g7.7.1qs状态,-1)runsys.setvarvalue vd,7gb-1,-1,gn and runsys.getvarvalue(vd,2gb-3,-1)go=runsys.getvarvalue(dr,g7.7.1qf状态,-1)runsys.setvarvalue vd,7gb-2,-1,go and runsys.getvarvalue(vd,7gb-1,-1)gp=runsys.getvarvalue(dr,g8.8.1qs状态,-1)runsys.setvarvalue vd,8gb-1,-1,gp and runsys.getvarvalue(vd,2gb-3,-1)gq=runsys.getvarvalue(dr,g8.8.1qf状态,-1)runsys.setvarvalue vd,8gb-2,-1,gq and runsys.getvarvalue(vd,8gb-1,-1)g91qf=runsys.getvarvalue(dr,g9.9.1qf状态,-1)g91qs=runsys.getvarvalue(dr,g9.9.1qs状态,-1)g101qf=runsys.getvarvalue(dr,g10.10.1qf状态,-1)g101qs=runsys.getvarvalue(dr,g10.10.1qs状态,-1)g111qs=runsys.

温馨提示

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

评论

0/150

提交评论