WinCC如何访问 S7 控制器中数据类型为 DATE_AND_TIME 的变量 ?

描述:
为了使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”确认此对话框。

  • MONTH
  • DAY
  • HOUR
  • MINUTE
  • SECOND
  • MILLISEC_1
  • MILLISEC_2

WinCC如何访问 S7 控制器中数据类型为 DATE_AND_TIME 的变量 ?
图 01

7在变量管理器中 ,双击已经建立的通道(如TCP/IP)并且点击新建的连接;
8右键单击明细窗口的空白区域,选择菜单"新建变量"。
9输入名称 (如 CPUTime),数据类型选择已创建的结构名称 (如 S7_DATE_AND_TIME);
10选择数据区 (如数据块 DB 2)及 DATE_AND_TIME变量的起始字节 (如 0),然后点击“OK” 确认所有对话框。

WinCC如何访问 S7 控制器中数据类型为 DATE_AND_TIME 的变量 ?
图 02

注释:

  • 在变量管理中不能删除结构变量。在 "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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论