s7300梯形图编程总结

2024-04-29

s7300梯形图编程总结(精选5篇)

篇1:PLC梯形图编程规则略谈

继电器控制系统是指用导线把各种继电器、定时器、计数器及其接点连接起来, 按逻辑关系控制生产机械的一种控制系统。而PLC控制系统是模仿继电器控制原理发展起来的, 专为在工业环境应用而设计, 是一种工业控制计算机。用PLC来编程继电器控制系统时, 可保持系统原有的外部特性。其外部接线图描述了这个控制箱的外部接线, 而梯形图则是这个控制箱的内部“线路图”, 梯形图中的输入继电器和输出继电器是这个控制箱与外部接口的内部“接口继电器”。在分析和设计梯形图时, 将输出继电器的线圈对应PLC外部负载的线圈。

一句话, PLC中的梯形图就是控制电路的辅助部分。这样用梯形图编程就有一个明确的方向了。就本人这些年的教学经验, 结合学生在学习中的情况, 梯形图编程可从如下三方面来进行:

一、根据继电器电路图画出PLC的外部接线图

1. 首先了解和熟悉被控设备的工艺过程和机械的动作情况。

2. 确定PLC的输入信号和输出负载, 分配输入输出点数。

按钮、控制开关等接在PLC的输入端, 接触器和电磁阀等接在PLC的输出端。

3. 确定继电器电路图中的中间继电

器和时间继电器由PLC内部的辅助继电器 (M) 和定时器 (T) 来完成, 与PLC的输入输出继电器无关。

4. 根据电路图画出PLC的外部接线图。

第2步、3步、4步建立了继电器电路图中的元件和梯形图中的元件之间的对应关系。为梯形图的设计打下了基础。

为方便理解PLC的编程方法, 以三相异步电动机典型以正反转控制为例 (控制电路图) , 举例PLC控制的方法。说明:SB1正转启动按钮, SB3为反转启动按钮, SB2为停止按钮, FR是热继电器, KM1为正转接触器, KM2为反转接触器。首先根据电路图, 了解电路功能;其次分配I/O点数, 其中4个输入触点:X0-SB1, X2-SB3, X1-SB2, X3-FR.2个输出触点:Y0-KM1, Y1-KM2。再根据分配点, 画出PLC的I/O接线图, 如图A所示, 在PLC的I/O接口图中所有输入触点全采用常开触点。梯形图程序如B所示, 通过比较可以发现, PLC系统中的输入与输出回路在电气上是完全隔离的。

通过这实例, 让学生明白在使用PLC设计方法应注意:梯形图是PLC的程序, 是一种软件, 而继电器是由硬件组成的, 这是梯形图和继电器电路图的本质区别。因为在继电器电路中继电器元件是并行工作方式工作的:当电源接通时, 即该吸合的继电器都同时吸合, 不该吸合的继电器受某种条件限制而不能吸合。而PLC中的CPU是串行方式工作的, CPU一次只能执行1条指令。所以根据继电器电路图设计梯形图时要注意。

二、继电器电路图转为梯形图时的注意事项

1. 我们来看下面图A与图C I/O接线的区别

图A将SB1、SB2和FR常开触点接到PLC的输入端, 梯形图程序中触点类型与继电器控制系统完全一致;而图C的I/O接线图中停止按钮和热继电器使用常闭触点, 而梯形图中对应触点的常开/常闭类型与继电器图相反, 造成理解困难。所以规定除非输入信号只能由常闭触点提供, 一般情况应尽量使用常开触点。

2. 分离交织在一起的电路

据PLC外部接线图与梯形图中元件之间对应关系, 辅助电路图直接转为梯形图, 但这与梯形图编程规则相悖。按照继电器电路中的连接顺序

画出梯形图, 如图E所示, 表面上分析逻辑功能是相同的, 但用软件编程时, 该梯形图无法输入, 因为梯形图规定:触点应位于线圈的左边, 线圈右边应连右母线 (如图F, 但此图不够优化) 。一般在设计梯形图时将各线圈的控制电路分离, 梯形图可能会多用一些触点, 但电路比较清晰 (如图B) 。

3. 热继电器触点处理

FR作过载保护用, 可采用常闭触点接在PLC输出回路, 与接触器线圈串联, 这样可以节约PLC的输入点 (如图G) ;或将热继电器触点接在PLC输入端, 但此种方法则占一个输入点 (如图A) 。 (建议采用后者) 。

