苏州实操派科技有限公司官网-实操派教育科技,汇川技术PLC培训,实操派PLC培训,苏州PLC培训机构

如何在CODESYS中调用函数?

[复制链接]

附件下载,需登录可以查看贴内更多信息

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

x
文章大纲:

一、前言

二、CODESYS简介

三、函数基础

1.编写函数的语法

2.函数参数的基本类型

3.定义函数返回类型

四、函数调用

1.调用函数的语法

2.传递参数

3.获得函数的返回值

五、CODESYS中如何使用函数

1.添加函数库

2.调用自定义函数

六、CODESYS中的标准函数库

1.概述

2.Math类函数

3.Bitwise类函数

4.Time类函数

5.String类函数

6.File操作类函数

七、总结

一、前言

近年来,随着信息技术的高速发展和电气自动化技术的不断进步,PLC控制系统在各行业中越来越得到广泛应用。CODESYS作为一种被广泛采用的PLC程序开发环境,具有良好的PLC编程界面和稳定的运行性能。本文将围绕“如何在CODESYS中调用函数?”这一主题,详细阐述CODESYS中函数的基本语法、函数的调用方法以及CODESYS中标准函数库的使用。

二、CODESYS简介

CODESYS是由德国3S-Smart Software Solutions GmbH研发的一款基于IEC 61131-3标准的PLC程序开发环境。CODESYS提供了包括LADDER、FBD、ST、SFC、IL等多种编程语言,同时还提供了许多PLC控制系统所需要的常用功能库和工具库。

三、函数基础

在CODESYS中,函数是一段被封装好的代码块,可以完成某个特定的任务。函数接收参数,完成某些操作,然后返回一个值。下面是CODESYS函数的基本语法:

```
[FUNCTION] 函数名 ([参数1],[参数2],...[参数n]) : [返回类型]
VAR
   //定义变量
END_VAR
BEGIN
   //执行代码块
END_FUNCTION
```

1.编写函数的语法

函数的语法分为两部分:函数头和函数体。函数头包括函数名、可选参数列表和返回类型;函数体则包含了函数要执行的语句。以下是一个简单的CODESYS函数例子:

```
FUNCTION_ADDINT
   VAR_INPUT
      A : INT;
      B : INT;
   END_VAR
   VAR_OUTPUT
      C : INT;
   END_VAR
   BEGIN
      C := A + B; //求和
   END_FUNCTION
```

上述函数的名称是ADDINT,它有两个输入参数A和B,一个输出参数C,返回类型是INT。函数体是一个简单的求和操作。

2.函数参数的基本类型

CODESYS中有多种数据类型,包括布尔型、整型、浮点型、字符型等。可以在函数的参数列表中使用这些数据类型。以下是CODESYS支持的数据类型:

- INT:整型,占用2个字节。
- DINT:双整型,占用4个字节。
- REAL:浮点型,占用4个字节。
- LREAL:双精度浮点型,占用8个字节。
- BOOL:布尔型,占用1个字节。
- BYTE:字节型,占用1个字节。
- WORD:字型,占用2个字节。
- STRING:字符串类型。

3.定义函数返回类型

CODESYS的函数可以返回多种类型,包括整型、浮点型、字符型等。下面是一个例子,返回整型:

```
FUNCTION_ADDITIVE : INT
   VAR_INPUT
      A : INT;
      B : INT;
   END_VAR
   VAR_OUTPUT
      C : INT;
   END_VAR
   BEGIN
      C := A + B;
      ADDITIVE := C;
   END_FUNCTION
```

四、函数调用

函数调用就是在程序中使用函数来完成某些任务的过程。在CODESYS中,函数可以通过函数名及其参数来调用。以下是CODESYS调用函数的基本语法:

```
函数名 (参数1, 参数2, ..., 参数n)
```

1.调用函数的语法

调用函数的语法非常简单,在需要执行函数的地方使用函数名称和参数即可。下面是一个例子:

```
FUNCTION_ADDITIVE:INT;
VAR
   A,B,C : INT;
END_VAR
A:=1;
B:=2;
C:=FUNCTION_ADDITIVE(A,B); //调用ADDITIVE函数
```

2.传递参数

在函数调用时,可以传递多个参数。以下是一个将两个数相乘的例子:

```
FUNCTION_MULTIPLY : INT
   VAR_INPUT
      A : INT;
      B : INT;
   END_VAR
   VAR_OUTPUT
      C : INT;
   END_VAR
   BEGIN
      C := A * B;
      MULTIPLY := C;
   END_FUNCTION

VAR
   A,B,C:INT; //定义变量
END_VAR
A:= 2; //给A和B赋值
B:= 3;
C:= MULTIPLY(A,B); //调用函数
```

3.获得函数的返回值

