- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
差动试验中可视化编程的应用.doc
差动试验中可视化编程的应用
林涛
Tao Lin
(青岛供电公司调度处,266002)
(Qingdao Power Bureau Dispatch Department, 266002, Qingdao China)
摘? 要:Microsoft Visual C++ 6.0的开发环境下,编写绘制差动比率特性图和带负荷绘制差动向量图的图形程序。文中论述了该图形程序设计方法的具体实施方案,并讲述了其应用于现场差动试验的前景及实用价值。利用可视化编程工具(VC++)编制程序,可以实现在差动试验中利用试参数直接绘制制动曲线、差动向量图等图表,并可方便的打印、储存试验数据,增强对于试验数据的管理。
引言2.1设计可视化的单文档操作界面
在Visual C++6.0的编程环境中可以使用向导模式快速的建立各种文档界面。此程序的数据量较小,而且无须同时进行对于多个文件的操作,因此用VC++6.0创建单文档界面(SDI)的程序模板就可以满足要求,这种SDI界面的特点是只允许在容器窗体中包含一个窗体。
2.2试验数据输入功能的方案设计
试验数据的输入是通过对话框(见下图)来实现的,通过对话框中的控件把试验的数据传递给主程序。
在对话框中所用到的控件主要有用于数据输入的EDIT BOX控件,用于选择保护型号的COMBO BOX控件,以及RADIO BUTTON控件和PUSH BUTTON控件。在此对话框中需输入的数据主要可分为二类:一、用于打印和保存的数据包括:变电站名称、保护型号、各侧电压等级及各侧CT变比;二、用于计算绘制差动比率曲线的数据包括:变电站差动保护比率系数定值、差动启动定值及四组试验的电流值。当用户在对话框中输入相关的数据后,首先,通过嵌入在对话框控件中的比率系数计算函数Kbl_Cal( )计算出每次试验的比率系数,系数的计算方法由所选择的保护型号确定(各种型号保护装置的差电流、制动电流的计算方法均内置于计算函数中);然后,程序即把数据通过变量传送给了绘图部分和序列化部分的函数,以便在图中显示以上的数据。
2.3图形处理功能的方案设计
图形操作包括图元的绘制、编辑、修改、保存和打印等,图形处理功能的实现关键在于坐标的定位与图元的绘制方法,最终户只需执行用鼠标点击,比率系数的计算和比率差动特性图即可自动生成,解除了以往人工绘制的繁琐。图形处理功能的设计同时是主要的难点。
2.3.1确定绘图区及其坐标系
每一个图形操作(包括绘图、移动和调整大小等),都要使用绘图区或容器的坐标系统。坐标系统则定义为一个二维网格,用(x,y)来表示。用它可定义绘图区中图元的位置。x值沿x轴自左向右递增,y值沿y轴自上向下递增,绘图区左上端是缺省位置P(0,0)。利用MFC基类CDC中封装的LineTo()函数和MoveTo()函数绘制出二维坐标轴,设定以(50,320)为所绘制的坐标轴原点,相关曲线的绘制也同样是是利用以上所说的方法进行。
2.3.2图形的绘制算法
坐标轴中以10个象素为一个刻度单位,每个刻度单位表示1A。在绘制曲线前,起动电流、拐点电流、差速段电流和比率系数都嵌入在对话框中的函数Kbl_Cal( )计算出并通过中间变量传送给绘图程序CxxxView( )中。这样把以上数据通过坐标折算就可以在坐标轴上绘制出相应的图形。每一次试验的数据也经过相同的方法进行计算和折算,最后以点的形式标注在坐标上。其他的内容比如:变电站名称、CT变比等内容则直接使用文本写入方式插入到图形的下方,也就是文字区总是从版面物理坐标(50,350)的地方开始,保证了文本不会与图形产生重叠。
2.4储存和打印功能的方案设计
当得到了满意的试验结果后,就可以安全的保存试验数据。在MFC中,磁盘文件是通过Cfile类的对象来表示的,Cfile类是MFC中所有文件类的基类,它直接提供了无缓冲的二进制磁盘输入输出服务。Cfile类和Carchive类一起工作来支持MFC对象的文档序列化。所谓序列化就是写一个对象到一个可以持续的存储介质(如磁盘文件)或者从其中读入一个对象的过程。相比储存而言在MFC中实现打印功能就比较简单了,只要在最初利用向导建立程序的时候选择支持打印功能,VC++平台就可以自动的在程序中添加相应的代码来实现基本的打印和预览功能,在此就不在详细说明。
结论
综上所述,基于图形界面的软件具有良好的人机界面本系统设计上基本做到了界面简单、操作方便,并且与紧密相连,用户只需通过鼠标的点击就可实现软件的功能。减少了用户的工作量,在工程应用中使用效果良好。参考文献
1]三味创作室. VC++应用与提高.科学出版社,1995年5月第1版.
[2]李于剑. VC++实践与提高(图形图像编程篇)中国铁道出版社,2001年2月第1版.
文档评论(0)