场景:有一产品缺陷视觉检测装置,工业摄像机拍摄的图片经处理后保存在本地硬盘。
流程:拍照——下位机检测——存到上位机——WinCC中显示
问题:如何在WinCC中动态显示产品图片?即在WinCC中插入一个图像显示窗口,实时显示各个产品的图像。我用图形对象只会指定某个图片,要怎么动态显示?还望各位朋友支个招,不胜感激。
问题补充:
对于1、2楼的回答,若采用C脚本动态显示,直接return GetTagChar("PicName"); //PicName是文本变量,用来代表图片名称。现有三个问题:1.我如何获取图片的名称?我本地有个OPC客户端(VC写的),能否OPC客户端读取图片名再传给WinCC的PicName变量,这方法较复杂。 2.图片是不是一定要存在WinCC项目GraCS文件夹中?能否自定义文件夹? 3.有没有更直接的方法,有无类似功能控件? 谢谢大家。
最佳答案
先打开图形视图,右键组态对话框,先选择一张图,可以在组态对话框中看到文件夹中所有的图。然后可以通过脚本设置“图形视图”的PictureName属性动态更换图形视图所显示的图片。
画面Main上有图形视图PicControl1,图形文件夹中有图片2.jpg
Dim obj
Set obj = Hmiruntime.Screens("Main").ScreenItems("PicControl1")
obj.PictureName = "2.jpg"
枚举文件
Dim fso
Dim objFile,objFolder
Set fso = createobject("scripting.filesystemobject")
Set objFolder = fso.GetFolder("c:\tmp")
For Each objFile In objFolder.Files
''objFile.Name即为文件名
Next
提问者对于答案的评价:
我要解决的问题是实时显示摄像机采集的图片,图片会不停上传至本地文件夹,约5s新增一张。虽然还没解决问题,但你提供一些思路,谢谢了。VB看不太懂,继续学习。
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc173295.html