主页  |  产品  | 我们的客户 | 技术支持 | 下载 | 购买 | 关于UCanCode   
同UCanCode一起释放Visual C++的巨大能量!
 


028-85354545

购买与价格
免费评估版
E-Form++图形源码库企业版本
100%C++, VB, C#源码
 产品特点 
  HMI &SCADA源码
 PLC组态编程源码
 CAD控件源码
 HMI 报表源码
GIS制图源码
电力系统源码
条码账单源码
工作流程源码
煤炭行业源码
仪器仪表源码
报表打印源码
图形建模源码
电子表单源码
Visio制图源码
工业控制源码
BPM业务流程源码
工业监控源码
流程图控制流源码
组织关系图源码
图形编辑器源码
 Win CE组态源码
UML编辑器源码
地图演示源码
建筑平面制图源码
价格与购买
 价格与购买
技术支持
  软件注册
  在线升级
  在线文档
  开发课程
  开发范例
  开发知识库
  软件Bug报告
  改进建议
 关于UCanCode
  与我们联系
友情连接
VC++ Source Code
VC++ Tutorial
   

仪器与仪表(Gauge), 建模与仿真, 组态监控,  自动控制OCX, VC++源码组件库2018


--拿来即用、100%开源、100%可根据需要进行定制的VC++高性能仪表控件!

仪器, 仪表解决方案在E-Form++可视化组件库中 是一个非常重要的解决方案 ,所有仪器仪表的设计源代码全部采用100%VC++开发而成,正式版提供所有该解决方案的源代码。

下载此解决方案


我们提供的这些解决方案并不意味着E-Form++可视化图形组件库只能开发这些方面的应用,事实上E-Form++同任何其他第三方C++组件库一样,包含数百项可以分开独立使用的功能。同QT, MFC等一样,您可以独立决定是否需要E-Form++中的某项功能,一般来讲,只要您需要图形显示、需要流程图、控制图、打印功能、排版功能、仿真、电子地图、电力接线图、表单等等功能,您就可以使用E-Form++组件库,当然有的时候也许您只希望使用E-Form++提供的下拉颜色等控件而不需要绘图功能,那也没问题!

此解决方案采用完全开放的组织架构,将仪表创建切分为:仪表盘、指针、度量刻度以及背景几个部分,这些部分既相互关联,又充分独立,当创建新的仪表的时候,可以根据需要将其进行任意组合,例如圆盘仪表盘+椭圆刻度+三角指针,就可以构建如下仪表:

UCanCode仪器仪表图形是由一组可以灵活绘制并显示进度的类构成, 这些类采用柔性设计, 各个部分可以灵活定制. 主要由三个部分构成:

(注意:仪器仪表组件模块VC++源码只 在高级企业版本中提供)

1) 背景: UCanCode仪器仪表图形的背景直接采用任何E-Form++可视化图形组件库现成的图形类来构成, 您可以使用任何E-Form++可视化图形组件库图形类来作为其背景, 例如直线\矩形\椭圆\图像\圆弧\复合图形等等. 如果您选择今么图形类来作为其背景, 则将UCanCode的仪器仪表图形从该类派生, 例如从CFOButtonShape派生, 则仪表的背景是一个矩形按钮.

2) 刻度: UCanCode仪器仪表的刻度缺省情况下提供了线性刻度和椭圆弧刻度两种, 您可以任选一种, 或者从这两种类作派生, 来创建新的刻度类, 在使用的时候, 需要参考示例程序将其同背景图形粘贴起来.

3) 指针: UCanCode仪器仪表图形的指针可以非常广泛, 可以使矩形进度条\线性指针\圆弧指针\数字指针等等, 使用的时候, 需要多少指针, 就将多少指针同背景图形粘贴起来即可. 如下图, 有些同时又线性指针和数字指针两种. 同时指针类本身是完全可以派生的. 您如果需要定制指针, 则只需要从相应的类完成派生即可.

下面是HMIBuilder解决方案提供的仪器仪表案例:

E-Form++产品中,我们预先在CFODrawShape基类中预定了几个专门处理仪表图形的虚函数,通过覆盖这些虚函数就可以将刻度和指针等同背景关联起来。函数如下:

public:
/*************************************************************************
|*
|* The following virtual methods defined for meter classes.
|*
\************************************************************************/

// Gen meter's start point.
virtual CPoint GetMeterStartPoint();

// Gen meter's end point.
virtual CPoint GetMeterEndPoint();

// Gen meter's bounding rectangle.
virtual CRect GetMeterRect();

// Obtain the main point.
virtual CPoint GetMeterMainPoint();

// Obtain the main point.
virtual CPoint GetMeterNumberMainPoint();

1. 缺省刻度条:

1). CFOPMeterScale

CFOPMeterScale 定义了一种线性的刻度, 通过属性Minimum 和属性Maximum来设定最大值和最小值, 如上图. 

2). CFOPMeterEllipticalScale

