之前在论坛上看到有人求解,我经过测试并在公司同事的支持下实现了该功能,步骤如下:
步骤1,在wincc中建立一个内部变量,如名称为“newtag”,变量类型设为无符号32位。
步骤2,在wincc某个画面上插入一个i/o域。
步骤3,选中该i/o域,右键--〉组态对话框,组态在该i/o组态中连上之前新建的newtag,更新时间设为250毫秒,类型设为i/o域。
步骤4,选中该i/o域,右键---〉属性,在事件中---〉输入输出---〉输出值---〉更改,对更改添加c语言脚本,c语言脚本类容如下:
#define PIC_0 "pic1.Pdl"
#define PIC_1 "pic2.Pdl"
#define PIC_2 "pic3.Pdl"
if(value==1)
{SSMOpenTopField(SSMGetScreen(lpszPictureName),PIC_0);}
if(value==2)
{SSMOpenTopField(SSMGetScreen(lpszPictureName),PIC_1);}
if(value==3)
{SSMOpenTopField(SSMGetScreen(lpszPictureName),PIC_2);}
注意:上述pic1.pdl和pic2.pdl和pic3.pdl,就是你要去显示的电脑中的图片,你可以把电脑的图片,在三个pdl文件中先插入。
现在在i/o域中输入1,2,3 将调用不同的三个画面。
以上内容,经过我测试,测试通过。