梯形图编程:
梯形图(Ladder Diagram)编程语言是一种使用最多、最受工厂电气人员欢迎的编程语言。梯形图与继电器控制线路相类似,他们之间可以很容易的相互转化。只要知道继电控制线路或者梯形图之一,就可以容易的转化为另一种。
梯形图编程适合广大工程技术人员的思维方式,特别是从接触继电控制线路开始起步的电气工程技术人员,他们可以直接在头脑里面构思梯形图,而不必先去构思继电控制线路再去转化为梯形图。因此被广大电气技术人员所接受。梯形图语言比较形象、直观,对于熟悉继电器表达方式的电器技术人员来说,不需要学习更深的计算机知识,极易被接受,因此在PLC编程语言中应用最广。
梯形图是一种图形编程语言,是面向控制过程的一种“自然语言”,它延用继电器的触点、线圈、串联并联等术语和图形符号,同时也增加了一些继电器控制系统中没有的特殊功能,以便增强PLC的功能。
SFC编程:
SFC即Sequential Function Chart,顺序功能图。又叫做状态转移图,它是描述控制系统的控制过程、功能和特性的一种图形,同时也是设计PLC顺序控制程序的一种有力工具。是PLC程序设计语言之一,简称为SFC图。由于其具有结构清晰、直观简便、易于阅读和维护等特点,在工业顺序控制场合中被广泛应用,目前主流的PLC都支持SFC编程。我国1986年颁布了功能图标价标准GB6988.6-86。
SFC采用画工艺流程图的方式来编程,只要在工艺方框的输入和输出表上特定的符号即可。这对于工艺人员来说,可以不需要更多的电气知识,更加方便。
SFC可以对一个控制过程进行控制,并显示该过程的状态。将用户的应用逻辑分成步和转换条件,来替代一个长的梯形图程序,对于控制过程而言,结果更为简单,直观明了。SFC属于推广的编程方式。
状态转移图是一种用于描述顺序控制系统控制过程的图形,它由步、转换条件、有向线组成。每个状态(步)表示顺序工作的一个操作,需完成一个特定的动作。状态的转换(步进)需条件得到满足。与普通指令编程相比,使用步进指令不但可以直观地表示顺序操作的流程,而且可以减少指令程序的条数和容易被人们理解。每一状态提供三个功能:驱动负载、指定转换条件、置位新状态(同时转移源自动复位)。 根据步与步进展情况状态转移图有四种结构:
1.单序列。反映按顺序排列的步相继激活这样一种基本的进展情况。
2.选择序列。一个活动步之后紧接着有几个后续步可供选择的结构形式作为选样序列。选择序列的各个分支都有各自的转换条件。
3.并行序列。当转换的实现导致几个分支同时激活时,采用并行序列。其有向连线的水平部分用一双线表示。
4.跳步、重复和循环序列。在实际系统中经常采用跳步、重复和循环序列。这此序列实际都是选择序列的特殊形式。
梯形图和SFC之间,目前来说,各主流PLC还无法实现无缝转换。一个程序中可以采用梯形图编程,也可以采用SFC编程,还可以采用梯形图和SFC混合编程。但由于两者的结构、指令等多有不同,目前的PLC基本无法实现完美转换。
梯形图的优点:对广大电气人员来说简单方便、直观明了。
梯形图的缺点:不是在任何情况下都是最简单的;对于工艺方面的人员,不太容易理解。对于步进逻辑控制,需要增设状态存储器或者采用步进梯形图指令等,麻烦一些。
SFC的优点:对工艺人员来说简单方便、直观明了。对于特定的比较严格的步进控制动作,非常方便。
SFC的缺点:对于零散的、非步进逻辑的控制或者复杂些的控制,比较麻烦,例如模拟量的比较、PID的运算,存储器的值比较、中断的处理等等。它就发挥不出优点了,因为各步之间并没有什么逻辑关系可言,或者根本不相关。
综合上述,笔者一般采用梯形图编程,对于逻辑关系很严格的步进逻辑控制笔者也不采用SFC编程,就多加点状态存储器或者采用步进的相关指令来实现。