CODESYS中的函数可以返回一个值,使用该返回值可以作为根据函数结果进行的后续操作。下面是一个简单的代码示例:

```
FUNCTION_TEST : BOOL
VAR
   RESULT:BOOL;
END_VAR
RESULT := TRUE;
TEST := RESULT; //返回一个bool类型值
```

五、CODESYS中如何使用函数

CODESYS支持用户自定义函数,也预置了一些常用的标准函数库。通过添加函数库,可以在程序中调用这些函数库的函数。

1.添加函数库

要使用CODESYS中提供的标准函数库,需要在PLC项目中添加函数库。步骤如下:

- 打开PLC项目。
- 选择Project->Library Manager …菜单命令。
- 在Library Manager窗口中,选择Add…按钮,在后面的对话框中,选择需要添加的库并确定。
- 在Library Manager窗口中选择Close,就可以看到添加的库了。

2.调用自定义函数

用户自定义函数可以被其他程序调用。在需要使用时,只需要引用函数所在的源文件即可。以下是一个例子:

```
FUNCTION_ADDITIVE : INT
   VAR_INPUT
      A,B : INT;
   END_VAR
   VAR_OUTPUT
      C : INT;
   END_VAR
   BEGIN
      C := A + B;
      ADDITIVE := C;
   END_FUNCTION
```

六、CODESYS中的标准函数库

1.概述

CODESYS提供了很多标准函数库,这些函数涵盖了不同领域的需求。例如:Math类函数、Bitwise类函数、Time类函数、String类函数、File操作类函数等。这些函数可以缩短编程时间,提高开发效率。

2.Math类函数

Math类函数提供了各种基本的数学运算函数,包括:

- ABS():计算一个数的绝对值。
- EXP():计算“e”的n次方。
- LN():返回一个数的自然对数。
- LOG():返回一个数的常用对数。
- ROUND():将一个小数四舍五入到指定的位数。
- SQRT():计算一个数的平方根。
- TRUNC():将一个小数截断为整数并返回。

3.Bitwise类函数

Bitwise类函数提供了各种比特运算函数,包括:

- AND():将两个值按位与运算,并返回结果。
- OR():将两个值按位或运算,并返回结果。
- NOT():将一个值按位取反,并返回结果。
- XOR():将两个值按位异或运算,并返回结果。

4.Time类函数

Time类函数提供了时间相关的函数,包括:

- GET_TIME():返回当前的时间。
- WAIT_TIME():等待指定的时间后继续执行程序。
- DATE_TO_STRING():将日期转换成字符串格式。
- STRING_TO_DATE():将字符串转换成日期格式。

5.String类函数

String类函数提供了字符串操作相关的函数,包括:

- FIND():查找一个字符串中的子串。
- REPLACE():将一个字符串中的指定子串替换成另一个字符串。
- TO_INT():将字符串转换成整数。
- TO_REAL():将字符串转换成浮点数。
- TO_LREAL():将字符串转换成双精度浮点数。

6.File操作类函数

File操作类函数提供了文件操作相关的函数,包括:

- OPEN_FILE():打开一个文件。
- CLOSE_FILE():关闭一个文件。
- READ_FILE():从文件中读取数据。
- WRITE_FILE():将数据写入到文件中去。

七、总结

本文主要介绍了CODESYS中如何定义和调用函数。同时还介绍了CODESYS中的标准函数库,包括Math类函数、Bitwise类函数、Time类函数、String类函数、File操作类函数等。CODESYS提供了许多标准函数库,这些函数可以简化程序开发过程,提高代码的可读性。在实际开发过程中,要根据具体需求选用适当的标准函数库,并结合自定义函数进行开发。

________________________________________________________________________

免责声明:本文非官方发布,内容真实性请注意甄别,文章内容仅供参考。本站不对内容真实性负责,请悉知!本站不对内容真实性负责,请悉知!。我们专注于汇川技术产品培训,官网https://shicaopai.com
回复

使用道具 举报

shicaopai 2023-7-27 07:31:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

"π³ 实操派",培养中高端PLC工程师,PLC培训-Codesys培训

项目实战 手把手教学 微信&电话 15850116008
超2000节系统化课程,汇川优秀自动化讲师亲授!学一门Codesys,玩800家PLC仅剩少量名额
点击免费试听

到实操派,学PLC就是快!

扫码领取工控文库VIP

钻石VIP先到先得

服务电话 & 微信:9:00-22:00

15850116008

苏州实操派科技有限公司

公司地址:江苏省苏州市吴中区越溪街道天鹅荡路5号31B13

Copyright © 苏州实操派科技有限公司 2022 到实操派,学PLC就是快!工业自动化业务培训适用人群:成人 ( 苏ICP备2022021576号-3 )

公司地址:江苏省苏州市吴中区越溪街道天鹅荡路5号31B13

返回顶部