quote:以下是引用lee nd2009在2011-11-07 15:16:34的发言:
一,每个语言的特点:
a,梯形图
梯形图(LAD)的英文全称是Ladder Logic ,梯形图由触点、线圈和应用指令等组成。触点代表逻辑输入条件,如外部的开关、按钮和内部条件等。线圈通常代表逻辑输出结果,用来控制外部的指示灯、交流接触器和内部的输出标志位等。
LAD语言的特点是:梯形图是使用得最多的PLC图形编程语言。梯形图与继电器控制系统的电路图很相似,直观易懂,很容易被工厂熟悉继电器控制的电气人员掌握,特别适用于开关量逻辑控制。
梯形图编程语言的缺点:不适合人工编写复杂控制任务及大型程序
b,功能块图(FBD)
功能块图(FBD)的英文全称是Function Block Diagram ,类似于数字逻辑门电路的编程语言,有数字电路基础的人很容易掌握。该编程语言用类似与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框被“导线”连接在一起,信号自左向右流动。
功能块图编程语言的特点是:其编程类似于电子电路逻辑图,非常直观,易于调试,易于分析逻辑关系。对于熟悉电子电路的朋友一定喜欢它。
功能图编程语言的缺点:不适合编写大型程序以及较多的逻辑运算的程序,功能块里面的实际处理功能不那么显而易见.
c,语句表(STL)
语句表(STL)的英文全称是Statement List ,编制顺序控制程序的指令和编程元件。其中,STL为步进梯形指令(Step Ladder Instruction)。
语句表(STL)编程语言的特点是:其编程风格非常简捷,完全是汇编语言的风格,用STL做的程序体积小,功能强大,所以经验丰富的程序员一定喜欢它。
语句表编程语言的缺点:指令记忆困难,程序易读性差,初学者不容易入手.不适合人工编写复杂控制任务及大型程序。
使用STL指令时应该注意以下一些问题:
1)与STL触点相连的触点应使用LD或LDI指令,即LD点移到STL触点的右侧,直到出现下一条STL指令或出现RET指令,RET指令使LD点返回左侧母线。各个STL触点驱动的电路一般放在一起,最后一个电路结束时—定要使用RET指令。
2)STL触点可以直接驱动或通过别的触点驱动Y、M、S、T等元件的线圈,STL触点也可以使Y、M、S等元件置位或复位。
3)STL触点断开时,CPU不执行它驱动的电路块,即CPU只执行活动步对应的程序。在没有并行序列时,任何时候只有一个活动步,因此大大缩短了扫描周期。
4)由于CPU只执行活动步对应的电路块,使用STL指令时允许双线圈输出,即同一元件的几个线圈可以分别被不同的STL触点驱动。实际上在一个扫描周期内,同一元件的几条OUT指令中只有一条被执行。
5)STL指令只能用于状态寄存器,在没有并行序列时,一个状态寄存器的STL触点在梯形图中只能出现一次。
6)STL触点驱动的电路块中不能使用MC和MCR指令,但是可以使用CJP和EJP指令。当执行CJP指令跳人某一STL触点驱动的电路块时,不管该STL触点是否为“1”状态,均执行对应的EJP指令之后的电路。
7)与普通的辅助继电器一样,可以对状态寄存器使用LD、LDI、AND、ANI、OR、ORI、SET、RST、OUT等指令,这时状态器触点的画法与普通触点的画法相同。
8)使状态器置位的指令如果不在STL触点驱动的电路块内,执行置位指令时系统程序不会自动将前级步对应的状态器复位。
d,结构化文本SCL
全称是S7-SCL(Structured Control Language 结构化控制语言),IEC61131–3标准创建的一种专用的高级编程语言。与梯形图相比,它能实现复杂的数学运算,编写的程序非常简洁和紧凑。
SCL编程语言的特点:其非常适合复杂运算功能,,复杂数学函数,数据管理,过程优化的编程处理。
SCL编程语言的缺点:SCL 对工程设计人员要求较高,需要其具有一定的计算机高级语言的知识和编程技巧。不适合初学者。
e,S7-GRAPH
S7-HiGraph 流程图编程方式 ,符合DIN EN 1131-3标准结构化编程,使用更方便,强大的诊断功能
适用于SIMATIC S7-300(CPU 314以上),S7-400, C7, WinAC
S7-GRAPH 具有以下特点:适用于顺序控制程序,符合国际标准IEC 61131-3,PLCopen 基础级认证
S7-GRAPH的缺点:不适合用于小项目,其代码量相对于STL 编程有所增加
f,S7-HiGraph
S7-HiGraph是S7-300/400的图形化编程语言,需要单独安装和单独的授权。S7-HiGraph 程序分为3级结构,多个状态图构成图表组,多个状态和转换条件构成状态图, 编译图表组时,生成的块以FC+DB的形式出现,必须周期性地调用S7-HiGraph FC。
具有以下特点:通过绘制功能图表来实现异步控制,非常适合于机械设计工程师,调试及维护工程师,利于自动化工程师与机械工程师相互沟通, 集成了信号监控及触发功能 计
S7-CFCS7-HiGraph与S7-GRAPH 的比较:
S7-GRAPH用于顺序控制,单个/多个顺控器可以单独/协调工作。
S7-HiGraph在实现顺序控制的基础上,还可以实现下列功能:
1)用S7-HiGraph生成的状态图可以被封装为标准元件。
2)封装后的标准元件可以在图表组中多次重复调用,调用时可以分配不同的实参。
3)标准元件(即状态图)之间可以通过消息或全局变量协同工作。
S7-CFC 全称是 Continuous Function Chart,这是一种基于其他编程语言之上的图形语言,用来编制顺序控制程序。顺序功能图提供了一种组织程序的图形方法,在顺序功能图中可以用别的语言嵌套编程。步、转换和动作是顺序功能。顺序功能图用来描述开关量控制系统的功能,根据它可以很容易地画出顺序控制梯形图程序。
S7-CFC 具有以下特点:通过绘制功能图表来自动生成程序,拥有强大的预制程序库,通过简单的连线来降低开发成本并减少错误,优化集成在STEP7中,与STEP7 兼容,适用于 SIMATIC S7-300 (推荐用于CPU314以上CPU), S7-400, C7 and WinAC
S7-CFC的缺点:其代码量相对于STL 编程有所增加。
二,对于掌握前面几种编程的语言,根据编程项目的大小,可以灵活应用,比如stl和lad在一个项目里同时使用,减少编程的量,也减少了cpu的负荷。