登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:wincc时间问题

点击:1492 回复:7

请问各位:
  wincc可不可以根据一个二进制变量的变化的上升沿取时间,就是说我要取的时间是当这个变量有上升沿时时间改变,下降沿时时间不变化。
表情
06-06-02 15:46
各位好:
我的wincc用了这样的脚本,我用的也是变量的触发,即是变量每变化一次,就取一次系统时间。可我切换一次页面,时间就会变化一次,我不知道是哪里出了问题
#include "apdefap.h"
char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
time_t  timer;
struct tm *ptm;
char *p;
time (&timer);
ptm=localtime(&timer);
p=SysMalloc(9);
sprintf(p,"%02d:%02d:%02d",ptm->tm_hour,ptm->tm_min,ptm->tm_sec);
return(p);
}
06-06-05 09:14
问题在于你这段程序写在什么地方,是画面中?还是全局动作中?
06-06-05 09:54
在画面中,这有很大关系吗?
我用的是变量触发,在画面中切换画面会改变变量的值吗?
06-06-05 13:35
画面切换,相当于变量复位,变量有变化,不就是符合你的触发动作了嘛
06-06-05 13:37
这样呀,那我要使用外不变量的话,也会这样复位变量吗?可我的变量是没有变化的呀。
要是我在全局动作中怎么做呢?我要在画面中读取这个时间怎么读去呢?
06-06-05 13:50
将你的程序复制到全局动作下即可。
06-06-05 14:28
我要在画面中读取时间的话怎么读?
需要设置格式吗?格式怎么设呢?
06-06-05 14:53

工控新闻

更多新闻资讯