6ES7223-3AD30-0XB0西门子S7-1200,数字量 I/O SB 1223
SIMATIC S7-1200,数字量 I/O SB 1223,2DI/2DQ,5V DC 200kHz
|
|
警告 如果攻击者能通过网络时间协议 (Network Time Protocol, NTP) 同步访问您的网络,那么便可能通过改变 CPU 系统时间来有限地控制您的过程。默认情况下,S7‑1200 CPU 的 NTP 客户端功能处于禁用状态,启用该功能时,仅允许将已组态的 IP 地址用作 NTP 服务器。CPU 在默认情况下禁用此功能,必须组态此功能才能实现远程控制 CPU 系统时间修正。 S7‑1200 CPU 支持“日时钟”中断和时钟指令,这两个指令均依赖于精确的 CPU 系统时间。如果组态 NTP 并接受从服务器进行时间同步,那么必须确保服务器是可靠来源。否则会导致安全漏洞,从而使未知用户能够通过改变 CPU 系统时间来有限地控制您的过程。 有关安全信息和建议,请参见 Siemens 服务与支持网站上的“工业安全操作准则”。 |
时钟指令用于设置和读取 CPU 系统时钟。使用数据类型 DTL 提供日期和时间值。
列表: 系统时间指令
LAD/FBD |
SCL |
说明 |
---|---|---|
ret_val := WR_SYS_T( in:=_DTL_in_);
|
WR_SYS_T(设置时钟)使用参数 IN 中的 DTL 值设置 CPU 时钟。该时间值不包括本地时区或夏令时偏移量。 |
|
ret_val := RD_SYS_T( out=>_DTL_out);
|
RD_SYS_T(读取时间)从 CPU 中读取当前系统时间。该时间值不包括本地时区或夏令时偏移量。 |
|
ret_val := RD_LOC_T( out=>_DTL_out);
|
RD_LOC_T(读取本地时间)以 DTL 数据类型提供 CPU 的当前本地时间。该时间值反映了就夏令时(如果已经组态)进行过适当调整的本地时区。 |
|
ret_val := WR_LOC_T( LOCTIME:=DTL_in_, DST:_in_;
|
WR_LOC_T(写入本地时间)设置 CPU 时钟的日期与时间。您可使用 DTL 数据类型在 LOCTIME 中将日期和时间信息指定为本地时间。该指令使用“TimeTransbationRule”数据块结构计算系统时间。本地时间和系统时间的时间信息间隔特定于产品并且至少为一毫秒。如果 LOCTIME 参数的输入值小于 CPU 支持的输入值,则这些值在系统时间计算期间将进位。 注:必须使用 CPU 设备组态设置“时钟”(Time of day) 属性(时区、DST 激活、DST 启动和 DST 停止)。否则,WR_LOC_T 不能解释 DST 时间更改。 |
列表: 参数的数据类型
参数和类型 |
数据类型 |
说明 |
|
---|---|---|---|
IN |
IN |
DTL |
要在 CPU 系统时钟内设置的时间 |
OUT |
OUT |
DTL |
RD_SYS_T:当前 CPU 系统时间 RD_LOC_T:当前本地时间,包括任何对夏令时的调整(如组态) |
LOCTIME |
IN |
DTL |
WR_LOC_T:本地时间 |
DST |
IN |
BOOL |
WR_LOC_T:Daylight Saving Time仅在“双重小时值”期间时钟更改为夏令时才进行求值。
|
RET_VAL |
OUT |
Int |
执行条件代码 |
提示 夏令时和标准起始时间组态CPU 设备组态的“夏令时开始”(Start for daylight saving time) 的“时间”(Time of day) 属性必须是本地时间。 |
条件代码:ENO = 1 表示未发生错误。ENO = 0 表示发生了执行错误,同时在 RET_VAL 输出中提供条件代码。
RET_VAL (W#16#....) |
说明 |
---|---|
0000 |
当前的本地时间为标准时间。 |
0001 |
夏令制时间已组态,当前的本地时间为夏令制时间。 |
8080 |
本地时间不可用或 LOCTIME 值无效。 |
8081 |
年份值非法或 LOCTIME 参数分配的时间值无效 |
8082 |
月份值非法(DTL 格式中的字节 2) |
8083 |
日期值非法(DTL 格式中的字节 3) |
8084 |
小时值非法(DTL 格式中的字节 5) |
8085 |
分钟值非法(DTL 格式中的字节 6) |
8086 |
秒数值非法(DTL 格式中的字节 7) |
8087 |
纳秒值非法(DTL 格式中的字节 8 到 11) |
8089 |
时间值不存在(转换为夏令时时,小时已过) |
80B0 |
实时时钟发生了故障 |
80B1 |
尚未定义“TimeTransbationRule”结构。 |
6ES7223-3AD30-0XB0西门子S7-1200,数字量 I/O SB 1223