n
操作指导:
所附的下载文件“D_Count”中,通过“UP”和“DOWN”输入端的信号沿变化,实现在 -2147483648 到 +2147483647 区域之间向上计数和向下计数。“L_PRESET”输入端上的信号沿变化将预设置的“PRESET”参数值传送到“COUNT”输出端。向上计数和向下计数通过参数“UP”和“DOWN”将“COUNT”输出端输出的值相应地加“1”或减“1”。如果计数期间“COUNT”输出端的值等于或大于“COMPARE”输入端的值,则“Q_COMPARE”输出端输出信号“1”。n
图01n
应用举例:
在一个传送带上,箱子从 A 传送到 B。n
- 1 号扫描器(Scan 1)检测放到传送带上的箱子,此时通过触发输入端 E0.0,“Count”输出端的计数值增加“1”。n
- 2 号扫描器(Scan 2)检测从传递带上移走的箱子,此时通过触发输入端 E0.1,“Count”输出端的计数值减少“1”。n
- 如果箱子在传送过程中被移走或者被挑出而没有被2 号扫描器检测到,则“COUNT”输出端的值由于每个被移走的盒子而最终增加“1”。在该实例中,为“COMPARE”参数预设置了 20 个箱子的数值(图 01)。如果“COUNT”输出端的值到达 20(被移走或者丢失的箱子差值),则输出端 A0.0 的信号为“1”。
通过插件程序(未包含在下载的 FB100 中),您可以编程根据输出端 A0.0的信号将传送带停止。n
图02n
下表描述了如何对图 01 所示的功能块 FB100 编程。n
序号 | FB100 中的程序描述 |
1 |
程序段 1:
|
2 |
程序段 2:
|
3 | 程序段 3: “L_PRESET”输入端(类型:BOOL)上的一个上升沿将导致在“PRESET”(类型:DINT)和静态变量“S_COUNT”之间传送预设值。 |
4 |
程序段 4: |
5 | 程序段 5:
|
6 |
程序段 6: 通过 OB1 中的 DB 背景数据块 DB100 调用 FB100。 |
注意:
在正常的STL程序中,使用“+1”来增计数只能计到65535。“+1”命令通知编译器执行一个16位操作。可以使用“+ L#1”命令通知编译器在增计数时执行一个32位操作。这样可使程序计数到2147483647。
所附的下载文件“D_Count”中包含一个 STEP 7 项目,该项目使用了上述功能块(FB100、背景数据块 DB100 和 OB1)。
d_count.zip ( 228 KB )
将“D_Count”文件复制到一个独立的文件夹中,双击启动文件。然后 STEP 7 V5.3 项目连同所有的子文件夹便自动解压缩。您可以使用 SIMATIC 管理器打开并处理解压缩出来的项目。
可运行性和测试环境:
该例子可用于所有型号的 SIMATIC S7-300、S7-400、C7 CPU 和 WinAC。下表列出了创建本文的示例和验证上述功能所用的组件。
测试环境 | 版本 |
PC 平台 | Pentium(R) CPU 2.40 GHz |
PC 操作系统 | Windows XP SP2 |
STEP 7 | V5.3 SP3 |
S7 PLCSIM 选件包 | V5.3 |
创建本操作指导使用了软件 STEP 7 V5.3。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc333272.html