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

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

3天内不再提示

SCL函数块的结构介绍 创建SCL函数块的步骤说明

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-10-30 10:16 次阅读

SCL 函数块的结构

下图显示了 SCL 函数块的结构:

d5564078-7632-11ee-939d-92fbcf53809c.png

接口

编辑器的这一区域用于定义与 SCL 函数块互连的输入和输出参数

编程

在编辑器的此区域内执行 SCL 函数块的实际编程操作。 收藏夹中包含用于创建程序时最常用的 SCL 特有指令。

创建 SCL 函数块

步骤

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

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

2. 双击“添加新块”。

d57495d2-7632-11ee-939d-92fbcf53809c.png

3. 要添加一个函数块:

– 单击“函数块” 。

– 指定块名称“SCL_Best_before_date” 。

– 选择语言“SCL” 。

– 单击“确定”。

d58cf500-7632-11ee-939d-92fbcf53809c.png

4. 保存项目。

步骤

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

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

– 名称:"Duration"

– 数据类型:"Int"

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

d5a5e6c8-7632-11ee-939d-92fbcf53809c.png

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

– 名称:"Best_before_date_Output"

– 数据类型:"Int"

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

d5c8c2ce-7632-11ee-939d-92fbcf53809c.png

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

– 名称:"Error"

– 数据类型:"Int"

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

d5ec3c90-7632-11ee-939d-92fbcf53809c.png

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

– 名称:"System_Time_DT"

– 数据类型:"Date_And_Time"

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

d5f90786-7632-11ee-939d-92fbcf53809c.png

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

– 名称:"System_Time_Array"

– 数据类型:"AT"

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

d60928aa-7632-11ee-939d-92fbcf53809c.png

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

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

d6196418-7632-11ee-939d-92fbcf53809c.png

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

– 名称:"Year"

– 数据类型:"Int"

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

d62e2eb6-7632-11ee-939d-92fbcf53809c.png

8. 保存项目。

在 SCL 函数块的接口中成功定义了所有必需参数。

d651bcd2-7632-11ee-939d-92fbcf53809c.png

编写计算保质期的程序

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

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

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

– 写入指令:"RD_SYS_T"

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

d65a9bd6-7632-11ee-939d-92fbcf53809c.png

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

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

– 写入指令:"BCD_TO_INT"

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

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

d671b7ee-7632-11ee-939d-92fbcf53809c.png

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

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

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

d67c83d6-7632-11ee-939d-92fbcf53809c.png

4. 保存项目。

结果

成功编写了计算保质期的 SCL 函数块。

d687202a-7632-11ee-939d-92fbcf53809c.png

审核编辑:汤梓红

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

    关注

    33

    文章

    8573

    浏览量

    151006
  • 指令
    +关注

    关注

    1

    文章

    607

    浏览量

    35692
  • 编辑器
    +关注

    关注

    1

    文章

    805

    浏览量

    31158
  • SCL
    SCL
    +关注

    关注

    1

    文章

    239

    浏览量

    17053

原文标题:西门子博途: 使用 SCL 块进行计算

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

