0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于S7博途V16-SCL检测存储区的填充量示例详细讲解

机器人及PLC自动化应用 来源:CSDN技术社区 作者:weixin_39808143 2021-04-07 14:31 次阅读

检测存储区的填充量示例:

检测存储区的填充量

下图显示的系统中包含两条传送带和一个临时存储区,临时存储区位于两条传送带之间。传送带 1 将包裹传送到该存储区。传送带 1 末端靠近存储区的光电屏蔽,负责检测传送到存储区的包裹数量。传送带 2 将包裹从临时存储区域传输到装载台,包裹将在此装载到卡车上。存储区出口处的光电屏蔽,负责检测离开存储区传入装载台的包裹数量。五个指示灯用于指示临时存储区的容量。

c2aec23e-975e-11eb-8b86-12bb97331649.png

c2d6135c-975e-11eb-8b86-12bb97331649.png

c2df5a66-975e-11eb-8b86-12bb97331649.png

以下 STL 程序说明了如何实现此示例:

当一个包裹传送到存储区时,“PEB1”处的信号状态从“0”变为“1”(信号上升沿)。“PEB1”在信号上升沿时,将启用“加计数”计数器,同时“PACKAGECOUNT”的当前计数值递增 1。

当一个包裹从存储区传送到装载台,“PEB2”处的信号状态从“0”变为“1”(信号上升沿)。“PEB2”在信号上升沿时,将启用“减计数”计数器,同时“PACKAGECOUNT”的当前计数值递减 1。

只要存储区中没有包裹(“PACKAGECOUNT”=“0”),则“STOR_EMPTY”变量的信号状态置位为“1”同时点亮“存储区为空”指示灯。

“RESET”变量的信号状态置位为“1”时,会将当前计数值复位为“0”。

如果“LOAD”变量的信号状态设置为“1”,则会将当前计数值设置为“MAX STORAGE AREA FILL AMOUNT”变量的值。如果当前计数值大于或等于“MAX STORAGE AREA FILL AMOUNT”变量的值,则“STOCK_PACKAGES”变量的信号状态为“1”。

SCL:

“VOLUME_50” := 5; // 为比较值预先赋值 50 个包裹(对于测试仅使用 5 个包裹)

“VOLUME_90” := 9; // 为比较值预先赋值 90 个包裹(对于测试仅使用 9 个包裹)

“VOLUME_100” := 10; // 为比较值预先赋值 100 个包裹(对于测试仅使用 10 个包裹)

“MAX STORAGE AREA FILL AMOUNT” := 10; // 为存储区中的最大数量预先赋值 100 个包裹(对于测试仅使用 10 个包裹)

“IEC_Counter_0_DB”.CTUD(CU := “PEB1”,

CD := “PEB2”,

R := “RESET”,

LD := “LOAD”,

PV := “MAX STORAGE AREA FILL AMOUNT”,

QU =》 “STOCK_PACKAGES”,

QD =》 “STOR_EMPTY”,

CV =》 “PACKAGECOUNT”);

只要存储区中有包裹,“存储区非空”指示灯就会点亮。

SCL:

“STOR_NOT_EMPTY” := NOT “STOR_EMPTY”

如果存储区中的包裹数低于 50%,“存储区已用 50 %”、“存储区已用 90 %”和“存储区已满”报警指示灯就会熄灭。

SCL:

IF “PACKAGECOUNT” 《 “VOLUME_50” THEN

“STOR_50%_FULL” := 0;

“STOR_90%_FULL” := 0;

“STOR_FULL” := 0;

END_IF;

如果存储区中的包裹数大于或等于 50 %,则“存储区已用 50 %”指示灯将点亮。

SCL:

IF “PACKAGECOUNT” 》= “VOLUME_50” AND “PACKAGECOUNT 《= ”VOLUME_90“ THEN

”STOR_50%_FULL“ := 1;

”STOR_90%_FULL“ := 0;

”STOR_FULL“ := 0;

END_IF;

如果存储区中的包裹数大于或等于 90 %,则“存储区已用 90 %”指示灯将点亮。“存储区已用 50 %”的指示灯仍然点亮。

SCL:

IF ”PACKAGECOUNT“ 》= ”VOLUME_90“ AND ”PACKAGECOUNT 《 “VOLUME_100” THEN

“STOR_50%_FULL” := 1;

“STOR_90%_FULL” := 1;

“STOR_FULL” := 0;

END_IF;

如果存储区中的包裹数达到 100 %,则“存储区已满”消息指示灯将点亮。“存储区已用 50 %”和“存储区已用 90 %”的指示灯仍然点亮。

SCL:

IF “PACKAGECOUNT” 》= “VOLUME_100” THEN

“STOR_50%_FULL” := 1;

“STOR_90%_FULL” := 1;

“STOR_FULL” := 1;