三、设计梯形图的基本原则

1.梯形图线圈与左母线之间要有触点, 而与右母线之间不需任何触点.图H (2) 正确。 (如图H⑴错误) 。

2.为减少指令表的指令条数, 在并联电路块串联时, 应放在电路块的左边 (图B) , 有串联电路块并联时, 触点最多的串联电路块放在梯形图最上面, 可减少指令。如 (图H⑷)

3.同一编号线圈出现两次则称为双线圈, 在梯形图中应尽量避免双线圈出现。

4.减少输入信号和输出信号

继电器电路应尽量少用元件和触点 (如图G) 。梯形图是一种软件, 一般只需要同一输入器件的一个常开或常闭触点, 给PLC提供信号, 可多次使用同一输入继电器的常开和常闭触点。

5.软件互锁和硬件互锁

在梯形图中设置软件互锁外, 还必须在PLC输出回路中设置硬件互锁 (如图A、G) 。

总之, 通过理论与实践教学, 本人认为可以从上述三方面来编程梯形图程序。通过I/O的接口及梯形图程序写入到PLC, 可以很好的解决梯形图编程问题;通过实践操作, 学生对于梯形图编程有一定的理解力。但初学者对于PLC的编程要做到灵活运用, 仍需对技术难点和使用技巧加以深刻理解。

摘要:可编程控制器 (Programmable Logi Controller) 简称为PLC, 是以微处理器为核心, 目前已被广泛地应用于各种机械和生产过程的自动控制中。PLC技术已成为现代控制技术的重要支柱。用PLC梯形图编程来控制继电器电路就成为迫切需要解决的问题。 (以三菱FX2N系列PLC为例说明)

关键词:继电器控制,PLC,梯形图,逻辑控制,电气原理图

参考文献

[1]周四六主编《可编程控制器应用基础》2006年8月出版人民邮电出版社北京

[2]廖常初主编《FX系列PLC编程及应用》2007年7月出版机械工业出版社北京

篇2:s7300梯形图编程总结

【关键词】 可靠性性高;程序设计简单;速度快;灵活性强

一、PLC的基础知识

(一)PLC的定义

PLC的定义有许多种。国际电工委员会(IEC)对PLC的定义是:可编程控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存贮器,用来在其内部存贮执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字、模拟的输入和输出,控制各种类型的机械或生产过程。可编程序控制器及其有关设备,都应按易于与工业控制系统形成一个整体,易于扩充其功能的原则设计。可编程控制器(Programmable Controller)是计算机家族中的一员,是为工业控制应用而设计制造的。早期的可编程控制器称作可编程逻辑控制器(Programmable Logic Controller),简称PLC,它主要用来代替继电器实现逻辑控制。随着技术的发展,这种装置的功能已经大大超过了逻辑控制的范围,今天这种装置称作可编程控制器,简称PC。为了避免与个人计算机(Personal Computer)的简称混淆,将可编程控制器简称PLC。

(二)PLC的特点

1.高可靠性。(1)所有的I/O接口电路均采用光电隔离,使工业现场的外电路与PLC内部电路之间电气上隔离;(2)各输入端均采用R-C滤波器,其滤波时间常数一般为10~20ms;(3)各模块均采用屏蔽措施,以防止辐射干扰;(4)采用性能优良的开关电源;(5)对采用的器件进行严格的筛选;(6)良好的自诊断功能,一旦电源或其他软,硬件发生异常情况,CPU立即采用有效措施,以防止故障扩大;(7)大型PLC还可以采用由双CPU构成冗余系统或有三CPU构成表决系统,使可靠性进一步提高。

2.丰富的I/O接口模块。PLC针对不同的工业现场信号,如交流或直流;开关量或模拟量;电压或电流;脉冲或电位;强电或弱电等。有相应的I/O模块与工业现场的器件或设备,如按钮;行程开关;接近开关;传感器及变送器;电磁线圈;控制阀等直接连接。为了提高操作性能,还有多种人-机对话的接口模块;为了组成工业局部网络,还有多种通讯联网的接口模块等。

3.采用模块化结构。为了适应各种工业控制需要,除了单元式的小型PLC以外,绝大多数PLC均采用模块化结构。PLC的各个部件,包括CPU,电源,I/O等均采用模块化设计,由机架及电缆将各模块连接起来,系统的规模和功能可根据用户的需要自行组合。

