企业信息

    上海腾希电气技术有限公司

  • 16
  • 公司认证: 营业执照已认证
  • 企业性质:私营企业
    成立时间:2012
  • 公司地址: 上海市 松江区 上海市松江区广富林路4855弄星月大业**88号4楼
  • 姓名: 田礼科
  • 认证: 手机未认证 身份证未认证 微信未绑定

    联系方式

    上海腾希电气技术有限公司

  • 公司地址: 上海市 松江区 上海市松江区广富林路4855弄星月大业**88号4楼
  • 姓名: 田礼科

数据典型值 Dat12x1D_S

时间:2021-08-02点击次数:177

数据典型值 Dat12x1D_S

有效性

S7-1500

功能

较多通过特定双字的 12 个通道发送任意内容的数据 12 次

定义“ChnCnt”参数中使用的对象的通道数 (1..12)。

每个通道仅允许一个数据类型。使用相应 ANY 指针*“DataInputXX”参数中通道内容的数据类型。

每个通道传输的数据长度不得**过 1 个双字(32 位)。例如,如果将某一通道的数据长度*为 3 个字符,将不会读取*四个字节,且不会将其用于评估传输时间 (SendOnChange)。

相关背景数据块


提示

使用标准访问的 DB

典型程序块在“DataInputXX”参数中使用 ANY 指针。禁用 DB 属性中的“优化块访问”(Optimized block access) 属性。



触发传输和传输的数据区域

在较大值的情况下,将报文全部发送,所有通道在“ChnCnt”中*。根据参数分配,并非所有通道的全部数据都将传输。

可以通过以下方式触发数据发送:

时间驱动型

可通过用户程序触发传输。

当“TriggerInput”发生 0 → 1 的边沿变化时,始终传输“DataInputXX”下*的所有数据。

对于时间驱动的传送,可以使用 FC 触发器触发。

更改型

通过更改控制 ("SendOnChange" = TRUE) 触发传输。

- 仅更改一个通道时:

仅传输变更通道中的数据。

- 更改多个通道时:

传输的数据包括从*一个更改的通道到最后一个更改的通道的连续区域。

不传输可能在传输区域之前或之后的未更改通道。

请求

如果对此数据对象有单个请求或在一般请求的框架内有单个请求,则始终传输典型程序的所有数据。

要触发数据传输,还可以选择“SendOnChange”加“TriggerInput”的组合。这意味着在检测到变化时以及在“TriggerInput”输入每次发生 0 → 1 的边沿变化时,都会触发传输。

如果既不使用“SendOnChange”也不使用“TriggerInput”来触发数据传输,则只有在对此数据对象有单个请求或在一般请求的框架内有单个请求时,才会传输数据。

不同通道优先级下的两个参数集

通过两个参数集,典型程序可在保存和传输时间方面以不同方式处理通道。每个参数集都包含以下参数:

参数集 1

参数集 2

ImageMemory01

Conditional01

SendOnChange01

ImageMemory02

Conditional02

SendOnChange02

参数的功能:

ImageMemory

根据映像存储器原理或发送缓冲区原理确定是否传输数据。

Conditional

确定数据采用“有条件自发”还是“无条件自发”形式传输。

SendOnChange

确定数据传输是否更改。

可以通过以下方式对通道进行优先级排序,例如通过相应参数各自的参数分配:

参数集 1 通道

要单独保存并立即传输的重要事件。

参数集 2 通道

运行数据,其值可以被覆盖,不需要立即传输。

可以使用“ChnSets”参数将每个通道分配给两个参数集中的一个。以下为参数分配的示例。

参数

常规参数:

PartnerNo

PartnerObjectNo

Enabled

ImageMemory01..02 *

Conditional01..02 *

TimeStamp

有关说明,请参见部分。

* 参数集 1 和 2 各自使用一次参数

名称:

SendOnChange01..02 *

声明:

INPUT

数据类型:

BOOL

取值范围:

TRUE / FALSE

默认值:

FALSE

参数分配:

* 参数集 1 和 2 各自使用一次参数

说明:

发送更改

该参数出现两次,每个通道一次。

设置为 TRUE 时,块在获取的数据区域“DataInput”内运行更改检查。数据块检查是否至少更改了一个位。如果检查到更改,则自动开始数据区域传送。有关所传输区域的信息,请参见上文。

如果设置为 FALSE,则需要通过输入参数“TriggerInput”启动传输。

名称:

TriggerInput

声明:

INPUT

数据类型:

BOOL

取值范围:

TRUE / FALSE

默认值:

FALSE

地址范围:

输入

I 0.0 ... I n.7

存储器

M 0.0 ... M n.7
L 0.0 ... L n.7

数据位

DBm.DBX 0.0 ... n.7

说明:

触发器输入

当此输入发生 0 → 1 的边沿变化时,可以在选定的时间触发数据报文的传输。

示例:带时间戳的时间驱动模拟值传输,用于在控制中心提供归档。

