• 14340阅读
  • 13回复

工业自动化软件设计 之十 PANS系统简介与软件下载 [复制链接]

上一主题 下一主题
离线myer
 

只看楼主 倒序阅读 楼主  发表于: 2012-04-12
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-01-01) —
PANS3.0.rar (3288 K) 下载次数:631

PANS系统简介 排版更好的ppt文件,在附件中。

第一章 PANS是什么
       PANS,Platform of Automation Network System(磐石自动化网络系统平台),是全可视化的集监控、仿真、控制为一体的系统平台。

       PANS,首先是一个平台,一个适用于实时数据收集、显示、告警等处理的一个平台。

      PANS内核仅仅提供了一个与应用无关的(冗余的、分布式的)参数数据库、实时数据库、历史数据库,提供基本的数据模型配置、事件处理、用户管理、进程管理、连接管理等,以及一个可靠的数据订阅机制,而基于此,对于不同行业应用的快速实现与扩充提供强有力的支撑,甚至,大部分情况下,不需要编写代码,仅仅通过配置便可完成大部分默认的数据处理功能,例如最大、最小值统计、越限告警等等;对于控制逻辑、动态图元可以通过编写简单的脚本来实现;而数据采集,支持常见modbus、dde、opc、103、104等等一些常见的规约,对于暂不支持的规约,可以通过平台接口进行集成扩充。
1.1 为什么是平台?
平台无关,Windows、linux、android支持
数据库无关,sqlite、odbc、mysql、oracle等数据库存储
与应用无关(数据库、客户端与应用无关)
提供基础构架(参数库、实时库、历史库、模型配置、参数配置、用户管理、事件处理、数据订阅、脚本处理、进程管理、连接管理、分布式组件、冗余组件等等)
扩充容易,后面以一个modbus前置通讯和一个DDE通讯程序为例详细介绍
组态统一灵活,支持Qt Quick、Qt UI、QWidget、插件、资源、控件等等多种扩充方式
脚本功能丰富、强大,支持python、Qt Script、内置表达式等多种方式
支持功能块编译、与matlab/xpc等实时系统集成
1.2 PANS特点
冗余:双机、多机冗余,任意配置
分布式:真正的分布式监控系统,实现任意的分布式配置,分层数据方式、集中数据方式、路由数据方式等等,随意扩充
单机100万点测试毫无压力
数据订阅,界面反应迅速
多种程序调试手段、快速定位异常代码
1.3 PANS程序介绍
分布式数据处理pandb.exe
计算插件:pandbcommon、pandbscript等
服务插件:panhis、pandde、panmodbus等
统一组态编辑工具:grapheditor.exe
Qml运行时支持组件:graphcore.dll
属性编辑器组件:propertyeditor.dll
资源管理组件:resourcecommon.dll
统一组态运行工具:panvis.exe
调用Qml运行时支持组件:graphcore.dll

第二章 PANS应用介绍
通过一个例子,一步步的理解PANS的应用。
首先定义数据类型_rtvalue
新建数据_rtvalue的实例化数据点
使用周期性脚本对点周期性的赋值
使用触发性脚本对点的变化进行处理
下面从组态方面给出演示:
怎么建立元件,并且添加属性
怎么弹出自定义对话框
演示一个数据点的5种处理方法
两种方式的事件处理
图1、运行示例
2.1 数据类型组态
运行panvis.exe -o qml/test/objconfig.qml打开数据类型配置工具;
该工具也是标准的组态页面
2.2 数据点组态
运行panvis –oqml/test/pointconfig.qml
2.3 周期性处理脚本
在dbplugins\js目录下任意的建立js文件,其被解析,并被周期性调用
例如,下面的脚本将每250ms调用函数test1,test2各一次
function pandb_functions()
{
    var funcs = new Array;
    funcs.push("test1:250");
    funcs.push("test2:250");
    return funcs;
}
function test1()
{
    db.setValue("test.asdf", Math.random()*10+80)
}

function test2()
{
    db.setValue("test.fdsa", Math.random()*10+90)
}

