最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

S7200库文件说明书

IT圈 admin 43浏览 0评论

2024年2月23日发(作者:辉琼芳)

在STEP 7 Micro/WIN中,如何评价主程序或子程序中过多的的上升沿和下降沿?

描述:

使用以下库可以实现过多的边沿评价。通常CPU仅支持256个边沿评价 - 见条目号:8804150。本程序例程也可以用于子程序中。通常CPU不支持此程序例程 - 见条目号:7115899。

这个库包含两个例行程序:分别适用于上升沿和下降沿。

图1:库文件夹

上升沿

图2:上升沿子程序调用

参数

EN

Input

变量类型

BOOL

BOOL

说明

必须始终高(1)

信号输入,当发生(0 -> 1)改变时,激 活输出1个循环周期.

Memory

Output

BOOL

BOOL

临时存储区

信号输出

表1:上升沿的参数说明

功能:

如果信号输入(input)的状态发生变化0 -> 1(上升沿),那么信号输出(output)将被置位一个循环周期。

存储位保留该状态。为了识别另一个边沿,信号输入(input)必须运行一个零循环。这样存储位将被复位。

图3:上升沿的时序图

下降沿

图4:下降沿子程序调用

参数

EN

Input

变量类型

BOOL

BOOL

说明

必须始终高(1)

信号输入,当发生(0 -> 1)改变时,激活输出1个循环周期

Memory

Output

BOOL

BOOL

临时存储区

信号输出

表2:下降沿的参数说明

功能:

如果信号输入 (input) 的状态发生1 -> 0 (下降沿)变化,那么信号输出 (output) 将被置位一个循环周期.

存储位保留该状态。为了识别另一个边沿,信号输入 (input) 必须被复位为 High 1个循环周期。这样存储位将被复位。

图5:下降沿的时序图

上升沿与下降沿(块: Edge_detect)

图6:子程序调用块Edge_detect

参数

EN

IN

变量类型

[BOOL]

[BOOL]

说明

使能: 使能功能,必须一直为TRUE (1)

信号输入,在上升沿(0->1)或下降沿(1->0),将被设置为“ OUT”一个循环周期。

Memory

OUT

[BOOL]

[BOOL]

临时存储区

信号输出

表3:Edge_detect的参数

功能:

如果信号输入“IN”出现上升沿(0->1)或下降沿 (1->0)变化,那么信号输出“OUT2”将被置位一个循环周期。存储位保存“IN”信号的当前状态。

图7:Edge_detect 信号图

STEP 7 Micro/WIN库的存档文件:

把“rising_falling_” 文件复制到一个单独的文件夹,然后双击启动该文件。解包 STEP

7 Micro/WIN 库。然后可以集成这个库到 S7-200 项目中,可以在 STEP 7 Micro/WIN的3.2.4.27 以及更高版本中使用这个库。下载包含两个子程序。

注意事项:

• 关于在 STEP 7 Micro/WIN 中插入库的信息,可以在条目号:16689345 处找到。

rising_falling_ ( 30 KB )

下面的 Clock_Integer 库可以自动将传输值从十进制转换为 BCD 格式,反之也可以从 BCD 格式转换成十进制。然后执行相应的时间操作 READ_RTC或SET_RTC。这样当传输值用操作面板或程序的十进制格式保存时,便于时间函数的处理 (READ_RTC和SET_RTC)。

注意事项:

在条目号:16689345中可以找到关于将库插入 STEP 7 Micro/WIN 中的信息。

图1: Clock_Integer库

库的全局存储区

库使用全局存储区来保证传输的用户数据的一致性。从 库中将其中一个函数 (READ_RTC_I或SET_RTC_I)插入到STEP 7 Micro/Win 项目,然后选中 STEP 7 Micro/Win 菜单“文件”中的条目“Library Memory Allocation (分配库内存)”。系统会提供一个地址区,或者您也可以自己选择一个地址区。该库需要8个字节。

图2:库存储区

从CPU中读取时间(READ_RTC_I)

图3:函数“READ_RTC_I”

函数“READ_RTC_I”的参数

参数

EN

变量类型

[BOOL]

说明

激活块

如有需要时才激活块,这样能减轻CPU负担

地址 [DWORD] 用于保存读取的时间值的地址

从该偏移量地址开始为其分配8个字节。

表1:函数“READ_RTC_I”的参数

功能:

如果激活输入信号“EN”,该块读取当前时间,将 所读取的BCD值转换成十进制值,并保存在从给定偏移量地址开始的地址中。

在CPU中设置时间(SET_RTC_I)

图4:函数“SET_RTC_I”

函数“SET_RTC_I”的参数

参数

EN

变量类型

[BOOL]

说明

激活块

只有在需要时才激活该块,这样能减轻CPU负担。

地址 [DWORD] 存储用户时间数据的地址,该块读取从该偏移量地址开始的8个字节。

表2:参数“SET_RTC_I”

功能:

如果激活输入信号(EN),该块读取所存储的用户数据,将 它们转换成BCD格式并以该格式来设置CPU时钟.

以十进制格式读取CPU时钟的实例:

如果激活V50.0,就读取时间。所读取的数据以十进制格式存储在VB10开始的地址中。

图5:“READ_RTC_I”实例

在状态表中检查数值:

该数值以十进制格式存放在时间函数所用的结构中。

时间函数的存储区结构(READ_RTC, SET_RTC):

VB10 = 年份

VB11 = 月份

VB12 = 日期

VB13 = 小时

VB14 = 分钟

VB15 = 秒钟

VB16 = 保留

VB17 = 星期

图6:时间值的状态表

注意事项:

CPU 221和CPU 222不包含集成的时钟,所以需要CC292模块。

将STEP 7 Micro/WIN库作为档案库文件:

将文件clock_复制到一个独立目录中并双击启动它。将STEP 7 Micro/WIN库进行解包,可以把该库加到S7-200项目中。该库适用于STEP 7 Micro/WIN 3.2.4.27以及更高版本。

Clock_ ( 31 KB )

如何使用 STEP 7 - Micro / WIN 中附加的逻辑运算符 (NEG, NAND, NOR, NXOR)?

描述:

下面我们将对这些未作为标准运算符包含在编程软件 STEP 7 - Micro / WIN

中的运算符进行描述。

在条目的末尾,有一个包含了这些运算符的文件,可以将其作为库集成到

STEP 7 - Micro / WIN 软件中。

此条目描述了运算符 NEG、NAND、NOR 和 NXOR。

• NEG

NEG 运算符提供了一个数字的二进制补码,作为返回值。二进制补码格式对应改变符号的数字,或者是数字乘以“-1”。

图 1:NEG 运算符

图 2:NEG 运算符实例

• NAND

NAND 运算符是 AND 运算符的配对运算符。NAND (非-AND) 的输出仅在所有输入都

具有状态 1 (即闭合状态) 时才会具有状态 0。

x

0

1

0

1

y

0

0

1

1

结果

1

1

1

0

表 1:NAND 的布尔代数

图 3:NAND 运算符

图 4:NAND 运算符实例

• NOR

NOR 运算符是 OR 运算符的配对运算符。NOR (非-OR) 的输出仅在所有输入都具有

状态 0 (即断开状态) 时才会具有状态 1。只要其中一个输入接通 (状态 1),输出就会断开。

x

0

1

0

1

y

0

0

1

1

结果

1

0

0

0

表 2:NOR 的布尔代数

图 5:NOR 运算符

图 6:NOR 运算符实例

• NXOR

NXOR 运算符是 XOR 运算符的配对运算符。当输入具有不同状态值时,NXOR 的输出具有状态 0。

x

0

1

0

1

y

0

0

1

1

结果

1

0

0

1

表 3:XNOR 的布尔代数

图 7:NXOR 运算符

图 8:NXOR 运算符实例

运算符

NEG_B

NAND_B

NOR_B

NXOR_B

参数

IN

变量类型

BYTE

可用的存储器类型

VB、EB、AB、MB、SB、SMB、LB、AC、常数、*VD、*AC、*LD

OUT BYTE

VB、EB、AB、MB、SB、SMB、LB、AC、*VD、*AC、*LD

NEG_W

NAND_W

NOR_W

NXOR_W

IN WORD

VW、EW、AW、MW、SW、SMW、T、Z、AEW、LW、AC、常数、*VD、*AC、*LD

OUT WORD

VW、EW、AW、MW,SW、SMW、T、Z、LW、AC、*VD、*AC、*LD

NEG_DW

NAND_DW

NOR_DW

NXOR_DW

IN DWORD

VD、ED、AD、MD、SD、SMD、LD、AC、HC、常数、*VD、*AC、*LD

OUT DWORD

VD、ED、AD、MD、SD、SMD、LD、AC、*VD、*AC、*LD

表 4:操作符参数

使用下列库,您可以使用列出的操作符来访问类型为 BYTE、WORD 和 DWORD

的数据。

在S7-200中如何限制阶跃的坡度?

显示订货号

描述:

可以使用此FAQ的附件"Ramp" library ,在S7-200中限制浮点变量值的变化。 根据输入参数"IN", "RAMP" 块计算最大变化率限制在"MAX_VARIATION"个单位每秒的输出参数"OUT" 的输出值。

图 01

输入参数"IN"管脚如果有正向或负向的阶越,那么输出参数"OUT"管脚会紧跟着一个正向或负向的斜坡输出,此斜坡的变化率被限制在"MAX_VARIATION" 每秒。

"RAMP" 块的输入输出接口