END_IF;
编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计数器
    +关注

    关注

    32

    文章

    2111

    浏览量

    92726
  • SCL
    SCL
    +关注

    关注

    1

    文章

    237

    浏览量

    16846

原文标题:S7博途V16 - SCL检测存储区的填充量示例

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    填充胶是做什么用的?

    填充胶是做什么用的?填充胶是一种广泛应用于电子制造和其他工业领域的材料,它在提高产品性能、增强结构稳定性以及保护核心组件方面发挥着至关重要的作用。以下是关于填充胶的主要用途和它
    的头像 发表于 01-17 14:52 414次阅读
    <b class='flag-5'>填充</b>胶是做什么用的?

    填充宽度对于精确的焊盘填充过大的影响

    方面详细探讨填充宽度对于精确的焊盘填充过大的影响。 首先,填充宽度过大对于焊接质量的影响是十分明显的。在焊接过程中,填充宽度过大会导致焊料过
    的头像 发表于 12-26 17:15 1065次阅读

    大众观,喜欢的可留言

    *附件:上海大众观培训底盘.ppt*附件:观变速箱培训教材.ppt*附件:观四驱培训教材.ppt*附件:观制动培训教材.ppt
    发表于 12-08 15:30

    求一份斐讯S7通信协议说明

    网上找到斐讯S7用的是芯海八电级WIFI智能体脂秤方案CS1258+CSU18MB86+CSM64F02 从串口抓去到以下协议 C5 12 10 00 00 01 9E 23 10 05 21 31
    发表于 10-05 22:12

    SCL编程示例:控制传送带

    SCL(Structured Control Language,结构化控制语言)是一种基于 PASCAL 的高级编程语言。这种语言基于标准 DIN EN 61131-3(国际标准为 IEC 1131-3)。
    的头像 发表于 08-10 14:38 507次阅读
    <b class='flag-5'>SCL</b>编程<b class='flag-5'>示例</b>:控制传送带

    SCL程序: 检测存储区的填充示例介绍

    下图显示的系统中包含两条传送带和一个临时存储区,临时存储区位于两条传送带之间。传送带 1 将包裹传送到该存储区。
    的头像 发表于 07-20 10:44 522次阅读
    <b class='flag-5'>SCL</b>程序: <b class='flag-5'>检测</b><b class='flag-5'>存储</b>区的<b class='flag-5'>填充</b>量<b class='flag-5'>示例</b>介绍

    SCL语言FOR循环的用法及典型案例

    SCL
    YS YYDS
    发布于 :2023年06月25日 00:06:13

    滑动杆怎么让它从中间开始填充(零在中间),负数往左填充,整数往右填充 零在中间,,负数往左填充,正数往右填充

    ![1(TM@~)CHC80@V}Q3P%`2.jpg 滑动杆怎么让它从中间开始填充(零在中间),负数往左填充,整数往右填充 零在中间,,负数往左
    发表于 06-12 16:21

    如何在dev_msc_ramdisk_bm_c7示例中将存储缓冲移动到SDRAM?

    我们正在破坏 RT1170 evkit 上的一些性能测试,我们正在使用 dev_msc_ramdisk_bm_cm7 示例。由于存储缓冲受内部 DTCM 大小的限制,我们希望将其移动
    发表于 06-12 07:51

    S7-1200跟我学56-13:不同存储的寻址#硬声创作季

    S7-1200
    也许吧
    发布于 :2023年06月01日 09:44:01

    在协处理器 (Cortex-M7) 的SDK中,没有找到任何使用“自定义脚本”的SDMA示例求分享

    增加偏移X 5. 如果 X >= 1024:将缓冲发送给用户并设置 X = 0 我目前不知道从哪里开始,因为目前没有 SDMA 示例: - cortex-m7 SDK 中
    发表于 05-24 08:01

    CH32V103基础教程27-DMA (存储器到外设)

    关于DMA,具有三种数据传输方式:存储器到存储器、存储器到外设、外设到存储器。前面已讲解
    发表于 04-20 16:35

    西门子S7 SCL编程知识

    软件包后, 通过点击 Windows 菜单 开始->Simatic->Documentation->English 可以阅读到名称为“S7-SCL for S7-300 and S7-400”的 PDF 手册。此手册共分为 16 个章节,其
    发表于 04-19 17:54 7次下载

    labview与西门子PLC S7通讯,基于TCP

    labview与西门子PLC S7通讯,底层基于TCP开发,已测试可用*附件:S7TCP.rar
    发表于 04-13 16:17

    具有DMA中断的I2S双缓冲问题求解

    处理。我已经查看了文档(存在的很少)和其他示例项目,但似乎缺少有关接收 DMA 中断的关键信息。我知道我需要两个缓冲:1 个用于发送到 DSP,而 2 个用于填充传入数据。我可以创建两个缓冲
    发表于 03-30 09:04