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

    文章

    4422

    浏览量

    67834
  • 编辑器
    +关注

    关注

    1

    文章

    829

    浏览量

    33063

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    S32K系列引导加载程序应用程序跨不同定制电路板设计的跳转问题求解

    我在两个自定义S32K358板上实现引导加载程序时遇到了问题,将不胜感激您的见解。 **设置:** - 两板使用相同的S32K358微控制器 - 板 1:引导加载程序正常运行 - 成功跳转
    发表于 04-22 07:02

    S32K3跳转到应用程序后,PTD5上没有活动,为什么?

    我正在编写一个在微S32K324上加载的引导加载程序。 为了解决这个问题,我编写了一个非常简单的引导加载程序应用程序。 引导加载
    发表于 04-16 08:59

    RDMA设计56:如何设计基于RDMA的应用程序

    ,为时 1s,并同时调用 ibv_poll_cq()函数轮询完成队列处理工作完成事务(Work Completion,WC),该函数将返回应用程序可处理的完成队列条目数量。根据该数量,对每一个 WC
    发表于 04-05 09:54

    如何构建蓝牙应用程序

    应用程序使用蓝牙(blueZ)。 我已经安装了 gcc-riscv64-linux-gnu。 但是,没有安装 blueZ 标头和库。 如何构建我的蓝牙应用程序
    发表于 04-01 07:31

    在TIA Portal V21中基于S7-1200 G2使用SCL语言设计Modbus RTU轮询程序

    本文介绍在 TIA Portal V21 中基于 S7-1200 G2 使用 SCL 语言设计一个 Modbus RTU 轮询程序,完成对 2 个从站的读数据和对 1 个从站写数据的轮询通信任务,用 MThings 软件模拟 3 个从站并进行测试。
    的头像 发表于 03-03 15:13 1595次阅读
    在TIA Portal V21中基于S7-1200 G2使用<b class='flag-5'>SCL</b>语言设计Modbus RTU轮询<b class='flag-5'>程序</b>

    三防漆储存保质期延长与防浪费技巧 |铬锐特实业

    铬锐特实业|三防漆正确包装与储存方法详解:控制温湿度光照、遵循FIFO原则、规范开封后密封操作,可有效延长材料保质期、减少5%-20%浪费,提升电子产品防护可靠性。
    的头像 发表于 01-28 14:27 212次阅读
    三防漆储存<b class='flag-5'>保质期</b>延长与防浪费技巧 |铬锐特实业

    西门子PLC中函数FC的使用方法

    函数函数作为模块化编程的重要组成部分,在PLC 用户程序中有着相当频繁的应用。两者在生成与使用的过程中都有一定的相似,且都不能单独使用。而需要赋予特定的功能,由组织
    的头像 发表于 12-19 11:26 4557次阅读
    西门子PLC中<b class='flag-5'>函数</b>FC的使用方法

    上位机程序编写

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

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

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

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

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

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

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

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

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

    详解hal_entry入口函数

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

    使用C++中的CyAPI编写应用程序上遇到了问题,求解决

    我在使用 C++ 中的 CyAPI 编写应用程序上遇到了问题。 我将 XferData() 方法与其他所有端点类型一起使用,没有遇到任何问题。 但是,将其与 Endpoint0 一起使用会引发
    发表于 05-13 06:11

    # 基于LockAI视觉识别模块:C++寻找色

    在传统计算机视觉场景中,颜色识别是目标检测和分割的重要手段之一。通过识别特定颜色的色,可以在相对纯净的背景下快速定位目标区域。本实验提供了一个简单的色识别案例,并将其封装为一个自定义函数
    的头像 发表于 05-12 14:27 912次阅读
    # 基于LockAI视觉识别模块:C++寻找色<b class='flag-5'>块</b>