wincc简易教程--系统日期时间获取 点击:1207 | 回复:3



mkz

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 2回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2004年10月22日
发表于:2006-08-09 15:16:00
楼主
以下教程为简易教程,为什么称为简易教程?因为是采用自认为比较笨的办法实现一些功能,高手看了请指正缺点,菜鸟看了别认为是高手文章即可。

(本教程基本上在版本5.x和6.x通用,我机器上安装的是WINCC6.0鸟语版,所以图片和一些术语可能是鸟语的)
[color=#0000FF]教程开始[/color]

系统时间的获得,有两种办法,一是建立TAG,二是使用函数获取系统时间
方法一:
  在[Tag Management]添加新的驱动"System Info.chn",然后在新添加的[SYSTEM INFO]新建连接,这样就可以创建实际TAG了;
  下面新建几个TAG: [color=#0000FF][参考图片一][/color]
     名字:date, 数据类型:text tag 8-bit character set,地址设定为Function:date,format:"MM-DD-YYYY"
     名字:time, 数据类型:text tag 8-bit character set,地址设定为Function:Time,format:"HH:MM:SS"
     根据上面的方法依次建立year,mon,day,week等TAG,请分别设置对应的format内容
  TAG建立完成了,就可以读到系统时间了。新建一个图形文件,分别放置几个静态文本框[static text],把TEXT属性连接到上面新建的TAG,就可以显示系统日期时间,利用WEEK还能显示今天是星期几了. [color=#0000FF][[参考图片二][/color]

方法二: 使用C脚本获得系统时间
time_t tp;
struct tm* TimeStruct;

time(&tp);
TimeStruct = localtime(&tp);

//系统时间已经获得
//年: TimeStruct -> tm_year+1900
//月: TimeStruct -> tm_mon+1 
//日: TimeStruct -> tm_mday  
//星期: TimeStruct -> tm_wday  *注意这个,因为C函数手册不在我这里,tm_wday可能是表示星期几的







yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2006-08-09 15:45:00
1楼
在5.x中使用system info通道建立的变量可是要占用点数的。使用函数是很占用系统资源的,所以还是使用时钟控件就可以了。
对于6.0来说,也可以通过VBS来获取时间,只需要调用NOW函数返回当前系统时间即可。

qiqiang

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 6回
  • 年度积分:0
  • 历史总积分:83
  • 注册:2005年12月13日
发表于:2006-08-28 10:46:00
2楼
在6.0中那个时钟控件在那里找呢

wenjian1

  • 精华:1帖
  • 求助:0帖
  • 帖子:10帖 | 600回
  • 年度积分:15
  • 历史总积分:1083
  • 注册:2006年11月14日
发表于:2009-11-07 16:27:38
3楼

学习了                                          


热门招聘
相关主题

官方公众号

智造工程师