wincc系统日期时间获取
wincc画面输入时间,博途程序中输入时间案例

wincc画面输入时间,博途程序中输入时间案例【原创版】目录1.WinCC 画面输入时间的概念与应用2.博途程序中输入时间的方法和案例3.总结正文【1.WinCC 画面输入时间的概念与应用】WinCC 是西门子公司推出的一款工业自动化控制系统软件,广泛应用于各种工业生产过程中。
在 WinCC 的画面中,输入时间是一项重要的功能,它可以实现对生产过程的精确控制和实时监控。
画面输入时间主要包括两个方面:一是在画面上显示当前的时间,方便操作人员了解当前的工作时间;二是通过画面上的控件输入具体的时间值,用于控制生产过程的进度。
例如,在一条生产线上,操作人员可以通过 WinCC 画面输入某个生产过程的开始时间和结束时间,从而实现对该过程的精确控制。
【2.博途程序中输入时间的方法和案例】博途(TIA Portal)是西门子公司推出的一款工程软件,用于开发和配置工业自动化控制系统。
在博途程序中,输入时间主要通过使用时间控件和时间函数实现。
以下是一个博途程序中输入时间的案例:假设我们需要在一个博途程序中实现一个定时器功能,当生产过程开始时,定时器开始计时,当生产过程结束时,定时器停止计时。
我们可以使用以下步骤实现:1.在博途程序中创建一个定时器控件,用于显示当前的计时时间。
2.编写一个时间函数,用于设置定时器的初始值和更新定时器的值。
在函数中,我们可以使用博途提供的时间函数(如:TB_GET_CURRENT_TIME)获取当前时间,并将其设置为定时器的初始值。
3.在生产过程开始时,调用时间函数,启动定时器。
4.在生产过程结束时,调用时间函数,停止定时器。
5.将定时器控件与定时器关联,以便在程序运行过程中,定时器控件可以实时显示当前的计时时间。
【3.总结】通过在 WinCC 画面中输入时间,我们可以实现对生产过程的精确控制和实时监控。
在博途程序中,我们可以使用时间控件和时间函数实现输入时间的功能。
如何使用 WinCC 全局脚本访问系统时钟

如何使用WinCC 全局脚本访问系统时钟?
说明:
使用下列函数设置或读取系统时间:
∙SetSystemTime
∙SetLocalTime
∙GetSystemTime
∙GetLocalTime
系统中本地计算机时间和格林威治时间是有区别的。
函数“SetSystemTime / GetSystemTime”用于设置或读取格林威治时间。
函数“SetLocalTime / GetLocalTime”用于设置或读取本地计算机时间。
两种时间会因地理的时区不同而改变,也会受到冬令时和夏令时的影响。
两个函数使用方法相同。
操作本地计算机时间的函数是Windows 系统函数,因此它独立于WinCC 函数“GetLocalTimeString”或WinCC 早期版本的“GetLocalTime”函数。
Time_Functions.zip
图. 01
创建环境
在该FAQ 中的画面和下载,创建在WinCC Professional V11 SP2 中。
条目号:59558655 日期:2012-05-04。
wincc时间显示函数

wincc时间显示函数一、方法一1.设置一个或多个变量,类型为内存字符串或者是一个连接PLC 的外部变量的字符串2.全局脚本:C脚本#pragma code("kernel32.dll"); 定义系统链接文件GetLocalTimes(SYSTEMTIME*lpst);获取系统时间变量#pragma code();SYSTEMTIME time;GetLocalTime(&time);SetTagWord("Varname1",time.wYear);年SetTagWord("Varname2",time.wMonth);月SetTagWord("Varname3",time.wDayOfWeek);星期SetTagWord("Varname4",time.wDay);天SetTagWord("Varname5",time.wHour);小时SetTagWord("Varname6",time.wMinute);分钟SetTagWord("Varname7",time.wSecond);秒SetTagWord("Varname8",time.wMilliseconds);毫秒3.在输入输出域关联变量,记住要修改显示类型为字符串如果要在一个中显示,则把Varname1-Varname8通过字符串连接即可方法二:char* temp=(char*)SysMalloc(26);time_t *p=(time_t*)SysMalloc(sizeof(time_t)),CT;CT=time(p);strcpy(temp,ctime(&CT));*(temp+24)='\0';return temp;方法三:利用控件中的wincc digital/analog clock contol。
wincc时间的问题_1