收藏 人收藏

    评论

    相关推荐

    如何查看及更改函数/函数的调用环境

    是循环执行,当一个功能被多个外部函数/函数调用时,我们应如何查看某一次调用时的内部变量呢?这涉及到函数
    的头像 发表于 11-17 09:08 936次阅读
    如何查看及更改<b class='flag-5'>函数</b>/<b class='flag-5'>函数</b><b class='flag-5'>块</b>的调用环境

    SIMATIC S7-1500 PLC S7-SCL SCL详解

    函数函数在西门子的大中型PLC编程中,应用十分广泛,前介绍函数函数
    的头像 发表于 12-06 09:17 982次阅读
    SIMATIC S7-1500 PLC S7-<b class='flag-5'>SCL</b> <b class='flag-5'>SCL</b><b class='flag-5'>块</b>详解

    SIMATIC S7-1500 PLC S7-SCL应用举例

    函数函数在西门子的大中型PLC编程中,应用十分广泛,前介绍函数函数
    的头像 发表于 12-11 09:17 710次阅读
    SIMATIC S7-1500 PLC S7-<b class='flag-5'>SCL</b>应用举例

    介绍一个使用SCL语言编写的电机控制函数

      电机控制在实际项目中经常使用,一般的电机控制程序都是具有启动、保持、停止的功能。  今天这篇文章给大家介绍一个使用SCL语言编写的电机控制函数
    发表于 03-09 17:02

    编程语言SCL中ANY数据类型

    ANY数据类型 在编程语言 SCL 和 STL 中,如果在参数中设定了一个 ANY 指针,则任意类型的存储器都可以在调用时传递。 但是,ANY 指针不能存储有关存储器结构的任何信息
    的头像 发表于 05-25 11:02 5175次阅读
    编程语言<b class='flag-5'>SCL</b>中ANY数据类型

    SCL编辑器创建功能块

    FUNCTION_BLOCK :定义号或者的符号名称。若是一个符号,例如 SIM _VAL,则在编译SCL代码中的以前,需要在符号表中为该符号名分配一个
    的头像 发表于 04-19 11:13 1577次阅读

    SCL的接口方式可以修改成和经典STEP7相同的方式

    接口选择“文本视图”,此设置默认选择表格视图。设置完,再新建的SCL即使用所选择的视图。之前新建的SCL不变。
    的头像 发表于 06-07 10:30 1418次阅读

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

    在以下部分中,将创建 SCL 函数SCL_Best_before_date” 。 可使用 SCL
    的头像 发表于 10-18 15:15 1044次阅读

    SCL与STL的区别是什么?SCL常见问题及解决办法!

    OB,FC,FB,DB,UDT。在 S7 程序中,S7-SCL 可以与其它STEP7 编程语言生成的互相调用。S7-SCL 可以被编译成 STL, S7-
    的头像 发表于 01-17 14:27 3108次阅读

    SCL中调用函数的示例

    在此,可插入函数 (FC) 调用和函数 (FB) 调用。函数可作为单实例、多重实例或参数实例进行调用。
    的头像 发表于 06-06 10:18 2167次阅读

    西门子博途:SCL编程调用函数/调用函数介绍

    SCL 中,提供返回值的函数可在任何表达式中代替操作数。因此,返回值也称为 SCL 中的“函数值”。
    的头像 发表于 06-20 09:41 8571次阅读

    调用SCL函数-事例

    在以下部分中,将在组织“Main” 中调用 SCL 函数SCL_Best_before_date” 并互连输入和输出参数。
    的头像 发表于 08-10 09:51 854次阅读
    调用<b class='flag-5'>SCL</b><b class='flag-5'>函数</b><b class='flag-5'>块</b>-事例

    SCL语言编写的模拟量输入信号处理函数介绍

    今天这篇文章,我们在博途平台下用SCL语言编写一个模拟量输入信号处理的函数,它可用于S7-1200/1500系列PLC。
    的头像 发表于 09-21 09:25 893次阅读
    <b class='flag-5'>SCL</b>语言编写的模拟量输入信号处理<b class='flag-5'>函数</b><b class='flag-5'>介绍</b>

    西门子博途: SCL函数的调用方法

    SCL 函数在内部读取 CPU 的系统时间,并根据当前日期和输入的保质期限(年数)计算“保质期”的年份。 ② 计算出的保质期年份为一个整数值在输出参数中输出。 将计算出的值存储在变量
    发表于 10-16 15:55 3479次阅读
    西门子博途: <b class='flag-5'>SCL</b><b class='flag-5'>函数</b><b class='flag-5'>块</b>的调用方法

    SIMATIC S7-1500 PLC S7-SCL SCL及应用

    函数函数在西门子的大中型PLC编程中,应用十分广泛,前介绍函数函数
    的头像 发表于 12-15 16:18 999次阅读
    SIMATIC S7-1500 PLC S7-<b class='flag-5'>SCL</b> <b class='flag-5'>SCL</b><b class='flag-5'>块</b>及应用