上位机组态软件

2024-08-06

上位机组态软件(精选七篇)

上位机组态软件 篇1

以往工业控制计算机系统的软件功能都靠软件人员编程实现, 工作量大, 软件通用性差, 且易产生错误。随着时间的发展和技术的进步, 专门用于工业控制的组态软件应运而生。目前国内外有很多公司开发出不少优秀产品, MCGS是众多监控软件中的一种, 它具有许多优点, 可用于任何监控系统。一般工业控制系统包括2部分, 一部分是上位机系统, 一部分是下位机系统。本文以自动插件机为例介绍上位机系统的人机界面与逻辑功能的设计, 以TPC1063E触摸式平板电脑作为上位机, 配合以MCGS组态软件嵌入版来完成该上位机控制系统的开发。上位机程序完成系统操作模式切换、生产、系统状态监控, 系统调试, 生产程序选择、编辑、修改等功能。TPC1063E与PLC之间使用RS232C通讯, 需要交换的数据分为控制数据/状态数据和执行数据。

1 MCGS软件介绍

MCGS (Monitor and Control Generated System通用监控系统) 是用于快速构造和生成计算机监控系统的组态软件。它能够在基于Microsoft的各种32位Windows平台上运行, 通过对现场数据的采集处理, 以动画显示、报警处理、流程控制和报表输出等多种方式向用户提供解决实际工程问题的方案, 在自动化领域有着广泛的应用。

MCGS嵌入式体系结构分为组态环境、模拟运行环境和运行环境3部分。组态环境和模拟运行环境相当于一套完整的工具软件, 可以在PC机上运行。用户可根据实际需要裁减其中内容。它帮助用户设计和构造自己的组态工程并进行功能测试。

由MCGS嵌入版生成的用户应用系统, 其结构由主控窗口、设备窗口、用户窗口、实时数据库和运行策略5个部分构成, 如图1所示:

2 上位机系统

示例系统—自动插件机系统的人机界面由10个窗口构成, 它们是启动画面、操作界面、自动模式、位置模式、单步模式、手动模式、机器状态、编程、修改程序和调试窗口等, 如图2所示。窗口之间的逻辑框图, 如图3所示。

2.1 操作界面

操作界面如图4所示, 最上面是模式切换按钮部分。左半部分是生产程序选择部分, 当你选择了生产程序之后该程序的部分信息就会显示出来如行数、大小、创建日期等, 下面还有机器复位和编程按钮。机器复位按钮按下时, X轴向里、Y轴向里, U扩大到最大, 并触碰各自限位开关, 到达机器零点, 此时XYU轴在反方向的运动被禁止。编程按钮按下时, 进入编程窗口。右半部分是生产数据统计即生产报表, 它显示生产的相关信息, 如机器号码、当前程序、运行时间以及跟生产过程有关的信息, 该功能是通过自由表格控件来完成的。

2.2 自动模式

自动模式如图5所示, 它是正常生产时的界面, 最上面是模式切换按钮部分。它里面包括4部分内容:一部分是状态信息显示;一部分是用来显示当前执行程序行内容的显示程序信息部分;一部分是功能设置部分, 该部分包括几种功能模式 (S, NS, CS, CNS, OS, ONS) 和是否有序列错误和插件丢失情况显示;最后一部分是生产时用的主要按钮部分, 包括连续生产按钮、开始按钮、装卸位置和急停按钮等。当进入自动模式后, 在操作界面中选择的生产程序就要经过解析, 生成实际生产中用到的数据, 分批下传到PLC中。上述几种功能模式的具体功能如下所示:

S:全自动, 包括插件、弯曲剪切和插件错误检测

NS:只插件, 无弯曲剪切和插件错误检测

CS:进行OCS, 并包含S的功能

CNS:进行OCS, 但不弯曲剪切和插件错误检测

OS:在OFFSET被改变的行进行OCS, 即在有M33的行进行, 并将改变后的OFFSET保存, 并进行插件、弯曲剪切和插件错误检测

ONS:与OS相同, 但不弯曲剪切和插件错误检测

2.3 位置模式

位置模式界面如图6所示, 它主要用来检查插件坐标数据是否正确, 可以移动并修改坐标位置, 测试所有位置 (包括装卸位置, 机器原点, 旋转测试等) 。它主要包括3部分:一部分是显示电机位置和台面旋转角度;一部分显示程序信息, 显示当前检查到的是生产程序中的哪一行;一部分是按钮操作部分, 包括下一个位置按钮、装卸位置按钮、台面旋转按钮和急停按钮。最上面是模式切换按钮部分。

2.4 单步模式

单步模式如图7所示, 它用来检查一块新的PCB坐标位置是否正确, 在该模式下机器插入一个插件, 并弯曲剪切, 但它不会检查插件错误状态。窗口的最上面是模式切换按钮部分, 中间左侧可以显示当前电机的位置和台面旋转角度, 右侧是相应的程序信息, 在窗口的底部还有3个按钮, 它们分别是下一个位置按钮、插入剪切按钮和急停按钮。

2.5 手动模式

手动模式如图8所示, 它主要用于纠正生产程序或者确认插件功能。最上面是模式切换按钮部分, 除了显示电机位置、台面旋转角度和程序信息部分外, 还可以实现X、Y、U轴的微调功能, 可以对当前的位置信息进行调整, 可以保存也可以放弃保存当前调整后的结果。在窗口右下角有4个按钮, 装卸位置、插入、剪切和急停按钮。

2.6 机器状态

机器状态窗口如图9所示, 在该窗口下可以查看传感器状态, 输出控制量, 伺服电机的位置, 选择台面旋转的位置以及错误信息等。最上面是模式切换按钮部分, 该窗口的下半部分主要分成左中右3部分, 左边是传感器状态列表, 中间是输出控制量列表, 右边是显示错误信息跟电机测试的。在右上角还有一个调试窗口按钮, 点击可以进入调试窗口界面。

2.7 生产程序编程窗口

生产程序编程窗口如图10所示, 它完成了插件机生产程序的编写功能。根据生产程序的格式, 我们将程序编写分为3部分, 第一部分为文件头部分, 包括程序里面数据的单位和程序名称, 第二部分是装卸位置和偏置量 (即OFFSET) 部分, 第三部分是生产插件数据部分。我们设计的是程序按行存储, 在每输入一行程序后要按确认按钮, 这样才能将该行程序写到文件中去。如果不想保存所编写的程序, 可以点击编程取消按钮, 这样系统不会保存所编写的程序信息。如果程序编写完毕, 需要点击编程结束按钮, 这样该生产程序就编写完了。生产程序的编写使用人机交互界面, 方便灵活。如果想修改已经存在的生产程序可以点击修改程序按钮, 进入生产程序修改界面。

2.8 生产程序修改窗口

生产程序修改窗口如图11所示, 该部分运用MCGS脚本语言实现了修改生产程序的功能。由于MCGS软件没有一个控件可以浏览文件内容, 所以我们设计了一个由3个标签和2个上下箭头按钮组成的控件来完成浏览文件内容的功能, 当点击向上箭头按钮时程序上翻一行, 当点击向下箭头按钮时程序下翻一行。由于生产程序可能有很多行, 从文件头开始下翻找到要修改的程序行比较麻烦, 我们加了一个文本框控件, 可以直接输入要修改的具体某一程序行的号码, 用一个程序行号码变量来保存这个信息, 这样系统可以直接将该程序行及其上下行的信息显示出来, 方便用户使用。