符号

EN

IN

变量类型 数据类型 说明

IN

IN

BOOL

REAL

"RAMP" 块的使能端

输入值

输出值的每秒最大变化量(负值取反为正值)

输出值

MAX_VARIATION IN_OUT REAL

OUT IN_OUT REAL

表 01

将"Ramp"库加入STEP 7 Micro/WIN后,可在程序中调用 "RAMP" 块。

图 02

下载:

下载压缩包 "" 包含以下文件:

文件

"" 库

"" 项目

描述

- 包含 "RAMP" 块

- 本 FAQ的例子项目

( 5 KB )

图 9:库文件夹

以归档文件形式提供的 STEP 7 Micro/WIN 库:

将“logical_”文件复制到单独的目录内,然后双击运行该文件。STEP 7 Micro/WIN 库将解包。然后便可以集成该库;在版本 V3.2.4.27

及更高版本的 STEP 7 Micro/WIN 中,可以将该库用于 S7-200 项目。

注意:

关于在 STEP 7 Micro/WIN 中插入库的信息,可以在条目号 16689345 中找到。

logical_ ( 64 KB )

在STEP 7 - Micro / WIN 如何实现取模功能?

显示订货号

描述:

取模运算符在整数除法运算中给出了余数。

实例:

6 Mod 2 = 0 --> 6 / 2 = 3;无余数

11 Mod 4 = 3 --> 11 / 4 = 2,余数为 3;

通过取模功能,可以检查一个数是否可以被另一个数整除 - 取模运算中结果是否为 0。

取模运算符通常在高级编程语言中使用,例如 C、Basic、Java 等等。但是它主要用作除法器,仅用于在特定周期执行特定函数或切换特定函数 (在循环中)。

实例:

FOR x=1 TO 20

IF x MOD 2 = 0 THEN CALL Anything

NEXT

在此实例中,一个循环执行二十次,此外每第二个周期额外调用一次子程序 (功能)

“Anything”。

使用取模库的 STEP 7 - Micro / WIN 等价程序如实例 1 所示。

库中的每个取模块除了提供除法的余数外,还提供了一个输出位,它能立即表明是否存在除法余数。这样就节省了随后必须将除法余数与零相比较所需要的运算,并且节省了程序存储器中的空间。您需要做的所有工作仅仅是评估输出位 DWR (无余数的除法运算)。

参数说明:

图 1:字节的取模块

参数

EN

变量类型

BOOL

说明

执行块

E、A、M、SM、T、C、V、S、L

IN1 BYTE 输入值

VB、EB、AB、MB、SB、SMB、LB、AC、常数、*VD、*AC、*LD

IN2 BYTE 除数

VB、EB、AB、MB、SB、SMB、LB、AC、常数、*VD、*AC、*LD

DWR BOOL 输出位

1 (高) = 除法运算无余数;

0 (低) = 除法运算有余数,

A, M, V, L, SM

OUT BYTE 除法运算余数

VB、EB、AB、MB、SB、SMB、LB、AC、*VD、*AC、*LD

表 1:Modulo_B 的块参数

图 2:字的取模块

参数

EN

变量类型

BOOL

说明

执行块

E、A、M、SM、T、C、V、S、L

IN1 WORD 输入值

VW、EW、AW、MW、SW、SMW、T、C、AC、LW、AEW、常数、*VD、*LD、*AC

IN2 WORD 除数

VW、EW、AW、MW、SW、SMW、T、C、AC、LW、AEW、常数、*VD、*LD、*AC

DWR BOOL 输出位

1 (高) = 除法运算无余数;

0 (低) = 除法运算有余数,

A, M, V, L, SM

OUT WORD 除法运算余数

VW、EW、AW、MW、SW、SMW、LW、AC、*VD、*LD、*AC

表 2:Modulo_W 的块参数

图 3:双字的取模块

参数

EN

变量类型

BOOL

说明

执行块

E、A、M、SM、T、C、V、S、L

IN1 DWORD 输入值

VD、ED、AD、MD、SMD、SD、LD、AC、HC、常数、*VD、*LD、*AC

IN2 DWORD 除数

VD、ED、AD、MD、SMD、SD、LD、AC、HC、常数、*VD、*LD、*AC

DWR BOOL 输出位

1 (高) = 除法运算无余数;0 (低) = 除法运算有余数,

A、M、V、L、SM

OUT DWORD 除法运算余数

VD、ED、AD、MD、SMD、SD、LD、AC、*VD、*LD、*AC

表 3:Modulo_DW 的块参数

下面是两个如何实现取模块的实例。可以在这些块的注释中找到相关说明。

实例 1 - 程序循环

For..Next 循环运行二十次。每第二个周期临时变量“Indirect_Address”的数值增加 4。如果没有除法运算余数,位 V10.0 始终为高 (1),(即,在第 2 个、第 4 个、第 6 个、第 8 个、第 10

个周期内,如此等等)。

循环计数器 VW0 在 FOR 命令的每个周期末尾自动增加 1 (关于此命令的更多信息可以在

STEP 7 - Micro / WIN 帮助中找到)。

图 4:程序周期实例

实例 2 - 时钟发生器

MOD_B (IN2) 的除数在此实例中已经保持为变量 (VB1)。子程序 SBR_0 每三个周期执行一

次。

周期计数器 VB0 始终在程序段 3 中复位,否则可能会达到 (超过) 最大值范围,此时将会重新从零开始。在零周期内可能会发生偏离,子程序不是严格在第三个周期内调用。

图 5:时钟发生器实例

通过下列库,您还可以在 STEP 7 - Micro / WIN 中使用取模运算符。

该库为每种变量访问宽度 (字节、字、双字) 各提供了一个独立的程序例程。

图 6:库文件夹

以归档文件形式提供的 STEP 7 Micro/WIN 库:

将“”文件复制到单独的目录内,然后双击启动该文件。STEP 7 Micro/WIN 库将解包。然后便可以集成该库;在版本 V3.2.4.27 及更高版本的 STEP 7 Micro/WIN 中,可以将该库用于 S7-200 项目。

注意:

关于在 STEP 7 Micro/WIN 中插入库的信息,可以在条目号 16689345 中找到。

( 64 KB )

如何在 STEP 7 Micro/WIN 中实现 LOGO! 脉冲继电器功能 ?

显示订货号

描述:

本条目提供了一个包含有脉冲继电器功能的 STEP 7 Micro/WIN 库。

脉冲继电器(功能块: Pulse_Relay)

图1:Pulse_Relay功能块

参数

EN

Input

Set

Reset

Memory

Output

变量类型

[BOOL]

[BOOL]

[BOOL]

[BOOL]

[BOOL]

[BOOL]

解释

使能:允许使用该功能块,必须始终为TRUE (1)

信号输入,上升沿(0->1)触发输出置位或者复位

置位输出,无论当前是什么状态

复位输出,无论当前是什么状态

临时存储

信号输出

表1:Pulse_Relay 的参数

功能:

如果信号输入“Input” 有 0->1 的变化边沿(上升沿)发生,如果信号输出“Output” 在低电平,那么将被置位,如果在高电平,那么将被复位。

图2:Pulse_Relay信号图

将 STEP 7 Micro/WIN 库作为归档文件:

将“logo_” 文件拷贝到一个独立子文件夹中,然后双击打开它,就可以解压

STEP 7 Micro/WIN 库。然后就可将用于 STEP 7 Micro/WIN的V3.2.4.27 以及更高版本的库文件整合到 S7-200 项目上去。

注意事项:

• 向 STEP 7 Micro/WIN 中增加库文件的相关信息可以在条目 ID:16689345 中获得。

logo_ ( 29 KB )

虽然浮点数在状态上相等,但为什么在“比较实数是否相等”运算中却检测到存在差异?

显示订货号

描述:

对于“比较实数是否相等”的比较运算,由过程运算提供的实数类型的数值非常不精确。由于实数存在修正的误差,故不推荐使用此数据格式进行“相等”比较。

浮点数 (或实数) 由一个 32 位的单精度数表示,而访问时使用双字格式。在 S7-200 中,实数精确到 6 个小数位。

当使用包括较大数和很小数的一系列数值来计算实数时,可能会出现不精确的结果。当在状态表中查看实数时,相同的实数可能有不同的二进制表示。

因此我们推荐不要使用“LDR=”函数,而是使用“LDR<=”和“LDR>=”这两个函数来进行比较运

算。这为你提供一个数值比较的比较框架。

以归档文件形式提供的 STEP 7 Micro/WIN 库:

将“real_compare”文件复制到单独的目录内,然后双击启动该文件。将 STEP 7 Micro/WIN 库解包。然后便可以集成该库,在版本 V3.2.4.27 及更高的 STEP 7 Micro/WIN 中,可以将该库用于 S7-200 项目。

注意:

• 关于在 STEP 7 Micro/WIN 中插入库的信息,可以在条目号 16689345 中找到。

real_compare ( 64 KB )

怎样在STEP 7 Micro/WIN 中相互转换二进制码和格雷码?

显示订货号说明

STEP 7 - Micro/WIN 的标准库中不包含格雷码转换。使用下载的附件可以转换成8位、16位和32位二进制数。

格雷码指令库的描述

"" 指令库包括用于字节、字和双字格式的编码和解码的功能块。

图 1

从二进制码转换到格雷码(BIN_GRAY)

功能块 BIN_GRAY_B、BIN_GRAY_W 和 BIN_GRAY_DW 把输入的字节、字和双字类型的二进制码编码成格雷码。

