附件:
[本地下载]附件:
[本地下载]1 概述
APMC为本人采用C#独立设计和开发的C#源码工业控制与组态软件。设计的初衷是采用符合IEC FBD61499标准开发先进的FBD控制算法块,采用图形化编程方式,通过简单的连线即可完成复杂控制,同时为了能完成不同设备的读写,研制了通用的C#DLL接口,用户可以编写自己的设备驱动,就可以集成到APMC中,并结合组态软件技术,达到组态控制的目的。该软件分为开发环境和运行环境2部分,开发环境可以实现组态与实时在线控制策略仿真,并通过运行环境实时控制和监视。
2 功能介绍
2.1 图像编辑
采用基本的线、多边形,矩形、圆、椭圆、文本、按钮及图片等基本图元可随意灵活布置监控画面,同时提供实时曲线控件,报警控件和仪表控件等高级图形图元,可自动报警及显示数据实时曲线。各个图元及画面具有3种属性,如下:
基本属性:提供对图元的颜色、位置、大小、可见性,锁定,边缘风格,填充风格,字体,旋转等属性设置。
动画属性:提供如颜色、位置、尺寸、可见性,旋转,边缘风格、填充风格等动画效果。可按照y=f(x)轨迹自由设定图元运行轨迹或更改图形尺寸,提供灵活的表达式表述方式,用户可以进行基于C#的三角函数算术,逻辑表达式的设定与数学逻辑运算,达到数据转化的目的。
事件属性:可通过鼠标点击、双击进行画面的打开,应用程序的打开,变量值的设定,声音的播放等操作。
2.2 IO设备驱动
虚拟驱动:
有多种虚拟数据源可选,如sin曲线,x^2曲线,循环变化,闪烁变化等等,初值和终值及变化时间参数可自由设定,可用于仿真和图元运动。
OPC驱动:
支持1.0、2.0 和通用OPC服务器数据读写规范。
用户驱动:
为了给不同的用户能把自己的设备数据集成到组态软件里,设计了通用的驱动DLL接口,用户按照提供的开源DLL驱动开发自己的设备驱动,就能集成到APMC中,解决了小型设备非标准协议的难题。
2.3 报警设置
用户可指定报警数据项,该项的报警发生时,能在报警控件中自动显示,并能自动存储到数据库里,方便历史查询。目前支持大于、小于、等于,大于等于,小于等于等逻辑运算,报警条件用户可直接书写表达式。
2.4 事件设置
用户指定事件发生时及消失时的事件动作,通过事件触发条件,可以打开画面,播放声音,执行 *.exe可执行程序和设定变量值等
2.5 实时数据库
用户指定数据存储方式,可按定时、条件表达式和变化率等存储方式存入数据库。
2.6 控制策略
采用FBD61499图形化方式编程,用户通过简单的拖拽和连线即可完成高级复杂控制。输入变量可支持表达式运算,如sin(avr)×100+1234,完全是软PLC形式!
2.7 报表与打印
通过ireport报表软件,可进行历史数据查询,报警与事件查询与打印,及历史曲线分析。数据可导入到excel,可自由报表与数据处理,同时也可以形成图片和HTML文档,历史曲线可缩放分析及打印。
注意:
本软件数据库可以为access或SQL等数据库,数据库采用数据库连接串方式提供用户自由设定数据库的连接符。
3 程序的运行与退出
程序分为编辑环境和运行环境,编辑环境除了编辑外,还可以进行控制策略的图形化仿真运行,查看设计控制的效果,运行环境么,呵呵,run。全屏后按q或esc键退出。当然,本软件是个人爱好和业余开发的么,还有很多不完善的地方,希望爱好者继续完善吧!我的目标是让每个人都可以做自己的组态软件!
4 软件截图(开发环境)
开发环境采用视图分割方式,左侧采用工程视图、工具视图和控制视图,右侧为属性视图、动画视图和事件视图,最下面为输出视图
工程视图:管理工程的画面和驱动
工具视图:提供画面编辑的各种图元
控制视图:提供控制策略的各种FBD功能块
属性视图:提供工程,图元及FBD功能块的属性设置,如颜色,大小,位置,名称等等的设置
动画视图:提供画面编辑图元的动画属性设置接口,用户可选择设定产生动画的变量和条件
事件视图:提供鼠标点击,双击操作的事件接口,可设定鼠标的事件动作,如打开画面,执行程序,设定变量值,和播放声音等。
输出视图:提供FBD控制策略编译时的状态信息
软件中间是文档视图,采用文档tab平铺方式,可通过tab的标签名选择文档画面,方便用户操作。软件界面图如下:
说明:
该组态软件源代码个人经过测试运行效果很好,图形界面刷新及时,驱动读写方便,控制策略编写容易,数据存储便于分析,历史及实时曲线显示等,可用于教学演示和学习。该软件采用c#自主开发,里面涉及软件图形界面分割、、OPC驱动、listview及tree view、及DLL控件开发和图形动画显示等很多值得学习的地方,欢迎爱好者共同讨论。
软件地址
下载地址:http://efei.5dblog.com
参考地址:http://shop57513653.taobao.com/
联系方式QQ:8201655,EMAIL:iscada@163.com