PLC的编程语言与一般计算机语言相比具有明显的特点,它既不同于一般高级语言,也不同于一般汇编语言,它既要易于编写又要易于调试。目前,还没有一种对各厂家产品都能兼容的编程语言。
目前,PLC为用户提供了多种编程语言,以适应编制用户程序的需要,PLC提供的编程语言通常有以下几种:梯形图、指令表、顺序功能图和功能块图
1、梯形图
梯形图编程语言是从继电器控制系统原理图的基础上演变而来的。PLC的梯形图与继电器控制系统梯形图的基本思想是一致的,但是在使用符号和表达式等方面有一定区别。
梯形图具有形象、直观、简单明了,易于理解的特点,特别适合开关量逻辑控制,是PLC较基本、较普遍的编程语言。
2、语句表(STL)
语句表是用助记符来表达PLC的各种功能。它类似计算机的汇编语言,但比汇编语言通俗易懂,也是较为广泛应用的一种编程语言。使用语句表编程时,编程设备简单,逻辑紧凑、系统化,连接范围不受限制,但比较抽象。一般可以与梯形图互相转化,互为补充。目前,大多数PLC都有语句表编程功能。
3、顺序功能图(SFC)
顺序功能图编程是一种图形化的编程方法,亦称功能图。它的编程方式采用画工艺流程图的方法编程,只要在每个工艺方框的输入和输出端,标上特定的符号即可。采用顺序功能图编程,可以使具有并发、选择等复杂结构的系统控制程序大为简化。许多PLC都提供了用于SFC编程的指令,它是一种效果显着、深受欢迎的编程语言,目前国际电工**(IEC)也正在实施并发展这种语言的编程标准。
4、 功能块图(FBD)
逻辑功能图是一种由逻辑功能符号组成的功能块来表达命令的图形语言,这种编程语言基本上沿用了半导体逻辑电路的逻辑方块图。对每一种功能都使用一个运算方块,其运算功能由方块内的符号确定。对于熟悉逻辑电路和具有逻辑代数基础的人员来说,使用非常方便。
大型化PLC发展方向主要有以下几个方面:
① 功能不断加强:不仅具有逻辑运算、计数、定时等基本功能,还具有数值运算、模拟调节、监控、记录、显示、与计算机接口、通信等功能。
网络功能是PLC发展的一个重要特征。各种个人计算机,图形工作站、小型机等都可以作为PLC的监控主机或工作站,这些装置的结合能够提供屏幕显示、数据采集、记录保持、回路面板显示等功能。大量的PLC联网及不同厂家生产的PLC兼容性增加,使得分散控制或集中管理都能轻易地实现。
② 应用范围不断扩大:不仅能进行一般的逻辑控制,种类齐全的接口模块还能进行中断控制、智能控制、过程控制、远程控制等。
用于过程控制的PLC往往对存储器容量及速度要求较高,为此,开发了高速模拟量输入模块,**独立的PID控制器,多路转换器等,使得数字技术和模拟量技术在可编程序控制器中得到统一。采用软件、硬件相结合的方法,使得编程和接线都比过去用常规仪表控制要方便得多。
③ 性能不断提高:采用高性能微处理器,提高处理速度,加快PLC的响应时间;为了扩大存储容量,许多公司已使用了磁泡存储器或硬盘;采用多处理器技术,以提高性能;采用冗余热备用系统或三选二表决系统,以提高系统可靠性。
为了进一步简化在**控制领域的系统设计及编程,**智能输入输出模块越来越多,如**智能PID控制器、智能模拟量I/O模块、智能位置控制模块、语言处理模块、**数控模块、智能通讯模块、计算模块等,这些模块的一个特点就是本身具有CPU,能独立工作,它们与PLC主机并行操作,无论在速度、精度、适应性、可靠性各方面都对PLC进行了较好的补充。它们与PLC紧密结合,有助于克服PLC扫描工作方式的局限,完成PLC本身无法完成的许多功能。
④ 编程软件的多样化和高级化、标准化:采用多种编程语言,有面向顺序控制的步进顺序语言和面向过程控制系统的流程图语言,后者是一种面向功能块的语言,能够表示过程中动态变量与信号的相互联结;还有与计算机兼容的高级语言,如BASIC、C及汇编语言;另外还有**的高级语言,例如三菱的MELSAP采用编译的方法将语句变为梯形图程序;也有采用布尔逻辑语言的,CPU能直接执行AND、OR、XOR、NOT操作,这种语言执行速度很快,但不很直观。PLC也将具有数据库,并可实现整个网络的数据库共享,还将不断发展自适应控制和*系统。
⑤ 构成形式的分散化和集散化:PLC与I/O口分散,分散的每个I/O口输入输出点数可以少到十几个点,分散的单元可以是几十个或上百个,通信和网络功能逐步增强。作为CIMS、CIPS的分支不断发展,PLC本身也可分散,分散的PLC与上位机结合构成集散系统,分散地进行控制,这就便于构成多层分布式控制,以实现整个工厂或企业的自动化控制和管理。不同机型的PLC之间、PLC与计算机之间可方便地联网,实现资源共享,加上功能强大的网络监控软件,就构成大型PLC控制网络系统。