4.编程简单易学。PLC的编程大多采用类似于继电器控制线路的梯形图形式,对使用者来说,不需要具备计算机的专门知识,很容易被一般工程技术人员所理解和掌握。

5.安装简单,维修方便。PLC不需要专门的机房,可以在各种工业环境下直接运行。使用时只需将现场的各种设备与PLC相应的I/O端相连接,即可投入运行。各种模块上均有运行和故障指示装置,便于用户了解运行情况和查找故障。

由于采用模块化结构,一旦某模块发生故障,用户可以通过更换模块的方法,使系统迅速恢复运行。

二、PLC的使用

1.模拟量控制。在工业生产过程当中,有许多连续变化的量,如温度、压力、流量、液位和速度等都是模拟量。为了使可编程控制器处理模拟量,必须实现模拟量(Analog)和数字量(Digital)之间的A/D转换及D/A转换。PLC厂家都生产配套的A/D和D/A转换模块,使可编程控制器用于模拟量控制。

2.运动控制。PLC可以用于圆周运动或直线运动的控制。从控制机构配置来说,早期直接用于开关量I/O模块连接位置传感器和执行机构,现在一般使用专用的运动控制模块。如可驱动步进电机或伺服电机的单轴或多轴位置控制模块。世界上各主要PLC厂家的产品几乎都有运动控制功能,广泛用于各种机械、机床、机器人、电梯等场合。

3.过程控制。过程控制是指对温度、压力、流量等模拟量的闭环控制。作为工业控制计算机,PLC能编制各种各样的控制算法程序,完成闭环控制。PID调节是一般闭环控制系统中用得较多的调节方法。大中型PLC都有PID模块,目前许多小型PLC也具有此功能模块。PID处理一般是运行专用的PID子程序,过程控制在冶金、化工、热处理、锅炉控制等场合有广泛的应用。

4.数据处理。现代PLC具有数学运算(含矩阵运算、函数运算、逻辑运算)、数据传送、数据转换、排序、查表、位操作等功能,可以完成数据的采集、分析及处理。这些数据可以与存储在存储器中的参考值比较,完成一定的控制操作,也可以利用通信功能传送到别的智能装置,或将它们打印制表。数据处理一般用于大型控制系统,如无人控制的柔性制造系统;可用于过程控制系统,如造纸、冶金、食品工业中的一些大型控制系统。

5.通信及联网。PLC通信含PLC间的通信及PLC与其它智能设备间的通信。随着计算机控制的发展,工厂自动化网络发展得很快,各PLC厂商都十分重视PLC的通信功能,纷纷推出各自的网络系统。新近生产的PLC都具有通信接口,通信非常方便。

三、PLC的工作原理

(一)PLC的工作方式

1.输入采样阶段。在此阶段,顺序读入所有输入缎子通断状态,并将读入的信息存入内存,接着进入程序执行阶段,在程序执行时,即使输入信号发生变化,内存中输入信息也不变化,只有在下一个扫描周期的输入采样阶段才能读入信息。

2.程序执行阶段。plc对用户程序扫描。

3.输出刷新阶段。当所有指令执行完毕通过隔离电路,驱动功率放大器,电路是输出端子向外界输出控制信号驱动外部负载。

(二)PLC的基本指令

1.输入输出指令(LD/LDI/OUT)。下面把LD/LDI/OUT三条指令的功能、梯形图表示形式、操作元件以列表的形式加以说明:

LD与LDI指令用于与母线相连的接点,此外还可用于分支电路的起点。OUT 指令是线圈的驱动指令,可用于输出继电器、辅助继电器、定时器、计数器、状态寄存器等,但不能用于输入继电器。输出指令用于并行输出,能连续使用多次。

2.电路块的并联和串联指令(ORB、ANB)

含有两个以上触点串联连接的电路称为“串联连接块”,串联电路块并联连接时,支路的起点以LD或LDNOT指令开始,而支路的终点要用ORB指令。ORB指令是一种独立指令,其后不带操作元件号, ORB指令不表示触点,可以看成电路块之间的一段连接线。如需要将多个电路块并联连接,应在每个并联电路块之后使用一个ORB指令,用这种方法编程时并联电路块的个数没有限制;也可将所有要并联的电路块依次写出,然后在这些电路块的末尾集中写出ORB的指令,这时ORB指令最多使用7次。