wincc时间的问题
在做WINCC历史数据及曲线的控件时,数据的时间都是根据操作系统的时间,而操作系统的时间又可以随便调整,严格的讲,这些数据对应的时间存在很大的风险,比如操作人员随意更改了系统时间,WINCC存取的数据时间就不正确了,有什么办法可以很好的处理呢。
最佳答案
1、对于服务器/客户机结构,将WinCC时基设置为服务器时间,再做好服务器时间的校准和Windows操作权限设置工作即可;
2、对于单站结构,归档数据各自为政,无法共享,做好单站时间的校准和Windows操作权限设置工作即可;
3、规范的话,可以将AS时间设置为主时钟源,为网络上其他设备授时,或者设置单独的GPS或NTP服务器作为主时钟源。
再做好各Windows系统的操作权限设置工作即可。
WinCC flexible ES -- 创建HMI组态 -- Date- and Time Synchronizing

Siemens - Industry Automation and Drive Technologies - Service& Support - Automa... Page 2 of 34
图 03
将本地时间传送到面板
通过面板和CPU间的时间同步,可将计算出的本地时间“LT”传送到面板。在时间同步的情况下,所计 算出的本地时间可使用控制作业(14“设置时间”和15“设置日期”)传送到面板。在作业14或15执行后, 面板的系统时间会自动根据为所提供的数据进行设置。
图 07 7 创建脚本:
z 添加一个名称为“SetPanelClk”的新脚本。 z 在脚本编辑器中创建6个脚本变量(second、minute、hour、day、month、year),并通
过外部变量“Uhr.time_plc”使用正确的VBS功能(如day、month等)指定相关的时间基 准。 在Windows操作系统中,可以通过带有“Date”和“Time”系统功能的命令控制台(CMD)修改面板 系统时间。通过脚本功能“Call”和“StartProgram”调用Windows控制台。 脚本—SetPanelClk
z 选择“Uhr.clock()”程序,并点击“Add”按钮添加该程序。
图 05
然后,编译SIMOTION组态并将其传送到SIMOTION设备。 5 在WinCC flexible创建SIMOTION连接:
必须在WinCC flexible中创建SIMOTION设备连接。
在项目树中的“Communication > Connections”下创建一个新的连接,并选择通讯驱动器 “SIMOTION”。
显示订货号
说明:
WinCC flexible和SIMOTION控制器之间的日期和时间同步通过外部变量实现。SIMOTION程序周期性 地读取SIMOTION系统时间,该系统时间再通过组态变量传送到WinCC flexible中。通过两个目录中的 脚本功能实现同步。
如何使用 WinCC flexible 组态同步 TP170A TP170micro TP177micro 与 S7-200 控制器间的日期和时间