生产程序的修改功能包括3个操作:插入、删除当前行和覆盖当前行, 这3个操作是修改文件时最常用的操作。在实现时, 将删除当前行和覆盖当前行操作放到一个按钮——覆盖按钮中来实现, 当点击覆盖按钮后, 若是在下面显示的覆盖内容输入框中不输入任何内容就点击提交按钮, 则把程序当前行删除掉;如果输入内容, 则用输入的内容覆盖掉原程序行的内容。由于生产程序中每一行开头都有一个表示该行程序的程序行号码数字部分, 所以不管是插入操作还是删除操作, 插入或删除后都要更新插入行后面或删除行后面的程序行号码信息, 而且插入或删除后还要将更新信息与上述控件显示的程序信息相一致。鉴于MCGS文件操作中没有一个自动的保存文件读取位置的指针变量, 这使得插入或删除后更新文件信息操作难以实现。我们的设计是当修改程序时生成2个临时文件, 利用这2个临时文件和程序行号码信息即程序行号码变量保存的内容来实现插入和删除操作以及和程序显示信息同步。在实际生产中, 生产程序文件要经过解析步骤生成数据文件下传到PLC中, 才能进行实际生产应用。所以无论是生产程序的编写, 还是修改都要跟解析程序的语法规定相一致, 这就是文件修改难处理的原因之一。但是, 利用2个临时文件和程序行号码信息就可以把这个复杂的问题给解决了。在使用MCGS脚本语言编程中, 还用到了常用的编程技巧, 如经典的将一行字符串按空格分成几个子串、字符串匹配算法等。

如果要取消程序修改, 需要点击取消修改按钮, 这样所作的关于修改的任何操作都会无效;如果程序修改结束, 需要点击修改结束按钮, 这样系统就会保存对程序所作的修改。窗口右下角有一个返回操作界面按钮, 点击可以打开操作界面按钮, 进而进行其它的操作。

2.9 调试窗口

调试窗口如图12所示, 左边是传感器状态列表, 中间是输出控制量显示, 右边是显示电机位置、旋转角度和电机测试部分, 在其右上角有一个返回机器状态按钮, 可以返回到机器状态窗口。窗口最底下是3个按钮, 伺服打开、伺服关闭和急停按钮。

2.10 PLC与上位机之间的通讯

在MCGS嵌入版中, 在设备窗口内配置不同类型的设备构件, 并根据外部设备的类型和特征, 设置相关的属性, 将设备的操作方法如硬件参数配置、数据转换、设备调试等都封装在构件之中, 以对象的形式与外部设备建立数据的传输通道连接。系统运行过程中, 设备构件由设备窗口统一调度管理。通过通道连接, 它既可以向实时数据库提供从外部设备采集到的数据, 供系统其它部分进行控制运算和流程调度, 又能从实时数据库查询控制参数, 实现对设备工作状态的实时检测和过程的自动控制。图13为MCGS与外部设备通讯的示意图。

示例系统中PLC控制器采用Omron PLC CP1H, 上位机与PLC的通讯通过RS232电缆来完成, 它将PLC的编程口与计算机的RS232口相连, 如图14所示, 具体设置是在下位机的编程环境和MCGS组态软件的设备窗口中完成的。在设备组态中设备窗口空白处, 按右键, 弹出设备工具箱, 单击设备管理, 设备管理窗口下, 增加PLC下Host Link, 增加通用串口父设备, 返回设备工具箱, 将2个设备都添加到设备窗口。在设备窗口中, Hostlink自动挂接到通用串口父设备下。然后分别设置2个设备的属性即可。

前面提到了解析数据的问题, 生产程序解析之后的数据是分批下传到PLC中的数据区, 在生产过程中PLC不断的返回状态数据给上位机系统, 上位机系统对返回的状态数据进行分析, 决定是否下传下一批数据, 并同步上位机系统中用来显示程序信息的控件内容。

2.1 1 实时数据库

在MCGS嵌入版中, 数据不同于传统意义的数据或变量, 以数据对象的形式来进行操作与处理。数据对象它不仅包含了数据变量的数值特征, 还将与数据相关的其它属性 (如数据的状态、报警限值等) 以及对数据的操作方法 (如存盘处理、报警处理等) 封装在一起, 作为一个整体, 以对象的形式提供服务, 这种把数值、属性和方法定义成一体的数据称为数据对象。在MCGS嵌入版中, 用数据对象来描述系统中的实时数据, 用对象变量代替传统意义上的值变量, 把数据库技术管理的所有数据对象的集合称为实时数据库。实时数据库是MCGS嵌入版系统的核心, 是应用系统的数据处理中心。系统各个部分均以实时数据库为公用区交换数据, 实现各个部分协调动作。

设备窗口通过设备构件驱动外部设备, 将采集的数据送入实时数据库;由用户窗口组成的图形对象, 与实时数据库中的数据对象建立连接关系, 以动画形式实现数据的可视化;运行策略通过策略构件, 对数据进行操作和处理, 如图15所示。

3 结束语

本文以自动插件机的上位机控制系统为例, 介绍了MCGS组态软件开发上位机系统的过程。该上位机系统具有显示、生成生产报表、系统操作模式切换、生产、系统状态监控、系统调试等功能, 配合自动插件机的下位机系统完成了整个插件机的功能。该系统具有使用方便快捷、故障率低、系统运行稳定等特点。

参考文献

[1]张学东, 李潮.RSView32在污水厂监控系统中应用[J].微计算机信息, 2006, 22 (28) :43-44, 79.

[2]张万忠, 刘明芹.电器与PLC控制技术[J].化学工业出版社, 2003, 8.

[3]刘晓强.Fix组态软件在微机监控系统中的二次开发与应用[J].煤炭科学技术, 2000, 28 (2) :15-17.

[4]王卫兵.PLC系统通信、扩展与网络互连技术[J].机械工业出版社, 2004.9.

[5]江圣辉.基于PLC和组态软件的大型自来水厂监控系统[J].工业控制计算机.2005, 18 (3) :69-70.

[6]刘尹霞, 訾贵昌.全中文工控组态软件MCGS在煤矿安全生产中的应用[J].煤炭工程, 2007, (9) :137-138.

[7]彭继慎, 孟庆铸, 张静, 高曦莹.基于PLC和组态王的油库收发油控制系统[J].制造业自动化.2008, 30 (1) :54-57.

上位机组态软件 篇2

1 组态软件上位机体系分析

在分布式控制系统环境下, 随着技术的发展, 不同端的软件以及硬件都会呈现出逐步的专业化特征。即在整个系统中, 现场控制端、操作员端以及工程师端都分化出不同的专业特征, 而发布命令的工程师以及操作员站则属于上位机, 对应的控制设备端的控制站为下位机, 共同构成整个分布式控制系统。

在这样的系统中, 上位机能够从下位机的工作中获取到相关数据, 从而实现对于现场设备工作状态的了解, 进一步展开必要的调节, 通过指令的形式发送命令给下位机, 并且在下位机上展开执行, 形成对于现场设备的控制。

