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


028-85354645

購買與價格
免費評估版
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++源碼組件庫2019


--拿來即用、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-Form++工控與組态解決方案和Gis地理信息解決方案獲取更加強大的功能):

  高級HMI監控與組态解決方案

 

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


粤ICP备05040024

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

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