由于TP170A , TP170micro 及TP177micro 系统时钟为软时钟,因此系统时钟只能通过“日期/时间PLC”区域指针按一定时间间隔与S7-200 控制器进行同步。
您有两种选择:•将控制器系统时钟传送至操作面板•将自定义系统时钟传送至控制器及操作面板在本条目的最后提供了一个以上所描述的两种传送方法的样例压缩文件。
其包含了STEP 7 Micro/Win 的一个程序块(库)及WinCC flexible 组态的相关操作面板项目。
将控制器系统时钟传送至操作面板您可以在操作面板上通过使用“日期/时钟PLC”区域指针(参看图01 )来同步系统时钟,该时钟为操作信息及其他事件信息的时间戳。
在有些操作面板没有“日期/时间PLC ”区域指针的情况下,WinCC flexible 无法组态。
在WinCC flexible 中组态在“区域指针”选项单中插入“日期/时间PLC ”区域指针并设置连接参数。
(图01 )。
然后定义区域指针的起始地址,例如“VB 0”,该地址用于存放S7-200 传送至操作面板的系统时钟。
通过更新周期可以定义操作面板更新当前系统时钟为控制器系统时钟的时间间隔。
建议将更新周期设置为至少10 秒。
图01为了能够读出S7-200 的系统时钟,您需要从STEP 7 Micro/WIN 项目树的指令中调用READ_RTC 块。
在STEP 7 Micro/WIN 中的组态在您的STEP 7 Micro/WIN 程序中需要调用READ_RTC函数用于读出系统时钟。
将区域指针的地址分配给T 参数。
最后您需要将WinCC flexible 样例项目下载到您的操作面板中。
图02将自定义系统时钟传送至控制器及操作面板如果您希望使操作面板的系统时钟能与S7-200 的系统时钟同步且通过操作面板能够修改时钟,您必须使用该条目的最后所提供的附件1中所包含的“Timesynch_TP170A_micro”(v1.1 )块。
wincc flexible 中如何设定日期和时间?并且断电不消失

wincc flexible 中如何设定日期和时间?并
且断电不消失
winccflexible中如何设定日期和时间?并且断电不消失啊?‘
最佳答案
首先HMI作用是读取和写入数据组态值的设备。
它本身就没有这个功能,需要通过PLC进行的。
断电记忆功能需要在PLC中进行,如果是200可以通过添加电池卡或者设置数据保持地址范围进行,300的话直接采用数据块地址编程(数据块默认值是断电保持型的)。
200PLC的读取和写入系统时钟指令为:READ_RTC/SET_RTC
300plc的读取和写入系统时钟指令为:SFC0、SFC1
以上读取和写入时钟的地址存储形式都以字节形式进行的。
在HMI设备上组态若干个I/O域,赋值与PLC的读取和写入地址一致的地址和写入时钟的按钮。
wincc 怎样实现数字时钟?

wincc 怎样实现数字时钟?怎样实现wincc软件gps授时。
就是,plc控制站及操作站wincc,接受gps的时间?plc通过winccc传受。
最佳答案1、首先通过你的计算机或plc建立与gps接收机联系,其后应用wincc来读取这个时间数据。
有关gps接收器提供了详细的说明及如何装配和配置gps接收,详见:/information/manage/edit/uploadfile/gi s/ch26.pdf2、wincc如何获取系统时间:wincc通道“systeminfo”:从winccv5.0sp2开始,wincc就提供了通道“systeminfo”,通过该选项就可以建立一个wincc文本变量来获取系统时间。
该wincc变量可以用于在过程画面中显示本地计算机的系统时间,或者在全局脚本中利用该变量。
但是不可以通过它来进行时间设置3、相关文档:详见连接:/cn/llisapi.dll?func=cslib. csinfo&objid=24202491&nodeid0=10805585&caller=view&lan g=zh&siteid=cseus&aktprim=0&objaction=csopen&extranet=st andard&viewreg=cn参见《如何同步操作面板与s7-200/300/400控制器间的日期和时间》的例子:/cn/llisapi.dll?func=cslib. csinfo&objid=34281179&load=treecontent&lang=zh&siteid=cs eus&aktprim=0&objaction=csview&extranet=standard&viewre g=cn。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
wincc系统日期时间获取
系统时间的获得,有两种办法,一是建立TAG,二是使用函数获取系统时间
方法一:
在[Tag Management]添加新的驱动"System Info.chn",然后在新添加的[SYSTEM INFO]新建连接,这样就可以创建实际TAG了;
下面新建几个TAG: 名字: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还能显示今天是星期几了.
方法二: 使用
C脚本获得系统时间
#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,"%04d:%02d:%02d",ptm->tm_year+1900,ptm->tm_mon+1,p tm->tm_mday);
return(p);
}
其中
//系统时间已经获得
//年: ptm -> tm_year+1900
//月: ptm-> tm_mon+1
//日: ptm -> tm_mday
//星期: ptm -> tm_wday *注意这个,tm_wday返回的是整数,必须经过转换才能用来表示星期几。