[西门子] 西门子博途: 使用 SCL 块进行计算

[复制链接]
查看43341 | 回复0 | 2024-2-28 09:12:51 | 显示全部楼层 |阅读模式
SCL 函数块的结构

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



①  接口

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

②  编程

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

创建 SCL  函数块

步骤

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

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

2.   双击“添加新块”。



3.   要添加一个函数块:

–  单击“函数块” 。

–  指定块名称“SCL_Best_before_date” 。

–  选择语言“SCL” 。

–  单击“确定”。



4.   保存项目。

步骤

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

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

–  名称:"Duration"

–  数据类型:"Int"

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



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

–  名称:"Best_before_date_Output"

–  数据类型:"Int"

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



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

–  名称:"Error"

–  数据类型:"Int"

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



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

–  名称:"System_Time_DT"

–  数据类型:"Date_And_Time"

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



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

–  名称:"System_Time_Array"

–  数据类型:"AT"

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



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

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



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

–  名称:"Year"

–  数据类型:"Int"

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



8.   保存项目。

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



编写计算保质期的程序

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

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

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

–  写入指令:"RD_SYS_T"

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



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

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

–  写入指令:"BCD_TO_INT"

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

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



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

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

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



4.   保存项目。

结果

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则