Visual Graph适合开发各种 工业监控软件以及与图形有关的应用,速度快,运行稳定。能轻松做出 工业上的各种动作设备以及常用的 曲线图、 棒图、 仪器仪表、拓扑分析图、流程图等等,能让软件公司在短时间开发出高质量 组态软件。百多家工业用户的应用证明,采用合作的方式,企业花钱少,见效快,可以集中精力搞自己最擅长的技术,产品容易达到专业水准。
   下图表示 工业监控类软件常用的流程,其中 Visual Graph负责实现图形的设计界面和运行界面,后台数据库、通讯、板卡等由软件公司或者系统集成商自行提供,我们提供技术咨询服务。
使用 Visual Graph控件开发的流程如下:
一、准备元件库:
  应当首先准备好需要用到的 图形元件库,比如常用的设备刀闸、开关、变压器、传送带、电流计、温度计、液压容器等等,这些元件一定是可以动作的,也是应该包含很多设备属性的,恰好, Visual Graph提供了自定义属性的功能,您不仅可以自定义存储属性(也就是设备里面存储的设备生产厂家、型号、生产年代等信息),更可以自定义动作属性。
   例如下面这个元件“ 仪表盘”就包括一个自定义的属性Value,只要简单改变Value的值,仪表盘的指针就可以旋转。
  再如下面这个开关元件,它包含了一个自定义的属性OnOff,只要改变OnOff的值,或者等于True,或者等于False,这个开关的指针就会偏转。
二、绘制工业监控界面
有了元件库后,就可以用他们绘制监控界面了,设计完成后,假设保存为文件"jiankong.tbl"。
三、在开发环境中使用
  以Delphi系统为例,首先在您的窗口上放置一个 Visual Graph ActiveX控件,命名为vgctrl1,然后在窗口创建后执行下面的程序:
vgctrl1.Run( 'jiankong.tbl' ); //载入监控画面
  当我们想控制画面上的某个开关“开关A”,使它关闭,那就写:
var
sheet : ISheet;
kaiguan : IUnit;
begin
sheet := vgctrl1.ActiveSheet;//返回当前页面(因为一个文件可以有多个页面)
kaiguan := sheet.UnitByName( '开关A' );//返回指定名字的图形对象
kaiguan.SetPropertyValue( 'OnOff', false );//设置开关的OnOff状态值。
end;
  或者,简单点,也可以这么写:
vgctrl1.Execute( '开关A.OnOff=false' );
在实际工作中,当然不是把常数传递给设备了,而且也可能要传递字符串值、逻辑型值等等,这个值可以是来自数据库,也可以是来自通讯端口,也可以是来自服务器程序。
四、用户修改图形
  在Visual Graph ActiveX控件中包括了设计修改图形的功能,使用下面的方法:
vgctrl1.Design( 'jiankong.tbl' );
  即可进入设计界面。具体界面如何设计,都在您自己的选择了。以下是在Delphi中开发的一个简单设计界面:
   Visual Graph内部的 类库引出到组件外面,采用和脚本相同的语法,在提高效率的同时,编写程序更方便。下面以在Delphi中使用为例列出了接口使用方法和在 Visual Graph内部所用 图形脚本语言的比较。从这里可以看出,二者在形式上一样。所以学会了 Visual Graph脚本语言,就可以用自己的语言编程或者用 Visual Graph脚本编程。   
功能说明 ActiveX组件接口 VG内部脚本
视图 在Delphi中创建,假设名为vgctrl 在vg中用Create函数创建,假设名为vgctrl
打印纸 vgctrl.Page vgctrl.Page
隐藏打印纸 vgctrl.Page.Visible = false vgctrl.Page.Visible = false
当前页面 vgctrl.ActiveSheet vgctrl.ActiveSheet
页总数 vgctrl.SheetCount vgctrl.SheetCount
当前页的图形总数 vgctrl.ActiveSheet.UnitCount vgctrl.ActiveSheet.UnitCount
当前页的第一个图形 vgctrl.ActiveSheet.Units[0] vgctrl.ActiveSheet.Units[0]
自由缩放 vgctrl.ZoomIn() vgctrl.ZoomIn()
图形对象d的属性Id赋值 d.Id = 100 d.Id = 100
图形d旋转30度 d.Angle = 30 d.Angle = 30
对自定义属性赋值 Execute( "MyProp = 3.14" ) MyProp = 3.14