运行在上位机上的组态软件, 相对而言具有更强的独立特征, 在初始化之后, 能够实现自动的数据采集, 并且在支持授权以及数据保护的基础之上, 进一步展开对于下位机以及相关现场设备的控制。上位机上的组态软件从结构上看可以大体分为三个层面, 位于中间层面的是服务器, 在数据比较重要的环境下, 同样可能会存在冗余服务器, 保证一定的数据冗余量, 同时支持数据镜像, 提升访问性能。服务器中包含有实时数据库以及历史数据库两个主要的组成部分, 并且通过数据挖掘等相关技术实现数据的转移、存储和读取, 形成数据的优化存放和使用。服务器下层与现场控制站下位机保持联系, 具体而言, 则是服务器通过接口程序与现场控制站的实时数据库保持联系, 来实现这一职能。而服务器面向上层, 则是面向工作人员和更为高级的人工智能体系展开服务, 相对而言功能比较复杂, 其中包括了图形界面、报警监视、日志处理、曲线统计、特征数据库以及报表处理等多个方面的功能。这些功能以组态的形式存在, 确保在应用角度呈现出必要的灵活特征, 能够依据实际环境中人员以及相关技术的变化, 而保持对应的跟进状态。并且其中图形界面应当兼顾到静态和动态两个方面的数均显示, 而同样在曲线统计方面, 一样会呈现出历史数据和实时数据两个方面的重要内容。

2 上位机上组态软件的核心技术分析

对于组态软件而言, 想要实现更为深入的发展以及相应的职能, 需要在每一个细节上都倾注以关注, 包括系统组态、数据库组态、图形界面组态、报警监视、日志处理、曲线统计等多个方面, 都是需要关注的重点。但是从根本上看, 系统组态和数据库组态两个方面的设计, 以其基础地位成为整个组态软件环境的核心。

首先, 系统组态可以说是上位机组态思想的核心部分, 其价值是针对整个控制系统的硬件结构进行组态。在整个系统中, 不同的现场控制分站, 以及操作站的上位机, 都需要通过系统组态来进行设定, 通过对投入运行的现场控制站的类型、个数以及相关型号的确定, 可以从一个侧面实现对于整个系统安全水平的提升。而这种组态的思路, 同样便于实现数据层面的授权和管理的加强, 通过对操作员权限和操作范围进行限定, 以及将相关的配置信息存到设定好的文件夹中保存的方式, 实现安全状态加固。

其次, 数据库组态设计, 则作为组态软件的核心重点存在, 因此必须予以重视。从组态软件的结构角度看, 处于中间层面的数据库以及备份, 负责着整个系统检测和控制的数据流转, 工程项目中所有的需要检测和控制的前端, 其状态信息和工作数据体现, 都在数据库组态环境中实现。数据库的组态设计需要从特征数据库、实时数据库以及历史数据库等多个方面展开设计并且加以实现。在这样的体系之下, 特征数据库的价值在于面向操作员站和工程师站提供相应的存储服务, 其主要内容包括系统配置信息等系统预定义和用户预定义的特征信息等。特征数据库能够实现更为个性化的应用定制, 但是实时数据库才是整个组态软件中的核心所在, 其主要用来保存相关质量在执行后反馈得到的内存变量实时值, 以及从输入输出设备读取的相关变量实时值;历史数据库负责将数据以合理的形式进行整理和存档。

在这样的数据库环境中, 实时数据库是核心部分, 同时也是实现的难点所在。实时数据库最为核心的问题在于时效性, 并且进一步关系到组态软件的工作效率问题。整个数据库依据实际控制前端的采集数据特征, 以及对于数据获取的实时需求作为基本出发点进行考虑, 来决定数据的存取策略。在此基础上引入动态数据库DLL, 其作为Win系统中的特殊程序单元, 以调用者的任务作为主要驱动。与静态连接库相比, 动态连接库仅将动态连接库在内存中的DLL装入一次, 因此在多任务环境中, 对于DLL的重复调用能够有效节约内容, 对于整个程序执行效率的提升有着毋庸置疑的积极价值。此外, 实时数据库接口由API函数组成, 借以支持输入输出驱动程序以及不同应用直接实现对于实时数据库的访问, 从而保持该系统具有良好的开放性, 并且支持二次开发。

3 结论

组态软件支持之下的上位机系统, 在实际应用环境中保持了良好的开放特征, 并且因此具有旺盛的生命力。只有不断深入该项技术, 发现其技术层面的内在价值, 才能在实际的应用环境中妥善展开开发, 实现对于实际需求的有效支持。

参考文献

[1]马国华.监控组态软件及其应用[M].北京:清华大学出版社, 2001.

[2]鹿玲杰, 田燕燕, 等.组态软件的设计与实现方法[J].大庆石油学院学报, 2001 (1) .

上位机组态软件 篇3

1.1 恒压供水系统介绍

供水系统是国民生产生活中不可缺少的重要一环。传统供水方式占地面积大、水质易污染、基建投资多,而最主要的缺点是水压不能保持恒定,会导致部分设备不能正常工作。变频调速技术是一种新型成熟的交流电机无极调速技术,它以其独特优良的控制性能被广泛应用于速度控制领域,特别是供水行业中。由于安全生产和供水质量的特殊需要,对恒压供水压力的控制有着严格的要求,因而变频调速技术得到了更加深入的应用。恒压供水系统技术先进、水压恒定、操作方便、运行可靠、节约电能、自动化程度高,在泵站供水中可完成以下功能:①维持水压恒定;②控制系统可手动/自动运行;③多台泵自动切换运行;④系统睡眠与唤醒,当外界停止用水时,系统处于睡眠状态,直至有用水需求时自动唤醒;⑤在线调整PID参数;⑥泵组及线路保护检测报警,信号显示等。

将管网的实际压力经反馈后与给定压力进行比较,当管网压力不足时,变频器增大输出频率,水泵转速加快,供水量增加,迫使管网压力上升。反之水泵转速减慢,供水量减小,管网压力下降,保持恒压供水。

1.2 系统硬件构成及工艺要求

本系统包括PLC柜、表柜、低压变频柜和外部传感器等设备。系统采用PLC+上位机的组合方式,系统分为循环水泵站和压缩空气站,外部仪表包括压力、温度、流量等传感器,传感器输出4mA-20 mA的电流信号进入PLC模拟量输入模块和仪表显示柜,由上位机画面和仪表柜显示。

压力传感器、PLC和变频器作为中心控制装置,实现所需功能。压力传感器用于检测管网的水压,将压力转化为4mA-20mA的电流信号,提供给PLC模拟量输入模块。利用PLC编程软件中的PID功能调节整定供水压力,PLC将整定后的压力信号经PLC模拟量输出,将4mA-20mA电流信号传送给变频器,由变频器调节供水压力,保持水位压力恒定。该系统开关量控制2个冷却塔风机和3个冷水泵,冷却塔风机手动控制,实现系统循环回水;3个冷水泵进行手动/自动联锁控制,实现循环供水压力的恒定;模拟量由压力、液位、流量等组成,由PLC进行采集,在上位机中显示。

系统工艺要求:净循环冷水泵为3台(2用1备),各电机均可手动单独操作,通过一台变频器对冷水池水位进行调节,当水位在主变频器达到上限频率但仍不能达到供水要求时,依次控制另一台工作泵以软启动方式投入运行,从而控制水位恒定,当供水过剩时,软启动器启动的水泵自动退出,由变频器控制水泵恒水位运行,当其中一台泵或变频器控制的水泵或变频器故障时,备用泵以软启动方式自动投入,除变频器控制的水泵外,另两台水泵通过PLC控制器实现工作与备用的自动循环。