另外一种刻度类是CFOPMeterEllipticalScale, 是一种沿着椭圆的刻度. 可以设定StartAngle以及SweepAngle.

2. 下列指针类为系统提供:

1) CFOPIndicatorNeedle

指针, CFOPIndicatorNeedle定义了一个简单的指针, 指针中心点由参数 PivotPoint 设定.

枚举 FOPIndicatorNeedleStyle定义了指针的各种风格.

如下图. 


下面的示例图显示了如何使用CFOPIndicatorNeedle中的fpKite风格, 缺省角度值是60, 使用了CFOPMeterEllipticalScale椭圆盘.  指针的宽度值设置为10. 

2) CFOPIndicatorBar

进度条, CFOPIndicatorBar现实一个矩形进度条, 可以设定其最大值,最小值, 如下图.

CFOPIndicatorBar 定义了一个矩形进度条, 可以分段显示不同的值, 通过一个类Phase来设定各段值的最大值\最小值以及每段值得颜色等, 如下图:

3) CFOPIndicatorElliptical

椭圆进度条, CFOPIndicatorElliptical是改进度条的定义类.  如下图所示.

4) CFOPIndicatorSlider

游标指针, CFOPIndicatorSlider是其定义类, 本身就是一个方块游标, 本身是从类CObject派生下来, 以便可以序列化或者运行时类型识别, 您可以设定其PenBrush. 属性Dimensions用于设定其大小.  

枚举FOPIndicatorSliderStyle 定义了缺省风格.  包括fpTriangles fpBar风格.  

5) CFOPIndicatorKnob

旋钮指针, CFOPIndicatorKnob定义了一个椭圆形的旋钮指针,在旋钮指针的圆弧的中心有一个小的三角形,颜色为属性值 MarkerColor设定, 从这个类派生新的类, 可以重新自定义外观.

3. Piston shape:

4. Advance shape:

5.Animate flash ellipse shape:

6. Animate text control:

7. Tank shape:

8. New tank shape:

9. Advance real-time control:

 

10. Pie progress control shape:

11. Animate line shape:

12. Real-time chart control:

13. New style switch control:

14. Vertical slider control:

15. Horizontal slider control:

16. New style chart control:

17. Carry animate shape:

18. New style switch shape:

19. New style chart control:

20、新风格仪表1

21、新风格仪表2:

22、新风格仪表3:

23、新风格仪表4:

24、新风格仪表5:

25、新风格仪表6:

26、新风格仪表7:

27、新风格仪表8:

28、新风格调节旋钮1:

29、新风格调节旋钮2:

30、新风格调节旋钮3:

31、新风格按钮1:

32、新风格按钮2:

33、如果您希望自己的风格?

没问题,直接同UCanCode联系,我们协助您制作。

 

下面是使用E-Form++可视化源码组件库企业版本进行监控系统应用开发的基本步骤:

1. 设计需要的监控系统元件:

此步骤可以通过E-Form++提供的ShapeDesigner应用程序来进行设计,此工具可以直接将Microsoft Visio或者ConceptDraw等专业图形工具设计的元件导入(SVG文件)进来使用,当然您也可以通过ShapeDesigner本身提供的丰富的基本图形来设计需要的监控系统元件。在设计时,可以很方便的直接将画布上设计的元件通过Copy, Paste的方式将元件放到左边的工具盒中,如下图(注:此ShapeDesigner 本身的源代码一并随E-Form++正式版本提供,可根据需要进行定制):

我们在设计元件的时候也可以对复合元件中的单个子元件定义一些便于以后识别和操作的Key ID值,这些值可以在以后通过调用GetKeyID来直接获取。

2. 设计监控系统需要的图形界面:

E-Form++提供了专门的界面设计工具DiagramEditor, 在此工具中,我们可以轻松的应用通过上面的ShapeDesigner设计的各种监控系统元件来搭建图形界面。在搭建界面时,根据需要我们可以为特定的元件指定相应的Key ID值,这些Key ID值便于我们在具体的程序中进行控制,例如我们可以控制开关的关与开,灯的闪烁等等。设计好的图形界面我们可以保存为单一的xdg文件,如下图所示:(注:此DiagramEditor 本身的源代码一并随E-Form++正式版本提供,可根据需要进行定制):

3. 构建监控应用程序:

通过E-Form++可视化图形组件库提供的集成在Visual Studio的AppWizard(应用程序创建向导)来自动产生监控系统的框架代码,可将上面我们通过DiagramEditor设计的xdg文件导入到此程序中作为资源文件,当我们需要装载一个设计界面的时候就调用如下函数:

LoadXdgFromResource(...); 如果我们需要切换到新的界面,也可以同样调用该函数来装载新的界面。参考示例NetworkDemo.

4. 动画和实时数据的处理:

外部数据的采集我们可以通过View类或则Window类的定时器来进行采集,当需要更新界面上的元件的状态的时候,可以直接通过我们上面设计的Key值来获取图形元件或者元件中的子图形。

