在大型的工业现场控制中,一般用DCS(集散控制系统)来实现过程控制。在DCS中,实时曲线可显示该控制点的当前趋势,以监测该点在现场工况变化的情况下的控制稳定性,历史曲线可观察过去一段时间内某一点的变化趋势,并供工艺人员分析工艺流程的稳定性和故障原因。然而在小型的工业控制中,由于控制规模小,控制回路少,因此可用PC机就能完成整个过程控制,在实时曲线和历史曲线方面,可用VB4.0就能实现,并可与大型的DCS相媲美。
[实时曲线]
实时曲线反映的是现场数据的实时性和当前趋势,因此在实现时需显示曲线的动态变化,参考DCS,当前点在曲线的最右端显示,而整个曲线动态地向左移动。
具体实现如下:
1、选择需要显示的窗体Form1,加入图片框Picture1,根据实际需要设置图片的大小并移到合适的位置,并在图片的外面画好量程----时间坐标系;
2、在全局模块中定义位块传输API函数BitBlt()和全局变量:
Declare Function BitBlt Lib "GDI32" (ByVal hDestDC AS Long, ByVal X As Long,ByVal Y As Long,ByVal nWidth As Long,ByVal nHeight As Long,ByVal hSrcDC As Long,ByVal xSrc As Long,ByVal ySrc As Long,ByVal DrawStyle As Long)As Long
Global S As Long'量程 '注意:有时需要声明成dim型
Global L As Long'上一次的纵坐标值
Global T As Integer'上一次时间值(分)
3、PrivateSubForm1_Load()
Picture1.AutoRedraw=False'曲线不重画
Picture1.ScaleMode=3'以象素方式(Pixel)
L=-1'设置初值
S=400
T=-1
EndSub
4、根据现场数据采集的采样频率,设置定时器Timer1的定时值,曲线移动就 在 Timer1实现:
PrivateSubTimer1_Time()
DimwAsLong,hAsLong,y1AsLong,DataAsLong
DimhBmpAshDC,ShowModeAsLong,iiAsLong,t1AsInteger
w=Picture1.Width
h=Picture1.Height
hBmp=Picture1.hDC
ShowMode=&HCC0020'ROP模式(复制)
[实时曲线]
实时曲线反映的是现场数据的实时性和当前趋势,因此在实现时需显示曲线的动态变化,参考DCS,当前点在曲线的最右端显示,而整个曲线动态地向左移动。
具体实现如下:
1、选择需要显示的窗体Form1,加入图片框Picture1,根据实际需要设置图片的大小并移到合适的位置,并在图片的外面画好量程----时间坐标系;
2、在全局模块中定义位块传输API函数BitBlt()和全局变量:
Declare Function BitBlt Lib "GDI32" (ByVal hDestDC AS Long, ByVal X As Long,ByVal Y As Long,ByVal nWidth As Long,ByVal nHeight As Long,ByVal hSrcDC As Long,ByVal xSrc As Long,ByVal ySrc As Long,ByVal DrawStyle As Long)As Long
Global S As Long'量程 '注意:有时需要声明成dim型
Global L As Long'上一次的纵坐标值
Global T As Integer'上一次时间值(分)
3、PrivateSubForm1_Load()
Picture1.AutoRedraw=False'曲线不重画
Picture1.ScaleMode=3'以象素方式(Pixel)
L=-1'设置初值
S=400
T=-1
EndSub
4、根据现场数据采集的采样频率,设置定时器Timer1的定时值,曲线移动就 在 Timer1实现:
PrivateSubTimer1_Time()
DimwAsLong,hAsLong,y1AsLong,DataAsLong
DimhBmpAshDC,ShowModeAsLong,iiAsLong,t1AsInteger
w=Picture1.Width
h=Picture1.Height
hBmp=Picture1.hDC
ShowMode=&HCC0020'ROP模式(复制)