2 下位机PLC和上位机编程软件在恒压供水系统中的实现

2.1 下位机编程软件概述及工程应用

下位机编程软件可以用于控制器和基于PC的编程、监控和参数设置,是工业软件的重要组成部分。选用的PLC编程软件为工业现场使用率最高、性能最稳定的软件版本,具有以下功能:硬件配置和参数设置、通讯组态、编程、测试、启动和维护、文件建档、运行和诊断功能等,是目前网络上最优秀的PLC编程软件。

系统下位机分为硬件组态和软件编程;

PLC系统硬件由I/O底板、CPU、电源模块、数字量输入模块、数字量输出模块、模拟量输入模块、模拟量输出模块、以太网通信模块组成;PLC柜配交换机,通过TCP/IP通讯连接上位机,上位机通过SIDirect DAServer驱动连接PLC与上位机通讯。PLC通过编程软件进行组态,在编程软件中先建立一个站点,在站点中打开硬件配置进行该项目的硬件组态,具体硬件配置如图1所示。

系统软件主程序在组织块OB1中,在组织块OB1中实现各个功能块的调用,以及2个冷却塔风机的启停操作,和3个冷水泵的联动,实现3个冷水泵(2用1备)手自动切换,3个冷水泵和液位以及管线压力实现联锁,当其中一个泵运行时压力小于设定值,液位大于设定值,自动启动另外两个冷水泵中的一个,实现2用1备,当其中一个水泵故障时,备用泵自动投入运行,当压力大于设定值,达到水位上限时,软启动控制的冷水泵自动停止运行,由变频器控制的水泵实现PID供水调节水位恒定,PID功能的实现是调用系统功能块FB41在中断组织块OB35中实现,系统模拟量调用功能块FB1实现模拟量如液位、压力、流量等的采集,量程转换调用系统功能块FC105、FC106,在FB1中调用FC105编程实现模拟量的量程转换调用,每个FB1在创建时生成一个DB背景数据块,用于保存系统数据,FC1中调用FB1对各个模拟量实参赋值,形参进行模拟信号的采集,FC1则由组织块OB1调用,实现PLC编程软件的结构化编程,结构化编程把过程要求或相关的功能进行分类,并试图提供可以用于几个任务的通用解决方案。向指令块提供有关信息(以参数形式),结构化程序能够重复利用这些通用的模块,只需要在使用功能块时为其提供不同的环境变量(实参),就能完成对不同设备的控制。本系统的程序块如图2所示。本系统的结构化调用如图3所示。

FB(功能块)是用户编写的具有自己存储区域(背景数据块)的块,每次调用功能块时需提供各种类型的数据给功能块,功能块也要反馈变量给调用它的块。这些数据以静态变量(STAT)的形式存放在指定的背景数据块(DI)中,临时变量(TEMP)存储在局域数据堆栈中。调用功能块或系统功能块时,必须指定背景数据块的编号,调用时背景数据块被自动打开。在编译功能块时,系统会自动生成背景数据块中的数据。在程序中通过上位机来访问这些背景数据块。在功能块中给形参赋初值,它们被自动写入相应的背景数据块中。

FC(功能)是用户编写的没有固定存储区的块,其临时变量存储在局域数据堆栈中,功能执行结束后,这些数据就丢失了。调用FC(功能)和FB(功能块)时实参代替形参,FC(功能)不需要背景数据块。功能和功能块用输入(IN)参数、输出(OUT)参数和I/0(IN/OUT)参数做指针,指向调用它的逻辑块提供的实参。

本系统的FB(功能块)调用了FC105系统功能,在FC中对FB(功能块)赋予实参。FC1调用FB1如图4所示。

FC105是模拟输入规格化成工程量,FC106是把工程量规格化到模拟输出。FC105,FC106功能用于测量电压、电流、温度和电阻信号。FB1调用FC105如图5所示。

典型的PLC模拟量闭环控制系统如图6所示,点划线部分是用PLC实现的。

在模拟量闭环控制系统中,被控量c(t)(例如压力、温度、流量、转速等)是连续变化的模拟量,大多数执行机构(如电动调节阀)要求PLC输出模拟量信号mV(t),而PLC的CPU只能处理二进制数字值。c(t)首先被测量元件(传感器)和变送器转换为标准量程的直流电流信号或直流电压信号PV(t),PLC用模拟量输入模块中的A/D转换器将它们转换为时间上离散的数字值PV(n)。模拟量与数字值之间的相互转换和PID程序的执行时周期性的,其时间间隔成为采样周期T。

在本系统中,被控对象为水箱水位,被控的物理量为压力c(t)。用压力传感器检测水箱压力,压力传感器将变送器输出的压力信号转换为4mA-20mA的电流信号,然后送给模拟量输入模块,经A/D转换后得到与压力成比例的数字值,CPU将其与压力设定值比较,并按PID算法对误差进行运算,将运算结果(数字值)送给模拟量输出模块,经A/D转换后变为4mA-20mA电流信号,用来控制变频器的转速的高低,通过它调节水箱压力,实现对压力的闭环控制,实现恒压供水。压力闭环控制系统如图7所示。

本系统PLC调用系统功能块FB41实现PID控制。FB41称为连续控制的PID用于控制连续变化的模拟量,PID的初始化可以将参数COM-RST置位,PID的调用在OB35中完成,一般设置时间为200ms。

(1)FB41输入参数

COM_RST:BOOL:重新启动PID:当该位TURE时:PID执行重启动功能,复位PID内部参数到默认值;通常在系统重启动时执行一个扫描周期,或在PID进入饱和状态需要退出时用这个位;

MAN_ON:BOOL:手动值ON;当该位为TURE时,PID功能块直接将MAN的值输出到LMN,这可以在PID框图中看到;也就是说,这个位是PID的手动/自动切换位;

PEPER_ON:BOOL:过程变量外围值ON:过程变量即反馈量,此PID可直接使用过程变量PIW(不推荐),也可使用PIW规格化后的值(常用),因此,这个位为FALSE;

P_SEL:BOOL:比例选择位:该位ON时,选择P(比例)控制有效;一般选择有效;

I_SEL:BOOL:积分选择位;该位ON时,选择I(积分)控制有效;一般选择有效;

INT_HOLD BOOL:积分保持,不去设置它;

I_ITL_ON BOOL:积分初值有效,I-ITLVAL(积分初值)变量和这个位对应,当此位ON时,则使用I-ITLVAL变量积分初值。一般当发现PID功能的积分值增长比较慢或系统反应不够时可以考虑使用积分初值;

D_SEL:BOOL:微分选择位,该位ON时,选择D(微分)控制有效;一般的控制系统不用;

CYCLE:TIME:PID采样周期,一般设为200ms;

SP_INT:REAL:PID的给定值;

PV_IN:REAL:PID的反馈值(也称过程变量);

PV_PER:WORD:未经规格化的反馈值,由PEPER-ON选择有效;(不推荐)

MAN:REAL:手动值,由MAN-ON选择有效;

GAIN:REAL:比例增益;

TI:TIME:积分时间;

TD:TIME:微分时间;

TM_LAG:TIME:我也不知道,没用过它,和微分有关;

