发表于:2006/9/18 16:43:00
#0楼
一、曲线的实际数值与窗体画面的关系对应
每点所代表的画面的线段的长度(L)=画面显示距离(HL)/实际数值因子(P)
实际要画线段的长度(HHL)=每点所代表的画面的线段的长度(L)*实际数值(R)
l 针对X轴,
画线区总长度Hx
X轴实际数值因子Px
X轴实际数值Rx
则曲线X轴上的坐标为:Rx*(Hx/Px)
l 针对Y轴,
画线区总长度Hy
Y轴实际数值因子Py
Y轴实际数值Ry
Y负值区的实际线段的长度NL(如果没有负值则NL=0)
则曲线Y轴上的坐标为:Hy-Ry*(Hy/Py)-NL
1. X轴缩放:实际上就是改变Px项的大小,如果增大因子,则画面显示的曲线曲线在X轴上的范围就越大,否则就越小。
2. Y轴缩放:实际上就是改变Py项的大小,如果增大因子,则画面显示的曲线曲线Y轴就越宽,否则就越窄。
l 曲线在Y轴位置的改变
设定一个变量Yd,
如果曲线整体向上移动则Y轴坐标变为:Hy-Ry*(Hy/Py)-NL-Yd
如果曲线整体向下移动则Y轴坐标变为:Hy-Ry*(Hy/Py)-NL+Yd
例如:
Set rst = ExecuteSQL("select * from table1 order by sno asc", msgText)
Picture1.DrawWidth = 1.5
Do While Not rst.EOF
Picture1.Line -(CSng(rst.Fields(1)) * (700 / 48), (4000 - (CSng(rst.Fields(2)) * 200)) - 400), &H800080
rst.MoveNext
Loop
二、曲线的数据表的建立
现场采集数据,通过某种程序要将大批量的数据存入到某个数据表,这个数据表就是用来保存这些数据的容器,数据表格包含的列项有:
1、 counter : 计数器 自动编号,或者INT 类型
2、 DateAndTime : 日期时间 datatime 类型
3、 RealValue: 实际值 float 类型
数据库可以选择Access或者SQL Server或者其他数据库
三、曲线数据的采集
数据采集需要设定一个定时器,定时对实时数据进行更新。定时器的周期(Ts)就是数据存储的周期,也是曲线刷新的周期。可以根据不同系统的需要设定不同的更新周期。
四、曲线显示
1、 曲线X轴是根据数据库中的counter所画出,曲线Y轴是根据数据库中的RealValue所画出,同时在曲线的X轴下方显示当前数据的时间即数据库中的DateAndTime。
2、 曲线设置查询按纽,拖动查询按纽可以查询历史曲线。
3、 曲线设置缩放按钮,用来缩放X、Y轴的比例大小。即调整(PX,PY值)。
4、 曲线有两种状态:实时监控和历史查询。
5、实时监控,曲线从右边向左更新
每点所代表的画面的线段的长度(L)=画面显示距离(HL)/实际数值因子(P)
实际要画线段的长度(HHL)=每点所代表的画面的线段的长度(L)*实际数值(R)
l 针对X轴,
画线区总长度Hx
X轴实际数值因子Px
X轴实际数值Rx
则曲线X轴上的坐标为:Rx*(Hx/Px)
l 针对Y轴,
画线区总长度Hy
Y轴实际数值因子Py
Y轴实际数值Ry
Y负值区的实际线段的长度NL(如果没有负值则NL=0)
则曲线Y轴上的坐标为:Hy-Ry*(Hy/Py)-NL
1. X轴缩放:实际上就是改变Px项的大小,如果增大因子,则画面显示的曲线曲线在X轴上的范围就越大,否则就越小。
2. Y轴缩放:实际上就是改变Py项的大小,如果增大因子,则画面显示的曲线曲线Y轴就越宽,否则就越窄。
l 曲线在Y轴位置的改变
设定一个变量Yd,
如果曲线整体向上移动则Y轴坐标变为:Hy-Ry*(Hy/Py)-NL-Yd
如果曲线整体向下移动则Y轴坐标变为:Hy-Ry*(Hy/Py)-NL+Yd
例如:
Set rst = ExecuteSQL("select * from table1 order by sno asc", msgText)
Picture1.DrawWidth = 1.5
Do While Not rst.EOF
Picture1.Line -(CSng(rst.Fields(1)) * (700 / 48), (4000 - (CSng(rst.Fields(2)) * 200)) - 400), &H800080
rst.MoveNext
Loop
二、曲线的数据表的建立
现场采集数据,通过某种程序要将大批量的数据存入到某个数据表,这个数据表就是用来保存这些数据的容器,数据表格包含的列项有:
1、 counter : 计数器 自动编号,或者INT 类型
2、 DateAndTime : 日期时间 datatime 类型
3、 RealValue: 实际值 float 类型
数据库可以选择Access或者SQL Server或者其他数据库
三、曲线数据的采集
数据采集需要设定一个定时器,定时对实时数据进行更新。定时器的周期(Ts)就是数据存储的周期,也是曲线刷新的周期。可以根据不同系统的需要设定不同的更新周期。
四、曲线显示
1、 曲线X轴是根据数据库中的counter所画出,曲线Y轴是根据数据库中的RealValue所画出,同时在曲线的X轴下方显示当前数据的时间即数据库中的DateAndTime。
2、 曲线设置查询按纽,拖动查询按纽可以查询历史曲线。
3、 曲线设置缩放按钮,用来缩放X、Y轴的比例大小。即调整(PX,PY值)。
4、 曲线有两种状态:实时监控和历史查询。
5、实时监控,曲线从右边向左更新