将分支电路(并联电路块)与前面的电路串联连接时使用ANB指令,各并联电路块的起点,使用LD或LDNOT指令;与ORB指令一样,ANB指令也不带操作元件,如需要将多个电路块串联连接,应在每个串联电路块之后使用一个ANB指令,用这种方法编程时串联电路块的个数没有限制,若集中使用ANB指令,最多使用7次。在程序结束处写上END指令,PLC只执行第一步至END之间的程序,并立即输出处理。若不写END指令,PLC将以用户存贮器的第一步执行到最后一步,使用END指令可缩短扫描周期。另外。在调试程序时,可以将END指令插在各程序段之后,分段检查各程序段的动作,确认无误后,再依次删去插入的END指令。一般情况下,X代表输入继电器,Y代表输出继电器,M代表辅助继电器,SPM代表专用辅助继电器,T代表定时器,C代表计数器,S代表状态继电器,D代表数据寄存器,MOV代表传输等。

四、梯形图的编程方法

梯形图是各种PLC通用的编程语言,尽管各厂家的PLC所使用的指令符号等不太一致,但梯形图的设计与编程方法基本上大同小异。

1.确定各元件的编号,分配I/O地址。利用梯形图编程,首先必须确定所使用的编程元件编号,PLC是按编号来区别操作元件的。我们选用的FX2N型号的PLC,其内部元件的地址编号如下表所示,使用时一定要明确,每个元件在同一时刻决不能担任几个角色。一般讲,配置好的PLC,其输入点数与控制对象的输入信号数总是相应的,输出点数与输出的控制回路数也是相应的(如果有模拟量,则模拟量的路数与实际的也要相当),故I/O的分配实际上是把PLC的入、出点号分给实际的I/O电路,编程时按点号建立逻辑或控制关系,接线时按点号“对号入坐”进行接线。

2.梯形图的编程规则。(1)每个继电器的线圈和它的触点均用同一编号,每个元件的触点使用时没有数量限制。(2)梯形图每一行都是从左边开始,线圈接在最右边(线圈右边不允许再有接触点),如图(a)错,图(b)正确。(3)线圈不能直接接在左边母线上。(4)在一个程序中,同一编号的线圈如果使用两次,称为双线圈输出,它很容易引起误操作,应尽量避免。(5)在梯形图中没有真实的电流流动,为了便于分析PLC的周期扫描原理和逻辑上的因果关系,假定在梯形图中有“电流”流动,这个“电流”只能在梯形图中单方向流动——即从左向右流动,层次的改变只能从上向下。

图 ( a ) 图 (b)

PLC具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。PLC在工业自动化控制特别是顺序控制中的地位,在可预见的将来,是无法取代的。PLC在向微型化、网络化、PLC化和开放性方向发展 长期以来,PLC始终处于工业制自动化领域的主战场,为各种各样的自动化控制设备提供非常可靠的控制方案.

参考文献

[1]谢克明,夏路易.可编程控制器原理与程序设计.电子工业出版社,2001

篇3:谈可编程控制器梯形图的编程

一、可编程控制器梯形图编程规则

尽管梯形图与继电器控制系统的原理图在结构形式、元件符号及逻辑控制功能等方面很类似, 但它们又有许多不同之处, 梯形图具有自己的编程规则。

1. 从左至右、从上到下

PLC梯形图中的某些编程元件沿用了继电器这一名称, 如输入继电器、输出继电器、辅助继电器等, 但它们不是真实的物理继电器, 而是一些存储单元 (软继电器, 统称为编程元件) , 每一软继电器与PLC存储器中的映像寄存器的一个存储单元相对应。存储单元的状态为“1”, 则表示对应的软继电器的线圈“通电”, 其常开触点接通, 常闭触点断开;若存储单元的状态为“0”, 对应软继电器的线圈和触点的状态与上述相反。软继电器中不像真实元件那样有真实的电流流动, 为了便于分析PLC的周期扫描原理和梯形图的逻辑上的因果关系, 更好地借用继电器电路图的分析方法, 可以想象在左右母线之间有一个左正右负的直流电压, 使母线之间有一个假想的电流从左向右流动。这个“电流”只能在梯形图中单方向流动———即从左向右流动, 层次的改变只能从上向下。所以梯形图每一行都是从母线开始, 依次经各类继电器触点后, 再经过各类继电器线圈, 以右母线为终点 (右母线也可不画出) ;各梯级从上到下依次排列。具体说明如图1所示。