DEADB_W:REAL:死区宽度;如果输出在平衡点附近微小幅度振荡,可以考虑用死区来降低灵敏度;

LMN_HLM:REAL:PID上极限,一般是100%;

LMN_LLM:REAL:PID下极限;一般为0%,如果需要双极性调节,则需设置为-100%;(正负10V输出就是典型的双极性输出,此时需要设置-100%);

PV_FAC:REAL:过程变量比例因子

PV_OFF:REAL:过程变量偏置值(OFFSET)

LMN_FAC:REAL:PID输出值比例因子;

LMN_OFF:REAL:PID输出值偏置值(OFFSET);

I_ITLVAL:REAL:PID的积分初值;有I-ITL-ON选择有效;

DISV:REAL:允许的扰动量,前馈控制加入,一般不设置;

FB41输出参数:

LMN:REAL:PID输出;

LMN_P:REAL:PID输出中P的分量;

LMN_I:REAL:PID输出中I的分量;

LMN_D:REAL:PID输出中D的分量;

(2)规格化概念及方法

PID参数中重要的几个变量,给定值、反馈值和输出值都是用0.0-1.0之间的实数表示,而这几个变量在实际中都是来自与模拟输入,或者输出控制模拟量的。因此,需要将模拟输出转换为0.0-1.0的数据,或将0.0-1.0的数据转换为模拟输出,这个过程称为规格化。

规格化的方法:(即变量相对所占整个值域范围内的百分比对应与27648数字量范围内的量)

对于输入和反馈,执行:变量*100/27648,然后将结果传送到PV-IN和SP-INT;

对于输出变量,执行:LMN*27648/100,然后将结果取整传送给PQW即可。

(3)PID的调整方法

一般不用D,除非一些大功率加热控制等惯大的系统;仅使用PI即可;一般先使I等于0,P从0开始往上加,直到系统出现等幅振荡为止,记下此时振荡的周期,然后设置I为振荡周期的0.48倍。

本系统中将压力设定值DB2.DBD4和实际压力值DB1.DBD8赋值给FB41的SP_INT(PID的给定值)和PV_IN(PID的反馈值),设置好PID的相关参数(如LMN_HLM:PID上极限,LMN_LLM:PID下极限,TI:积分时间,GAIN:比例增益,CYCLE:PID采样周期,MAN_ON:手动值ON)。将变频器控制频率DB2.DBD0赋值给LMN:PID输出,将变频器控制频率DB2.DBD0由功能块FC106转换成标准量程赋值给PLC模拟量输出模块,由PLC模拟量输出模块调节变频器的频率。PID控制如图8所示。

2.2 上位机组态及应用

上位机组态软件用于可视化的控制工业生产过程。为工程师提供了易用的开发环境和广泛的功能,使工程师能够快速地建立、测试和部署强大的连接和传递实时信息的自动化应用。组态软件是一个开放的、可扩展的人机界面,可以灵活地定制应用程序设计,为工业中的各种自动化设备提供了连接能力。

2.2.1 上位机组态软件与PLC通信

上位机组态软件与PLC通信是通过SIDirect DAServer驱动通过标准的以太网卡访问PLC。SIDirect DAServer可以通过DDE、Fast DDE、Suite Link、OPC协议连接Windows客户端软件。首先安装SIDirect DAServer,安装并配置以太网卡和TCP/IP协议。配置好SIDirect DAServer和组态软件后,激活SIDirect DAServer便可实现组态软件与PLC的通讯。SIDirect DAServer配置图如图9所示。

在组态软件中,标记的类型有I/O型、内存型等,访问PLC变量就要选择I/O型标记,定义I/O型标记就要设计访问名和项目,访问名就是在SIDirect DAServer中定义的PLC设备,项目对应实际的PLC地址,在配置时可能需要相应的转换。访问名和项目设计如图10所示。

上位机组态软件与PLC标记名命名规则:

2.2.2 上位机组态

上位机组态软件集控制系统、数据库技术、网络技术、人机界面技术于一身,包含动态显示、报警、控件、趋势、网络通讯等,必要时还可以通过第三方程序,例如VB实现复杂的功能。上位机组态软件的图形界面美观,支持ActiveX控件,采用的内部函数,报表借助于第三方程序例如VB实现。同时也支持组态对象的查找、替换功能。

本系统制作了循环水泵站画面、压缩空气站画面、实时趋势、历史趋势、历史报警、操作记录、报表显示等多个工艺流程主界面,在每幅画面中显示相应设备运行状况、系统运行参数和仪表数值。本系统组态画面如图11所示。

本系统历史报警通过组态软件和关系数据库数据SQL Server建立通讯连接,利用组态软件查找保存在SQL中的历史数据;报表通过组态软件和关系数据库数据Microsoft Access建立通讯连接,利用VB调用组态软件脚本读Access中的数据以实现显示报表的功能。历史报警如图12所示。

在上位机组态软件中引入第三方程序增强了软件的功能,使组态软件与数据库的应用更加灵活。

3 结束

本系统以PLC为主线,以编程系统为平台,结合组态软件,系统地介绍了PLC的编程理论、PID控制算法,及其在工业恒压供水中的应用。PLC与组态软件编程功能强大,开发界面美观,通讯连接易学易用,普遍适用于工控行业。本系统自2009年投入运行以来,系统可靠性高,运行稳定。

参考文献

[1]廖常初.PLC编程及应用[M].北京:机械工业出版社,2005.

[2]张万忠.可编程控制器应用技术[M].北京:化学工业出版社,2001.

[3]西门子PLC与INTOUCH综合应用.人民邮电出版社,2010.

上位机组态软件 篇4

关键词:WinCC,组态,PLC

酒花异构化对提高酒花利用率具有积极的作用, 目前该项技术在多数啤酒厂被广泛的应用, 从生产性试验的结果看, 利用异构化技术, 酒花添加量减少20%即能达到质量要求, 可大幅降低酒花用量, 经济效益明显。

如图1是酒花异构化系统示意图, 该系统需要增加的监控对象有:6个气动阀门, 一个温度探头, 高低位音叉探头各一个, 一台泵, 一台搅拌, 一个气动调节阀。整个系统的自控系统接入原有的西门子S7-300PLC网络。因此, 需要增加一个PLC从站, 该从站的配置为:IM153-1通信模块, DI32*DC24V数字输入模块, DO32*DC24V/0.5A数字输出模块, AI8*12bit模拟输入模块, AO4*12bit模拟输出模块。

使用WinCC上位机组态软件按照工艺流程制作监控画面, 制作阀门、泵等各个控制对象, 为各个对象建立变量, 把变量与PLC相应的数据块地址建立连接。下面以其中一个阀门为例, 介绍WinCC上位机组态软件的组态方法。

1) 在WinCC项目管理器中的图形编辑器中制作监控主画面, 加入控制对象。图2是根据工艺流程创建的监控画面。

2) 在SIMATIC Manager中, 建立阀门的数据块, 并下载到PLC里, 以V501阀门为例, 数据块的地址为DB51, DBW3500到DB51, DBW3548共50个字节, 里面定义了阀门的手动/自动标志位、模拟标志位、开关反馈点、手动命令、自动命令等信息。并指定输出点DB51, DBX3501.4对应的数字输出点用于驱动电磁阀打开阀门, 指定反馈点DB51, DBX3500.7对应的数字输入点用于检测阀门的状态。建立数据块后还需要调用开关阀门处理功能块FC55对这些数据进行处理, 例如处理阀门的报警、开关计数、根据手动/自动命令计算输出、计算阀门的状态等。在这一步中要注意修改DB51前, 先上传在线的DB51进行修改, 再下载到PLC中, 以保证DB51其他数据是最新的数据。

