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

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

3天内不再提示

STL程序检测存储区的填充量示例

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2021-04-06 09:28 次阅读

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

检测存储区的填充量

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

331fb8ee-8cff-11eb-8b86-12bb97331649.png

33ba9e86-8cff-11eb-8b86-12bb97331649.png

34104d0e-8cff-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

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

    关注

    0

    文章

    85

    浏览量

    18289

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

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

收藏 人收藏

    评论

    相关推荐

    TMS320C6000 DMA示例应用程序

    电子发烧友网站提供《TMS320C6000 DMA示例应用程序.pdf》资料免费下载
    发表于 10-26 10:17 0次下载
    TMS320C6000 DMA<b class='flag-5'>示例</b>应用<b class='flag-5'>程序</b>

    BQ79606AA-Q1示例启动程序

    电子发烧友网站提供《BQ79606AA-Q1示例启动程序.pdf》资料免费下载
    发表于 09-29 10:08 3次下载
    BQ79606AA-Q1<b class='flag-5'>示例</b>启动<b class='flag-5'>程序</b>

    RX78M组 EtherCAT ETG.5003示例程序固件信息技术

    电子发烧友网站提供《RX78M组 EtherCAT ETG.5003示例程序固件信息技术.pdf》资料免费下载
    发表于 02-21 14:22 1次下载
    RX78M组  EtherCAT ETG.5003<b class='flag-5'>示例程序</b>固件信息技术

    瑞萨Flash示例程序01型SC版本(代码Flash)应用说明

    电子发烧友网站提供《瑞萨Flash示例程序01型SC版本(代码Flash)应用说明.pdf》资料免费下载
    发表于 02-19 13:48 0次下载
    瑞萨Flash<b class='flag-5'>示例程序</b>01型SC版本(代码Flash)应用说明

    瑞萨Flash示例程序01型SC版本应用说明

    电子发烧友网站提供《瑞萨Flash示例程序01型SC版本应用说明.pdf》资料免费下载
    发表于 02-19 13:46 0次下载
    瑞萨Flash<b class='flag-5'>示例程序</b>01型SC版本应用说明

    瑞萨Flash示例程序01版V1.20(SC版)发布说明

    电子发烧友网站提供《瑞萨Flash示例程序01版V1.20(SC版)发布说明.pdf》资料免费下载
    发表于 02-19 10:40 0次下载
    瑞萨Flash<b class='flag-5'>示例程序</b>01版V1.20(SC版)发布说明

    使用TSIP驱动程序(Azure RTOS)的TLS实现示例

    电子发烧友网站提供《使用TSIP驱动程序(Azure RTOS)的TLS实现示例.pdf》资料免费下载
    发表于 01-31 10:13 3次下载
    使用TSIP驱动<b class='flag-5'>程序</b>(Azure RTOS)的TLS实现<b class='flag-5'>示例</b>

    如何估算S7-1500 CPU的装载存储在SIMATIC存储卡上的大小?

    S7-1500 CPU 的装载存储在 SIMATIC 存储卡上。根据以下操作步骤可以确定用户程序所需要的存储
    的头像 发表于 01-29 10:00 865次阅读
    如何估算S7-1500 CPU的装载<b class='flag-5'>存储</b><b class='flag-5'>区</b>在SIMATIC<b class='flag-5'>存储</b>卡上的大小?

    填充胶是做什么用的?

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

    用keil 5编译ADuCM320的程序,请问keil中有办法设置填充数据是0x00或0xFF吗?

    我用keil 5编译ADuCM320的程序,发现一个问题:如果在程序后面放一些数据,那么编译出来的hex,会在程序与这些数据
    发表于 01-11 08:24

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

    填充宽度是指在焊接过程中,焊盘与焊芯之间的间隔。填充宽度的大小直接影响到焊接质量、焊接强度和焊接过程的稳定性等方面。填充宽度过大可能会导致诸多问题,本文将从焊接质量、焊接强度和焊接过程的稳定性三个
    的头像 发表于 12-26 17:15 3786次阅读

    RX722M的示例程序说明

    电子发烧友网站提供《RX722M的示例程序说明.pdf》资料免费下载
    发表于 12-21 10:57 1次下载
    RX722M的<b class='flag-5'>示例程序</b>说明

    自己编写函数示例代码很难吗?分享几个示例

    Arduino网站 ,而且他们的示例扩展的效果并不好。本帖将分成以下几个部分:以不包含任何函数的起始代码为例、使用一个函数转换相同的程序、展示可以利用函数做些什么的扩展示例、与没有函数的代码版本进行比较,表明更少的代码更易于使
    的头像 发表于 11-16 16:05 476次阅读
    自己编写函数<b class='flag-5'>示例</b>代码很难吗?分享几个<b class='flag-5'>示例</b>!

    STL内容介绍

    1 什么是STLSTL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Stand
    的头像 发表于 11-13 11:32 757次阅读
    <b class='flag-5'>STL</b>内容介绍

    stc51单片机程序存储不够用,可否在程序存储写一个bootloader,用户程序放入自身的EEPROM?

    stc51单片机程序存储不够用,可否在程序存储写一个bootloader,用户
    发表于 11-09 07:09