确保将“ImageMemory”参数设置为 FALSE 以防止这一带有时间戳的数据在保存到站 TIM 上时被覆盖。

 

FC 触发块可用于通过“TriggerInput”以时间驱动方式触发传输。

“TriggerInput”实际上只是间接触发传输。当“TriggerInput”发生 0 → 1 的边沿变化时,数据报文将与其当前值放到一起,并传输到本地 TIM 中。

对于专用线路或无线网络,TIM 可立即传输数据。

对于拨号连接,传输取决于参数“Conditional”的设置:

"Conditional" = TRUE (有条件自发)

数据报文首先保存在 TIM 上,然后在下一个连接建立时传输。

"Conditional" = FALSE (无条件自发)

立即传输数据报文。

名称:

ChnCnt

声明:

INPUT

数据类型:

Int

取值范围:

1..12

说明:

传输通道的数量

较多可为对象定义 12 个通道(1 到 12 个通道)。

名称:

ChnSets

声明:

INPUT

数据类型:

WORD

格式:

16 位位序列

默认值:

0000000000000000

说明:

将传输通道分配至参数集 1 或 2

通过各自位将每个通道分配给两个参数集中的一个,从位  1(用于通道 1)开始。位 0 始终需要为 0(空)(保留)。

各个位的编码:

0 = 将通道分配至参数集 1

1 = 将通道分配至参数集 2

使用这两个参数集,您可以用不同方式传输通道。

 

示例:

参数集 1

重要事件,可能的参数分配:

- ImageMemory01 = FALSE (发送缓冲区原理)

- Conditional01 = FALSE (无条件自发)

- SendOnChange01 = TRUE (传输到 TIM 更改)

参数集 2

运行数据,可能的参数分配:

- ImageMemory02 = TRUE (映像存储器原理)

- Conditional02 = TRUE (有条件自发)

- SendOnChange02 = TRUE (传输到 TIM 更改)

 

注:

“ImageMemory”和“Conditional”适用于整个报文。

如果报文的发送通过“TriggerInput”触发,则当通道的“ImageMemory”和“Conditional”设置为 FALSE 时,整个报文将作为无条件的自发发送缓冲区报文发送。

如果通过“SendOnChange”触发向多个通道发送报文,则当通道的“ImageMemory”和“Conditional”设置为 FALSE 时,整个报文将作为无条件的自发发送缓冲区报文发送。

如果仅在一个通道中检测到更改(“SendOnChange”= TRUE),那么报文的发送模式将通过此通道的“ImageMemory”和“Conditional”参数*。

列表: “ChnSets”参数的位到通道的分配

.15

.14

.13

.12

.11

.10

.9

.8

.7

.6

.5

.4

.3

.2

.1

.0

通道

12

11

10

9

8

7

6

5

4

3

2

1

‑ *

* 位 0 保留。

列表: “ChnSets”的参数分配示例:七个通道到参数集 1 或 2 的分配

.15

.14

.13

.12

.11

.10

.9

.8

.7

.6

.5

.4

.3

.2

.1

.0

分配

0

0

0

0

0

0

0

0

1

0

1

1

0

0

1

0 *

* 位 0 保留。

在本例中分配了七个通道。未使用通道 8..12。

各个位的编码:

0 = 参数集 1 的分配

在本例中,通道 2、3 和 6 分配到参数集 1。

1 = 参数集 2 的分配

在本例中,通道 1、4、5 和 7 分配到参数集 2。

名称:

DataInput01..12

 

该参数出现十二次,每个通道一次。

声明:

INPUT

数据类型:

ANY

取值范围:

请参见地址范围

默认值:

P#P 0.0 VOID 0
(空指针)

地址范围:

P#DBxx.DBXyy.0 TYPE zz

xx:数据块编号

yy:字节编号

TYPE:数据类型

允许的数据类型有: Bool, Byte, Char, SInt, USInt, Int, UInt, Word, DInt, DWord, Real, UDInt

zz:自字节编号 yy 起的以数字(*数据类型)表示的长度

较大长度: 1 DWord

示例:
P#DB20.DBX100.0 BYTE 3
DB20 中自 DBB100 起的 3 字节区域

说明:

数据输入区

ANY 指针对要采集的数据所在的数据区域进行寻址。不允许使用占用的空指针。*具有真实地址的指针。

数据区必须位于数据块中,较大长度为 4 个字节(较多 1 个双字)。

 

如果通道的 4 个字节没有全部传输,或者不会将其用于评估触发报文 (SendOnChange),请确保遵循正确的参数分配。

有关内容和格式的信息,请参见上文中的“功能”部分。

如果参数分配不正确(空指针、长度 > 4、数据区域不是 DB),则会在诊断缓冲区中输入错误消息(事件 ID B114,[Info2/3] = 11)。CPU 不切换为 S** 模式。然后,在更正错误之前,不再对该数据块进行处理。


http://shtxjd.cn.b2b168.com

上一篇:冗余 备用