2.4 表达式:值触发脚本
效率:在3万左右,单CPU负荷80%左右
实时数据的改变触发脚本执行
脚本可以产出事件、计算表达式等
下例,取点test.asdf的值,判断并产生事件,并且返回该值
var val=db.getValue("test.asdf");
if(val>89.95)
db.putEvent(5, "极大值 "+val, "test.asdf");
else if(val<80.05)
db.putEvent(4, "极小值 "+val, "test.asdf");
val
2.5 第一个元件 Flap
Flap,点击open,则在1.5秒内动画打开开关,并且状态指示灯渐变为绿色,点击close,反之。

先拖出3个矩形、一个圆形、两个按钮
点击中间的矩形,定义脚本:
Behavior on rotation {NumberAnimation { duration: 1500 } },即其rotation属性的改变为动画,用时1500ms;
点击中间的圆,定义脚本:颜色渐变
Behavior on fillcolor {ColorAnimation { duration: 1500 } }
按钮open的click函数:
flap.rotation=90
flap_s.fillcolor=“green“

按钮open的click函数:
flap.rotation=0
flap_s.fillcolor=“red"

OK。



2.6 第二个元件 Water
该元件,随着关联数据的变换,水面随着变化
画两个圆角矩形,一个透明、一个无边框
定义脚本:
water_r.y = 100-(value-80)*2-60;
water_r.height=(value-80)*2+60;
water_r.tooltip=value;

OK
2.6 第三个元件 Fan
风扇,外部数据指示其转动的时候转动,否则停止;
建立三个小椭圆、一个圆,设置颜色
脚本:
DBPoint{
        name:datapoint
        onValueChanged: {fan1.fan_running = (value & (1<<databit))}
    }

    SequentialAnimation on rotation
    {
        loops: Animation.Infinite
        running: fan_running
        NumberAnimation{
            from:0; to:120; duration:300
        }
    }
2.7 模拟量组件
该组件关联模拟量,随着数据的变化而变化
有label、unit、bgcolor等属性可以设置
可以关联到命令
点击的时候,弹出对话框
将输入的参数作为命令下发
2.8 数字量组件
该组件关联数字量,随着数据的变化而变化
配置见右图:
可以关联到命令
点击的时候,弹出对话框
将输入的参数作为命令下发
不是结束的结束语
文档仓促而就,抛砖引玉
很多东西未涉及,有感兴趣的朋友,欢迎加入QQ群讨论
QQ交流群:146109197
本文档关联程序在QQ群共享下载。
谢谢!
2012年4月12日星期四


http://user.qzone.qq.com/56430808
离线myer

只看该作者 1楼 发表于: 2012-04-12
基于Qt+QML的实时数据处理与组态软件,欢迎大家使用交流。
http://user.qzone.qq.com/56430808
离线xinqingfly

只看该作者 2楼 发表于: 2012-04-13
菜鸟也是鸟
离线begboy

只看该作者 3楼 发表于: 2012-04-17
很久没上论坛了。
Good Job !!

begboy
离线blueskit

只看该作者 4楼 发表于: 2012-04-19
好东西,打算怎样共享或推广呢?
离线xql863

只看该作者 5楼 发表于: 2012-05-19
高手啊
离线usingsystem
只看该作者 6楼 发表于: 2012-12-25
myer好久没上上论坛了,是不是很忙啊?
离线pan869823184

只看该作者 7楼 发表于: 2013-01-31
本人现在在从事智能电网组态软件的研发工作,跟楼主的研究方向有些相识,呵呵,有时间可以交流下哦~!
离线alan2008

只看该作者 8楼 发表于: 2014-01-13
这个名字怎么这么熟悉呢?PANS2000,pans3000
离线piaoliushi

只看该作者 9楼 发表于: 2015-07-01
下来看了下,介绍的很好,不过实现真的太烂,grapheditor离商业应用还有很大距离。
离线mscheng

只看该作者 10楼 发表于: 2015-07-24
开源的吗?
离线ccazqyy

只看该作者 11楼 发表于: 2015-11-10
感觉很强大,用到了ICE和QWT,但是是2012年的东西了,是否推广开来了还是终止了?貌似群都不存在了,群怎么是个旅游群?
离线futureq

只看该作者 12楼 发表于: 2018-12-13
这多年过去了,不知道你们都去哪了,感觉2011/2012/2013年断档了啊
离线hanheyfon

只看该作者 13楼 发表于: 2019-01-17
这是啥用的
快速回复
限100 字节
 
上一个 下一个