图 2

功能

BIN_GRAY_B

参数 数据类型 操作数

IN [BYTE] VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *LD,

*AC

OUT [BYTE]

BIN_GRAY_W IN

VB, IB, QB, MB, SB, SMB, LB, AC, *VD, *LD, *AC

[WORD] VW, IW, QW, MW, SW, SMW, LW, T, Z, AEW,

Constant, AC, *VD, *AC, *LD

OUT [WORD] VW, IW, QW, MW, SW, SMW, LW, T, Z, AC, *VD, *AC,

*LD

BIN_GRAY_DW IN [DWORD] VD, ID, QD, MD, SD, SMD, LD, AC, HC, Constant, *VD,

*LD, *AC

OUT [DWORD] VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *LD, *AC

表 1

从格雷码转换到二进制码(GRAY_BIN)

功能块 GRAY_BIN_B、GRAY_BIN_W 和 GRAY_BIN_DW 把输入的格雷码解码成字节、字和双字类型的二进制码。

图 3

功能

GRAY_BIN_B

参数 数据类型 操作数

IN [BYTE] VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *LD,

*AC

OUT [BYTE]

GRAY_BIN_W IN

VB, IB, QB, MB, SB, SMB, LB, AC, *VD, *LD, *AC

[WORD] VW, IW, QW, MW, SW, SMW, LW, T, Z, AEW,

Constant, AC, *VD, *AC, *LD

OUT [WORD] VW, IW, QW, MW, SW, SMW, LW, T, Z, AC, *VD, *AC,

*LD

GRAY_BIN_DW IN [DWORD] VD, ID, QD, MD, SD, SMD, LD, AC, HC, Constant, *VD,

*LD, *AC

OUT [DWORD] VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *LD, *AC

表 2

定义范围

没有使用范围的限制,因为此转换是针对二进制和所有最终被解析为二进制的数据(十进制、十六进制和有符号数)。

将格雷码转换为二进制码的附加功能

子程序 GRAY_BIN 和 XOR 用来将格雷码解码为二进制代码。

STEP 7 Micro/WIN 库是 zip 文件

复制 "" 文件到单独的目录并解压缩这个文件。您可以添加这个 ""

库指令到 S7-200项目,这个库指令可用于 V3.2.4.27 和更高版本的 STEP 7 Micro/WIN 中。

注意

• 这些格雷码编码和解码块不能用于连接串行 SSI 编码器,因为这些编码器需要通信速率大于 187.5 K bit/s 并且需要两对电缆( 用于时钟和数据 )因此不能连接到 S7-200

CPU 的通信接口。

关于更多格雷码(变量表、译码规则)信息可查看

进入 ID: 25629271

添加库到 STEP 7 Micro/WIN 中的信息可查看

进入 ID:16689345

( 3 KB )

如果不使用感光开关,如何使用 S7-200 控制百叶窗日出而开,日落而关?

显示订货号

使用说明:

光感开关通常用于确定对百叶窗控制的早晚的开关点。 如您希望使用 SIMATIC S7-200 来控制百叶窗,可以采用一种天文算法来决定日出和日落的时间,这种运算法可以作为一个 STEP

7 Micro/WIN 库函数供您使用。只需指定相关位置的经度和纬度坐标作为参数,并将 CPU 时钟设置为 UTC 时间。 此外,也可对比运算法则中光感应时间调整百叶窗的开关时间。例如,将百叶窗设定在日出前 10 分钟开,在日落后 5 分钟关。 一旦参数设定后,控制器就开始运行且没有任何临时重新调整。同时它不受夏令时变化的影响。以下表格通过事例说明它是如何运作的。

No. 步骤

1 打开 "shutter_" 程序。

这里提供的库文件 "sunvector_2015_" 实现了这种天文算法,它已经集成在了该项目中,并占用了存储区 VB0 到 VB49。 根据需要在菜单"File > "改变内存区。 只需 mwl 库文件本身就可添加程序。

2 在程序编辑器中进入到主程序(MAIN)。

网络 1 显示的是“shutter_control” 子程序调用。该程序执行了天文算法。子程序“shutter_cuntrol”会在日出时在输出位“open_shutter”, 日落时在输出位“close_shutter”输出一个只持续一个周期的脉冲。您可以通过修改该子程序的输入参数来满足特定的需要。

图1:子程序“shutter_control”

Longitude:

