1、PLC的基本逻辑指令及举例 2、程序控制指令 3、PLC编程指导 4、典型的简单电路编程 5、PLC程序简单设计法及应用举例 梯形图语言编程主要特点及格式有以下几点:(1)梯形图按行从上至下编写,每一行从左至右顺序编写,即PLC程序执行顺序与梯形图的编写顺序一致。 (2)梯形图左、右边垂直线分别称为起始母线和终止母线。每一逻辑行必须从起始母线开始画起。(终止母线常可以省略) (3)梯形图中的触点有两种,即常开触点和常闭触点,这些触点可以是PLC的输入触点或输出继电器触点,也可以是内部继电器、定时器/计数器的状态。与传统的继电器控制图一样,每一触点都有自己的特殊标记(编号),以示区别。同一标记的触点可以反复使用,次数不限。这是因为每一触点的状态存入PLC内的存储单元中,可以反复读写。传统继电器控制中的每个开关均对应一个物理实体,故使用次数有限。这是PLC优于传统控制其中的一点。 (4)梯形图最右侧必须接输出元素,PLC的输出元素用括号表示,并标出输出变量的代号。同一标号输出变量只能使用一次。 (5)梯形图中的触点可以任意串、并联,而输出线圈只能并联,不能串联。每行最多触点数由PLC型号不同而不同。 (6)内部继电器、计数器、移位寄存器等均不能直接控制外部负载,只能作中间结果供PLC内部使用。 总之,梯形图结构沿用继电器控制原理图的形式,采用了常开触点、常闭触点、线圈等图形语言,对于同一控制电路,继电控制原理与梯形图输入、输出信号基本相同,控制过程等效。 (1)LD、LDN指令不仅用于网络块逻辑计算开始时与母线相连的常开和常闭触点,在分支电路块的开始也要使用LD、LDN指令; (2)并联的=指令可连续使用任意次; (3)在同一程序中不能使用双线圈输出,即同一元器件在同一程序中只使用一次=指令; (4)LD、LDN、=指令的操作数为:I、Q、M、SM、T、C、V、S和L。T、C也作为输出线圈,但在S7-200PLC中输出时不是以使用=指令形式出现。 置位和复位指令S(Set):置位指令 、R(Reset):复位指令。 置位即置1,复位即置0。置位和复位指令可以将位存储区的某一位开始的一个或多个(最多可达255个)同类存储器位置1或置0。 这两条指令在使用时需指明三点:操作性质、开始位和位的数量。 (1)S,置位指令 将位存储区的指定位(位bit)开始的N个同类存储器位置位。 用法:S bit, N 例: S Q0.0, 1 (2)R,复位指令 将位存储区的指定位(位bit)开始的N个同类存储器位复位。当用复位指令时,如果是对定时器T位或计数器C位进行复位,则定时器位或计数器位被复位,同时,定时器或计数器的当前值被清零。 用法: R bit, N 例: R Q0.2, 3 立即指令是为了提高PLC对输入/输出的响应速度而设置的,它不受PLC循环扫描工作方式的影响,允许对输入输出点进行快速直接存取。 立即指令的名称和类型如下: (1)立即触点指令 (立即取、取反、或、或反、与、与反) (2)=I,立即输出指令 (3)SI,立即置位指令 (4)RI,立即复位指令 上图5-10中,t为执行到输出点处程序所用的时间,Q0.0、Q0.1、Q0.2的输入逻辑是I0.0的普通常开触点。 Q0.0为普通输出,在程序执行到它时,它的映像寄存器的状态会随着本扫描周期采集到的I0.0状态的改变而改变,而它的物理触点要等到本扫描周期的输出刷新阶段才改变; Q0.1、Q0.2为立即输出,在程序执行到它们时,它们的物理触点和输出映像寄存器同时改变;而对Q0.3来说,它的输入逻辑是I0.0的立即触点,所以在程序执行到它时,Q0.3的映像寄存器的状态会随着I0.0即时状态的改变而立即改变,而它的物理触点要等到本扫描周期的输出刷新阶段才改变。 逻辑堆栈操作指令S7-200系列PLC使用一个9层堆栈来处理所有逻辑操作。堆栈是一组能够存储和取出数据的暂存单元,其特点是“先进后出”。每一次进行入栈操作,新值放入栈顶,栈底值丢失;每一次进行出栈操作,栈顶值弹出,栈底值补进随机数。逻辑堆栈指令主要用来完成对触点进行的复杂连接。 S7-200中把ALD、OLD、LPS、LRD、LPP指令都归纳为栈操作指令。 定时器的刷新方式和正确使用(1)定时器的刷新方式 1、1ms定时器:由系统每隔1ms刷新一次,与扫描周期及程序处理无关。它采用中断刷新方式。 2、10ms定时器:由系统在每个扫描周期开始时自动刷新。在一个扫描周期内定时器位和定时器的当前值保持不变。 3、100ms定时器:在定时器指令执行时被刷新。它仅用在定时器指令在每个扫描周期执行一次的程序中。 (2)定时器的正确使用 图5-22为正确使用定时器的一个例子。它用来在定时器计时时间到时产生一个宽度为一个扫描周期的脉冲。 计数器指令计数器用来累计输入脉冲的次数,在实际应用中用来对产品进行计数或完成复杂的逻辑控制任务。 1.几个基本概念 (1)种类:计数器指令有3种:增计数CTU、增减计数CTUD和减计数CTD。 (2)编号:计数器的编号用计数器名称和数字(最大255)组成。 计数器的编号包含两方面信息:计数器的位和计数器当前值。 计数器位:计数器位和继电器一样是个开关量,表示计数器是否发生动作的状态,当计数器的当前值达到设定值时,该位被置位为ON。 计数器当前值:其值是个存储单元,用来存储计数器当前所累计的脉冲个数,用16位符号整数表示,最大数值为32767。 (3)减计数器CTD脉冲输入端CD用于递减计数。首次扫描,计数器位OFF,当前值为等于预设值PV。计数器检测到CD输入的每个上升沿时,计数器当前值减小1个单位,当前值减到0时,计数器位ON。 复位输入有效或执行复位指令,计数器自动复位,即计数器位OFF,当前值复位为预设值,而不是0。 指令格式:CTD Cxxx,PV 例:CTD C40,4 程序实例:图5-26为减计数器的程序片断和时序图。 3. 应用举例1)循环计数 以上三种类型的计数器如果在使用时,将计数器位的常开触点作为复位输入信号,则可以实现循环计数。 2)用计数器和定时器配合增加延时时间,如图5-27所示。试分析以下程序中实际延时为多长时间。 程序控制类指令使程序结构灵活,合理使用该类指令可以优化程序结构,增强程序功能。这类指令主要包括:结束、暂停、看门狗、跳转、子程序、循环和顺序控制等指令。 5.2.1 结束指令结束指令分为有条件结束指令END和无条件结束指令MEND。两条指令在梯形图中以线圈形式编程。指令不含操作数。执行完结束指令后,系统结束主程序,返回到主程序起点。 使用说明: (1)结束指令只能用在主程序中,不能在子程序和中断程序中使用。 (2)在调试程序时,在程序的适当位置插入无条件结束指令可实现程序的分段调试。 (3)可以利用程序执行的结果状态、系统状态或外部设置切换条件来调用有条件结束指令,使程序结束。 (4)使用Micro/Win32编程时,不需手工输入无条件结束指令,该软件自动在内部加上一条无条件结束指令到主程序的结尾。 所属圈子 (此处已添加圈子卡片,请到今日头条客户端查看) |
|