WinCC访问S7控制器中数据类型为DATE_AND_TIME的变量描述:为了使WinCC能够访问S7控制器DATE_AND_TIME数据类型的变量,必须创建一个对应DATE_AND_TIME数据类型的结构变量。字节S7数据类型DATE_AND_TIMEWinCC结构元素时间标识0YearYEARyyyy1MonthMONTHm2DayDAYd3HourHOURh4MinuteMINUTEn5SecondSECONDs61/10and1/100secondMILLISEC174MSB:1/1000second4LSB:weekdayMILLISEC2表01使用VBS函数“DatePart”,可以确定WinCC日期/时间变量的组成元素(如,年,日,分钟),通过“DateAdd”改变日期/时间的组成。这两个VBS函数需要在表中指定时间标识以确定日期/时间的组成。更多信息:关于结构变量DATE_AND_TIME的信息请参考手册ProgrammingwithSTEP7下的:AppendixDataandparametertypesCombineddatatypesFormatofthedatatypeDATE_AND_TIME;关于读取指定date/time组成的信息请在WinCCInformationService下索引:DatePart;关于编辑指定date/time组成的信息请在WinCCInformationService下索引:DateAdd。说明:以下说明是组态创建必需的WinCC结构变量。为此,WinCC项目必须已经打开,并且到控制器的连接也已经组态。No.步骤1在树形图中右键点击“结构变量”并选择菜单“新建结构类型”;2在OS区域右键点击NewStructure,选择菜单重命名并输入新的结构名称(如S7_DATE_AND_TIME);3点击按钮“新建元素”,右键点击“SHORTNewTag”,选择数据类型为“BYTE”;4选中“BYTENewTag”,在类型转换下拉列表中选择“ByteToBCDByte”;5再次右键单击已插入的结构元素(“BYTENewTag”),选择菜单“重命名”并输入名称“YEAR”;6重复步骤3-5创建如下变量,然后点击“OK”确认此对话框。MONTHDAYHOURMINUTESECONDMILLISEC_1(数据类型ByteToUnsignedByte)MILLISEC_2(数据类型ByteToUnsignedByte)图017在变量管理器中,双击已经建立的通道(如TCP/IP)并且点击新建的连接;8右键单击明细窗口的空白区域,选择菜单新建变量。9输入名称(如CPUTime),数据类型选择已创建的结构名称(如S7_DATE_AND_TIME);10选择数据区(如数据块DB2)及DATE_AND_TIME变量的起始字节(如0),然后点击“OK”确认所有对话框。图02注释:在变量管理中不能删除结构变量。仅在StructureTypesNameofStructureNameofTag才能删除结构变量。如果为同样结构的多个结构创建函数,必须transfer函数的结构名称。结构元素的变量名称是动态生成的,例如DATE_AND_TIME结构:SubS7TimeToWinCCTime(ByvalStructName)...SetCPUtimeYEAR=HMIRuntime.Tags(StructName&.YEAR)SetCPUtimeMONTH=HMIRuntime.Tags(StructName&.MONTH)