2. 水平放置编程元件

除了主控触点外, 其他所有的触点只能画在水平线上, 而不能画在垂直分支线上。具体说明如图2所示。

3. 线圈右边无触点

线圈不能直接与左边母线相连, 必须经过触点方可与左边母线相连。如果不需要用哪个特定的触点来控制, 可专用PLC内部辅助继电器M8 000 (PLC只要运行, 其触点为常闭状态) 来连接。线圈右边不允许再有接触点, 否则将发生逻辑错误。具体说明如图3所示。

4. 双线圈输出应慎用

在一个程序中, 同一编号元件的线圈如果被使用两次或多次, 称为双线圈输出, 这时前面的输出无效, 只有最后一次的输出有效。双线圈输出在程序方面并不违反输入, 但输出动作复杂, 它很容易引起误操作, 所以应尽量避免。遇到双线圈输出的梯形图, 可以通过变换梯形图来避免双线圈输出。具体说明如图4所示。

5. 触点使用次数不限

每个继电器的线圈和它的触点均用同一编号, 每个元件的触点使用时没有数量限制。触点可以串联, 也可以并联, 所有输出继电器都可作为辅助继电器使用。具体说明如图5所示。

6. 合理布置

在梯形图编程时, 若遇到有几个串联电路相并联, 应将串联触点多的电路放在上方;若遇到有几个并联电路相串联, 应将并联触点多的电路放在左方。这样所编制的程序简洁明了, 语句较少, 可以简化程序, 节省PLC存储空间。具体说明如图6所示。

二、梯形图设计的编程技巧

1. 选择合适的编程指令

并联线圈的电路, 从分支点到线圈之间无触点的线圈应放在上方。这样可以避免使用进栈、出栈指令, 减少程序步骤, 从而达到简化程序的目的。具体说明如图7所示。

2. 复杂电路的处理

如果梯形图构成的电路结构比较复杂, 用ANB、ORB等指令难以解决, 可重复使用一些触点画出它的等效电路, 然后再进行编程就比较容易了。具体说明如图8所示。

3. 桥式电路的编程

梯形图中的“电流”是按从左至右、从上到下的顺序流动的。对于如下图所示的桥式电路, 可能有两个方向的“电流”流过触点X2 (经X0、X2、X4或经X1、X2、X3) , 这不符合从左至右的原则。对于符合顺序执行的电路不能直接编程, 需要进行“拆桥”处理, 将电路进行等效变换。具体说明如图9所示。

4. 经验之谈

在设计梯形图时, 输入继电器的触点状态最好按输入设备全部为常开进行设计更合适, 不容易出错。建议尽可能地用输入设备的常开触点与PLC输入端相连接, 如果某些信号只能用常闭触点输入, 可先按输入设备为常开来设计, 然后将梯形图中对应的输入继电器触点取反 (常开改常闭, 常闭改常开) 。

总之, 在利用PLC对工业生产过程进行控制时, 只有严格遵守可编程控制器的编程规则, 掌握一定的编程技巧, 才能编制出节省PLC的存储空间、缩短PLC运行时的扫描周期的简洁明了、正确合理的梯形图。

摘要:要编制正确、合理的可编程控制器的梯形图, 必须掌握一定的编程规则和编程技巧, 本文通过大量的图形实例, 详细地介绍了可编程控制器基本的编程规则和编程技巧。

关键词:梯形图,编程,规则,技巧

参考文献

[1]王兆义.可编程控制器实用技术[M].北京:机械工业出版社, 1996.

[2]许孟烈.PLC技术基础与编程实例[M].北京:科学出版社, 2008.

[3]林丽纯, 李惜玉.PLC教学实验系统的研究与梯形图的设计[J].中山大学学报丛论, 2000 (1) .

篇4:s7300梯形图编程总结

由于继电控制线路与可编程的逻辑设计中的逻辑函数有一一对应的关系,在可编程高职类教材中时有叙述,电工类专业教材《可编程控制技术》梯形图程序设计也介绍了相关内容,但比较简单,在具体应用上会有些问题。尤其是对于电路可能出现的“临界竞争”问题。