5. 事务的处理:

通过覆盖相应的虚函数来时间各种事务的处理,例如我们只需要覆盖CFOPCanvasCore类的如下虚函数即可响应按钮的事件:

virtual void DoButtonClickEvent(CFODrawShape *pShape, const int &nSel);

在开发实际仪表图形的时候, 您当前的图形需要从类CFODrawShape或者该类的子类派生下来, 派生的图形类本身将作为仪表图形的背景来使用, 所以具体选用哪个类来进行派生, 主要看哪个类同您的仪表图形的背景接近些. 此外您需要在派生类中定义一个刻度的类, 一般直接使用类CFOPMeterScale或者类CFOPMeterEllipticalScale, 当然也可以使用这两个类本身的, 接下来还要创建一个新的指针对向,可以选择从类CFOPIndicatorBar, CFOPIndicatorElliptical, CFOPIndicatorSlider, CFOPIndicatorSliderElliptical, CFOPIndicatorNeedle, 或则 CFOPIndicatorKnob之一来创建对向即可。

所有的东西就这样, 参看示例程序: GaugeDemo

所有的仪表需要的各个部分充分组件化,任何部分均可以通过类的派生或者虚函数的重载来进行扩充和定制. 而仪表的背景则可以使用任何Form++企业版本提供的图形组件来构成, 当然您也可以使用复合图形来创建风格千变万化的仪表, 参考示例:GaugeDemo, 如下:

E-Form++可视化组件库为画布上的任何图形均设定了能独立启动的定时器功能,这也意味中只要您希望某个图形动起来就可以让其动起来,这为开发任何高级的工业控制以及仿真应用提供了最直接的解决办法。

同时系统还有如下特点:

项目符号 100% MFC设计,并提供所有的源代码,毫无保留。
 
项目符号 超过30万行有效代码,以及超过300个C++扩展类。
 
项目符号 自动代码产生程序以及完整的开发文档,帮助您快速构建各种基于Form++的应用。
 d
项目符号 提供开发高级应用系统的完善的可扩展的界面控制功能。
d
项目符号 提供一行代码修改属性并支持Undo/Redo功能。
d
项目符号 用户可根据自己的需要对画布、组件、操作等各种操作进行自定义。
d
项目符号 同时支持单页面或者多页面应用程序。
d
项目符号 对组件进行布局、间隔、顺序编排。
d
项目符号 打印、打印预览以及输出到图象。
d
项目符号 绘制直线、标注线、曲线、矩形、椭圆、添加文本、以及图片等。
d
项目符号 提供超过40个各种开发示例程序。
d

HMI Demo示例简单的展示了如何定义多页面工控界面,如下所示:

全部超过50万行精心设计并严格测试的源代码提供无任何保留!
提供超过400个C++扩展类,50万行有效VC++/MFC源代码,70多个示例或者解决方案源代码,完整的而细致的用户在线帮助系统和文档,精心设计的辅助开发工具!

强大,灵活和易于使用的可视化图型源码库。
功能强大,灵活地创建各种各样的满足您的需求的图表。产品设计规范,很容易使用,在短短的几天就能根据您的需求设计出产品。 我们提供完整的支持产品下载试用。

功能丰富。
超多功能,如自动布局,多层次,可折叠子图,单元连接点中,XML,DXF, SHP, SVG等等,能够协助您快速灵活的创建复杂的图表。支持大量事件:如单击,双击,悬停,选择,橡皮筋选择,复制,删除,调整大小和移动的支持。支持最复杂的操作:如拖和拖放,无限次的撤销/重做和剪贴板操作等等。


节省时间和金钱,获得可靠性。
一张图胜过千言万语,E-Form++提供超过50万行精心设计和良好测试的C++源代码!开发耗时十年,全球上千家客户验证,能够为您节省大量的开发时间和金钱!

现在就来试试!
不要光听我们的说, 试试吧! 我们的免费试用版包括所有你需要你的应用程序原型。免费技术支持。

购买UCanCode 仪器仪表解决方案全部源代码!


联系 UCanCode

购买源代码或了解更多的简单方法

  • 产品询价
  • E-mail 给我们(sales@ucancode.com)


推荐(配合E-Form++工控与组态解决方案和Gis地理信息解决方案获取更加强大的功能):

  高级HMI监控与组态解决方案

 

 
[ 主页 | 产品 | 新闻 | 下载 | 购买 | 技术支持 | 与我们联系 ]


粤ICP备05040024

UCanCode Software中国.成都
地址:中国.成都高新区永丰路24号附1号 (邮编:610041)
电话: +86-28-85354545                   传真:+86-28-85354645    
Copyright ?998-2006 UCanCode.Com Software, ©版权所有。
其他的产品和公司名称或注册的商标属于其各公司版权所有。

任何问题或者建议请与我们联系:webmaster@ucancode.net