CODESYS共支持六中不同的编程语言,很多学者在学习的过程中常会问一个问题,哪种编程语言最好?
其实本人觉得没有哪种编程语言是绝对的好或不好,不同的工程应用具有不同的最佳编程方式,每种编程语言都具有其不同的特点,可根据实际工程应用的需求选用合适的编程语言,下面简单介绍下CODESYS的6种不同语言的特点。
1)梯形图(LD):与电气操作原理图相对应,其优点它的直观性,电气技术人员易于掌握和学习。缺点是在应对复杂的控制系统编程时往往程序描述性不够清晰。梯形图在国内的工业自动化领域中是使用最多的一种PLC编程语言。
2)功能块图(FBD):以功能块为设计单位,能从控制功能入手,优点是使控制方案的分析和理解变得容易,功能块具有直观性强、容易掌握的特点,有较好的操作性。在应对复杂控制系统时仍可用图形方式清晰描述。缺点是每种功能块要占用程序存储空间,并延长程序执行周期。
3)指令表(IL):优点是易于记忆及掌握,与梯形图(LD)有对应关系,便于相互转换和对程序的检查,且编程及调试时不受屏幕大小的限制,输入元素不受限制。缺点和梯形图一样,对复杂系统的程序描述不够清晰。
4)结构化文本(ST):优点是可实现复杂运算控制,对编程人员的技能要求高,其缺点是编译时需要将代码转换为机器语言,会导致编译时间长、执行速度慢,且直观性和易操作性差。
5)顺序流程功能图(SFC):以完成的功能为主线,优点是操作过程条理清楚,便于对程序操作过程的理解和思路;对大型程序可分工设计,采用较灵活的程序结构,节省程序设计时间和调试时间,由于只对活动步进行扫描,因此,可缩短程序执行时间。
6)连续功能图(CFC):实际上是功能块图(FBD)的另一种形式。在整个程序中可自定义运算块的计算顺序,易于实现大规模、数量庞大但又不易细分功能的流程运算。在连续控制行业中,得到大量使用。
编程语言的多样性是CODESYS一大优点。所以在实际的工程项目中,从优化程序和编程便利性的角度建议大家,涉及到算法部分请选择ST语言,编写的程序往往简洁而高效;涉及到流程控制部分,请选择SFC语言,编写的程序会条理清晰,逻辑关系不会混乱;涉及到逻辑控制部分,请选择LD语言,编写的联锁,互锁等逻辑简单易懂;涉及到功能块部分,请选择CFC或者FBD,编写的程序会形成一个网络清晰的网状电路图,易于读懂。当然,在实际的编程时,用户也可以根据自己的使用习惯来选择编程语言,虽然实现的方法不同,但是都能得到同一个结果。