可编程的逻辑设计,主要是对开关量的控制过程,用逻辑函数式来表示,可编程控制器的输入和输出的逻辑关系、分析控制课题明确控制任务、完成设计可编程程序很有帮助。而且逻辑函数表达式与梯形图的对应关系,可以互相转换。既可根据控制要求先写出逻辑函数表达式,再根据逻辑函数式,画出对应梯形图。也可根据梯形图,写出对应逻辑函数表达式。通过下面例子,我们可以看出,可编程的逻辑设计方法最大的好处是可以把很多的逻辑关系最简化。

例1:一只电动机的控制要求是,只有在三只按钮中任意一只或任意两只动作时电动机才能运转,而在其他任何情况下都不运转。

逻辑设计基本步骤为:

第一,根据控制要求列出逻辑函数表达式。

第二,对逻辑函数表达式进行化简。

第三,根据化简后的逻辑函数表达式画梯形图。

对于例1在梯形图设计中,将电动机的运行状况,由可编程输出点Y0来控制。三只按钮对应的可编程输入地址为X0、X1、X2。因三只按钮中任何一只动作,可编程的输出点Y0就有输出。可用逻辑函数来表示。其表达式为:

Y01=X0 X1 X2+X0 X1 X2+X0 X1 X2

而三只按钮中任意两只动作时,可编程的输出点Y0也有输出。

用逻辑函数来表示其表达式:Y02=X0 X1 X2+X0 X1 X2+X0 X1 X2

根据控制要求,上述两个条件是“或”逻辑关系。所以电动机运行条件应该是:

Y0=Y01+Y02=X0 X1 X2+X0 X1 X2+X0 X1 X2+X0 X1 X2+X0 X1 X2+X0 X1 X2

简化上式:Y0=X0 (X1 X2)+X0 (X1+X2)根据简化后的逻辑关系,画出的梯形图如图1。从中,我们看出通过逻辑函数的运算,就把原来的逻辑关系简单化了。

例2:根据图2,写出逻辑函数表达式。

图2为具有启动、停止,自保持关断优先型控制线路,写出的逻辑函数表达式为:Y1=(X0+Y1)X1

按照电路结构和工作原理的不同,当控制线路的一个回路中存在两个一起发生状态变化的信号时,该控制线路就存在“竞争”现象。这里的两个信号可以是一个一次信号和一个二次信号,或两个都是二次信号。大部分时间遇到是前一种情况。实际上只有一次和二次信号在暂态期的全1(1,1)组合的1型竞争和一次和二次信号在暂态期的全0(0,0)组合的0型竞争,才会影响线路工作的可靠性。当竞争现象使控制线路出现永久性误动作时,这个竞争现象称为“临界竞争”。对于设计线路是否存在“临界竞争”,可以用“逻辑函数表达式法”和“卡诺图判别法”加以区别判断。

逻辑函数表达式法就是根据写出的逻辑函数表达式中,是否会出现A+A或A×A的形式。若有这两中形式,前者就是存在0型竞争,而后者就存在1型竞争。比如Y=(A+B)×(A+C),若B=C=0时,Y存在1型竞争。

根据逻辑函数表达式Y=AB+AC列出的输出真值表,画出卡诺图如图3a,在卡诺图中,如果两个圈中存在相邻项,并且两个圈没有公共部分,那么这两个圈的和式存在“竞争”。能直观判别逻辑电路是否存在“竞争”,当B=C=1时,上下两个包围圈分别为A和A,输出Y=A+A,就产生0型竞争。

知道了“竞争”的原因,就可消除“竞争”现象的出现。由此设计出的逻辑电路才是合理的可靠的。图3a的卡诺图表明逻辑函数Y=AB+AC,在B=C=1时有“竞争”。但由冗余律得出Y=AB+AC=AB+AC+BC,在Y=A+A+1=1,使Y恒等于1,见图3b卡诺图中两个圈相邻项再圈连就消除了“竞争”。根据消除了“竞争”的逻辑函数表达式画出的梯形图也是合理的可靠的。

篇5:s7300梯形图编程总结

可编程控制器 (programmable logic controller, PLC) 在工业领域有着相当广泛的应用。由于拥有强大的定时、计数、逻辑运算、算术运算等能力, PLC在生产线自动化、柔性制造、大型分散系统控制等领域扮演着重要的角色。在PLC编程语言标准IEC61131-3中, 定义了5种PLC编程语言的表达方式, 即顺序功能图、功能块图、梯形图、指令表及结构文本。其中, 梯形图和指令表是常用也是最为大家所熟悉的编程语言。梯形图形象、直观, 对于熟悉继电器表示方式的人来说, 非常容易接受, 不需要学习更深的计算机知识, 但不适合可编程控制器的CPU识别。而指令表是一种很容易变为被CPU能识别的机器码, 因为它使用助记符形式来表示用户程序, 但当使用者要用指令表编写PLC程序时, 必须先学习指令。为了方便用户, 采用梯形图进行编程, 但为使可编程控制器的CPU容易识别程序, 要将形象化的梯形图语言自动转化为指令表。因此, 研究梯形图语言向指令表语言的转换算法是很必要且很重要的。

