xArrow是功能完善的SCADA/HMI软件系统;是进行数据采集与过程控制的专用软件;是在自动化控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的通用层次的软件工具,它基于面向对象技术进行开发,可以运行于所有常见的Windows操作系统,从Windows 98第二版、windows XP到目前的Windows 7、Windows 8等。
xArrow支持绝大多数常见的PLC、智能仪表等设备,可以满足从单机到复杂的客户/服务器等多种拓扑模式的应用。
xArrowEmbbeded是xArrow的嵌入式版本,它具有xArrow大多数的功能(注:xArrowEmbbeded部分支持或不支持下面带*部分的功能),并且支持WinCE操作系统。
1. 系统架构
xArrow支持windows 98第二版,Windows 2000/XP/2003/Vista/7/8。其嵌入版xArrowEmbbeded支持WinCE 4.2/5/6 + ARM9/Cotex-A8/X86
向下兼容之前的版本,且xArrow可兼容同版本xArrowEmbbeded制作的工程
易于扩展,包括驱动程序、脚本命令以及用户自己的图元*
告警信息的处理与保存
支持客户/服务器模式以及分布式的数据采集,可在不同节点间共享实时和历史数据*
实时多任务的内核设计
提供冗余的数据采集和历史数据处理*
可使用自己的历史数据库,也支持使用Oracle、SQL Server、MySQL、Access或PostgreSQL作为系统的历史数据库*
支持将每日的历史数据存档到用户指定的路径下,最大限度的保证数据的完成
支持在画面上使用键盘模拟鼠标动作,适用于某些不允许使用鼠标的场合
工程画面可以配置使其自动适应不用分辨率的显示设备*
免费提供主流PLC控制器的通信协议,支持通过OPC服务器来访问设备*
提供工程打包功能,无需安装组态环境,工程及运行环境均打包在一个单独的可执行文件中*
支持工程加密/解密,保障系统的安全性
xArrowEmbbeded支持使用U盘和TCP网络下载
采用完全的面向对象技术
2. 工程开发
标准的Windows操作模式,易于操作和使用
可以同时打开设计和运行环境,快速查看修改后的结果
统一的工作平台用来管理整个工程,提供自上而下的设计方式
工程中的所有信息都包含在一个文件夹及其子文件夹中,所有使用到的素材都会自动归并到该工程文件夹中
通过工程管理器可以方便的切换和导入不用的工程
配置工程时只需在缺省参数上进行修改,所有的修改都被即时保存
提供数据库的CSV文件导入/导出功能,用户可以使用Excel来构建点表,并自动及批量进行配置
提供模拟PLC工具用来模拟PLC数据
强大的图库工具便于用户使用,并创造用户自己的图元
提供画面的导入/导出模版功能,便于快速制作画面
无需编译,所有修改均为所见即所得
脚本语言系统易于使用,编写时自带联想功能,且便于调试及定位脚本的错误信息
3.分布式应用*
各节点之间采用TCP/IP 协议进行通信,是真正的分布式系统*
各节点之间实时的交换实时数据及告警信息,从任一节点均可进行数据的写操作及访问历史数据,就如同使用同一台计算机一样*
不同的xArrow节点可以被赋予不同的功能,如I/0服务器、告警服务器、历史数据服务器、Web服务器等等,从而实现负荷分担*
可通过校时服务器对网络中的各节点进行对时*
用户在各节点的操作权限与单机时一致*
4.数据采集及共享
内置支持所有主流的PLC(包括西门子、GE、施耐德、三菱、欧姆龙、台达等等)、一些变频器及其它通信协议
可通过串行口、TCP/UDP网络及其它介质进行通信
可作为Mobus/Modbus TCP子站来工作,并且此时 xArrow系统可以作为中转,支持来自Modbus/Modbus TCP主站的写操作
可作为DDE服务器和DDE客户端来工作*
内置GraceMaster/GraceSlave协议,支持将多个xArrow子站中的数据上传到xArrow中心站。中心站可以采用查询的方式,也可以由子站端通过定时或条件触发主动上送
可作为OPC客户端和OPC服务器工作,并且OPC服务器可配置是否可写来限制第三方OPC客户端对xArrow系统中的数据进行更改*
可通过ODBC接口访问其它数据库中的数据*
xArrow内核采用Hash算法来加快访问实时数据库的速度
数据采集流程内部采用事件驱动的模式
轮询每帧数据的时间是可配置的
写操作在数据访问队列中的优先级大于读操作
可以指定优先读取某个数据
实时数据的时间戳为毫秒级
5.实时数据
面向对象的数据结构,包括站参数、字符串参数、模拟量参数和开关量参数
所有数据按照所归属的不同设备来划分,形成树形结构
模拟量和开关量可以配置成只读或可读可写的属性
采集的模拟量数据可以进行线性运算转换成实际值
模拟量具有简单的滤波功能
模拟量有越上限、越下限、越上上限、越下下限、变化率过大等几种报警方式,其中各个限值可以带死区
开关量有开、关、变化等几种报警方式
点的报警可以设置为立刻报警或延迟一段时间再判断以消除设备的误报,支持自定义告警信息,并可触发语音告警、触发执行相应的脚本、实时打印该报警信息。此外,还可以配置触发打开指定的画面
用户可以通过脚本命令充分访问实时数据,包括其实时数值和各个参数
系统站中的模拟量显示了系统目前运行的状况,包括当前时间、告警数量、以及站与对应设备的通信状态
6. 历史数据及数据归档
可以使用xArrow自带的历史数据库来保存所有的过程数据,高效并且快速
支持Oracle、SQL Server、MySQL、Access或者PostgreSQL数据库来作为xArrow的历史数据库,前三者更适合于海量数据的场合*
支持从历史数据库中转存每日的过程数据,包括历史数据和告警信息到一个单独的数据文件中,并保存到用户指定的归档目录下,从而最大限度的保护用户的数据
数据可以定时保存、告警触发保存,或者按照用户的需求进行保存
可设定系统启动一段时间后再开始保存数据,以避免不完整的数据
保存的数据可以是实时值,或者是一段采样周期中的平均值、最大值、最小值、总和值或差值
支持自动清理数据库中过久的过程数据
可使用SQL语句对历史数据库进行查询
支持将历史数据导出到CSV文件中
支持冗余的历史数据库*
7. 动作(脚本)触发
SCADA启动时触发执行
SCADA关闭时触发执行
到达指定时间时触发执行
循环(每隔一段时间)触发执行
某个点产生告警时触发执行
告警组中有任一点产生告警时触发执行
画面打开时触发执行
画面关闭时触发执行
画面打开后每隔一段时间触发执行
在画面中点击设定的热键时触发执行
有事件触发时,如鼠标在图元上按下、弹起时,触发执行
满足某个时间表的设置时,对应时间表中的点被设置成给定的值*
8. 图形接口
面向对象的图形接口
完全的矢量绘图工具,支持24位真彩色
支持24种填充模式,其中16种颜色渐变模式,实现逼真的3D效果
提供256级的Undo/Redo功能
支持位图的透明、填充、缩放等操作,并支持从任意环境(如浏览器中)中拷贝粘贴到本工程中
支持png/jpf/gif等图形格式
超过70种图元用来制作运行画面,包括多行文本、3D管道、实时数据、仪表、水流、数据表格、历史趋势、告警、按钮等等
支持拷贝Symbal Factory中的符号,并直接粘贴为矢量格式到画面中
设计模式和运行模式下均支持字符串的替换功能,包括站代码、点代码、脚本等等
动画图元通过输入各个条件来决定运行时的状态
支持直接编辑成组图元中的子图元的属性,而无需打散它
图元可设置显示Tool-tip提示信息
支持插入、配置并显示ActiveX控件*
通过xArrow的插件技术及DirectX技术支持嵌入3D动画*
支持不限数量的画面,且单幅画面尺寸可达10240×7680像素
每个关联了具有可写属性的实时数据的图元以及每幅画面都可以设置访问权限
运行时支持用键盘来模拟鼠标操作,包括光标上下左右移动、点击等操作,并支持通过Tab键来遍历画面中的所有图元
9. 告警与事项
模拟量有5种告警,开关量有3种告警。另有17种事项信息,包括操作事项、节点登录事项、通道中断事项等
可选择保存与显示某些类型的告警/事项信息
支持按告警类型、按点的告警状态来播放语音告警
记录事项发生的节点的网络地址*
可确认事项并记录确认的时间
支持实时自动打印告警信息
可配置延迟告警,出现告警后如果在设定时间内告警状态消失,则不进行告警
可配置记录每一个写操作事项,包括当时的值、操作员信息、返回状态等
支持按告警时间、站、点、告警组、告警类型等多种方式进行查询
所有的告警和事项信息在网络中所有节点间共享,可配置冗余的告警服务器*
网络中的任意节点都可以查询告警信息,无论本节点是否为告警服务器*
支持将每日的事项归档到单独的数据文件中
提供单独的告警浏览器模块用以查看系统中以及归档文件中的事项信息*
可配置自动清理过期的告警/事项信息
10. 时间表*
可设定一周内每天任意时刻(精确到分钟)的数值,支持批量设置,也支持单独进行修改*
支持按天、按日期间隔以及逻辑语义(如每月最后一天)来设定例外时刻,灵活性强*
设置的正常时刻和例外时刻个数不受限制*
可在系统运行时对时间表进行修改*
当设置的时刻或例外时刻到来时,可以直接将设定的数据写入设备中*
11. 打印功能*
通过打印窗口来显示并打印xArrow系统的报表,除了诸如时间表、配方等少数几个图元外,其余所有的图元都可以打印出来,如历史趋势、数据表格、日志图元、告警图元、实时数据等等。使用绘图包可以根据使用者的需求制作复杂的报表模板,将历史数据和实时数据以各种不同的方式打印出来,形成功能完备的报表系统。打印窗口的显示与普通窗口一样,可以在此查看数据、查询数据等等。
打印出的报表样例如下图所示:
12. 操作记录
支持CFR PART 11规范,记录用户操作信息。
13. 用户权限
每个用户都属于一个用户组
自动检查新增加用户的密码强度
每个画面以及每个实时图元都可以指定允许访问或操作的用户及用户组
可设定需要用户登录才可启动或操作某些模块,如进行绘图、设置数据、确认告警等
可配置一段时间没有操作时自动退出用户登录状态
Web浏览时可设定需要用户登录才能进行浏览以及进行写操作,用户登录可设定有效期*
14. 数据表格、报表和历史曲线
数据表格、报表和历史曲线用来查询并显示xArrow历史数据库中的数据,既可以显示普通存盘数据,也可以显示经过统计分析的日、月、年数据
数据表格、报表和历史曲线均支持打印查询出的数据或曲线
数据表格和历史曲线支持加载保存在CSV文件中的历史数据
数据表格支持直接使用SQL语句查询历史数据库或其它第三方数据库中的记录
数据表格和历史曲线支持加载归档文件中的历史数据
可以将数据表格中显示的内容另存到CSV文件中或Excel文件中
历史曲线支持运行时动态增加或删除要显示的曲线
历史曲线支持每条曲线都可以有自己标记及坐标轴
历史曲线支持在时间轴上放大缩小曲线,并可即时显示光标所在处的曲线数值
15. 脚本语言
SCADA系统及画面部分均支持TCL脚本语言,简单易用并且高效
TCL本身支持数学运算、逻辑运算、字符串操作、文件操作及其它与操作系统相关的各种命令
除了支持TCL本身命令外,xArrow还扩展了多达170条专用的命令,包括实时数据库访问命令、历史数据库访问命令、SQL命令、各种图元操作命令以及其它功能等
所有扩展命令都有详细的说明文档及使用例子
脚本编辑器支持命令联想功能、可自动插入条件判断及循环的代码片段、自动插入命令代码、自动检查括号匹配情况、关键字高亮显示等
脚本编辑器支持剪切、拷贝及粘贴操作,支持查找替换字符串,支持Undo/Redo功能
脚本可以被告警触发执行、循环执行、定时执行、告警触发执行、热键触发执行、事件触发执行
xArrow系统中运行的脚本,如果有语法错误,可以直接给出精确的错误信息,甚至定位到出错的那一行
SCADA支持调用单独的脚本文件或内嵌于工程文件中的脚本字串
16. 安全性
提供I/O服务器冗余功能,主服务器故障时会切换到备用服务器进行数据访问,并自动在各节点间交换数据
提供历史服务器和告警服务器的冗余功能,其中主/备服务器同时保存数据。主服务器故障时,网络中的节点通过备用服务器获取历史数据及历史告警信息*
提供双网络的冗余功能,当A网故障时可以自动切换到B网进行通信*
提供冗余站功能,当主站通信发生故障时,会自动启动冗余站进行通信*
可在系统站的模拟量中获取设备通信状态,并可设置产生通道中断事项,
并闪烁显示*
可配置当网络中节点登录或退出时产生事项,并闪烁显示*
可配置每天归档前一天的历史数据和历史告警到一个单独的数据文件中,并保存到专用的归档目录下,最大限度的保证过程数据的安全
可以设置记录每一次写操作,包括登录的用户、产生操作的节点IP信息、时间、数值等等,供以后分析*
17. Web服务*
内置HTTP服务器,无需额外安装,设置简单*
支持非标准的HTTP端口,如8080*
可以设置通过广域网访问路由器后面局域网中的Web服务器*
可设置允许浏览工程的用户及登录的有效期*
可设置是否允许用户通过浏览器来写工程中的数据*
通过在网络中不同的节点上设置Web服务,可以导航不同的用户群访问工程的不同部分*
通过设置浏览的画面首页,可以限制用户只查看被许可的部分*
在客户端使用Microsoft Internet Explorer可浏览整个画面,包括历史趋势、报表等,与主机无异*
支持使用任意操作系统的任意浏览器,如平板电脑、手机等,通过纯HTML的方式来查看xArrow中的Web数据、实时告警、历史数据及历史报警。并且用户可以根据设置使用浏览器对系统中的点进行写操作*
可提供基于Android系统的APP,来查看xArrow系统中用于Web显示的画面
18. 扩展性及复用性
在绘图包中绘制图元,成组后保存到图库中,供以后直接使用
在绘图包中制作模板,导出后,可供以后导入新工程使用
可提供用于开发通信驱动模块的SDK开发包
可提供用于开发专用图元插件的SDK开发包*
可提供用于开发自定义脚本命令的SDK开发包*