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

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

3天内不再提示

使用SCL函数块编写计算保质期的应用程序

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-10-18 15:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在以下部分中,将创建 SCL 函数块“SCL_Best_before_date” 。 可使用 SCL 函数块计算保质期。

要创建 SCL 函数块,请按以下步骤操作:

1. 打开“程序块” 文件夹。

2. 双击“添加新块”。

b9cb8f16-4dfc-11ed-a3b6-dac502259ad0.png

3. 要添加一个函数块:

– 单击“函数块” 。

– 指定块名称“SCL_Best_before_date” 。

– 选择语言“SCL” 。

– 单击“确定”。

ba04f1ac-4dfc-11ed-a3b6-dac502259ad0.png

4. 保存项目。成功创建了 SCL 函数块“SCL_Best_before_date” 。 程序编辑器将自动打开。

要定义接口,请按以下步骤操作:

1. 在“Input” 部分定义带有以下属性的输入参数:

– 名称:"Duration"

– 数据类型:"Int"

可在此参数中指定保质期(年)。

baadbd78-4dfc-11ed-a3b6-dac502259ad0.png

2. 在“Output” 部分定义带有以下属性的输出参数:

– 名称:"Best_before_date_Output"

– 数据类型:"Int"

需要此参数输出计算出的保质期。

baedceea-4dfc-11ed-a3b6-dac502259ad0.png

3. 在“Temp”部分定义带有以下属性的一个参数:

– 名称:"Error"

– 数据类型:"Int"

需要此临时参数临时存储指令“RD_SYS_T” 的返回值,该参数将在项目过程中稍后设定。

bb163bb4-4dfc-11ed-a3b6-dac502259ad0.png

4. 在“Temp”部分定义带有以下属性的第二个参数:

– 名称:"System_Time_DT"

– 数据类型:"Date_And_Time"

需要此临时参数临时存储指令“RD_SYS_T” 的系统时间。

bb83a852-4dfc-11ed-a3b6-dac502259ad0.png

5. 在“Temp”部分定义带有以下属性的第三个参数:

– 名称:"System_Time_Array"

– 数据类型:"AT"

需要此临时参数覆盖接口“System_Time_DT” 。

bbae37fc-4dfc-11ed-a3b6-dac502259ad0.png

部分名称后将自动添加后缀“AT "System_Time_DT"” ,同时将数据类型“AT” 转换为“Date_And_Time” 。

6. 将文本“Date_And_Time” 替换为“Array [0 .. 7] of Byte” 。

bbf4c0a0-4dfc-11ed-a3b6-dac502259ad0.png

7. 在“Temp”部分定义带有以下属性的第四个参数:

– 名称:"Year"

– 数据类型:"Int"

需要此临时参数临时存储所读取的系统时间的年份值。

bc5a45ce-4dfc-11ed-a3b6-dac502259ad0.png

8. 保存项目。在 SCL 函数块的接口中成功定义了所有必需参数。

bd068898-4dfc-11ed-a3b6-dac502259ad0.png

在以下部分中,将编写计算保质期的 SCL 函数块。

对于项目“Filling Station” ,则只输出年份值:

● 要执行此操作,需要使用指令“RD_SYS_T” 读取 CPU 块的当前系统时间。 读出的数据以 DT (Date_And_Time) 格式存储在该指令的临时接口“System_Time_DT” 中。

● 然后用临时参数“System_Time_Array” 覆盖临时参数“System_Time_DT” 。 该操作将数据类型“DT” 的各个值对应数组中的相应字节。

● 数组的第一个字节包含当前年份值。 将值“2000” 添加到年份字段中,由于格式为“DT(Date_And_Time)”,因此只指定了年份的最后两位(例如: 值“11” 对应于“2011”年)。 除了当前年份外,还会加上输入接口“Duration” 中指定的持续时间。

要编写 SCL 函数块,请按以下步骤操作:

1. 定义程序代码的第一行:

– 在指令前写入:"#Error :="

– 写入指令:"RD_SYS_T"

– 在指令后写入:"(OUT => #System_Time_DT);"

bd3211b6-4dfc-11ed-a3b6-dac502259ad0.png

2. 定义程序代码的第二行:

– 在指令前写入:"#Year :="

– 写入指令:"BCD_TO_INT"

– 在指令后写入:"(#System_Time_Array[0]);"

该指令用于将“BCD” 格式转换为“INT”格式。

bd55ddbc-4dfc-11ed-a3b6-dac502259ad0.png

3. 定义程序代码的第三行:

– "#Best_Before_Date_Output := #Year + 2000 + #Duration;"

该指令用于将值“2000” 和输入接口“Duration” 的当前值加到值“Year” 上。

bd7cf848-4dfc-11ed-a3b6-dac502259ad0.png

4. 保存项目。成功编写了计算保质期的 SCL 函数块。

bdc2fc1c-4dfc-11ed-a3b6-dac502259ad0.png

审核编辑:郭婷

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

    关注

    3

    文章

    4406

    浏览量

    66812
  • 编辑器
    +关注

    关注

    1

    文章

    826

    浏览量

    32641

