plc程序的逻辑设计方法的是以逻辑组合或逻辑时序的方法和形式来设计plc程序,可分为组合逻辑设计法和时序逻辑设计法两种。这些设计方法既有严密可循的规律性,明确可行的设计步骤,又具有简便、直观和十分规范的特点。
1.逻辑函数与梯形图的关系
组合逻辑设计法的理论基础是逻辑代数。我们知道,逻辑代数的三种基本运算“与”、“或”、“非”都有着非常明确的物理意义。逻辑函数表达式的线路结构与plc梯形图相互对应,可以直接转化。
如图1所示为逻辑函数与梯形图的相关对应关系,其中图1a是多变量的逻辑“与” 运算函数与梯形图,图1b为多变量“或”运算函数与梯形图,图1c为多变量“或”/“与”运算函数与梯形图,图1d为多变量“与”/“或”运算函数与梯形图。
图1 逻辑函数与梯形图
a)与运算 b)或运算 c)或/与运算 d)与/或运算
由图1可知,当一个逻辑函数用逻辑变量的基本运算式表达出来后,实现这个逻辑函数的梯形图也就确定了。
2.组合逻辑设计法的编程步骤
组合逻辑设计法适合于设计开关量控制程序,它是对控制任务进行逻辑分析和综合,将元件的通、断电状态视为以触点通、断状态为逻辑变量的逻辑函数,对经过化简的逻辑函数,利用plc逻辑指令可顺利地设计出满足要求且较为简练的程序。这种方法设计思路清晰,所编写的程序易于优化,。
用组合逻辑设计法进行程序设计一般可分为以下几个步骤:
1)明确控制任务和控制要求,通过分析工艺过程绘制工作循环和检测元件分布图,取得电气执行元件功能表。
2)详细绘制系统状态转换表。通常它由输出信号状态表、输入信号状态表、状态转换主令表和中间记忆装置状态表四个部分组成。状态转换表全面、完整地展示了系统各部分、各时刻的状态和状态之间的联系及转换,非常直观,对建立控制系统的整体联系、动态变化的概念有很大帮助,是进行系统的分析和设计的有效工具。
3)根据状态转换表进行系统的逻辑设计,包括列写中间记忆元件的逻辑函数式和列写执行元件(输出量)的逻辑函数式。这两个函数式组,既是生产机械或生产过程内部逻辑关系和变化规律的表达形式,又是构成控制系统实现控制目标的具体程序。
4)将逻辑设计的结果转化为plc程序。逻辑设计的结果(逻辑函数式)能够很方便的过渡到plc程序,特别是语句表形式,其结构和形式都与逻辑函数式非常相似,很容易直接由逻辑函数式转化。当然,如果设计者需要由梯形图程序作为一种过渡,或者选用的plc的编程器具有图形输入的功能,则也可以首先由逻辑函数式转化为梯形图程序。
3.组合逻辑设计举例
下面通过步进电机环形分配器的plc程序来进行说明:
(1)工作原理
步进电机控制主要有三个重要参数即转速、转过的角度和转向。由于步进电机的转动是由输入脉冲信号控制,所以转速是由输入脉冲信号的频率决定,而转过的角度由输入脉冲信号的脉冲个数决定。转向由环形分配器的输出通过步进电机a、b、c相绕组来控制,环形分配器通过控制各相绕组通电的相序来控制步电机转向。
如图2给出了一个双向三相六拍环形分配器的逻辑电路。电路的输出除决定于复位信号reset外,还决定于输出端qa、qb、qc的历史状态及控制信号-en使能信号、con正反转控制信号和输入脉冲信号。其真值表如表1所示。
图2 步进电机环形分配器
表1 真值表
con
1
0
z
en
clk
a
b
c
a
b
c
1
φ
φ
1
0
0
1
0
0
0
1
↑
1
0
1
1
1
0
0
1
↑
0
0
1
0
1
0
0
1
↑
0
1
1
0
1
1
0
1
↑
0
1
0
0
0
1
0
1
↑
1
1
0
1
0
1
0
1
↑
1
0
0
1
0
0
(2)程序设计
程序设计采用组合逻辑设计法,由真值表可知:
当con=0时,输出qa、qb、qc的逻辑关系为:
当con=1时,输出qa、qb、qc的逻辑关系为:
当con=0,正转时步进机a、b、c相线圈的通电相序为:
当con=1,反转时各相线圈通电相序为:
qa、qb、qc的状态转换条件为输入脉冲信号上升沿到来,状态由前一状态转为后一状态,所以在梯形图中引入了上升沿微分指令。
plc输入/输出元件地址分配见表2。
表2 plc输入/输出元件地址分配表
plc in
代号
plc out
代号
x0
clk
y0
qa
x1
en
y1
qb
x2
reset
y2
qc
x3
con
根据逻辑关系画出步进电机机环形分配器的plc梯形图,如图3所示。
图3 环形分配器的梯形图
梯形图工作原理简单分析如下:设初始状态为reset有效。x2常开触点闭合,y0输出为“1”状态,y1、y2为“0”状态,reset无效后,上述三输出状态各自保持原状态。con=0(x3=0),当en(x1=1)有效,且有输入脉冲信号clk(x0)输入,clk(x0)上升沿到来,m0辅助继电器常开触点闭合一个扫描周期。在此期间,各输出继电器状态自保持失效,y0输出保持为“1”状态,y1输出由“0”变“1”,y2输出状态为“0”。一个扫描周期过后,m0常开触点断开,常闭触点闭合,各输出继电器状态恢复自保持,等待下一个输入脉冲信号上升沿的到来。其它部分请读者自己分析。