admin 发表于 2019-8-1 23:59:24

干货 | CODESYS六种编程语言的特点

CODESYS共支持六中不同的编程语言,很多学者在学习的过程中常会问一个问题,哪种编程语言最好?其实本人觉得没有哪种编程语言是绝对的好或不好,不同的工程应用具有不同的最佳编程方式,每种编程语言都具有其不同的特点,可根据实际工程应用的需求选用合适的编程语言,下面简单介绍下CODESYS的6种不同语言的特点。1)梯形图(LD):与电气操作原理图相对应,其优点它的直观性,电气技术人员易于掌握和学习。缺点是在应对复杂的控制系统编程时往往程序描述性不够清晰。梯形图在国内的工业自动化领域中是使用最多的一种PLC编程语言。 2)功能块图(FBD):以功能块为设计单位,能从控制功能入手,优点是使控制方案的分析和理解变得容易,功能块具有直观性强、容易掌握的特点,有较好的操作性。在应对复杂控制系统时仍可用图形方式清晰描述。缺点是每种功能块要占用程序存储空间,并延长程序执行周期。 3)指令表(IL):优点是易于记忆及掌握,与梯形图(LD)有对应关系,便于相互转换和对程序的检查,且编程及调试时不受屏幕大小的限制,输入元素不受限制。缺点和梯形图一样,对复杂系统的程序描述不够清晰。 4)结构化文本(ST):优点是可实现复杂运算控制,对编程人员的技能要求高,其缺点是编译时需要将代码转换为机器语言,会导致编译时间长、执行速度慢,且直观性和易操作性差。 5)顺序流程功能图(SFC):以完成的功能为主线,优点是操作过程条理清楚,便于对程序操作过程的理解和思路;对大型程序可分工设计,采用较灵活的程序结构,节省程序设计时间和调试时间,由于只对活动步进行扫描,因此,可缩短程序执行时间。 6)连续功能图(CFC):实际上是功能块图(FBD)的另一种形式。在整个程序中可自定义运算块的计算顺序,易于实现大规模、数量庞大但又不易细分功能的流程运算。在连续控制行业中,得到大量使用。 编程语言的多样性是CODESYS一大优点。所以在实际的工程项目中,从优化程序和编程便利性的角度建议大家,涉及到算法部分请选择ST语言,编写的程序往往简洁而高效;涉及到流程控制部分,请选择SFC语言,编写的程序会条理清晰,逻辑关系不会混乱;涉及到逻辑控制部分,请选择LD语言,编写的联锁,互锁等逻辑简单易懂;涉及到功能块部分,请选择CFC或者FBD,编写的程序会形成一个网络清晰的网状电路图,易于读懂。当然,在实际的编程时,用户也可以根据自己的使用习惯来选择编程语言,虽然实现的方法不同,但是都能得到同一个结果。
指令表(IL)IEC 61131-3中的指令表IL(Instruction List)语言是一种低级语言,与汇编语言很相似,它是在借鉴、吸收世界范围的PLC厂商的指令表语言的基础上形成的一种标准语言,可用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中将动作和转变的行为。指令表语言能用于调用,如有条件和无条件地调用功能块和功能,还能执行赋值以及在区段内执行有条件或无条件的转移。指令表语言不但简单易学,而且非常容易实现,不用编译就可以下载到PLC。指令表编程语言常常被作为基础编程语言,其他编程语言能够方便的转换为指令表语言。但是指令表编程语言对大型的复杂控制问题缺少有效的工具,因此,在大型复杂的控制问题中,通常不采用指令表编程语言。4.1.1指令表编程语言简介1.简介指令表语言是由一系列指令组成的语言。每条指令在新一行开始,一条完整的指令由操作符和紧随其后的操作数组成,操作数是指在IEC 61131-3的“公共元素”中定义的变量和常量。有些操作符可带若干个操作数,这时各个操作数用逗号隔开。指令前可加标号,后面跟冒号,在操作数之后可加注释。指令表IL编辑器的编程界面如图4.1所示。指令表编程语言的特点是:— 指令具有简单易学的特点,适用于小型较简单控制系统的编程; — 操作符被用于操纵所有基本数据类型的变量、调用函数和功能块; — 能够直接在PLC内部解释的语言,适用于大多数PLC制造商; — 指令表编程语言的编写较难转换到其他编程语言,其他编程语言编写的程序容易转换到指令表编程语言。 2.程序执行顺序指令表编程语言的执行过程是从上至下的顺序进行执行,如图4.2所示。3.指令的格式在指令表编程语言中,指令具有如下的格式:标号:操作符/函数 操作数 注释
【例4.1】使用指令表实现电机的启保停控制。例4.1中的程序用于对设备中的电机进行启保停控制。程序中,标签为START,指令第1行将变量bStart的结果存放至累加器中。第2行的指令将第1行指令的结果和bHold进行或逻辑运算,结果覆盖到累加器中。第3行指令用于将第2行运算结果和停止信号bStop进行取反后的逻辑与运算,结果仍存放在累加器中。第4行指令用于将当前累加器中的结果输出至变量bDone中。HSC4系列控制器
页: [1]
查看完整版本: 干货 | CODESYS六种编程语言的特点