S7200库文件说明书

更新时间:2023-05-19 14:59:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

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

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

图1:库文件夹

上升沿

图2:上升沿子程序调用

表1:上升沿的参数说明 功能:

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

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

图3:上升沿的时序图 下降沿

图4:下降沿子程序调用

表2:下降沿的参数说明 功能:

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

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

图5:下降沿的时序图

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

图6:子程序调用块Edge_detect

表3:Edge_detect的参数 功能:

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

图7:Edge_detect 信号图

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

把“rising_falling_edge.exe” 文件复制到一个单独的文件夹,然后双击启动该文件。解包 STEP 7 Micro/WIN 库。然后可以集成这个库到 S7-200 项目中,可以在 STEP 7 Micro/WIN的3.2.4.27 以及更高版本中使用这个库。下载包含两个子程序。 注意事项:

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

rising_falling_edge.exe ( 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”的参数

表1:函数“READ_RTC_I”的参数

功能:

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

图4:函数“SET_RTC_I” 函数“SET_RTC_I”的参数

表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_integer.exe复制到一个独立目录中并双击启动它。将STEP 7 Micro/WIN库进行解包,可以把该库加到S7-200项目中。该库适用于STEP 7 Micro/WIN 3.2.4.27以及更高版本。

Clock_integer.exe ( 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 MAX_VARIATION OUT 表 01 将"Ramp"库加入 STEP 7 Micro/WIN 后,可在程序中调用 "RAMP" 块。 变量类型 数据类型 说明 IN IN IN_OUT IN_OUT BOOL REAL REAL REAL "RAMP" 块的使能端 输入值 输出值的每秒最大变化量(负值取反为正值) 输出值

图 02 下载: 下载压缩包 "Ramp.zip" 包含以下文件:

件 "ramp.mwl" 库 "Ramp.mwp" 项目

描述 - 包含 "RAMP" 块 - 本 FAQ 的例子项目

Ramp.zip ( 5 KB )

图 9:库文件夹

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

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

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

logical_operations.exe ( 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 - 时钟发生器

本文来源:https://www.bwwdw.com/article/jpl4.html

Top