回复:I/O域小数点后面显示的问题,求解决

zhangli0

版主 西门子1847工业学习平台

  • 帖子

    17203
  • 精华

    64
  • 被关注

    896

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2012-12-29 10:41:34

1楼

不知道你的是什么格式的时间,如果是data and time类型的,你看看在线帮助,它是按字节存储时间的,占用8个字节,年,月,日,时,分,秒,毫秒,星期。你只要把相应的字节的值读出来放在两个地址,然后上位机建立两个变量连接这两个地址,用两个io域拼接处时间。如果下位机用一个int变量保存的时间值,你需要上位机用脚本转换显示格式:
#include "apdefap.h"
char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
int h,m,s;
char *buffer;
buffer=SysMalloc(9);
s=GetTagWord("NewTag_1");
m=s/60;
s=s%60;
h=m/60;
m=m%60;
sprintf(buffer,"%02d:%02d:%02d",h,m,s);
return(buffer);
}
NewTag_1:连接下位机时间地址单位是秒。io域用c脚本,数据类型为字符串,脚本用上面这个。
活到老,学到老!为了生活学习吧!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32755条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。