描述:
为了使WinCC能够访问S7控制器 DATE_AND_TIME数据类型的变量,必须创建一个对应DATE_AND_TIME数据类型的结构变量。
n
字节 | S7 数据类型 DATE_AND_TIME |
WinCC 结构元素 |
时间标识 |
0 | Year | YEAR | "yyyy" |
1 | Month | MONTH | "m" |
2 | Day | DAY | "d" |
3 | Hour | HOUR | "h" |
4 | Minute | MINUTE | "n" |
5 | Second | SECOND | "s" |
6 | 1/10 and 1/100 second | MILLISEC1 | |
7 | 4MSB: 1/1000 second 4LSB: weekday |
MILLISEC2 |
表 01
使用VBS函数“DatePart”,可以确定WinCC日期/时间变量的组成元素(如,年,日,分钟),通过“DateAdd”改变日期/时间的组成。这两个VBS函数需要在表中指定时间标识以确定日期/时间的组成。n
更多信息:
- 关于结构变量DATE_AND_TIME 的信息请参考手册Programming with STEP 7下的:
"Appendix" >"Data and parameter types" >"Combined data types" >"Format of the data typeDATE_AND_TIME";n - 关于读取指定 date/time 组成的信息请在WinCCInformationService下索引:DatePart;n
- 关于编辑指定 date/time 组成的信息请在WinCCInformationService 下索引:DateAdd。
说明:
以下说明是组态创建必需的WinCC 结构变量。为此,WinCC项目必须已经打开,并且到控制器的连接也已经组态。
No. | 步骤 |
1 | 在树形图中右键点击“结构变量”并选择菜单“新建结构类型”; |
2 | 在"OS" 区域右键点击"New Structure",选择菜单"重命名" 并输入新的结构名称 (如S7_DATE_AND_TIME); |
3 | 点击按钮“新建元素”,右键点击“SHORTNew Tag”,选择数据类型为“BYTE” ; |
4 | 选中“BYTE New Tag”,在类型转换下拉列表中选择“ByteToBCDByte”; |
5 | 再次右键单击已插入的结构元素(“BYTENew Tag”),选择菜单“重命名”并输入名称“YEAR”; |
6 | 重复步骤3-5创建如下变量,然后点击“OK”确认此对话框。
|
7 | 在变量管理器中 ,双击已经建立的通道(如TCP/IP)并且点击新建的连接; |
8 | 右键单击明细窗口的空白区域,选择菜单"新建变量"。 |
9 | 输入名称 (如 CPUTime),数据类型选择已创建的结构名称 (如 S7_DATE_AND_TIME); |
10 | 选择数据区 (如数据块 DB 2)及 DATE_AND_TIME变量的起始字节 (如 0),然后点击“OK” 确认所有对话框。 |
注释:
- 在变量管理中不能删除结构变量。仅在 "Structure Types" > "Name of Structure" > "Name of Tag"才能删除结构变量。
- 如果为同样结构的多个结构创建函数,必须transfer函数的结构名称。结构元素的变量名称是动态生成的,例如 DATE_AND_TIME 结构:
Sub S7TimeToWinCCTime(Byval StructName)
...
Set CPUtimeYEAR = HMIRuntime.Tags(StructName & ".YEAR")
Set CPUtimeMONTH = HMIRuntime.Tags(StructName & ".MONTH")
...
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc332345.html