3) 在WinCC项目管理器中建立V501的变量。在本项目中, 已经为阀门类变量定义了名为“VM”的结构变量, 其变量与DB块里的变量是一一对应的, 在变量管理→SIMATIC S7 PROTOCOL SUITE→TCP/IP→NewConnection_1→BUSVM单击右键, 选择新建变量, 弹出变量属性窗口, 取变量名称为V501, 数据类型选择VM。在WinCC中还定义了PID调节类的PID结构变量, 模拟输入类的AI结构变量, 数字输入输出类等几种结构变量, 方便对同一类型的变量进行定义, 这些变量与PLC内各类型的变量也是一一对应的, 其创建方法与阀门类变量的创建方法类似。在弹出的地址属性窗口中指定DB块号51, 起始地址为DBB3500。

4) 双击V501打开对象属性窗口, 把状态连接到变量V501.iState, 这样对象的显示状态就可以跟随阀门实际开关状态变化了。

5) 在PLC程序中, 在需要V501自动开阀的条件下输出到DB51, DBX3051.0便可以打开V501加热水到酒花罐, 例如下面的程序:

综上所述, 要实现WinCC对各类被控对象的监控, 首先要在PLC中建立数据块, 再在画面中创建被控对象, 为被控对象创建变量, 并使变量与PLC的数据块连接, 即可在WinCC操作界面中实现对各类被控对象的监控。

节能降耗、降低生产成本一直是我们的工作重心, 此次酒花异构化设备的顺利投用将大大降低啤酒生产原料酒花的损耗。此套设备投入使用后充分发挥了效用, 不增加操作人员负担, 设计出一套具有高度自动化, 安全可靠的控制系统。为实现节能降耗、降低生产成本提供可靠的保障。

参考文献

[1]刘华波.组态软件WinCC及其应用[M].北京:机械工业出版社, 2009.

[2]孙涛.西门子WinCC上位机组态软件在酸再生站监控系统中的应用[J].电世界, 2009 (8) .

[3]孙书芳.西门子PLC高级培训教程[M].2版.北京:人民邮电出版社, 2011.

[4]廖常初.S7-300/400PLC应用技术 (附盘) [M].2版.北京:机械工业出版社, 2008.

上位机组态软件 篇5

合成孔径雷达 (Synthetic Aperture Radar, SAR) 是一种二维高分辨成像雷达, 是对地观测的最重要手段之一[1,2]。 SAR实时信号处理机是SAR的重要组成部分, 可视化的调试和控制是其研制的难点之一, 而上位机可以解决这一难题。

上位机系统由通信硬件平台和软件界面两部分构成。由于USB接口具有即插即用和热插拔的特性, 而且传输速度较高, 故可利用USB芯片控制读、写操作, 实现信号处理机与上位机之间的通信[3]。如图1 所示, 硬件平台由信号处理机和USB芯片CY7C68053 搭建, USB芯片主控通信过程, 完成上位机指令的接收及处理结果的回传。

目前, 用于开发界面的软件很多, 典型的有VB、Lab VIEW, VC++, C#等[4,5,6], 由于C#对USB接口和界面设计的操作非常简便, 相对开发周期更短, 同时考虑到上位机对图形显示要求较高, 而Matlab在数据处理、图形显示方面优势明显, 因此, 采用C#与Matlab混合编程的方案来完成上位机的开发。

本文研究了SAR实时信号处理机的上位机软件设计。结合系统硬件平台, 分析了SAR信号处理机快速调试以及SAR系统设置和实时监控的要求, 通过解决多线程、混合编程以及通信协议等上位机关键技术, 完成了上位机功能设计。

1 关键技术的实现

SAR信号处理机不仅需要实时处理海量数据, 解决不同功能的实时响应, 还要将其测试结果在上位机上实时、直观地显示。因此, 数据量大, 实时性高, 直观性强等是上位机的设计难点。这些难点通过多线程技术、C#与Matlab混合编程技术以及通信协议设计可以解决。

1.1 多线程技术

多线程是指程序中包含多个执行流, 可以同时运行多个线程来执行不同的任务, 从而增强程序的响应能力和伸缩性[7]。在C#中可以通过调用函数thread.Start ( ) 来启用创建的新线程, 实现多线程。程序中一个实例如下:

在上位机设计中, 由于上位机需要完成功能选择、参数设置以及回传结果的处理与状态显示等任务, 并且多个任务需要并行执行, 故在设计中使用多线程技术, 可以极大地提高上位机运行的效率和实时性。

1.2 C#与Matlab混合编程技术

由于Matlab Compiler可以将Matlab函数转换为封装了Matlab代码的动态链接库 (DLL) [8], 故C#开发的程序可以直接访问其编译的Matlab函数, 即C#调用Matlab生成的DLL文件[9]。

本文在Microsoft Visual Studio 2010和Matlab R2012b编译环境下实现C#与Matlab混合编程。步骤如下:

第一步, 进行Matlab编译器的设置。在Matlab的Command Window运行指令mbuild-setup, 具体设置根据提示选择, 其中编译器选择Microsoft Visual C++ 2010。

第二步, DLL文件生成。编写M函数文件, 运行指令deploytool, 出现deployment tool窗口, new→Type选择.NET Assembly→Add classes→Add files→build。 编译成功后, 即可得到DLL文件。

第三步, 设置VS2010 编译环境。打开工程文件, 将Matlab生成的DLL文件以及Matlabtoolboxdotnetbuild-erbinwin32v2.0 目录下的MWArray.dll文件一起添加到引用中, 并加入命名空间 (Using...) 。

第四步, 添加程序代码。下面是程序中用到的实例代码:

第五步, 上位机程序移植。上位机要运行于客户端计算机, 必须预先安装.netframwork 4.0 与MCR。

至此, 便实现了C#与Matlab的混合编程。其优势是不仅能利用Matlab强大的计算绘图功能, 更可脱离开发平台独立运行。

1.3 通信协议设计

上位机与信号处理机之间要事先约定好通信协议, 确定不同指令代表的功能[10], 信号处理机才能对上位机传来的指令进行响应。在编写上位机软件和FPGA底层程序前, 约定以下协议:

发送指令:字头 (0XAFAF) | 指令标识 (0x0042 -0x0052) | 指令, 4 字节

返回结果:字头 (0XAFAF) | 指令标识 (0x0042 -0x0052) | 返回结果

通信采用状态驱动模式, 系统工作时, 上位机发出指令, 信号处理机根据通信协议解读上位机发出的指令, 执行相应的操作并返回结果;上位机读取返回结果, 处理后直观显示出来。

2 软件设计与实现

上位机软件在SAR系统设计阶段主要是为方便信号处理机进行硬件调试和测试, 而在SAR系统付诸使用阶段则是操作控制和数据记录的可视化工具, 故需要很多的功能来满足SAR系统的需求。上位机功能结构如图2 所示。

主要实现的功能有:

(1) 参数设置。实现系统参数的设置和工作模式的选择。

1 工作模式:设置信号处理机的工作模式, 不同模式对应的信号处理机波形和工作场景不同。

