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

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

3天内不再提示

STL 程序如何实现填充量示例

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-10-08 11:18 次阅读

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

检测存储区的填充量

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

678749fc-42f3-11ed-96c9-dac502259ad0.png

67a88108-42f3-11ed-96c9-dac502259ad0.png

67c8cb7a-42f3-11ed-96c9-dac502259ad0.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;

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

    关注

    13

    文章

    4219

    浏览量

    85565
  • 计数器
    +关注

    关注

    32

    文章

    2253

    浏览量

    94266
  • STL
    STL
    +关注

    关注

    0

    文章

    85

    浏览量

    18289

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

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

收藏 人收藏

    评论

    相关推荐

    STL库配置为一次测试多个扇区的问题求解

    “ELF-map.txt”显示了准确的错误消息和 ELF 查看器的输出。在文件底部的第三个日志中可以清楚地看到重叠。看起来 CRC 表生成器实用程序为每个程序部分的 32 位对齐做了一些填充,可能会侵占下一个部分
    发表于 12-06 06:02

    STEP7 STL语句表编程使用手册

    本手册是用STL语句表编程语言编制用户程序的用户指南。 本手册也包括描述STL语言元素的语法和功能的参考章节
    发表于 03-10 16:05 197次下载
    STEP7 <b class='flag-5'>STL</b>语句表编程使用手册

    漫水填充算法综合示例_《OpenCV3编程入门》书本配套源代码

    《OpenCV3编程入门》书本配套源代码:漫水填充算法综合示例
    发表于 06-06 15:39 2次下载

    OpenCV3编程入门-源码例程全集-漫水填充算法综合示例

    OpenCV3编程入门-源码例程全集-漫水填充算法综合示例
    发表于 09-17 22:55 0次下载

    如何使用STL编程实现PLC控制系统的模拟信号和采样与滤波

    从工程实际出发,介绍了PLC(可编程序控制器)控制系统中模拟信号的采样和滤波方法,并以S7300PLC语句表(STL)编程为例,给出了部分程序
    发表于 10-13 17:36 63次下载
    如何使用<b class='flag-5'>STL</b>编程<b class='flag-5'>实现</b>PLC控制系统的模拟<b class='flag-5'>量</b>信号和采样与滤波

    PLC梯形图转换成STL程序

    实现只用STL显示,而不能转化为梯形图,在一个NETWORK内多写几个逻辑操作即可,当然这要先选择用STL编写程序
    发表于 03-23 14:52 4341次阅读
    PLC梯形图转换成<b class='flag-5'>STL</b><b class='flag-5'>程序</b>

    示例SigmaStudio程序

    示例SigmaStudio程序
    发表于 03-23 18:25 15次下载
    <b class='flag-5'>示例</b>SigmaStudio<b class='flag-5'>程序</b>

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

    下图显示的系统中包含两条传送带和一个临时存储区,临时存储区位于两条传送带之间。传送带 1 将包裹传送到该存储区。传送带 1 末端靠近存储区的光电屏蔽,负责检测传送到存储区的包裹数量。
    的头像 发表于 04-06 09:28 1206次阅读
    <b class='flag-5'>STL</b><b class='flag-5'>程序</b>检测存储区的<b class='flag-5'>填充</b><b class='flag-5'>量</b><b class='flag-5'>示例</b>

    圆形可填充加载器安装使用案例

    安装说明: 方法1:对于在示例应用程序中使用循环填充加载器模块,添加以下依赖项以生成 hap/har。 方法2:对于使用har文件在单独的应用程序中使用循环
    发表于 03-24 11:29 1次下载
    圆形可<b class='flag-5'>填充</b>加载器安装使用案例

    什么是STL

    STL主要是由一些模板函数和模板类构成的,其包含了C++程序开发中一些非常通用的数据结构实现与算法封装,从而达到了非常良好的软件复用和扩展能力,当然其背后带来的是应用程序开发的高效,你
    的头像 发表于 02-21 11:08 4257次阅读
    什么是<b class='flag-5'>STL</b>?

    怎样使用STL函数控制传送带?有哪些步骤?

    STL (语句列表)是一种基于文本的编程语言,可用于编写逻辑块。STL 程序程序段的形式组成。
    的头像 发表于 07-25 17:43 797次阅读
    怎样使用<b class='flag-5'>STL</b>函数控制传送带?有哪些步骤?

    如何显示STL程序程序状态呢?

    在表中循环更新并显示程序的状态。执行 STL 程序后立即显示这些表格。并读取程序每一行的执行状态。显示内容取决于所用的 CPU(S7-300、S7-400 或 S7-1500)。
    的头像 发表于 08-23 10:31 941次阅读
    如何显示<b class='flag-5'>STL</b><b class='flag-5'>程序</b>的<b class='flag-5'>程序</b>状态呢?

    如何在STL中的EN/ENO机制仿真示例呢?

    STL 程序块调用的程序块不提供 EN 和 ENO 参数。无论创建程序块时采用何种编程语言,都可通过状态字的 BR 位将错误语句传送到 STL
    的头像 发表于 09-01 09:45 964次阅读

    STL内容介绍

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

    使用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><b class='flag-5'>示例</b>