还剩2页未读,继续阅读
文本内容:
wince用vbs脚本读取excel表格,并以曲线显示出来WinCC的函数趋势控件提供给用户自定义XY轴曲线的功能,可以灵活方便地满足客户的某些需求但是西门子没有给出详细的方法,或者给出的方法不详尽比如只给出了曲线的显示方法,但没有给出曲线所需数据如何来获取这给不少读者造成不便在本文所提到的示例中,不仅给出了如何利用函数趋势控件自定义XY轴曲线的功能,而且给出了如何从EXCEL表格中获取相应的数据,对读者有极大的参考价值具体方法如下函数趋势控件的数据连接方式的提供者均选择“无”,这意味着绘制曲线所需的数据不是直接来自在线变量、归档变量或用户归档,而是在这些数据的基础上进行统计计算或从数据库读取得来的1,首先,从“对象选项板”中的“控件”页中,将“WinCC FunctionTrendControl”托拽到画面上,将控件名称设置为“TrendYXl”2,在画面上放置一个按钮,命名为“VBS_Key3”在按钮事件的鼠标动作OnClick中添加脚本Sub OnClickByvalItemDim Key,FctTrdCtrl,iDim objTrendVBS_Key isthe nameof theclicked buttonDisableoperator controland forcegrafic outputSetKey=Screenitems〃VBS_Key3〃Key.Operation=vbFalse获取文件夹和文件名Dim sFoldersFolder=〃c:\demo〃Dim fs,oFolder,oFiles,oSubFoldersSet fs=CreateObject,zScripting.FileSystemObject/zSet oFolder=fs.GetFolder sFolder获取文件夹Set oSubFolders=oFolder.SubFolders获取子目录集合Dim folderForEach oSubFoldersIn oSubFoldersfolder=oSubFoldersNextDim fileSetoFolder=fs.GetFolder folder重新获取文件夹Set oFiles=oFolder.filesFor EachoFiles InoFiles获取文件名file=oFiles.NameNextSet fs=Nothing创建CreateObject Excel.Application并获取数据On ErrorResume NextDimsqlDim filenameDimobjExcelApp,f,MsgSet objExcelApp=CreateObjectExcel.Application objExcelApp.Visible=0objExcelApp.workbooks,open oFolder〃\〃fileDim xdata400,y data400For i=l To400x_datai=objExcelApp.CELLS iT*10+8,
2.valuey_data i=obJExcelApp.CELLS iT*10+8,
3.valueNextobjExcelApp.workbooks,closeobjExcelApp.quit objExcelApp=Nothing创建CreateObject Excel.Application77并获取数据结束开始以曲线显refreshSet FctTrdCtrl=ScreenltemsTrendYXlSet objTrend.FctTrdCtrl.GetTrend〃趋势1〃objTrend.RemoveDataFor i=0To400objTrend.InsertData xdatai,y dataiNextKey.Operation=vbTrueMsgBox folder〃\〃file显示曲线数据表示的excel文件End Sub参考wincc\自定义XY轴的多功能曲线的实现方法.docWince帮助文件等用到的对象Scripting.FileSystemObject,Excel.Application,FctTrdCtrl.GetTrend等对象。
个人认证
优秀文档
获得点赞 0