原文标题:SCL-编写计算保质期的程序

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    上位机程序编写

    本文将讨论GPS/北斗定位模块作为接收机,将接收到的定位信息通过串口发送给计算机,再由计算机接收并解码获取相关信息。 在定位模块正确移植到DDR200T开发板的基础上,首先编写下位机程序
    发表于 10-28 06:40

    计算程序执行指令数的函数实现

    探究过程 1、官方提供的计算周期数指令数方法为,采用如下这几个函数在所要计算的操作前后获取一次当前指令数和周期数。并求他们的差值,以此得到结果。 2、首先找到这几个函数原型在hbi
    发表于 10-28 06:27

    使用函数实现三相电机正反转控制

    在使用西门子S1200PLC,所使用的软件是博途软件,在这个软件里运用了的概念。比如我们常见的组织(OB)、函数(FB)、数据(DB
    的头像 发表于 10-15 14:40 2312次阅读
    使用<b class='flag-5'>函数</b><b class='flag-5'>块</b>实现三相电机正反转控制

    学生适合使用的SOLIDWORKS 云应用程序

    随着科技的不断发展,计算机辅助设计(CAD)技术已经成为现代工程教育的重要组成部分。SOLIDWORKS作为一款CAD软件,其教育版云应用程序为学生提供了强大而灵活的设计平台。本文将探讨
    的头像 发表于 09-15 10:39 511次阅读
    学生适合使用的SOLIDWORKS 云<b class='flag-5'>应用程序</b>

    三防漆的储存与保质期管理:避免浪费的秘诀

    三防漆作为电子行业关键防护材料,储存与保质期管理直接影响性能。储存不当或过期会导致涂层失效、材料浪费,科学管理需从储存条件、保质期监控、浪费预防入手。一、核心储存条件:控制“环境变量”1.温度控制在
    的头像 发表于 07-28 10:06 414次阅读
    三防漆的储存与<b class='flag-5'>保质期</b>管理:避免浪费的秘诀

    详解hal_entry入口函数

    当使用RTOS时,程序从main函数开始进行线程调度;当没有使用RTOS时,C语言程序的入口函数main函数调用了hal_entry
    的头像 发表于 07-25 15:34 1653次阅读

    无铅锡膏保质期大揭秘:过期后还能用吗?一文读懂保存与使用门道

    无铅锡膏保质期通常为3-6个月,受合金焊粉氧化和助焊剂活性影响,储存需低温干燥。过期后可能出现膏体硬化、活性下降、焊接缺陷增多等问题。未开封轻微过期锡膏可通过测试评估后谨慎用于非关键场景,严重过期或
    的头像 发表于 04-16 09:28 2114次阅读
    无铅锡膏<b class='flag-5'>保质期</b>大揭秘:过期后还能用吗?一文读懂保存与使用门道

    MAP气调包装顶空气体检测技术中会用到哪些传感器?

    食品、饮料和其他易腐产品在运输和储存过程中,可能会受到氧化反应、微生物污染和水分流失等因素的影响,导致质量下降和保质期缩短。为了克服这些挑战,气调包装(MAP) 技术被广泛应用于食品行业,尤其是在
    的头像 发表于 04-02 17:47 471次阅读
    MAP气调包装顶空气体检测技术中会用到哪些传感器?

    部署计算机上运行 LabVIEW 应用程序时出现以下错误: “缺少外部函数 dll...”解决办法

    如果你既有 DLL 文件,也有头 (.h) 文件,那么可以使用共享库批量生成VI,不用再一个一个使用“调用库函数节点”来调用DLL,源代码运行是没有问题,一旦生成应用程序报错缺失外部函数或者外部
    发表于 04-01 19:10

    MCP:连接AI与应用程序的开放标准!

    。 在第二种方式中,开发者需要为AI大模型编写与具体应用程序协作的访问代码,例如,开发者希望DeepSeek-R1与Gmail协作,就需要手动编写协作代码。这种手动编写协作代码的方式,
    的头像 发表于 03-21 18:21 1879次阅读
    MCP:连接AI与<b class='flag-5'>应用程序</b>的开放标准!

    如何部署OpenVINO™工具套件应用程序

    编写代码并测试 OpenVINO™ 工具套件应用程序后,必须将应用程序安装或部署到生产环境中的目标设备。 OpenVINO™部署管理器指南包含有关如何轻松使用部署管理器将应用程序打包并
    发表于 03-06 08:23

    使用SCL编写FIFO功能

    找到相关的指令。    其实要实现这个功能可直接使用SCL的编程方法编写一个这样的功能就可以了,(在文章的结尾会为大家提供参考示例程序SCL
    的头像 发表于 02-09 10:27 1138次阅读
    使用<b class='flag-5'>SCL</b><b class='flag-5'>编写</b>FIFO功能<b class='flag-5'>块</b>

    西门子TIA Portal中函数FC和函数FB的相互转换

    描述 本文将介绍在西门子 TIA Portal 中使用 Add-In 插件实现函数 FC 和函数 FB 的相互转换的方法和步骤。 第1步: 添加 PLC 设备。 选择西门子 CPU 1214C
    的头像 发表于 01-15 10:07 3031次阅读
    西门子TIA Portal中<b class='flag-5'>函数</b>FC和<b class='flag-5'>函数</b><b class='flag-5'>块</b>FB的相互转换

    西门子流量累计FB介绍

    西门子流量累计FB(Function Block)是一种专门为处理和计算流量数据而设计的功能,它通常在博途(TIA Portal)软件中被创建和使用。该功能的意义在于将复杂的流量
    的头像 发表于 12-19 10:28 2237次阅读
    西门子流量累计FB<b class='flag-5'>块</b>介绍

    TAS2521应用程序参考指南

    电子发烧友网站提供《TAS2521应用程序参考指南.pdf》资料免费下载
    发表于 12-10 13:49 0次下载
    TAS2521<b class='flag-5'>应用程序</b>参考指南