2 开关定时:实现系统的定时或遥控, 无需人工值守。

3 波形脉宽:对应雷达发射信号波形的脉冲宽度。

(2) 功能选择。针对SAR信号处理机快速调试和系统实时监控的要求, 设计上位机功能。

1 录取数据:将SAR雷达回波原始数据读取存入CF卡中, 为下一步的成像做准备。

2 地面测试:对一个PRT的回波数据进行处理, 查看是否与实际场景信息吻合, 判断能否进行实验。

3 系统检测:检测SAR雷达波形模块、处理机以及收发模块的工作情况, 检查系统硬件故障。

4 数据回放:将保存于CF卡中的回波数据读出, 实现成像, 模拟空中试验过程。

5 成像:实现SAR雷达回波原始数据的成像, 并将成像数据存入CF卡中。

(3) 结果显示。上位机读取返回结果, 处理后直观显示出来。

1 CF卡查询:查看CF卡剩余容量, 当CF卡容量不足时, 将CF卡格式化。

2 A/D采样:对接收到的回波数据, 查看其时域和频域波形。由于C#的数值计算和绘图功能复杂, 尤其数据量很大时程序的执行效率很低且难以直观地查看和分析数据的变化趋势。故采用C#与Matlab混合编程, C#接收数据后, 转由Matlab函数处理, 利用Matlab强大的计算绘图功能完成数据的处理和图形界面显示。

3 系统状态:在上位机界面上显示系统工作状态, 实时监测系统工作。由于系统工作状态的监测要一直进行, 故采用多线程技术启用新进程来处理系统状态的显示工作, 并将其设为后台进程避免与上位机其他功能的进程冲突。

4 GPS解算:接收GPS卫星数据并将解算后的信息显示。由C#解读经纬度、时间、卫星数、速度和高度信息, 再传给Matlab函数绘出直观的GPS信息随时间变化曲线。

上位机软件使用界面如图3 所示。

3 测试结果与分析

为了验证上位机的功能, 测试其是否能解决数据量大, 实时性高, 直观性强的难题, 本文利用信号处理机对信号源输入12.5 MHz的正弦信号进行A/D采样, 然后上位机回读数据, 利用与Matlab混合编程处理后得到结果如图4 所示。

经多次测试, A/D采样数据大小为100 KB时, 从上位机发出A/D采样指令到回读数据、处理以及图形显示共耗时1 s, 而且在此期间, 还可同时操作其他功能指令, 表明上位机很好地解决了大数据量传输与处理、实时性要求高、直观性好的难题。由图4 (a) 可知, 信号处理机A/D采样出信号为正弦信号, 由图4 (b) 可知采样信号频率为12.5 MHz, 与信号源输入信号一致, 说明数据传输正确。故上位机可用于对信号处理机的可视化调试, 大大加快信号处理机的调试进度。

最后, 外场试验中, 可以方便地利用上位机对SAR系统进行操作与控制。图5 即为上位机录取、显示以及处理的实际雷达回波数据。其中图5 (a) 为原始回波, 图5 (b) 为其频谱。从外场实验中, 可以深深感受到上位机对SAR系统可视化操控的便利性。

4 结语

上位机的设计与实现, 对SAR系统信号处理机的调试和使用等具有重要意义。传统的调试方法结果不直观, 较难发现问题, 且操作也不方便, 会造成进度缓慢等问题。本文从SAR系统功能和硬件电路出发, 设计了上位机通信协议, 实现了多线程、混合编程、通信协议等关键技术, 利用C#与Matlab混合编程设计完成了SAR实时信号处理机的上位机开发。该上位机设计简单、开发周期短, 在实际应用中大大加快了信号处理机调试的进度, 方便了SAR系统的操作使用, 具有重要的应用价值。

参考文献

[1]保铮, 刑孟道, 王彤.雷达成像技术[M].北京:电子工业出版社, 2010.

[2]CUMMING I G, WONG F H.合成孔径雷达成像算法与实现[M].北京:电子工业出版社, 2012.

[3]钱峰.EZ-USB FX2单片机原理、编程及应用[M].北京:北京航空航天大学出版社, 2006.

[4]申伟强, 马欣, 李剑.C#与Matlab混合编程及其在气象数据可视化中的应用[J].创新科技导报, 2013 (3) :56-57.

[5]禹讯, 叶林, 许丹丹.机场地面结冰检测系统的上位机软件实现[J].计算机与数字工程, 2013 (6) :993-995.

[6]马林森, 张文爱, 王秀.基于PLC和Visual C#上位机的喷雾测试系统[J].农机化研究, 2013 (7) :145-149.

[7]SHARP John.Visual C#2010从入门到精通[M].北京:清华大学出版社, 2010.

[8]刘焕进, 王辉, 李鹏.Matlab N个实用技巧[M].北京:北京航空航天大学出版社, 2011.

[9]李诚刚, 赵佳宝, 陈兆荣.Visual C#与Matlab混合编程在可视化软件中的应用[J].软件, 2012, 33 (2) :78-83.

基于VB.Net的上位机软件开发 篇6

关键词:上位机,协议,通信

上位机一般是指PC, 是人可以直接发出操控命令的计算机, 可以在屏幕上显示 (如:温度, 水位等) 各种信号变化。下位机一般指是PLC/单片机之类的可以直接控制设备并获取设备状况的计算机。两者间的通信需要依靠独有的通信协力才能通信, 本软件的通信协议为虹信协议。下位机通过接收上位机发送过来的命令, 再根据接收到命令解释成相应时序信号去直接控制相应设备。本文简要介绍了基于VB.Net的软件开发环境中上位机与下位机之间通信的实现。

随着工业生产自动控制水平的不断提高, 上位机以其安全可靠的控制、良好的监控界面、高精度以及强大的数据存储能力, 已经备受用户青睐。上位机的应用也越来越广泛, 例如水泥厂DCS控制系统、油库管理上位机监控软件、硫化机的温度压力数据采集、KJ333新型煤矿安全监控系统等这些系统都是应用了上位机对数据的分析、存盘、综合处理、打印、报警、图形显示、人机对话等功能使得工业生产更加安全有效。

1、技术分析

1.1 采用虹信协议

上位机通过一些通讯协议和接口与下位机进行通讯, 一般都是通过串口和下位机连接通信的。本软件与下位机间的通信协议采用的是虹信协议。所谓的虹信协议其实是监控接口RS485接口协议。随着直放站技术的发展, 为了统一直放站设备内设备监控盘与各射频模块间的监控接口, 实现直放站设备监控盘硬件和软件的统一。规定设备内各射频模块与监控盘间的监控接口为RS485接口, 并根据直放站的实际情况, 制定了射频模块RS485接口通信协议规范。

1.2 虹信函数

HXcmd () 和JoinHXCmd () 这两个函数可以说是数据处理过程中的核心, 也是判断数据能否通过并且显示在界面上的关键。如下代码:

其中S t r C m d F u l l为整个数据包, H a l f c m d为命令单元, ModuleAddr为模块地址, UPDWType判断上下行, CmdType是命令编号, Byte2Hex (i) 是判断数据有几位, Parameter是命令数据。

在4.2.2 CRCCCITT () 函数中提到的对命令单元进行校验, 即CRCCCITT (Halfcmd) 就可以算出该数据包的校验和了。通过StrToByte16 (StrCmdFull, Fullcmd) 把是字符串的数据包转换成字节数组。