1. 逻辑树结构

梯形图是一种图形语言, 而指令表则是一种用助记符形式表示用户程序的编程语言。由于指令表己经接近于机器语言, 所以需要将形象化的梯形图语言转化为指令表, 这样将用户所编写的程序转化成基于PC的软PLC的机器码就变得更加容易, 而且这种机器码能让CPU识别出来;但将梯形图转换为指令表则有一定的难度。

在编辑梯形图时存储的是行与行之间的顺序以及每行中各个元素所包含的信息, 却并没有存储下梯形图中元素之间的逻辑关系, 这就使梯形图的转化具有一定的难度。如果采用一种本质的方式表达PLC用户程序的逻辑关系, 将有助于转换的实现。根据梯形图的特点, 数据结构准备采用链表存储图形元素。由于编译图形元素比较复杂, 所以在将梯形图转化成指令表之后, 还要再进行编译, 转化过程中构造逻辑树结构。

逻辑树结构用来表示梯形图各元件逻辑关系很方便, 任何符合规范的梯形图都能以梯级为单位表示成一个个树结构, 通过对这些树逐个遍历, 可以得到惟一对应的指令集。对梯形图的存储采用链表数据结构, 因为整个编辑过程是一种动态存储过程, 使用链表的存储结构能很方便地表达这一过程, 并且链表的操作都可以由指针操作方便地完成。梯形图的扫描过程, 就是一个构造树的过程。树由1个根结点和若干棵子树组成, 这若干棵子树中每一棵都有1个根结点和它自己的若干棵子树。这里用树的叶结点代表具体的元件, 而用非叶结点表示其左右子树串联或者并联的结合方式, 且对应梯形图中的一个基本块, 那么每个梯级都可以表示成一棵树, 而整个PLC用户程序就是一系列树的有序排列, 也就是森林。

2. 树结点

要从梯形图语言转换成树结构, 可以先新建一个根结点, 逐行从左至右的扫描每个元器件。如果发现存在子分支, 则用AND节点作为子分支的根节点;并将OR结点指定为该AND结点的子结点。

对由梯形图转化而来的树进行分析, 逻辑树结点有三种类型:根结点、逻辑结点和元件结点。根结点没有实际意义, 元件结点代表梯形图中具体的元件, 逻辑结点则表示其左右子树的结合方式 (串联、并联) 且对应梯形图中的一个基本块。为了能够遍历整棵树, 树结点除了表示本身信息以外, 还必须包含父结点和子结点信息。本文采用双亲表示法, 每个结点包含父结点的对象指针和子结点链表。其中, 通过访问父结点指针对象, 能获得该结点的父结点对象;在子结点链表中, 每个结点对应该结点的一个子结点对象。由于根结点没有父结点, 所以根结点的父指针总是空的。元件结点没有子结点, 所以元件结点的子链表总是空的。在这种表示法中, 获取任何一个结点的子结点都很方便, 只要遍历子结点链表就可找到全部子结点。

结语

如今软PLC是研究的热点, 梯形图又是PLC编程的主要手段, 而要将其转换为计算机可读的指令语言又是关键。故研究最常用的梯形图语言和语句表语及其相互转换算法, 不仅能为梯形图语言虚拟机和语句表语言虚拟机的相互仿真打下理论基础, 也能为开发我们自己的PLC编程器提供算法支持, 因而既有理论价值, 也很有应用价值。本文仅仅是提出了一种思想, 具体实现过程并未考虑, 可能还会碰到一些问题。相对于其他梯形图转换算法, 如转换成广义表, 或转换成有向无环图 (AOV) , 还是较为简单。具有实际使用价值。

摘要:本文简单介绍了软PLC中梯形图这一最常用的编程语言, 论述了通过构建逻辑树, 将梯形图转换成为CPU能够识别的指令表算法。

上一篇:三视图教学案例下一篇:场(厂)内专用机动车应急救援预案