这个示例展示了如何使用E-Form++可视化图形组件库开发工控方面的应用,这个示例包含了三个能够独立运转的控件,包括:泵机,测量表和活塞,E-Form++可视化图形组件库支持简单而精确的定时器控制功能,可以根据需要创建其他工控组件.如下图:
![](http://www.ucancode.com/gokong_small1.gif)
1. E-Form++从设计之初就为画布上的任何图形单独设定能独立启动的定时器功能,这意味着只要你希望让画布中的某个图形动起来就可以让其动起来。
2. E-Form++库本身采用100% VC++开发而成,所有代码经过严格测试,让您的应用达到最佳性能。
3. 该解决方案已经为全球众多航天,军工,科研单位成功在仿真,工业控制等方面使用,具有最佳的稳定性。
![](http://www.ucancode.com/gokong_small2.gif)
系统提供了如下现成的矢量图形,更过的复杂图形可以通过正式版本提供的专业复合图形设计程序ShapeDesigner来设计。
1). Industrial Equipment Components.
![](http://www.ucancode.com/hmi_shape_1.gif)
2). Heating Equipment Components
![](http://www.ucancode.com/hmi_shape_2.gif)
3). Pumps Components.
![](http://www.ucancode.com/hmi_shape_3.gif)
4. 此外还有:
![项目符号](http://www.ucancode.com/bullet4p.gif) |
100% MFC设计,并提供所有的源代码,毫无保留。 |
![项目符号](http://www.ucancode.com/bullet4p.gif) |
超过30万行有效代码,以及超过300个C++扩展类。 |
![项目符号](http://www.ucancode.com/bullet4p.gif) |
自动代码产生程序以及完整的开发文档,帮助您快速构建各种基于Form++的应用。 d |
![项目符号](http://www.ucancode.com/bullet4p.gif) |
提供开发高级应用系统的完善的可扩展的界面控制功能。 d |
![项目符号](http://www.ucancode.com/bullet4p.gif) |
提供一行代码修改属性并支持Undo/Redo功能。 d |
![项目符号](http://www.ucancode.com/bullet4p.gif) |
用户可根据自己的需要对画布、组件、操作等各种操作进行自定义。 d |
![项目符号](http://www.ucancode.com/bullet4p.gif) |
同时支持单页面或者多页面应用程序。 d |
![项目符号](http://www.ucancode.com/bullet4p.gif) |
对组件进行布局、间隔、顺序编排。 d |
![项目符号](http://www.ucancode.com/bullet4p.gif) |
打印、打印预览以及输出到图象。 d |
![项目符号](http://www.ucancode.com/bullet4p.gif) |
绘制直线、标注线、曲线、矩形、椭圆、添加文本、以及图片等。 d |
![项目符号](http://www.ucancode.com/bullet4p.gif) |
提供超过40个各种开发示例程序。 d |
下面是使用E-Form++可视化源码组件库企业版本进行监控系统应用开发的基本步骤:
1. 设计需要的监控系统元件:
此步骤可以通过E-Form++提供的ShapeDesigner应用程序来进行设计,此工具可以直接将Microsoft Visio或者ConceptDraw等专业图形工具设计的元件导入(SVG文件)进来使用,当然您也可以通过ShapeDesigner本身提供的丰富的基本 图形来设计需要的监控系统元件。在设计时,可以很方便的直接将画布上设计的元件通过Copy, Paste的方式放到左边的工具盒中,如下图(注:此ShapeDesigner 本身的源代码一并随E-Form++正式版本提供,可根据需要进行定制):
![](http://www.ucancode.com/hmi_tool_vc_source_code.gif)
我们在设计元件的时候也可以对复合元件中的单个子元件定义一些便于以后识别和操作的Key ID值,这些值可以在以后通过调用GetKeyID来直接获取。
2. 设计监控系统需要的图形界面:
E-Form++提供了专门的界面设计工具DiagramEditor,在此工具中,我们可以轻松的应用通过上面的ShapeDesigner设计的各种监控系统元件来搭建图形界面。在搭建界面时,根据需要我们可以为特定的元件指定相应的Key ID值,这些Key ID值便于我们在具体的程序中进行控制,例如我们可以控制开关的关与开,灯的闪烁等等。设计好的图形界面我们可以保存为单一的xdg文件,如下图所示:(注:此DiagramEditor 本身的源代码一并随E-Form++正式版本提供,可根据需要进行定制):
![](http://www.ucancode.com/gokong_small3.gif)
3. 监控程序框架的构建:
通过E-Form++可视化图形组件库提供的集成在Visual Studio的AppWizard(应用程序创建向导)来自动产生监控系统的框架代码,可将上面我们通过DiagramEditor设计的xdg文件导入到此程序中作为资源文件,当我们需要装载一个设计界面的时候就调用如下函数:
LoadXdgFromResource(...); 如果我们需要切换到新的界面,也可以同样调用该函数来装载新的界面。参考示例NetworkDemo.
4. 实时数据的采集与处理:
外部数据的采集我们可以通过View类或则Window类的定时器来进行采集,当需要更新界面上的元件的状态的时候,可以直接通过我们上面设计的Key值来获取图形元件或者元件中的子图形。
5. 事务的处理:
通过覆盖相应的虚函数来时间各种事务的处理,例如我们只需要覆盖CFOPCanvasCore类的如下虚函数即可响应按钮的事件:
virtual void DoButtonClickEvent(CFODrawShape *pShape, const int &nSel);
HMI Demo示例简单的展示了如何定义多页面工控界面,如下所示:
![](http://www.ucancode.com/gokong_small4.gif)
![](http://www.ucancode.com/design_screen.gif)
下面这个示例展示了E-Form++开发工控和仿真程序的极其方便性和快捷性,如此复杂的示例程序,开发全部过程只需要半天时间,如下图:
状态一,移动油桶:
![](http://www.ucancode.com/gokong_small5.gif)
状态二,注油,油表同时显示注油的数量:
![](http://www.ucancode.com/gokong_small6.gif)
状态三,注油完毕,仪表归零,油枪关闭,使用拖车运走:
![](http://www.ucancode.com/gokong_small7.gif)
下面是开发该示例程序的基本步骤:
一、设计该工控和仿真画面需要的基本元件:
E-Form++组件库本身提供了大量的工控元件,同时提供了专业元件设计工具ShapeDesigner,通过该工具可以轻松的设计需要的元件,我们将所有设计好的元件放入左边工具盒中的一个固定的页面中保存起来,方便使用:
![](http://www.ucancode.com/gokong_small8.gif)
以后再使用的时候直接拖拉出来即可。
二、设计工业控制与仿真画面:
通过附随E-Form++产品提供的DiagramEditor,可以为指定的工业控制 与仿真设计相应的画面,DiagramEditor提供了非常完善而强大的功能,保证能够正确高效的完成各种高品质的工控画面的设计,在设计画面的时候,我们只需要通过鼠标拖拉的方式将步骤一中设计好的现成元件拖入画布中搭建即可,如下图:
![](http://www.ucancode.com/gokong_small9.gif)
当我们在采集数据的时候,我们往往需要刷新画布上的各种图元的状态,在DiagramEditor特别为每个元件提供了5个关键字,通过任何一个关键字即可查询到指定元件。如下图的设定:
![](http://www.ucancode.com/control_component.gif)
该设定中我们将最上面的元件的Key Value 1设定为K2。
三、搭建需要的工控与仿真程序:
通过E-Form++提供的AppWizard (应用程序创建向导),可以自动产生基于VC++的工控应用程序框架,要装载任何工控画面,只需要先将上面设计好的XDG工控界面文件导入到应用程序中形成XDGRES资源文件,然后调用如下函数即可:
LoadXdgFromResource(IDR_MAIN, _T("XdgRes"), FALSE);
当然,如果是需要装载新的工控界面,也同样可以调用这个函数。
四、实时数据的采集:
可以通过View类的定时器功能,定时采集数据,如果需要更新画面的元件,调用控件本身的UpdateControl即可,当需要同时更新一系列元件的时候,可直接加入到CFODrawShapeList列表中,然后调用UpdateShapes即可。
全部超过50万行精心设计并严格测试的源代码提供无任何保留! 提供超过400个C++扩展类,50万行有效VC++/MFC源代码,70多个示例或者解决方案源代码,完整的而细致的用户在线帮助系统和文档,精心设计的辅助开发工具!
强大,灵活和易于使用的可视化图型源码库。 功能强大,灵活地创建各种各样的满足您的需求的图表。产品设计规范,很容易使用,在短短的几天就能根据您的需求设计出产品。 我们提供完整的支持产品下载试用。
功能丰富。 超多功能,如自动布局,多层次,可折叠子图,单元连接点中,XML,DXF, SHP, SVG等等,能够协助您快速灵活的创建复杂的图表。支持大量事件:如单击,双击,悬停,选择,橡皮筋选择,复制,删除,调整大小和移动的支持。支持最复杂的操作:如拖和拖放,无限次的撤销/重做和剪贴板操作等等。
节省时间和金钱,获得可靠性。 一张图胜过千言万语,E-Form++提供超过50万行精心设计和良好测试的C++源代码!开发耗时十年,全球上千家客户验证,能够为您节省大量的开发时间和金钱!
现在就来试试! 不要光听我们的说, 试试吧! 我们的免费试用版包括所有你需要你的应用程序原型。免费技术支持。
产品中心
下载此解决方案
购买全部源代码:
正式版本的E-Form++可视化图形组件库企业版本提供此解决方案的全部源代码, 单击下面的按钮向UCanCode订购:
![](http://www.ucancode.com/order.2.gif)
|