经度度数(如,11° 04' 01'' = 11.0669444°);

格林威治东部 = 正,格林威治西部 = 负;

Latitude:

纬度度数(如,49° 26' 16'' = 49.4377778°);

赤道以北 = 正,赤道以南 = 负;

Up_offset:

与算法计算出的日出时间做比较,用来调整百叶窗打开状态的以分钟为单位的时间偏

差。如该值是正,百叶窗较早打开,反之则较后。

Down_offset:

与算法计算出的日出时间做比较,用来调整百叶窗打开状态的以分钟为单位的时间偏差。如该值是正,百叶窗较早关闭,反之则较后。

open_man:

手动打开百叶窗的位输入。一个上升沿输入可以在输出位“open_shutter”生成一个周期脉冲信号。例如您可以为其组态一个按钮,或利用该参数来使能打开百叶窗的另一个条件。

close_man:

手动关闭百叶窗的位输入。一个上升沿输入可以在输出位“close_shutter”生成一个周期脉冲信号。例如您可以为其组态一个按钮,或利用该参数来使能关闭百叶窗的另一个条件。

open_shutter:

日出时打开百叶窗的周期脉冲。

close_shutter:

日落时关闭百叶窗的周期脉冲。

3 调整“百叶窗_控制”子程序的输出参数以满足百叶窗的控制条件。

网络 2 和网络 3 主程序中提供了2种方式:

网络2 (静态输出信号):

位输出 "move_up:A0.0" 设定于日出与日落之间。

位输出 "move_down:A0.1" 设定于日落与日出之间。

网络3 (输出脉冲):

位输出 "move_up:A0.0" 在日出时设定1秒钟。

位输出 "move_down:A0.1" 在日落时设定1秒钟。

保留其中可以满足您控制要求的方法,删除不想用的方法。

按需求更改输出位地址。

4 将控制器设定为 UTC 时间。UTC 时间(协调世界时)是与当地时间相对的有效的全世界的时间,而当地时间只在区域限定的时区内有效。如,UTC+1 为欧洲中部时间,UTC+2 为欧洲中部夏令时间 (CEST)。当前 UTC 时间可通过互联网查找(如 /)。 时间控制法有两种。

利用 CPU 实时时钟:

在“PLC>实时时钟...”下的 Micro/WIN 设定当前日期以及当前的 UTC 时间。夏令时选择“不更改”。

注意:

如控制器由网络控制,或存在一个比 CPU 实时时钟更可靠的时间源,您可以在适当的间隔通过执行“设置实时时钟”(SET_RTC)操作来同步时间。

利用 GPS 接收器:

一种很方便的时间控制的方式是将 GPS 接收器连接到 CPU。这就省去了通过其他方式对时间的同步或调整。此外,可获知经度与纬度度数。 关于如何将 GPS 接收器连接到

S7-200 控制器,满足的条件以及可用的软件块等信息可查询条目 ID 26311405 。还请注意以下关于 GPS 块与百叶窗控制器块之间的接口:

• 在子程序 "shutter_control" 中两次调用了块 "SunPos_Calculation",每次调用都要将参数“Time_Source”设置为 TRUE。这样就使 CPU 实时时钟从天文运算法中分离出来。

• GPS 功能块 GPS_NMEA_UTC_Time 的输出是字节格式,需要将这些日期和时间的成分(年,月,日,小时,分钟,秒)转换为 BCD 格式(二进制编码的十进制),也就是变量库函数 "SunVector_2015(v1.2)" 存储区中的

year_BCD,month_BCD,day_BCD,hour_BCD,minute_BCD 和

second_BCD。

• 将“shutter_cuntrol”块的输入参数“经度”和“纬度”(REAL)连接到 GPS 块

GPS_NMEA_POS 相应的输出参数。 在此处对格式做必要的更改。注意方向

N(北)和 E(东)为正,S(南)与 W (西)为负。

下载:

以下 ZIP 文件包含了执行天文算法的库函数 "sunvector_2015_" 和例程项目"shutter_control_"。

shutter_ ( 44 KB )

如何使用 S7-200 计算大于 16 位的值?

显示订货号

描述:

S7-200 提供集成于 STEP 7-Micro/WIN 的 16 位计数功能块,以及 32 位的高速位计数器。

下面的所附的 "Counter_DINT" library 可以用于计算大于 16 位的循环计数。

这个库包含了与集成的 16 位计数功能块相同的块,虽然在双字格式中有附加的溢出输出。

图. 01

"Counter_DINT" 运行库在全局变量存储区中占用一个字节。

在 STEP 7-Micro/WIN via "File" > "" 中输入一个地址,在这个范围可以用于库的变量存储。

图. 02

CTU_DI

当有一个加计数输入 (CU) 的上升沿时,32 位的计数器 (CTU_DI) 从当前值开始加计数。如果当前值 (CV) 大于或者等于预设值 (PV),那么计数器位 (Q) 被激活。如果复位输入被激活,那么计数器复位。如果达到最大值 (2,147,483,647) ,计数器停止计数。对于最大值一旦

(CU) 进一步得到计数脉冲,最大溢出位被激活。这个位也是通过复位输入进行复位。

图. 03

配置 "CTU_DI" 块

标志

EN

CU

RESET

PV

CV

MAX

Q

表 01

CTD_DI

变量类型

IN

IN

IN

IN

IN_OUT

IN_OUT

OUT

数据类型

BOOL

BOOL

BOOL

DINT

DINT

BOOL

BOOL

注释

激活 "CTU_DI" 块

加计数输入 (上升沿)

复位输入

预设值

当前计数值

溢出显示

计数器位 ("CTD_DI" 块输出)

当在 CD 输入有上升沿时,32 位的计数器 (CTU_DI) 从当前计算值开始减计数。如果当前值

(CV) 等于零,计数器位 (Q) 被接通。如果装载输入被接通,计数器复位计数位 (Q),并且装载预设值 (PV) 到当前值 (CV)。当达到零时,减计数器停止计数。一旦计数器达到零进一步脉冲计数 (CD) ,最小溢出位被激活。这个位也是通过负载输入进行复位。

图. 04

配置 "CTD_DI" 块

标志

EN

CD

LOAD

变量类型

IN

IN

IN

数据类型

BOOL

BOOL

BOOL

注释

激活 "CTD_DI" 块

减计数输入 (上升沿)

负载输入

PV

CV

MIN

Q

表 02

CTUD_DI

IN

IN_OUT

IN_OUT

OUT

DINT

DINT

BOOL

BOOL

预设值

当前计数值

溢出显示

计数器位("CTD_DI"块输出)

当加计数输入 (CU) 有上升沿时,32 位的运行加减计数器 (CTU_DI) 向上计数;当在减计数输入 (CD) 有上升沿时,向下计数。当前值保存在参数 CV 中。每次运行时,预设值 PV 与当前值进行比较。如果达到最大值 (2,147,483,647),在加计数输入的下一个上升沿导致计数器转向并且又从最小值 (2,147,483,648) 开始计算。如果达到最小值 (-2,147,483,648) ,在减计数输入的下一个上升沿计数器转向并且继续从最大值 (2,147,483,647) 开始计算。不论哪种情况,都设置溢出位 OV 。如果当前值 CV 大于或者等于预设值 PV,计数器位 Q 被激活。在其它任何情况下,计数器位被断开。如果复位输入被激活,计数器 CV 和 溢出位 OV 被复位。

图. 05

配置 "CTUD_DI" 块

标志

EN

CU

变量类型

IN

IN

数据类型

BOOL

BOOL

注释

激活 "CTUD_DI" 块

加计数输入 (上升沿)

CD

RESET

PV

CV

OV

Q

表 03

下载:

IN

IN

IN

IN_OUT

IN_OUT

OUT

BOOL

BOOL

DINT

DINT

BOOL

BOOL

减计数输入 (上升沿)

复位输入

预设值

当前计数值

溢出显示

计数器位 ("CTUD_DI" 块输出)

"Counter_" 下载包括如下文件:

文件

"counter_" 库

描述

- 包含 32 位的计数位 "CTU_DI", "CTD_DI" 和 "CTUD_DI"

"Counter_" 项目 - 本常问问题的项目案例

Counter_ ( 9 KB )

如何使用 S7-200 本体脉冲输出实现伺服驱动轴的定位功能?

显示订货号

指导:

指令库 “ MAP SERV Q0.0 ” 和 “ MAP SERV Q0.1 ”(MAP SERV = Micro Automation

Positioning SERVo) 能够用 S7-200 CPU 的脉冲输出点 A0.0 (Q0.0) 和 A0.1 (Q0.1) 支持伺服驱动的轴定位功能。

如果在一个 S7-200 项目中同时使用两个指令库,就可以在一个控制器上控制两个轴。

下载:

可下载的文件 “ SERV_MAP_ ” 包括指令库的说明,以及英文的例子程序 “ MAP SERV

”; ZIP 文件 “ MAP_ ” 包括指令库 “ map serv ” 和 “ map serv

”,以及 “ MAP SERV Q0.0 ” 的应用例程 “ MAP SERV ”。

版本更新

当前库版本1.8包括以下改变:

为“ Q0_x_MoveVelocity ”优化了限位功能

激活参数 “ Disable_Auto_Stop ”

在寻找参考点“ Q0_x_Home ”过程中优化“ Q0_x_Stop ”停止性能 。

下表列出了带有 24 V DC A0.0 和 A0.1 输出的S7-200 CPUs 的最大脉冲输出频率:

CPU

221

222

224

224XP

226

表 01

脉冲频率(最大值) [kHz]

20

20

20

100

20

MAP SERV_ ( 1376 KB )

MAP ( 52 KB )

怎样使用 TD 200 或 TD 200C 来显示棒图?

显示订货号

说明:

文本显示器 200 和 200C 支持棒图字符集。

图 01

使用 STEP 7 Micro/WIN 中的文本显示向导和 "TD200 Bar" 库指令,可以生成使棒图能够显示到文本显示器上的 ASCII 码值, 此

ASCII 码值通过一个整型变量以字节为单位产生 ( 见图 01 )。

1. “TD200 Bar” 库指令集

图 02

此库指令集包含以下功能块:

Bar_V2_1_ae

Bar_V3_CV1

Counter

在本文配置说明部分将对这些块指令和文本显示向导一同加以详细解释。

配置说明被分为以下两个部分:

配置 TD 200 V2.1 和更早的版本

配置 TD 200 V3.0 或 TD 200C 1.0

2. 配置 TD 200 使其显示棒图

使用提供的 PPI 电缆将 TD 200 连接到您的 S7-200 CPU 的 Port 0,并将 Port 1 连接到您的电脑。运行 MicroWin。

序号 描述

1

2

3

在 “工具” 菜单下打开 “文本显示向导”。

点击 “下一步” 来跳过 “简介” 页。

选择您的文本显示器的型号和版本。

Fig. 03

表 01

2.1 配置 TD 200 V2.1 和更早的版本

按照以下步骤将配置 TD 200 V2.1 或更早版本显示棒图。

序号

1 在 “本地化显示” 对话框选择您要使用的语言,并选择 “棒图” 作为支持的语言集。 点击

“下一步”确认。

描述

图 04

2

3

根据您的要求设置 “标准菜单和密码” 窗口,点击 “下一步”。

在菜单项 “功能键和更新速率” 中将更新速率设定为 “尽可能快”,然后点击 “下一步” 确认。

4

5

在 “报警选项” 菜单中选择 “40个字符信息格式” 并点击 “下一步”。

在菜单项 “分配存储区” 中设置参数块的起始地址,使能位和消息内容。

重要提示:

请注意并记住参数块的起始地址!

点击 “下一步”。

图 05

6 在 “报警” 菜单中 TD 200 底部定义 “嵌入数据”,选择数据格式 “字”以显示整型变量,选择所需的显示格式,点击 “OK” 确认并点击 “下一步 >”。

图 06

7 在菜单项 “项目组件” 中,点击 “完成” 以完成 “文本显示向导”,并点击 “ Yes ” 确定完成。

8 在 STEP 7 Micro/WIN 中打开向导生成的数据块 “ TD_DATA_x ” 并找到嵌入数据的存储地址 (这里为 VW62)。

图 07

9 在您项目的 “主程序” 中调用库指令 “ Bar_V2_1ae ” (用来在2.1及更早版本的 TD 200

上显示棒图并输出 “ IN ”参数)。

将参数块的起始字节地址指针值赋给输入参数 “ PAR_BLOCK ”(这里为 &VB0 )。

将嵌入数据的起始字节地址指针值赋给输入参数 “ DATA_ADDR ”(这里为

&VB62 )。

图 08

表 02

库指令集 “ Bar_V2_1_ae ”

表 03 中列出了库功能块 “ Bar_V2_1ae ” 的参数说明:

符号

IN

HI_LIM

PAR_BLOCK

DATA_ADDR

表 03

2.2 配置 TD 200 V3.0 或 TD 200C 1.0

按照以下步骤将配置 TD 200 V3.0 或 TD 200C V1.0 显示棒图。

序描述

1 在菜单项 “标准菜单和更新速率” 中将更新速率设定为 “尽可能快”,然后点击 “下一步” 确认。

2 在 “本地化显示” 对话框选择您要使用的语言,并选择 “棒图” 作为支持的语言集, 点击

“下一步”确认。

变量类型

IN

IN

IN

IN

数据类型

INT

INT

DINT

DINT

注释

计数值

最大值

参数块起始地址的指针

嵌入数据起始地址的指针

取值范围

0 - HI_LIM

1 - 65.535

&VBx

&VBx

图 09

3 选择所需的按键配置并点击 “ OK ”。

4 在 “ TD 配置完成 ” 窗口切换至 “ 用户菜单”。

5 点击 “ 下一步 >” 以跳过菜单简介页面。

6 现在您进入 “ 定义用户菜单 ” 窗口。 在输入框内输入一个菜单名以添加一个菜单项 ( 这里为 “ Bar Graph ”)。添加一个屏幕并点击 “ Yes ”确认。

图. 10

7 在菜单项 “ x ” 的屏幕窗口将光标移动至 TD 首行的末尾并插入一个地址为 “ VBx ” 的

PLC 数据 (这里为 “ VB220 ”)并将 “数据格式” 设定为 “ 字符串”。

注:

如果您想同时在 TD 上显示一个整型变量,您可以在第二行插入一个对应整型变量存储地址的 PLC 数据,并将数据类型定义为 “ 数字 ”。

点击两次 “ OK ”来确认这一操作,然后点击 “ 下一步 > ”。

2024年2月23日发(作者:辉琼芳)

在STEP 7 Micro/WIN中,如何评价主程序或子程序中过多的的上升沿和下降沿?

描述:

使用以下库可以实现过多的边沿评价。通常CPU仅支持256个边沿评价 - 见条目号:8804150。本程序例程也可以用于子程序中。通常CPU不支持此程序例程 - 见条目号:7115899。

这个库包含两个例行程序:分别适用于上升沿和下降沿。

图1:库文件夹

上升沿

图2:上升沿子程序调用

参数

EN

Input

变量类型

BOOL

BOOL

说明

必须始终高(1)

信号输入,当发生(0 -> 1)改变时,激 活输出1个循环周期.

Memory

Output

BOOL

BOOL

临时存储区

信号输出

表1:上升沿的参数说明

功能:

如果信号输入(input)的状态发生变化0 -> 1(上升沿),那么信号输出(output)将被置位一个循环周期。

存储位保留该状态。为了识别另一个边沿,信号输入(input)必须运行一个零循环。这样存储位将被复位。

图3:上升沿的时序图

下降沿

图4:下降沿子程序调用

参数

EN

Input

变量类型

BOOL

BOOL

说明

必须始终高(1)

信号输入,当发生(0 -> 1)改变时,激活输出1个循环周期

Memory

Output

BOOL

BOOL

临时存储区

信号输出

表2:下降沿的参数说明

功能:

如果信号输入 (input) 的状态发生1 -> 0 (下降沿)变化,那么信号输出 (output) 将被置位一个循环周期.

存储位保留该状态。为了识别另一个边沿,信号输入 (input) 必须被复位为 High 1个循环周期。这样存储位将被复位。

图5:下降沿的时序图

上升沿与下降沿(块: Edge_detect)

图6:子程序调用块Edge_detect

参数

EN

IN

变量类型

[BOOL]

[BOOL]

说明

使能: 使能功能,必须一直为TRUE (1)

信号输入,在上升沿(0->1)或下降沿(1->0),将被设置为“ OUT”一个循环周期。

Memory

OUT

[BOOL]

[BOOL]

临时存储区

信号输出

表3:Edge_detect的参数

功能:

如果信号输入“IN”出现上升沿(0->1)或下降沿 (1->0)变化,那么信号输出“OUT2”将被置位一个循环周期。存储位保存“IN”信号的当前状态。

图7:Edge_detect 信号图

STEP 7 Micro/WIN库的存档文件:

把“rising_falling_” 文件复制到一个单独的文件夹,然后双击启动该文件。解包 STEP

7 Micro/WIN 库。然后可以集成这个库到 S7-200 项目中,可以在 STEP 7 Micro/WIN的3.2.4.27 以及更高版本中使用这个库。下载包含两个子程序。

注意事项:

• 关于在 STEP 7 Micro/WIN 中插入库的信息,可以在条目号:16689345 处找到。

rising_falling_ ( 30 KB )

下面的 Clock_Integer 库可以自动将传输值从十进制转换为 BCD 格式,反之也可以从 BCD 格式转换成十进制。然后执行相应的时间操作 READ_RTC或SET_RTC。这样当传输值用操作面板或程序的十进制格式保存时,便于时间函数的处理 (READ_RTC和SET_RTC)。

注意事项:

在条目号:16689345中可以找到关于将库插入 STEP 7 Micro/WIN 中的信息。

图1: Clock_Integer库

库的全局存储区

库使用全局存储区来保证传输的用户数据的一致性。从 库中将其中一个函数 (READ_RTC_I或SET_RTC_I)插入到STEP 7 Micro/Win 项目,然后选中 STEP 7 Micro/Win 菜单“文件”中的条目“Library Memory Allocation (分配库内存)”。系统会提供一个地址区,或者您也可以自己选择一个地址区。该库需要8个字节。

图2:库存储区

从CPU中读取时间(READ_RTC_I)

图3:函数“READ_RTC_I”

函数“READ_RTC_I”的参数

参数

EN

变量类型

[BOOL]

说明

激活块

如有需要时才激活块,这样能减轻CPU负担

地址 [DWORD] 用于保存读取的时间值的地址

从该偏移量地址开始为其分配8个字节。

表1:函数“READ_RTC_I”的参数

功能:

如果激活输入信号“EN”,该块读取当前时间,将 所读取的BCD值转换成十进制值,并保存在从给定偏移量地址开始的地址中。

在CPU中设置时间(SET_RTC_I)

图4:函数“SET_RTC_I”

函数“SET_RTC_I”的参数

参数

EN

变量类型

[BOOL]

说明

激活块

只有在需要时才激活该块,这样能减轻CPU负担。

地址 [DWORD] 存储用户时间数据的地址,该块读取从该偏移量地址开始的8个字节。

表2:参数“SET_RTC_I”

功能:

如果激活输入信号(EN),该块读取所存储的用户数据,将 它们转换成BCD格式并以该格式来设置CPU时钟.

以十进制格式读取CPU时钟的实例:

如果激活V50.0,就读取时间。所读取的数据以十进制格式存储在VB10开始的地址中。

图5:“READ_RTC_I”实例

在状态表中检查数值:

该数值以十进制格式存放在时间函数所用的结构中。

时间函数的存储区结构(READ_RTC, SET_RTC):

VB10 = 年份

VB11 = 月份

VB12 = 日期

VB13 = 小时

VB14 = 分钟

VB15 = 秒钟

VB16 = 保留

VB17 = 星期

图6:时间值的状态表

注意事项:

CPU 221和CPU 222不包含集成的时钟,所以需要CC292模块。

将STEP 7 Micro/WIN库作为档案库文件:

将文件clock_复制到一个独立目录中并双击启动它。将STEP 7 Micro/WIN库进行解包,可以把该库加到S7-200项目中。该库适用于STEP 7 Micro/WIN 3.2.4.27以及更高版本。

Clock_ ( 31 KB )

如何使用 STEP 7 - Micro / WIN 中附加的逻辑运算符 (NEG, NAND, NOR, NXOR)?

描述:

下面我们将对这些未作为标准运算符包含在编程软件 STEP 7 - Micro / WIN

中的运算符进行描述。

在条目的末尾,有一个包含了这些运算符的文件,可以将其作为库集成到

STEP 7 - Micro / WIN 软件中。

此条目描述了运算符 NEG、NAND、NOR 和 NXOR。

• NEG

NEG 运算符提供了一个数字的二进制补码,作为返回值。二进制补码格式对应改变符号的数字,或者是数字乘以“-1”。

图 1:NEG 运算符

图 2:NEG 运算符实例

• NAND

NAND 运算符是 AND 运算符的配对运算符。NAND (非-AND) 的输出仅在所有输入都

具有状态 1 (即闭合状态) 时才会具有状态 0。

x

0

1

0

1

y

0

0

1

1

结果

1

1

1

0

表 1:NAND 的布尔代数

图 3:NAND 运算符

图 4:NAND 运算符实例

• NOR

NOR 运算符是 OR 运算符的配对运算符。NOR (非-OR) 的输出仅在所有输入都具有

状态 0 (即断开状态) 时才会具有状态 1。只要其中一个输入接通 (状态 1),输出就会断开。

x

0

1

0

1

y

0

0

1

1

结果

1

0

0

0

表 2:NOR 的布尔代数

图 5:NOR 运算符

图 6:NOR 运算符实例

• NXOR

NXOR 运算符是 XOR 运算符的配对运算符。当输入具有不同状态值时,NXOR 的输出具有状态 0。

x

0

1

0

1

y

0

0

1

1

结果

1

0

0

1

表 3:XNOR 的布尔代数

图 7:NXOR 运算符

图 8:NXOR 运算符实例

运算符

NEG_B

NAND_B

NOR_B

NXOR_B

参数

IN

变量类型

BYTE

可用的存储器类型

VB、EB、AB、MB、SB、SMB、LB、AC、常数、*VD、*AC、*LD

OUT BYTE

VB、EB、AB、MB、SB、SMB、LB、AC、*VD、*AC、*LD

NEG_W

NAND_W

NOR_W

NXOR_W

IN WORD

VW、EW、AW、MW、SW、SMW、T、Z、AEW、LW、AC、常数、*VD、*AC、*LD

OUT WORD

VW、EW、AW、MW,SW、SMW、T、Z、LW、AC、*VD、*AC、*LD

NEG_DW

NAND_DW

NOR_DW

NXOR_DW

IN DWORD

VD、ED、AD、MD、SD、SMD、LD、AC、HC、常数、*VD、*AC、*LD

OUT DWORD

VD、ED、AD、MD、SD、SMD、LD、AC、*VD、*AC、*LD

表 4:操作符参数

使用下列库,您可以使用列出的操作符来访问类型为 BYTE、WORD 和 DWORD

的数据。

在S7-200中如何限制阶跃的坡度?

显示订货号

描述:

可以使用此FAQ的附件"Ramp" library ,在S7-200中限制浮点变量值的变化。 根据输入参数"IN", "RAMP" 块计算最大变化率限制在"MAX_VARIATION"个单位每秒的输出参数"OUT" 的输出值。

图 01

输入参数"IN"管脚如果有正向或负向的阶越,那么输出参数"OUT"管脚会紧跟着一个正向或负向的斜坡输出,此斜坡的变化率被限制在"MAX_VARIATION" 每秒。

"RAMP" 块的输入输出接口

符号

EN

IN

变量类型 数据类型 说明

IN

IN

BOOL

REAL

"RAMP" 块的使能端

输入值

输出值的每秒最大变化量(负值取反为正值)

输出值

MAX_VARIATION IN_OUT REAL

OUT IN_OUT REAL

表 01

将"Ramp"库加入STEP 7 Micro/WIN后,可在程序中调用 "RAMP" 块。

图 02

下载:

下载压缩包 "" 包含以下文件:

文件

"" 库

"" 项目

描述

- 包含 "RAMP" 块

- 本 FAQ的例子项目

( 5 KB )

图 9:库文件夹

以归档文件形式提供的 STEP 7 Micro/WIN 库:

将“logical_”文件复制到单独的目录内,然后双击运行该文件。STEP 7 Micro/WIN 库将解包。然后便可以集成该库;在版本 V3.2.4.27

及更高版本的 STEP 7 Micro/WIN 中,可以将该库用于 S7-200 项目。

注意:

关于在 STEP 7 Micro/WIN 中插入库的信息,可以在条目号 16689345 中找到。

logical_ ( 64 KB )

在STEP 7 - Micro / WIN 如何实现取模功能?

显示订货号

描述:

取模运算符在整数除法运算中给出了余数。

实例:

6 Mod 2 = 0 --> 6 / 2 = 3;无余数

11 Mod 4 = 3 --> 11 / 4 = 2,余数为 3;

通过取模功能,可以检查一个数是否可以被另一个数整除 - 取模运算中结果是否为 0。

取模运算符通常在高级编程语言中使用,例如 C、Basic、Java 等等。但是它主要用作除法器,仅用于在特定周期执行特定函数或切换特定函数 (在循环中)。

实例:

FOR x=1 TO 20

IF x MOD 2 = 0 THEN CALL Anything

NEXT

在此实例中,一个循环执行二十次,此外每第二个周期额外调用一次子程序 (功能)

“Anything”。

使用取模库的 STEP 7 - Micro / WIN 等价程序如实例 1 所示。

库中的每个取模块除了提供除法的余数外,还提供了一个输出位,它能立即表明是否存在除法余数。这样就节省了随后必须将除法余数与零相比较所需要的运算,并且节省了程序存储器中的空间。您需要做的所有工作仅仅是评估输出位 DWR (无余数的除法运算)。

参数说明:

图 1:字节的取模块

参数

EN

变量类型

BOOL

说明

执行块

E、A、M、SM、T、C、V、S、L

IN1 BYTE 输入值

VB、EB、AB、MB、SB、SMB、LB、AC、常数、*VD、*AC、*LD

IN2 BYTE 除数

VB、EB、AB、MB、SB、SMB、LB、AC、常数、*VD、*AC、*LD

DWR BOOL 输出位

1 (高) = 除法运算无余数;

0 (低) = 除法运算有余数,

A, M, V, L, SM

OUT BYTE 除法运算余数

VB、EB、AB、MB、SB、SMB、LB、AC、*VD、*AC、*LD

表 1:Modulo_B 的块参数

图 2:字的取模块

参数

EN

变量类型

BOOL

说明

执行块

E、A、M、SM、T、C、V、S、L

IN1 WORD 输入值

VW、EW、AW、MW、SW、SMW、T、C、AC、LW、AEW、常数、*VD、*LD、*AC

IN2 WORD 除数

VW、EW、AW、MW、SW、SMW、T、C、AC、LW、AEW、常数、*VD、*LD、*AC

DWR BOOL 输出位

1 (高) = 除法运算无余数;

0 (低) = 除法运算有余数,

A, M, V, L, SM

OUT WORD 除法运算余数

VW、EW、AW、MW、SW、SMW、LW、AC、*VD、*LD、*AC

表 2:Modulo_W 的块参数

图 3:双字的取模块

参数

EN

变量类型

BOOL

说明

执行块

E、A、M、SM、T、C、V、S、L

IN1 DWORD 输入值

VD、ED、AD、MD、SMD、SD、LD、AC、HC、常数、*VD、*LD、*AC

IN2 DWORD 除数

VD、ED、AD、MD、SMD、SD、LD、AC、HC、常数、*VD、*LD、*AC

DWR BOOL 输出位

1 (高) = 除法运算无余数;0 (低) = 除法运算有余数,

A、M、V、L、SM

OUT DWORD 除法运算余数

VD、ED、AD、MD、SMD、SD、LD、AC、*VD、*LD、*AC

表 3:Modulo_DW 的块参数

下面是两个如何实现取模块的实例。可以在这些块的注释中找到相关说明。

实例 1 - 程序循环

For..Next 循环运行二十次。每第二个周期临时变量“Indirect_Address”的数值增加 4。如果没有除法运算余数,位 V10.0 始终为高 (1),(即,在第 2 个、第 4 个、第 6 个、第 8 个、第 10

个周期内,如此等等)。

循环计数器 VW0 在 FOR 命令的每个周期末尾自动增加 1 (关于此命令的更多信息可以在

STEP 7 - Micro / WIN 帮助中找到)。

图 4:程序周期实例

实例 2 - 时钟发生器

MOD_B (IN2) 的除数在此实例中已经保持为变量 (VB1)。子程序 SBR_0 每三个周期执行一

次。

周期计数器 VB0 始终在程序段 3 中复位,否则可能会达到 (超过) 最大值范围,此时将会重新从零开始。在零周期内可能会发生偏离,子程序不是严格在第三个周期内调用。

图 5:时钟发生器实例

通过下列库,您还可以在 STEP 7 - Micro / WIN 中使用取模运算符。

该库为每种变量访问宽度 (字节、字、双字) 各提供了一个独立的程序例程。

图 6:库文件夹

以归档文件形式提供的 STEP 7 Micro/WIN 库:

将“”文件复制到单独的目录内,然后双击启动该文件。STEP 7 Micro/WIN 库将解包。然后便可以集成该库;在版本 V3.2.4.27 及更高版本的 STEP 7 Micro/WIN 中,可以将该库用于 S7-200 项目。

注意:

关于在 STEP 7 Micro/WIN 中插入库的信息,可以在条目号 16689345 中找到。

( 64 KB )

如何在 STEP 7 Micro/WIN 中实现 LOGO! 脉冲继电器功能 ?

显示订货号

描述:

本条目提供了一个包含有脉冲继电器功能的 STEP 7 Micro/WIN 库。

脉冲继电器(功能块: Pulse_Relay)

图1:Pulse_Relay功能块

参数

EN

Input

Set

Reset

Memory

Output

变量类型

[BOOL]

[BOOL]

[BOOL]

[BOOL]

[BOOL]

[BOOL]

解释

使能:允许使用该功能块,必须始终为TRUE (1)

信号输入,上升沿(0->1)触发输出置位或者复位

置位输出,无论当前是什么状态

复位输出,无论当前是什么状态

临时存储

信号输出

表1:Pulse_Relay 的参数

功能:

如果信号输入“Input” 有 0->1 的变化边沿(上升沿)发生,如果信号输出“Output” 在低电平,那么将被置位,如果在高电平,那么将被复位。

图2:Pulse_Relay信号图

将 STEP 7 Micro/WIN 库作为归档文件:

将“logo_” 文件拷贝到一个独立子文件夹中,然后双击打开它,就可以解压

STEP 7 Micro/WIN 库。然后就可将用于 STEP 7 Micro/WIN的V3.2.4.27 以及更高版本的库文件整合到 S7-200 项目上去。

注意事项:

• 向 STEP 7 Micro/WIN 中增加库文件的相关信息可以在条目 ID:16689345 中获得。

logo_ ( 29 KB )

虽然浮点数在状态上相等,但为什么在“比较实数是否相等”运算中却检测到存在差异?

显示订货号

描述:

对于“比较实数是否相等”的比较运算,由过程运算提供的实数类型的数值非常不精确。由于实数存在修正的误差,故不推荐使用此数据格式进行“相等”比较。

浮点数 (或实数) 由一个 32 位的单精度数表示,而访问时使用双字格式。在 S7-200 中,实数精确到 6 个小数位。

当使用包括较大数和很小数的一系列数值来计算实数时,可能会出现不精确的结果。当在状态表中查看实数时,相同的实数可能有不同的二进制表示。

因此我们推荐不要使用“LDR=”函数,而是使用“LDR<=”和“LDR>=”这两个函数来进行比较运

算。这为你提供一个数值比较的比较框架。

以归档文件形式提供的 STEP 7 Micro/WIN 库:

将“real_compare”文件复制到单独的目录内,然后双击启动该文件。将 STEP 7 Micro/WIN 库解包。然后便可以集成该库,在版本 V3.2.4.27 及更高的 STEP 7 Micro/WIN 中,可以将该库用于 S7-200 项目。

注意:

• 关于在 STEP 7 Micro/WIN 中插入库的信息,可以在条目号 16689345 中找到。

real_compare ( 64 KB )

怎样在STEP 7 Micro/WIN 中相互转换二进制码和格雷码?

显示订货号说明

STEP 7 - Micro/WIN 的标准库中不包含格雷码转换。使用下载的附件可以转换成8位、16位和32位二进制数。

格雷码指令库的描述

"" 指令库包括用于字节、字和双字格式的编码和解码的功能块。

图 1

从二进制码转换到格雷码(BIN_GRAY)

功能块 BIN_GRAY_B、BIN_GRAY_W 和 BIN_GRAY_DW 把输入的字节、字和双字类型的二进制码编码成格雷码。

图 2

功能

BIN_GRAY_B

参数 数据类型 操作数

IN [BYTE] VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *LD,

*AC

OUT [BYTE]

BIN_GRAY_W IN

VB, IB, QB, MB, SB, SMB, LB, AC, *VD, *LD, *AC

[WORD] VW, IW, QW, MW, SW, SMW, LW, T, Z, AEW,

Constant, AC, *VD, *AC, *LD

OUT [WORD] VW, IW, QW, MW, SW, SMW, LW, T, Z, AC, *VD, *AC,

*LD

BIN_GRAY_DW IN [DWORD] VD, ID, QD, MD, SD, SMD, LD, AC, HC, Constant, *VD,

*LD, *AC

OUT [DWORD] VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *LD, *AC

表 1

从格雷码转换到二进制码(GRAY_BIN)

功能块 GRAY_BIN_B、GRAY_BIN_W 和 GRAY_BIN_DW 把输入的格雷码解码成字节、字和双字类型的二进制码。

图 3

功能

GRAY_BIN_B

参数 数据类型 操作数

IN [BYTE] VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *LD,

*AC

OUT [BYTE]

GRAY_BIN_W IN

VB, IB, QB, MB, SB, SMB, LB, AC, *VD, *LD, *AC

[WORD] VW, IW, QW, MW, SW, SMW, LW, T, Z, AEW,

Constant, AC, *VD, *AC, *LD

OUT [WORD] VW, IW, QW, MW, SW, SMW, LW, T, Z, AC, *VD, *AC,

*LD

GRAY_BIN_DW IN [DWORD] VD, ID, QD, MD, SD, SMD, LD, AC, HC, Constant, *VD,

*LD, *AC

OUT [DWORD] VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *LD, *AC

表 2

定义范围

没有使用范围的限制,因为此转换是针对二进制和所有最终被解析为二进制的数据(十进制、十六进制和有符号数)。

将格雷码转换为二进制码的附加功能

子程序 GRAY_BIN 和 XOR 用来将格雷码解码为二进制代码。

STEP 7 Micro/WIN 库是 zip 文件

复制 "" 文件到单独的目录并解压缩这个文件。您可以添加这个 ""

库指令到 S7-200项目,这个库指令可用于 V3.2.4.27 和更高版本的 STEP 7 Micro/WIN 中。

注意

• 这些格雷码编码和解码块不能用于连接串行 SSI 编码器,因为这些编码器需要通信速率大于 187.5 K bit/s 并且需要两对电缆( 用于时钟和数据 )因此不能连接到 S7-200

CPU 的通信接口。

关于更多格雷码(变量表、译码规则)信息可查看

进入 ID: 25629271

添加库到 STEP 7 Micro/WIN 中的信息可查看

进入 ID:16689345

( 3 KB )

如果不使用感光开关,如何使用 S7-200 控制百叶窗日出而开,日落而关?

显示订货号

使用说明:

光感开关通常用于确定对百叶窗控制的早晚的开关点。 如您希望使用 SIMATIC S7-200 来控制百叶窗,可以采用一种天文算法来决定日出和日落的时间,这种运算法可以作为一个 STEP

7 Micro/WIN 库函数供您使用。只需指定相关位置的经度和纬度坐标作为参数,并将 CPU 时钟设置为 UTC 时间。 此外,也可对比运算法则中光感应时间调整百叶窗的开关时间。例如,将百叶窗设定在日出前 10 分钟开,在日落后 5 分钟关。 一旦参数设定后,控制器就开始运行且没有任何临时重新调整。同时它不受夏令时变化的影响。以下表格通过事例说明它是如何运作的。

No. 步骤

1 打开 "shutter_" 程序。

这里提供的库文件 "sunvector_2015_" 实现了这种天文算法,它已经集成在了该项目中,并占用了存储区 VB0 到 VB49。 根据需要在菜单"File > "改变内存区。 只需 mwl 库文件本身就可添加程序。

2 在程序编辑器中进入到主程序(MAIN)。

网络 1 显示的是“shutter_control” 子程序调用。该程序执行了天文算法。子程序“shutter_cuntrol”会在日出时在输出位“open_shutter”, 日落时在输出位“close_shutter”输出一个只持续一个周期的脉冲。您可以通过修改该子程序的输入参数来满足特定的需要。

图1:子程序“shutter_control”

Longitude:

经度度数(如,11° 04' 01'' = 11.0669444°);

格林威治东部 = 正,格林威治西部 = 负;

Latitude:

纬度度数(如,49° 26' 16'' = 49.4377778°);

赤道以北 = 正,赤道以南 = 负;

Up_offset:

与算法计算出的日出时间做比较,用来调整百叶窗打开状态的以分钟为单位的时间偏

差。如该值是正,百叶窗较早打开,反之则较后。

Down_offset:

与算法计算出的日出时间做比较,用来调整百叶窗打开状态的以分钟为单位的时间偏差。如该值是正,百叶窗较早关闭,反之则较后。

open_man:

手动打开百叶窗的位输入。一个上升沿输入可以在输出位“open_shutter”生成一个周期脉冲信号。例如您可以为其组态一个按钮,或利用该参数来使能打开百叶窗的另一个条件。

close_man:

手动关闭百叶窗的位输入。一个上升沿输入可以在输出位“close_shutter”生成一个周期脉冲信号。例如您可以为其组态一个按钮,或利用该参数来使能关闭百叶窗的另一个条件。

open_shutter:

日出时打开百叶窗的周期脉冲。

close_shutter:

日落时关闭百叶窗的周期脉冲。

3 调整“百叶窗_控制”子程序的输出参数以满足百叶窗的控制条件。

网络 2 和网络 3 主程序中提供了2种方式:

网络2 (静态输出信号):

位输出 "move_up:A0.0" 设定于日出与日落之间。

位输出 "move_down:A0.1" 设定于日落与日出之间。

网络3 (输出脉冲):

位输出 "move_up:A0.0" 在日出时设定1秒钟。

位输出 "move_down:A0.1" 在日落时设定1秒钟。

保留其中可以满足您控制要求的方法,删除不想用的方法。

按需求更改输出位地址。

4 将控制器设定为 UTC 时间。UTC 时间(协调世界时)是与当地时间相对的有效的全世界的时间,而当地时间只在区域限定的时区内有效。如,UTC+1 为欧洲中部时间,UTC+2 为欧洲中部夏令时间 (CEST)。当前 UTC 时间可通过互联网查找(如 /)。 时间控制法有两种。

利用 CPU 实时时钟:

在“PLC>实时时钟...”下的 Micro/WIN 设定当前日期以及当前的 UTC 时间。夏令时选择“不更改”。

注意:

如控制器由网络控制,或存在一个比 CPU 实时时钟更可靠的时间源,您可以在适当的间隔通过执行“设置实时时钟”(SET_RTC)操作来同步时间。

利用 GPS 接收器:

一种很方便的时间控制的方式是将 GPS 接收器连接到 CPU。这就省去了通过其他方式对时间的同步或调整。此外,可获知经度与纬度度数。 关于如何将 GPS 接收器连接到

S7-200 控制器,满足的条件以及可用的软件块等信息可查询条目 ID 26311405 。还请注意以下关于 GPS 块与百叶窗控制器块之间的接口:

• 在子程序 "shutter_control" 中两次调用了块 "SunPos_Calculation",每次调用都要将参数“Time_Source”设置为 TRUE。这样就使 CPU 实时时钟从天文运算法中分离出来。

• GPS 功能块 GPS_NMEA_UTC_Time 的输出是字节格式,需要将这些日期和时间的成分(年,月,日,小时,分钟,秒)转换为 BCD 格式(二进制编码的十进制),也就是变量库函数 "SunVector_2015(v1.2)" 存储区中的

year_BCD,month_BCD,day_BCD,hour_BCD,minute_BCD 和

second_BCD。

• 将“shutter_cuntrol”块的输入参数“经度”和“纬度”(REAL)连接到 GPS 块

GPS_NMEA_POS 相应的输出参数。 在此处对格式做必要的更改。注意方向

N(北)和 E(东)为正,S(南)与 W (西)为负。

下载:

以下 ZIP 文件包含了执行天文算法的库函数 "sunvector_2015_" 和例程项目"shutter_control_"。

shutter_ ( 44 KB )

如何使用 S7-200 计算大于 16 位的值?

显示订货号

描述:

S7-200 提供集成于 STEP 7-Micro/WIN 的 16 位计数功能块,以及 32 位的高速位计数器。

下面的所附的 "Counter_DINT" library 可以用于计算大于 16 位的循环计数。

这个库包含了与集成的 16 位计数功能块相同的块,虽然在双字格式中有附加的溢出输出。

图. 01

"Counter_DINT" 运行库在全局变量存储区中占用一个字节。

在 STEP 7-Micro/WIN via "File" > "" 中输入一个地址,在这个范围可以用于库的变量存储。

图. 02

CTU_DI

当有一个加计数输入 (CU) 的上升沿时,32 位的计数器 (CTU_DI) 从当前值开始加计数。如果当前值 (CV) 大于或者等于预设值 (PV),那么计数器位 (Q) 被激活。如果复位输入被激活,那么计数器复位。如果达到最大值 (2,147,483,647) ,计数器停止计数。对于最大值一旦

(CU) 进一步得到计数脉冲,最大溢出位被激活。这个位也是通过复位输入进行复位。

图. 03

配置 "CTU_DI" 块

标志

EN

CU

RESET

PV

CV

MAX

Q

表 01

CTD_DI

变量类型

IN

IN

IN

IN

IN_OUT

IN_OUT

OUT

数据类型

BOOL

BOOL

BOOL

DINT

DINT

BOOL

BOOL

注释

激活 "CTU_DI" 块

加计数输入 (上升沿)

复位输入

预设值

当前计数值

溢出显示

计数器位 ("CTD_DI" 块输出)

当在 CD 输入有上升沿时,32 位的计数器 (CTU_DI) 从当前计算值开始减计数。如果当前值

(CV) 等于零,计数器位 (Q) 被接通。如果装载输入被接通,计数器复位计数位 (Q),并且装载预设值 (PV) 到当前值 (CV)。当达到零时,减计数器停止计数。一旦计数器达到零进一步脉冲计数 (CD) ,最小溢出位被激活。这个位也是通过负载输入进行复位。

图. 04

配置 "CTD_DI" 块

标志

EN

CD

LOAD

变量类型

IN

IN

IN

数据类型

BOOL

BOOL

BOOL

注释

激活 "CTD_DI" 块

减计数输入 (上升沿)

负载输入

PV

CV

MIN

Q

表 02

CTUD_DI

IN

IN_OUT

IN_OUT

OUT

DINT

DINT

BOOL

BOOL

预设值

当前计数值

溢出显示

计数器位("CTD_DI"块输出)

当加计数输入 (CU) 有上升沿时,32 位的运行加减计数器 (CTU_DI) 向上计数;当在减计数输入 (CD) 有上升沿时,向下计数。当前值保存在参数 CV 中。每次运行时,预设值 PV 与当前值进行比较。如果达到最大值 (2,147,483,647),在加计数输入的下一个上升沿导致计数器转向并且又从最小值 (2,147,483,648) 开始计算。如果达到最小值 (-2,147,483,648) ,在减计数输入的下一个上升沿计数器转向并且继续从最大值 (2,147,483,647) 开始计算。不论哪种情况,都设置溢出位 OV 。如果当前值 CV 大于或者等于预设值 PV,计数器位 Q 被激活。在其它任何情况下,计数器位被断开。如果复位输入被激活,计数器 CV 和 溢出位 OV 被复位。

图. 05

配置 "CTUD_DI" 块

标志

EN

CU

变量类型

IN

IN

数据类型

BOOL

BOOL

注释

激活 "CTUD_DI" 块

加计数输入 (上升沿)

CD

RESET

PV

CV

OV

Q

表 03

下载:

IN

IN

IN

IN_OUT

IN_OUT

OUT

BOOL

BOOL

DINT

DINT

BOOL

BOOL

减计数输入 (上升沿)

复位输入

预设值

当前计数值

溢出显示

计数器位 ("CTUD_DI" 块输出)

"Counter_" 下载包括如下文件:

文件

"counter_" 库

描述

- 包含 32 位的计数位 "CTU_DI", "CTD_DI" 和 "CTUD_DI"

"Counter_" 项目 - 本常问问题的项目案例

Counter_ ( 9 KB )

如何使用 S7-200 本体脉冲输出实现伺服驱动轴的定位功能?

显示订货号

指导:

指令库 “ MAP SERV Q0.0 ” 和 “ MAP SERV Q0.1 ”(MAP SERV = Micro Automation

Positioning SERVo) 能够用 S7-200 CPU 的脉冲输出点 A0.0 (Q0.0) 和 A0.1 (Q0.1) 支持伺服驱动的轴定位功能。

如果在一个 S7-200 项目中同时使用两个指令库,就可以在一个控制器上控制两个轴。

下载:

可下载的文件 “ SERV_MAP_ ” 包括指令库的说明,以及英文的例子程序 “ MAP SERV

”; ZIP 文件 “ MAP_ ” 包括指令库 “ map serv ” 和 “ map serv

”,以及 “ MAP SERV Q0.0 ” 的应用例程 “ MAP SERV ”。

版本更新

当前库版本1.8包括以下改变:

为“ Q0_x_MoveVelocity ”优化了限位功能

激活参数 “ Disable_Auto_Stop ”

在寻找参考点“ Q0_x_Home ”过程中优化“ Q0_x_Stop ”停止性能 。

下表列出了带有 24 V DC A0.0 和 A0.1 输出的S7-200 CPUs 的最大脉冲输出频率:

CPU

221

222

224

224XP

226

表 01

脉冲频率(最大值) [kHz]

20

20

20

100

20

MAP SERV_ ( 1376 KB )

MAP ( 52 KB )

怎样使用 TD 200 或 TD 200C 来显示棒图?

显示订货号

说明:

文本显示器 200 和 200C 支持棒图字符集。

图 01

使用 STEP 7 Micro/WIN 中的文本显示向导和 "TD200 Bar" 库指令,可以生成使棒图能够显示到文本显示器上的 ASCII 码值, 此

ASCII 码值通过一个整型变量以字节为单位产生 ( 见图 01 )。

1. “TD200 Bar” 库指令集

图 02

此库指令集包含以下功能块:

Bar_V2_1_ae

Bar_V3_CV1

Counter

在本文配置说明部分将对这些块指令和文本显示向导一同加以详细解释。

配置说明被分为以下两个部分:

配置 TD 200 V2.1 和更早的版本

配置 TD 200 V3.0 或 TD 200C 1.0

2. 配置 TD 200 使其显示棒图

使用提供的 PPI 电缆将 TD 200 连接到您的 S7-200 CPU 的 Port 0,并将 Port 1 连接到您的电脑。运行 MicroWin。

序号 描述

1

2

3

在 “工具” 菜单下打开 “文本显示向导”。

点击 “下一步” 来跳过 “简介” 页。

选择您的文本显示器的型号和版本。

Fig. 03

表 01

2.1 配置 TD 200 V2.1 和更早的版本

按照以下步骤将配置 TD 200 V2.1 或更早版本显示棒图。

序号

1 在 “本地化显示” 对话框选择您要使用的语言,并选择 “棒图” 作为支持的语言集。 点击

“下一步”确认。

描述

图 04

2

3

根据您的要求设置 “标准菜单和密码” 窗口,点击 “下一步”。

在菜单项 “功能键和更新速率” 中将更新速率设定为 “尽可能快”,然后点击 “下一步” 确认。

4

5

在 “报警选项” 菜单中选择 “40个字符信息格式” 并点击 “下一步”。

在菜单项 “分配存储区” 中设置参数块的起始地址,使能位和消息内容。

重要提示:

请注意并记住参数块的起始地址!

点击 “下一步”。

图 05

6 在 “报警” 菜单中 TD 200 底部定义 “嵌入数据”,选择数据格式 “字”以显示整型变量,选择所需的显示格式,点击 “OK” 确认并点击 “下一步 >”。

图 06

7 在菜单项 “项目组件” 中,点击 “完成” 以完成 “文本显示向导”,并点击 “ Yes ” 确定完成。

8 在 STEP 7 Micro/WIN 中打开向导生成的数据块 “ TD_DATA_x ” 并找到嵌入数据的存储地址 (这里为 VW62)。

图 07

9 在您项目的 “主程序” 中调用库指令 “ Bar_V2_1ae ” (用来在2.1及更早版本的 TD 200

上显示棒图并输出 “ IN ”参数)。

将参数块的起始字节地址指针值赋给输入参数 “ PAR_BLOCK ”(这里为 &VB0 )。

将嵌入数据的起始字节地址指针值赋给输入参数 “ DATA_ADDR ”(这里为

&VB62 )。

图 08

表 02

库指令集 “ Bar_V2_1_ae ”

表 03 中列出了库功能块 “ Bar_V2_1ae ” 的参数说明:

符号

IN

HI_LIM

PAR_BLOCK

DATA_ADDR

表 03

2.2 配置 TD 200 V3.0 或 TD 200C 1.0

按照以下步骤将配置 TD 200 V3.0 或 TD 200C V1.0 显示棒图。

序描述

1 在菜单项 “标准菜单和更新速率” 中将更新速率设定为 “尽可能快”,然后点击 “下一步” 确认。

2 在 “本地化显示” 对话框选择您要使用的语言,并选择 “棒图” 作为支持的语言集, 点击

“下一步”确认。

变量类型

IN

IN

IN

IN

数据类型

INT

INT

DINT

DINT

注释

计数值

最大值

参数块起始地址的指针

嵌入数据起始地址的指针

取值范围

0 - HI_LIM

1 - 65.535

&VBx

&VBx

图 09

3 选择所需的按键配置并点击 “ OK ”。

4 在 “ TD 配置完成 ” 窗口切换至 “ 用户菜单”。

5 点击 “ 下一步 >” 以跳过菜单简介页面。

6 现在您进入 “ 定义用户菜单 ” 窗口。 在输入框内输入一个菜单名以添加一个菜单项 ( 这里为 “ Bar Graph ”)。添加一个屏幕并点击 “ Yes ”确认。

图. 10

7 在菜单项 “ x ” 的屏幕窗口将光标移动至 TD 首行的末尾并插入一个地址为 “ VBx ” 的

PLC 数据 (这里为 “ VB220 ”)并将 “数据格式” 设定为 “ 字符串”。

注:

如果您想同时在 TD 上显示一个整型变量,您可以在第二行插入一个对应整型变量存储地址的 PLC 数据,并将数据类型定义为 “ 数字 ”。

点击两次 “ OK ”来确认这一操作,然后点击 “ 下一步 > ”。

发布评论

评论列表 (0)

  1. 暂无评论