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

    文章

    4331

    浏览量

    62593
  • 编辑器
    +关注

    关注

    1

    文章

    806

    浏览量

    31168

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

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

收藏 人收藏

    评论

    相关推荐

    AWTK-WEB 快速入门(1) - C 语言应用程序

    导读AWTK可以使用相同的技术栈开发各种平台的应用程序。有时我们需要使用Web界面与设备进行交互,本文介绍一下如何使用C语言开发AWTK-WEB应用程序。用AWTKDesigner新建一个应用程序
    的头像 发表于 11-27 11:46 203次阅读
    AWTK-WEB 快速入门(1) - C 语言<b class='flag-5'>应用程序</b>

    在bootloader和应用程序之间共享FEE

    电子发烧友网站提供《在bootloader和应用程序之间共享FEE.pdf》资料免费下载
    发表于 10-10 09:18 0次下载
    在bootloader和<b class='flag-5'>应用程序</b>之间共享FEE<b class='flag-5'>块</b>

    焊锡膏会过期吗?

    焊锡膏会过期。焊锡膏的保质期一般为6个月至1年不等,更细的超微锡膏或环氧锡膏的保质期保质期会断一些,3-6个月的存储寿命。具体保质期会受到多种因素的影响,包括生产厂家的标注、储存条件以
    的头像 发表于 10-09 09:29 274次阅读

    所有的labview应用程序的三要素是什么

    的一种图形化编程语言,它广泛用于数据采集、仪器控制、自动化测试和过程控制等领域。LabVIEW应用程序通常由三个基本要素组成:前面板(Front Panel)、图(Block Diagram)和图标
    的头像 发表于 09-04 16:08 357次阅读

    艾为IC产品保质期申明

    上海艾为电子技术股份有限公司(以下简称“艾为”)宣布所生产、销售的产品,在MBB(铝箔袋)完好未漏气,湿度指示卡未变色的情况下,其保质期延长至5年。
    的头像 发表于 08-27 14:16 511次阅读

    CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?

    。 根据SCB数据手册指示,在EZI2C模块设置中勾选 terminial选项,并设置为Open-Drain-Drives-Low 在程序中调用以下函数,通过示波器观察SCL引脚波形,无法将pin0.4(
    发表于 05-31 07:39

    Hex文件格式CRC校验,怎么编写计算校验的程序

    其中的一条记录:1011000071079907E8071008D206FA0671079907D0 0xD0为校验,但不知道怎么编写计算校验的程序。 校验和的算法为:计算从0x3A
    发表于 05-16 06:53

    STM8S103k3的EEPROM一用编程,程序就死在编程的函数上面,怎么解决?

    我最近在用STM8S103k3做东西,用到了里面的EEPROM。我想字节编程,字编程,我都用着好好的,但是最近我需要用到编程。发现一用编程,程序就死在编程的
    发表于 05-11 07:27

    【从0开始创建AWTK应用程序】编译应用到RTOS平台

    AWStudio上编写好AWTK应用程序后,部署到RTOS平台(如STM32)是很方便的,下面就以STM32F429型号为例子来介绍如何编译AWTK应用到RTOS
    的头像 发表于 03-21 08:23 615次阅读
    【从0开始创建AWTK<b class='flag-5'>应用程序</b>】编译应用到RTOS平台

    AWTK 开源串口屏开发(13) - 计算器应用

    计算器是一个常见的应用程序,在AWTK串口屏中,利用fscript表达式计算函数,无需编写一行传统的代码,即可实现一个简单的
    的头像 发表于 03-16 08:23 5324次阅读
    AWTK 开源串口屏开发(13) - <b class='flag-5'>计算</b>器应用

    应用程序中的服务器错误怎么解决?

    在使用应用程序时,可能会遇到服务器错误的问题。这种错误通常会导致应用程序无法正常运行 ,给用户带来不便。下面将介绍应用程序中的服务器错误及其解决方法,帮助您快速解决这一问题。
    的头像 发表于 03-12 15:13 6223次阅读

    西门子SCL PLC高级编程教程

    借助SCL,可以简化控制技术领域复杂的计算、算法、数据管理和数据组织等编程工作。
    发表于 01-22 10:27 716次阅读
    西门子<b class='flag-5'>SCL</b> PLC高级编程教程

    西门子博途中的LAD、FBD与SCL编程

    选择要在其后插入新程序段的程序段。 在快捷菜单中,选择命令“插入 STL 程序段”(Insert STL network) 或“插入 SCL 程序
    发表于 01-16 09:33 2899次阅读
    西门子博途中的LAD、FBD与<b class='flag-5'>SCL</b>编程

    经典的PLC程序编写套路

    对同一个控制要求,即使选用同一个机型的PLC,用不同设计方法所编写程序,其结构也可能不同。尽管几种程序都可以实现同一控制功能,但是程序的质量却可能差别很大。
    发表于 01-15 10:13 526次阅读
    经典的PLC<b class='flag-5'>程序</b><b class='flag-5'>编写</b>套路

    西门子博图SCL练习1:使用FC计算平均值

    西门子博图SCL练习1:使用FC计算平均值
    的头像 发表于 01-02 10:25 2793次阅读
    西门子博图<b class='flag-5'>SCL</b>练习1:使用FC<b class='flag-5'>计算</b>平均值