大多数成品可编程逻辑控制器(PLC)都可以使用IEC61131-3标准中规定的至少一种编程语言进行编程:
■ IL(指令表)——与汇编语言类似的低级编程语言。
■ LD(梯形图)——基于电路走线和继电器等规则的图形语言。
■ FBD(功能块图)——一种能够实现复杂控制和数字功能的简单的图形语言。用户可以使用库中提供的功能模块或者创建用户自定义功能模块(使用符合IEC 61131-3标准的任何一种编程语言)来创建控制算法。
■ ST(结构文本)——语法上与Pascal语言和Basic语言类似的一种文本语言;能够有效应对各种复杂的控制算法。
■ SFC(顺序功能图)——描述过程和设备作业的一种图形语言。它是IEC 61131-3标准中规定的唯一一种依赖于至少其他一种编程语言的语言。SFC用来创建过程状态机;每一个状态机都使用另外一种语言编写CONTROL ENGINEERING China版权所有,例如ST或者IL。
现在最常用的是什么语言?在Control Engineering美国和波兰读者群中,最流行的编程语言是梯形图。
功能块图与电路类似,都具有逻辑元件CONTROL ENGINEERING China版权所有,在常用PLC编程语言中排名第二位。
第三位是指令表语言。先进的加法器管理引擎能够在控制系统算法中支撑这种数字依赖性很高的最复杂的编程语言。
使用ST实现简单的PID控制。
资料来源:Control Engineering Poland
功能块图的使用是通过PLC创建面向对象任务的第一步。对结构文本语言开始了解的人每年都在增加,相比于梯形图,很多年轻的工程师更喜欢结构文本语言CONTROL ENGINEERING China版权所有,所以未来这种语言在业界的应用将会更流行。
顺序功能图被称为“专家所使用的语言”,用户使用这种语言可以创建整套设备或者过程的流程图。
有一些PLC现在可以使用符合Kernighan& Ritchie标准的ANSI C语言进行编程,有些型号的PLC甚至支持C++语言编程。工业控制系统生产厂商通常都提供额外的基于自身产品平台的专用编程语言,它们能与硬件更好地整合,例如对BIOS和唯一序列号等进行操作。
工业PC(IPC)配有传统的操作系统,通常是微软公司的Windows操作系统和运行于同一台计算机上的实时系统。这种组合的优势在于既能利用IEC 61131-3标准中规定的“编程”语言又能利用基于微软公司Windows系统的高级语言,例如C++或者C#。
最近几年传统PLC获得了长足的发展,有时很难将PLC和IPC进行明确界定。当一台设备的功能超过PLC,计算功能类似于IPC,但是同时又具备了PLC耐用的外壳CONTROL ENGINEERING China版权所有,那么它就被称为可编程自动化控制器(PAC)。PAC获得了分布式控制系统(DCS)生产厂商的关注,一些厂商已经将PAC作为其DCS产品供应市场。PAC支持使用大量的文本形式的高级编程语言(C、C++、C#),还支持图形编程语言(如前文所列)。