2、程序流程

在前面我们已经提到了上位机和下位机间的通信是依靠通信协议来实现数据的。本程序中主要运用到的处理方式有7种, 分别为:字符串转字节数组、计算校验值、字节数组转字符串、整形转2字节hex字符、发送时生成1字节补码数据、接收时解码1字节补码数据、取位。把这些所数据处理方式自定义为一些函数, 在需要处理数据的时候调用函数, 既做到简化程序的作用又方便。

3、数据处理流程介绍

数据处理在对整个软件来讲是一个核心的, 如果数据处理无法实现, 那么这个软件也就没有什么存在价值, 这个数据处理流程大概分为5大部分:

(1) 串口接收数据, 把数据暂时存储在缓冲区。

(2) 从缓冲区取出数据并按照协议来读取, 把不符合协议的数据丢弃。按照协议读取的流程图1如下:

(3) 判断命令编号:每条指令都有相应的命令编号 (如ATT补偿表的查询按钮的命令编号为0xF1) 。

(4) 判断应答标志并显示在状态栏上。

(5) 数据转换处理并显示在界面空间上。

4、总结和结论

通过利用PLC的自由口通信协议, 上位机利用VB.Net开发语言, 开发出上位机和下位机通信的应用软件, 实现了对模拟光端机模块系统的监控。在实践过程中证明这种方法结构简单, 系统开发周期短, 节约了投资成本, 对小规模的集散控制系统极其具现实意义;经测试表明, 系统具有可靠性高, 操作方便等优点。

本文创新点: (1) 本文在VB.Net开发环境中进行上位机串口通信程序的设计, 并应用到模拟光端机系统中上位机和下位机之间的串行通信, 取得了良好的通信与监控效果。 (2) 利用VB.Net进行了上位机串口通信程序的设计, 不仅可以清楚上位机串口的通信机制, 而且可以节约成本, 根据需要随时升级上位机串口通信程序。

参考文献

[1]崔建华, 郭瑞军.VB串口通信工程开发实例导航[M].北京:人民邮电出版社, 2003.

上位机组态软件 篇7

一、小水电站计算机监控系统上位机软件的构成

从整体角度来讲, 小水电站计算机监控系统上位机软件的构成要素主要包含以下几种:第一, 应用软件。这种软件主要包含数据采集处理方面、数据通讯方面等内容。第二, 系统软件。系统软件的作用主要是保障上位机软件运行的稳定性和安全性[1]。

二、小水电站计算机监控系统上位机软件的开发

这里主要从以下几方面入手, 对小水电站计算机监控系统上位机软件的开发进行研究:

2.1报警方面的开发

就小水电站计算机监控系统上位机软件而言, 报警模块是保障小水电站运行安全的重要部分。当该模块得到数据采集处理模块的异常信息通知时, 可以通过声音或者警示灯等方式向小水电站的管理人员进行报警。除了保障运行安全功能之外, 报警模块所产生的报警信息全部会被记录在历史数据库中。当小型水电站中的管理人员需要分析其故障发生规律时, 可以按照报警现象发生时间或者类型进行有效查询。在计算机监控系统上位机软件中, 报警模块的开发主要集中在对异常现象 (如开入量变位等) 的事件信息内容设计及提示框弹出方面。为了保证小水电站管理人员对事件的及时有效处理, 应该将该部分的事件信息设计为:由具体内容、事件种类、产生事件设备名称这几种要素组成[2]。

2.2通讯方面的开发

1. 计算机监控系统上位机软件通讯模块的结构设计

从实际应用的角度来讲, 通讯模块的通讯对象主要包含上位机监控程序、RTU以及PLC单元这几种。当通讯模块并未接收到相关指令时, 其能够自动向RTU发送读取数据指令, 进而实现读取小水电站运行监控数据信息的目的。该模块与RTU之前的连接方式为RS-485总线;该模块与上位机监控程序之间的通讯连接设计为Winsock控件;将该模块与PLC单元的通讯方式设计为计算机串行通信端口。

2. 计算机监控系统上位机软件通讯模块的检验

为了保证通讯模块的设计质量, 该部分的检验对象主要是通讯模块与RTU、PLC单元以及上位机监控程序之间的连接。就其与RTU而言, 检验结果表明这种连接方式的应用能够有效保证通讯质量, 其抗外部干扰的效果相对较好;就其与PLC单元而言, 其数据信息通信安全性、稳定性较高;就其与上位机监控程序而言, 检验结果表明其通讯实时性较好[3]。

2.3数据采集处理方面的开发

该方面是计算机监控系统上位机软件的主要功能。其数据采集处理模块的作用为按照一定的周期规律从RTU中获取数据, 并对数据进行合理的处理和分析。小型水电站监控过程中产生的数据主要包含开出量、开入量、直流、交流模拟量以及发电机温度这几种。为了保证数据采集处理模块的有效性, 这里将该模块的数据获取周期和储存周期分别设计为5s和5min。就数据读取过程而言, 5s时间结束之后, 上位机软件的数据采集和处理模块可以按照上述几种类别分别将数据放入数据库中的对应位置。当数据采集环节完成后, 该模块能够将更新的数据信息中是否存在异常现象, 如越限事件或者变位事件等自动识别出来。如果数据信息中存在上述事件, 则该模块会联合报警模块向小型水电站的管理人员发出报警, 提示管理人员分析该事件情况, 并将越限事件或变位事件的数据信息储存起来。就数据储存过程而言, 当5min时间结束之后, 计算机监控系统上位机软件的数据采集处理模块会将水电站设备作为参考依据, 对该段时间内产生的数据进行有条理地储存。除此之外, 每天凌晨该软件的数据采集分析模块还会将24h时间范围内产生的小水电站运行监控数据的最小值和最大值识别出来, 并对其进行储存以获得小水电站的运行监控数据阈值规律[4]。

结论:对于小水电站而言, 计算机监控系统的应用能够有效保障其运行安全。上位机软件是计算机监控系统的重要组成部分, 其开发内容主要包含数据采集模块、报警模块以及通讯模块等内容。需要通过对所有组成模块的合理设计和检验, 保证上位机软件的开发质量。

摘要:对于小型水电站而言, 人工监控运行方式的应用不仅需要耗费较多的人力资源, 监控不及时现象的出现还可能影响水电站的正常运行。相比之下, 利用计算机监控系统可以获得更加优质的监控效果。本文从监控系统上位机软件的构成入手, 对小水电站计算机监控系统上位机软件的开发进行分析和研究。

关键词:小水电站,计算机监控系统上位机软件,开发

参考文献

[1]胡国强.小水电站计算机监控系统上位机软件的开发[D].中国农业大学, 2002.

[2]何正韡.基于Modicon M340 PLC的水电站监控仿真系统研究[D].浙江工业大学, 2014.

[3]饶志波.基于网络的小型水电站计算机监控系统设计与研究[D].重庆大学, 2012.

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【上位机组态软件】相关文章:

上位机通讯08-20

上位机接口设计论文04-17

上位者作文200字04-21

组态王软件05-09

力控组态软件08-19

组态软件技术及应用04-11

组态软件课程设计要求04-28

组态软件应用技术05-18

组态软件控制系统05-29

EV5000组态软件07-04

上一篇:医院建筑地下停车库下一篇:客户导向型