quote:以下是引用凌波微步在2010-01-21 10:08:09的发言:剑忠大侠提供的方法可以实现我的功能,但现在有个问题就是,我想在WINCC中实现一个I/O域显示所有的时间,怎么实现呢?
通过WINCC的方法,我可以实现一个I/O域显示所有的时间,但这里定义I/O域的类型是字符串格式。剑忠大侠提供的方式能实现吗?
点击此处查看附件
1、PLC中的“DATE_And_TIME”数据只能拆分后传送至WinCC中显示。
2、要想在WinCC的一个I/O Field控件中集中显示PLC中的“DATE_And_TIME”数据,有以下3种方法:
(1)在PLC中直接将“DATE_And_TIME”数据(即DB6)进行“组合”处理后,再向WinCC中传递“组合”后的“DATE_And_TIME”数据;
(2)使用C脚本或VBS脚本工具。先建立一个Internal tags变量(例如:PLC_Timer),数据类型为“text tag 16bit character set”;然后将分散的“DATE_And_TIME”数据组合后,传递至PLC_Timer变量。C脚本示例如下:
char DT[50];
sprintf(DT,"%d-%d-%d-%d:%d:%d",GetTagChar("Year"),GetTagChar("Month"),GetTagChar("Day"),GetTagChar("Hour"),GetTagChar("Minute"),GetTagChar("Second"));
SetTagChar("PLC_Timer",DT));
则显示效果如下:

(3)其次就是使用多个I/O Field控件并排整齐放置在画面中,每个I/O Field控件显示“DATE_And_TIME”数据对应的Tag变量值。示例如下: