首页 理论教育 CoDeSys编程的预备知识:准备就绪

CoDeSys编程的预备知识:准备就绪

时间:2023-06-29 理论教育 版权反馈
【摘要】:详细指令参见CoDeSys手册。这种程序设计语言采用因果关系来描述事件发生的条件和结果。图4-56 LD语言编程结构化文本STST程序设计语言是用结构化的描述语句来描述程序的一种程序设计语言。表4-14标准数据类型取值范围自定义数据类型自定义数据类型有数组、指针、结构等,具体操作参见CoDeSys手册。表4-15变量标识符前缀(续)

CoDeSys编程的预备知识:准备就绪

1.编程语言

CoDeSys支持IEC61131-3标准中的IL、ST、FBD、LD、SFC、CFC六种PLC编程语言,用户可在同一项目中根据需要选择不同的语言来编写程序。

•指令表IL(Instruction List)

IL程序设计语言是用布尔助记符来描述程序的一种程序设计语言,它与计算机中的汇编语言非常相似,采用布尔助记符来表示操作功能。指令表包括一系列的指令,每条指令从新行开始,根据运算类型一个或多个操作数由逗号分开,如图4-55所示,编写的是两个整数的加法运算。详细指令参见CoDeSys手册。

978-7-111-40188-9-Chapter04-94.jpg

图4-55 IL语言编程

梯形图LD(Ladder Diagram)

梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级是一个因果关系。在梯级中,描述事件发生的条件表示在左面,事件发生的结果表示在后面。它来源于继电器逻辑控制系统的描述。

梯形图程序设计语言的特点是:与电气操作原理图相对应,具有直观性和对应性;主要应用于开关量逻辑控制目的的程序。与原有的继电器逻辑控制技术的不同点是,梯形图中的能流(Power FLow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此,应用时需与原有继电器逻辑控制技术的有关概念区别对待,如图4-56所示。

978-7-111-40188-9-Chapter04-95.jpg

图4-56 LD语言编程

•结构化文本ST(Structured Text)

ST程序设计语言是用结构化的描述语句来描述程序的一种程序设计语言。它是一种类似于高级语言的程序设计语言。在大中型的PLC系统中,尤其是大量的模拟量运算和处理,常采用ST语言来描述控制系统中各个变量之间较复杂的控制运算关系,完成所需的功能或操作。

ST语言与BASIC语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。常见的指令如下:

AND逻辑与;OR逻辑或;NOT逻辑非;XOR逻辑异或;+加;-减;∗乘;/除;函数名(参数表)函数调用;<,>,<=,>=比较等,如图4-57所示。

978-7-111-40188-9-Chapter04-96.jpg

图4-57 ST语言编程

ST语言除有一般算术运算、逻辑运算、表达式、调用子程序等指令外,还有一些结构化的语句模块。

条件语句:

978-7-111-40188-9-Chapter04-97.jpg

其余指令用法参见CoDeSys手册。

•功能模块图FBD(Function Block Diagram)

功能模块图程序设计语言是采用功能模块来表示模块所具有的功能,不同的功能模块有不同的功能。它有若干个输入端和输出端,通过软连接的方式,分别连接到所需的其他端子,完成所需的控制运算或控制功能。功能模块可以分为不同的类型,在同一种类型中,也可能因功能参数的不同而使功能或应用范围有所差别,例如,输入端的数量、输入信号的类型等的不同使它的使用范围不同。由于采用软连接的方式进行功能模块之间及功能模块与外部端子的连接,因此控制方案的更改、信号连接的替换等操作可很方便实现。功能模块图程序设计语言的特点是:

1)以功能模块为单位,从控制功能入手,使控制方案的分析和理解变得容易;

2)功能模块是用图形化的方法描述功能,它的直观性大大方便了设计人员的编程和组态,有较好的易操作性;

3)对控制规模较大、控制关系较复录的系统,由于控制功能的关系可以较清楚地表达出来,因此,编程和组态时间可以缩短,调试时间也能减少;

4)用户自己可以用不同的语言编写特定的功能模块,也可在用其他语言编程时插入功能模块。FBD语言编程如图4-58所示。

978-7-111-40188-9-Chapter04-98.jpg(www.xing528.com)

图4-58 FBD语言编程

•顺序流程图SFC(Sepuential Function Chart)

SFC语言是用顺序流程图来描述程序的一种程序设计语言。采用顺序流程图的描述,控制系统被分为若干个子系统,从功能入手,使系统的操作具有明确的含义,便于设计人员和操作人员设计思想的沟通,便于程序分工设计和检查调试。

SFC语言的特点是:

1)以功能为主线,条理清楚,便于对程序操作的理解和沟通;

2)对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间;

3)能较简单和清楚地描述并发系统和复杂系统的所有现象,并能对系统中存有的死锁、不安全等反常现象进行分析和建模,在模型的基础上能直接编程。

4)当且仅当顺序条件为真时,程序才能往下执行。每一步功能块可用不同语言编写。同等条件的功能块,可指定时间执行顺序。SFC语言编程如图4-59所示。

978-7-111-40188-9-Chapter04-99.jpg

图4-59 SFC语言编程

•连续功能图CFC(Control Function Chart)

CFC连续功能图是IEC61131-3标准编程语言的扩展,是基于功能块图的图形化编程语言,但它没有网络限制,可任意放置元素,例如允许插入反馈回路,如图4-60所示。

978-7-111-40188-9-Chapter04-100.jpg

图4-60 CFC语言编程

2.数据类型和变量标识符

•标准数据类型

标准数据类型有BOOL(布尔量)、SINT(短整型)、INT(整型数)、DINT(双整型数)、USINT(无符号短整型)、UINT(无符号整型数)、UDINT(无符号双整型数)、BYTE(位)、WORD(字)、DWORD(双字)、STRING(字符量)、REAL(实型数)、LREAL(长实型数)、TIME(时间量)等,标准数据类型取值范围见表4-14。

表4-14标准数据类型取值范围

978-7-111-40188-9-Chapter04-101.jpg

•自定义数据类型

自定义数据类型有数组指针、结构等,具体操作参见CoDeSys手册。

•变量标识符

变量标识符以数据类型前缀的形式出现,前缀表见表4-15,数据类型前缀后面是逻辑单词组成部分,其每部分的第一个字母是一个大写字母。目的是为了区别它们的含义,例如变量diOutVal:di表示DINT(双整数),Out表示Output(输出),Val表示Value(数值)。

表4-15变量标识符前缀

978-7-111-40188-9-Chapter04-102.jpg

(续)

978-7-111-40188-9-Chapter04-103.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