西门子PLC程序指令注意点
西门子S7-200 PLC的指令系统及指令应用
说明: 根据控制要求,程序在 M0.1 处应该输出 Q0.1,在 M0.2 处也应该输出 Q0.1 如果在 M0.1 及 M0.2 处直接输出 Q0.1,则就范了上面程序双线圈错误, 因此在需要输出 Q0.1 的地方,输出不同的中间继电器,然后把中间继电器的常 开点并联起来,再集中输出一个 Q0.1 的线圈,这样就能避免双线圈的问题。 或者下面的程序也能正确的满足控制要求:
分析: 若 A 先按下按钮, 则 Q0.1 灯要亮, 并且一直亮, 直到主持人按下复位按钮 I0.0, 灯才会灭。其他人按下按钮,对应的灯也不会亮。 若 B 先按下按钮, 则 Q0.2 灯要亮, 并且一直亮, 直到主持人按下复位按钮 I0.0, 灯才会灭。其他人按下按钮,对应的灯也不会亮。 同理,C、D 一样 以下程序是分析后得出的:
地址:苏州吴中宝丰路 1 号
咨询: 400-8169-114
苏州天天自动化 PLC 培训中心
触点指令应用案例 3:
用一个按钮(I0.1)来控制三个输出(Q0.1、Q0.2、Q0.3) 。 当 Q0.1、Q0.2、Q0.3 都为 OFF 时,按第一下 I0.1,则 Q0.1 变为 ON, 按第二下 I0.1,则 Q0.1、Q0.2 变为 ON, 按第三下 I0.1,则 Q0.1、Q0.2、Q0.3 都变 ON 按第四下 I0.1,则 Q0.1、Q0.2、Q0.3 都变为 OFF 状态。 按第五下 I0.1,重复执行如上动作。 试用两种不同的程序设计方法设计其梯形图程序。 以下是分析后得出的程序:
上图梯形图中,”N”此条件只有当 I0.0 由接通→断开的瞬间(也就是上面波形 图中的过程 4 这个状态时)才会接通,其他时刻都不会接通。
应用案例 1:每按一下 I0.1 按钮,变量存储器的数值加 1
西门子PLC指令教程 应用指令
•图5.10 中断调用程序
•第5章 应用指令
3. 中断程序 (1)构成 中断程序必须由三部分构成:中断程序标号、 中断程序指令和无条件返回指令。 (2)要求 (3)编制方法 (4)注意事项
返回本节
•第5章 应用指令
5.2.3 通信
通信指令包括: XMT,自由口发送指令 RCV,自由口接收指令 NETR,网络读指令 NETW,网络写指令 GPA,获取口地址指令
2. 写实时时钟 TODW,写实时时钟指令。用来设定实时时钟。 当使能输入有效时,系统将包含当前时间和日 期,一个8字节的缓冲区将装入时钟。
•第5章 应用指令
时钟缓冲区的格式如表5.2所示。
•表5.2 时钟缓冲区
•第5章 应用指令
程序实例 控制要求: 编写一段程序,可实现读、写实时时钟,并以BCD码显示分钟。时 钟缓冲区从VB100开始。 程序中的子程序SBR_0为写时钟子程序,将当前时间写入从VB100 开始的8字节时间缓冲区,时间设置如下表5.3所示。程序实现:读 写时钟程序如图5.9所示。
//使能输入 //调用子程序 //SBR_1
•图5.4 子程序调用举例
•第5章 应用指令
3. 带参数的子程序调用
(1)子程序参数 ➢变量名 ➢变量类型 ➢数据类型 (2)参数子程序调用的规则 (3)变量表使用 (4)程序实例
•第5章 应用指令
以上面指令为例,局部变量表分配如表5.1所示, 程序段如图5.5所示。
LD CALL
I0.0 SBR_0
//使 能 输 入 //调 用 子 程 序 0 //本 梯 级 为 二 级 //循 环 体 的 功 能 段
NEXT
//循 环 结 束 指 令
LD IN C W
西门子PLC编程操作及注意事项
西门子PLC编程操作及注意事项一、PLC基本概念可编程控制器(Programmable Controller)是计算机家族中的一员,是为工业控制而设计制造的。
早期的可编程控制器称作可编程逻辑控制器(Programmable Logic Controller),简称 PLC,它主要用来代替继电器实现逻辑控制。
随着技术的发展,这种装置的功能已经大大超过了逻辑控制的范围,因此,今天这种装置称作可编程控制器,简称PC。
但是为了避免与个人计算机(Personal Computer)的简称混淆,所以将可编程控制器简称PLC。
二、PLC的基本结构PLC实质是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相同。
A、中央处理器(CPU)中央处理器(CPU)是PLC的控制中枢。
它按照PLC系统成程序赋予的功能接收并存储从编程器键入的用户程序和数据;检查电源、存储器、I/O以及报警定时器的状态,并能诊断用户程序中的语法错误。
当PLC投入运行时,首先它以扫描的方式接受现场各输入装置的状态和数据,并分别存入I/O映象区,然后从用户程序存储器中逐条读取用户程序,经过命令解释后,按指令的规定执行逻辑或数字运算的结果送入I/O映象区或数字寄存器内。
等所有的用户程序执行完毕之后,最后将I/O映象区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行,直到停止运行。
为了进一步提高PLC的可靠性,近年来对大型PLC还采用双CPU构成冗余系统(如S1501\二期循环水、除盐水等系统),或采用三CPU(TS300等)的表决式系统。
这样即使某个CPU出现故障,整个系统仍能正常运行。
B、存储器存储系统程序的存储器称为系统存储器。
存储应用软件的存储器称为用户存储器。
(一) PLC常用的存储器类型1. RAM (Random Assess Memory)这是一种读/写存储器(随机存储器),其存取速度最快,由锂电池支持。
2. EPROM (Erasable Programmable Read Only Memory)这是一种可擦除的只读存储器。
PLC编程应注意七大基本原则
PLC编程应注意七大基本原则PLC编程应注意以下基本原则。
(1)外部输入/输出继电器、内部继电器、定时器、计数器等软元件的触点可重复使用,没有必要特意采用复杂程序结构来减少触点的使用次数。
(2)梯形图每一行都是从左母线开始,线圈接在最右边。
在继电器控制原理图中,继电器的触点可以放在线圈的右边,但在梯形图中触点不允许放在线圈的右边。
如图1所示。
(3)线圈不能直接与左母线相连,也就是说线圈输出作为逻辑结果必须有条件。
必要时可以使用一个内部继电器的动断触点或内部特殊继电器来实现。
参见图2所示。
(4)同一编号的线圈在一个程序中使用两次以上称为双线圈输出。
双线圈输出容易引起误操作,这时前面的输出无效,只有最后的输出才有效。
但该输出线圈对应触点的动作,要根据该逻辑运算之前的输出状态来判断。
如图3所示,由于M1双线圈输出,所以,M1输出随最后一个M1输出变化,Y1随第一个M1线圈变化,而Y2随第二个M1输出变化。
所以,一般情况下,应尽可能避免双线圈输出。
(5)梯形图程序必须符合顺序执行的原则,即从左到右,从上到下执行,如不符合顺序执行的电路不能直接编程,例如图4所示电路不能直接编程。
(6)梯形图中串、并联的触点次数没有限制,可以无限制的使用,如图5所示。
(7)两个或两个以上的线圈可以并联输出,如图6所示。
CPM1A系列PLC具有比较丰富的指令集,按其功能可分为两大类:基本指令和特殊功能指令。
其指令功能与FX系列PLC大同小异,这里不再详述。
CPM1A系列PLC指令一般由助记符和操作数两部分组成,助记符表示CPU执行此命令所要完成的功能,而操作数则指出CPU的操作对象。
操作数既可以是前面介绍的通道号和继电器编号,也可以是DM区或是立即数。
立即数可以用十进制数表示,也可以用十六进制数表示。
可能影响执行指令的系统标志有:ER(错误标志)、CY(进位标志)、EQ(相等标志)、GR(大于标志)和LE(小于标志)等。
一、基本指令CPM1A系列PLC的基本逻辑指令与FX系列PLC较为相似,梯形图表达方式也大致相同,这里列表表示CPM1A系列PLC的基本逻辑指令(见表4-8)2.电路块串联的编程电路块串联的编程如图4-3所示,当串联的电路块多于两个时,电路块连接的指令语句方法有两种:方法1是电路块的逐块连接,方法2是电路块编写后总连接,两种编写法的指令条数相同。
PLC编程时三个注意事项
PLC编程时三个注意事项
初学plc编程应注意这三个方面,少走弯路,双线圈输出丨程序的优化设计丨编程元件的位置。
1.双线圈输出
如果在同一个程序中,同一元件的线圈使用了两次或多次,称为双线圈输出。
对于输出继电器来说,在扫描周期结束时,真正输出的是最后一个Y0的线圈的状态(见图1a)。
Y0的线圈的通断状态除了对外部负载起作用外,通过它的触点,还可能对程序中别的元件的状态产生影响。
图1a中Y0两个线圈所在的电路将梯形图划分为3个区域。
因为PLC是循环执行程序的,最上面和最下面的区域中Y0的状态相同。
如果两个线圈的通断状态相反,不同区域中Y0的触点的状态也是相反的,可能使程序运行异常。
曾遇到因双线圈引起的输出继电器快速振荡的异常现象。
所以一般应避免出现双线圈输出现象,例如可以将图1a改为图2b 。
2.程序的优化设计
在设计并联电路时,应将单个触点的支路放在下面;设计串联电路时,应将单个触点放在右边,否则将多使用一条指令(见图2)。
建议在有线圈的并联电路中将单个线圈放在上面,将图2a的电路改为图2b 的电路,可以避免使用入栈指令MPS和出栈指令MPP。
3.编程元件的位置
输出类元件(例如OUT,MC,SET,RST,PLS,PLF和大多数应用指令)应放在
梯形图的最右边,宦们不能直接与左侧母线相连。
有的指令(如END和MCR 指令)不能用触点驱动,必须直接与左侧母线或临时母线相连。
第6章 西门子S7-300系列PLC基本指令
逻辑取及线圈驱动指令
– 指令 • LD(Load):取指令。 • LDN(Load Not):取反指令。 • =(Out):线圈驱动指令。 • NOT:取反指令。 – 用法
逻辑取及线圈驱动指令
– 使用说明 • LD、LDN指令不只是用于网络块逻辑计算开始 时与母线相连的常开和常闭触点,在分支电路 块的开始也要使用LD、LDN指令,与后面要讲 的ALD、OLD指令配合完成块电路的编程。 • 并联的 = 指令可连续使用任意次。 –什么是并联输出? • 在同一程序中不要使用双线圈输出,即同一个 元器件在同一程序中只使用一次 = 指令。 –什么是双线圈输出? • LD、LDN、=指令的操作数为:I、Q、M、SM、 T、C、V、S和L。T和C也作为输出线圈。
9.
LPS/LRD/LPP举例
LPS/LRD/LPP举例
LPS/LRD/LPP举例
逻辑堆栈操作指令
– 指令3 • 装入堆栈指令LDS(Load Stack) – 用法 • LDS n (n为0~8的整数) – 举例 • LDS 3 – 结果如右表所列
逻辑堆栈操作指令
– 指令4 • AENO • 使用较少
• •
定时器及其使用
– 定时器的刷新方式和正确使用 • 举例
时间间隔定时器
• 这是在最新版本的CPU中增加的有特殊功能的定时器,说 是定时器,其实是2条指令。使用这2条指令可以记录某 一信号的开通时刻以及开通延续的时间。PLC停电后,停 止记录。 • 触发时间间隔(BITIM,Beginning Interval Time) 该指令 用来读取PLC中内置的1毫秒计数器的当前值,并将该值 存储于OUT。双字毫秒值的最大计时间隔为2的32次方, 即49.7天。 • 计算时间间隔(CITIM,Calculate Interval Time) 该指令计 算当前时间与IN所提供时间的时间差,并将该差值存储于 OUT。双字毫秒值的最大计时间隔为2的32次方,即49.7 天。 • 2条指令的有效操作数为:IN和OUT端均为双字。
西门子PLC指令教程基本指令
LD ED =
I0.0 Q0.1
// //脉冲负跳变 //
图4.5
跳变应用
I0.0 Q0.0 Q0.1
图4.6
时序
3. 置位和复位指令
(1)S,置位指令 (2)R,复位指令 置位即置 1 ,复位即置 0 。置位和复位指令可以将位存储区 的某一位开始的一个或多个(最多可达255个)同类存储器 位置 1或置 0。这两条指令在使用时需指明三点:操作性质、 开始位和位的数量。各操作数类型及范围如表4.6所示。
LD +I I0.0 //使能输入端 //整数加法 //VW0+VW4=VW4
VW0, VW4
图4.1
整数加法
3. 梯形图的基本绘制规则 (1)Network (2)能流/使能 (3)编程顺序 (4)编号分配 (5)内、外触点的配合 (6)触点的使用次数 (7)线圈的使用次数 (8)线圈的连接
返回本节
基本指令 知识
4.1 4.2 4.3 4.4 4.5
位操作类指令 运算指令 其他数据处理指令 表功能指令 转换指令
本章学习目的
l l l l l 位操作类指令,主要是位操作及运算指令, 与时也包含与位操作密切相关的定时器和计数 器指令等。 运算指令,包括常用的算术运算和逻辑运算 指令。 其他数据处理类,包括数据的传送、移位、 填充和交换等指令。 表功能指令,包括对表的存取和查找指令。 转换指令,包括数据类型转换、码转换和字 符转换指令。
I0.0 I0.1 I0.2 Q0.0 Q0.2
图4. 4
时序图
负跳变触点检测到脉冲的每一次负跳变后, 产生一个微分脉冲。 指令格式:ED (无操作数) 应用举例:图 4.5 是跳变指令的程序片断。 图4.6是图4.5指令执行的时序。
使用PLC编程需要特别注意的九个问题(缺一不可)
使用PLC编程需要特别注意的九个问题(缺一不可)你碰到过电源板故障吗?有遇到输出和输入故障吗?程序丢失有过吗?也许你在十多年的维修路上只遇到过一次PLC输出点坏了,暂未有过其他PLC硬件出问题!也许你在电焊后就碰到了电子板的各种问题。
也许西门子200系列的编程口烧毁N多次、输出继电器粘连、晶体管输出短路等等,不一而足。
面对这些问题你是否非常头疼?据说,遵守PLC使用九大原则,能有效避免,而且还能少走弯路哦~PLC使用的九大注意事项:一、PLC自身故障判断一般来说,PLC是极其可靠的设备,出故障率很低。
PLC的CPU 等硬件损坏或软件运行出错的概率几乎为零;PLC输入点如不是强电入侵所致,几乎也不会损坏;PLC输出继电器的常开点,若不是外围负载短路或设计不合理,负载电流超出额定范围,触点的寿命也很长。
因此,我们查找电气故障点,重点要放在PLC的外围电气元件上,不要总是怀疑PLC硬件或程序有问题,这对快速维修好故障设备、快速恢复生产是十分重要的,因此笔者所谈的PLC控制回路的电气故障检修,重点不在PLC本身,而是PLC所控制回路中的外围电气元件。
二、输入输出(I/O)模块的选取输出模块分为晶体管、双向可控硅、接点型。
晶体管型的开关速度最快(一般0.2ms),但负载能力最小,约0.2~0.3A、24VDC,适用于快速开关、信号联系的设备,一般与变频、直流装置等信号连接,应注意晶体管漏电流对负载的影响。
可控硅型优点是无触点、具有交流负载特性,负载能力不大。
继电器输出具有交直流负载特点,负载能力大。
常规控制中一般首先选用继电器触点型输出,缺点是开关速度慢,一般在10ms左右,不适于高频开关应用。
三、接地问题PLC系统接地要求比较严格,最好有独立的专用接地系统,还要注意与PLC有关的其他设备也要可靠接地。
多个电路接地点连接在一起时,会产生意想不到的电流,导致逻辑错误或损坏电路。
而产生不同的接地电势的原因,通常是由于接地点在物理区域上被分隔的太远,当相距很远的设备被通信电缆或传感器连接在一起的时候,电缆线和地之间的电流就会流经整个电路,即使在很短的距离内,大型设备的负载电流也可以在其与地电势之间产生变化,或者通过电磁作用直接产生不可预知的电流。
SiemensPLC指令讲解
S7-200系列的基本逻辑指令S7-200系列的基本逻辑指令与FX系列和CPM1A系列基本逻辑指令大体相似,编程和梯形图表达方式也相差不多,这里列表表示S7-200系列的基本逻辑指令(见表)。
表S7-200系列的基本逻辑指令S7-200系列PLC的比较指令在SIEMENS S7-200的编程软件STEP-7中,有专门的比较指令:IN1与IN2比较,比较的数据类型可以是B、I(W)、D、R,即字节、字整数、双字整数和实数;还可以有其他的比较式:>、<、≥、≤、<>等等。
当满足比较等式,则该触点闭合。
与LMODSOFT指令对照:在LMODSOFT中,没有直接的数的比较指令,但SUB 指令可以通过其执行减法功能后的三个输出端的状态实现整数的比较功能。
若与LMODSOFT 中的SUB指令对应,则在STEP-7中应有三个比较指令:>、=、< 来分别对应SUB 指令的三个输出;若还要对应≥、≤、或<>,则根据SUB指令三个输出端的不同组合,均可找到对应的比较指令。
比如:①(30007)>(40030)①+②(30007)≥②(30007)=(40030)②+③(30007)≤(40030)③(30007)<(40030)①+③(30007)<>(40030)S7-200系列PLC的定时器指令类型、编号及分辨率TON——接通延时TONR——有记忆接通延时TOF——断开延时3种分辨率(时基):1ms、10ms、100ms——分别对应不同的定时器号定时器6个要素:指令格式(时基、编号等)预置值——PT使能——IN 复位——3种定时器不同当前值——Txxx 定时器状态(位)——可由触点显示定时值=时基×预置值PT。
由于定时器的计时间隔与程序的扫描周期并不同步,定时器可能在其时基(1ms、10ms、100ms)内任何时间启动,所以,未避免计时时间丢失,一般要求设置PT预置值必须大于最小需要的时间间隔。
西门子S7-200 PLC指令学习(1)
西门子S7-200 PLC指令学习S7-200系列的基本逻辑指令S7-200系列的基本逻辑指令与FX系列和CPM1A系列基本逻辑指令大体相似,编程和梯形图表达方式也相差不多,这里列表表示S7-200系列的基本逻辑指令(见表)。
表S7-200系列的基本逻辑指令S7-200系列PLC的比较指令在SIEMENS S7-200的编程软件STEP-7中,有专门的比较指令:IN1与IN2比较,比较的数据类型可以是B、I(W)、D、R,即字节、字整数、双字整数和实数;还可以有其他的比较式:>、<、≥、≤、<>等等。
当满足比较等式,则该触点闭合。
与LMODSOFT指令对照:在LMODSOFT中,没有直接的数的比较指令,但SUB指令可以通过其执行减法功能后的三个输出端的状态实现整数的比较功能。
若与LMODSOFT 中的SUB指令对应,则在STEP-7中应有三个比较指令: >、=、< 来分别对应SUB 指令的三个输出;若还要对应≥、≤、或<>,则根据SUB指令三个输出端的不同组合,均可找到对应的比较指令。
比如:①(30007)>(40030)②(30007)=(40030)③ (30007)<(40030)①+②(30007)≥②+③(30007)≤(40030)①+③(30007)<>(40030)S7-200系列PLC的定时器指令类型、编号及分辨率TON——接通延时TONR——有记忆接通延时TOF——断开延时3种分辨率(时基):1ms、10ms、100ms——分别对应不同的定时器号定时器6个要素:指令格式(时基、编号等)预置值——PT使能——IN 复位——3种定时器不同当前值——Txxx 定时器状态(位)——可由触点显示定时值=时基×预置值PT。
由于定时器的计时间隔与程序的扫描周期并不同步,定时器可能在其时基(1ms、10ms、100ms)内任何时间启动,所以,未避免计时时间丢失,一般要求设置PT预置值必须大于最小需要的时间间隔。
轻松记住西门子PLC指令,简单明了!
轻松记住西门子PLC指令,简单明了!指令(英文全称意思 ) :指令含义1、LD ( Load 装载 ) :动合触点2、LDN ( Load Not 不装载 ) : 动断触点3、A ( And 与动合) : 用于动合触点串联4、AN ( And Not 与动断 ) :用于动断触点串联5、O ( Or 或动合 ) :用于动合触点并联6、ON ( Or Not 或动断 ) : 用于动断触点并联7、= ( Out 输出 ) :用于线圈输出8、OLD ( Or Lode): 块或9、ALD ( And Lode): 块与10、LPS ( Logic Push ) :逻辑入栈11、LRD ( Logic Read ) :逻辑读栈12、LPP ( Logic Pop ) :逻辑出栈13、NOT ( not 并非 ) :非14、NOP ( No Operation Performed ) : 无操作15、AENO ( And ENO ) :指令盒输出端ENO相与16、S ( Set 放置 ) : 置117、R ( Reset 重置,清零 ) :清零18、P ( Positive) :上升沿19、N ( Negative) :下降沿20、TON ( On_Delay Timer ) :接通延时定时器21、TONR ( Retentive On_Delay Timer ) : 有记忆接通延时定时器22、TOF ( Off_ Delay Timer ) :断开延时定时器23、CTU ( Count Up ) : 增计数器24、CTD ( Count Down ) : 减计数器25、CTDU ( Count Up/ Count Down ) :增减计数器26、ADD ( add 加 ) : 加注意//ADD_I (_ I 表示整数)ADD_DI( DI表示双字节整数)ADD-R (R 表示实数)它们都是加运算只是数的大小不同。
西门子PLC基本逻辑指令及其编程
安全性考虑不足
在编写程序时,充分考虑程序的安全性,避免因 程序错误导致设备损坏或人身伤害。
THANKS
感谢观看
触点指令
常开触点
用于连接或断开控制电路。例如,当 输入信号为真时,常开触点闭合,控 制电路接通。
常闭触点
与常开触点相反,当输入信号为真时, 常闭触点断开,控制电路断开。
线圈指令
启动线圈
用于控制输出设备的启动。例如,当满 足一定条件时,启动线圈使电机开始运 转。
VS
停止线圈
用于控制输出设备的停止。例如,当满足 一定条件时,停止线圈使电机停止运转。
特点
PLC具有可靠性高、编程简单、扩展 性强、维护方便等特点,广泛应用于 各种工业控制领域。
PLC的历史与发展
历史
PLC最早由美国数字设备公司(DEC)于1960年代末发明,随着计算机技术和 微电子技术的发展,PLC的功能和性能不断提升。
发展
现代PLC已经从简单的逻辑控制发展成为具有复杂算法和高级功能的控制系统, 能够实现自动化生产线、智能制造等领域的控制需求。
、调试和维护。
04
合理使用系统功能块
利用系统功能块简化复杂程序的 编写,提高程序的可靠性和稳定
性。
注意事项
输入输出信号的规范
确保输入输出信号的规范化和标准化, 避免信号的误读和误判。
程序调试的充分性
在程序调试阶段,应充分测试程序的 各项功能,确保程序的正确性和稳定
性。
程序安全性的考虑
在编写程序时,应充分考虑程序的安 全性,避免因程序错误导致设备损坏 或人身伤害。
Step 7
西门子官方开发的PLC编程软件,支持多种PLC型号。
西门子PLC编程中注意事项西门子plc
西门子PLC编程中留意事项 - 西门子plc 西门子plc编程的工作原理:当PLC投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。
完成上述三个阶段称作一个扫描周期。
在整个运行期间,PLC的CPU以肯定的扫描速度重复执行上述三个阶段。
输入采样在输入采样阶段,PLC以扫描方式依次地读入全部输入状态和数据,并将它们存入I/O映象区中的相应得单元内。
输入采样结束后,转入用户程序执行和输出刷新阶段。
在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元的状态和数据也不会转变。
因此,假如输入是脉冲信号,则该脉冲信号的宽度必需大于一个扫描周期,才能保证在任何状况下,该输入均能被读入。
用户程序执行在用户程序执行阶段,PLC总是按由上而下的挨次依次地扫描用户程序(梯形图)。
在扫描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的把握线路,并按先左后右、先上后下的挨次对由触点构成的把握线路进行规律运算,然后依据规律运算的结果,刷新该规律线圈在系统RAM存储区中对应位的状态;或者刷新该输出线圈在I/O映象区中对应位的状态;或者确定是否要执行该梯形图所规定的特殊功能指令。
即,在用户程序执行过程中,只有输入点在I/O映象区内的状态和数据不会发生变化,而其他输出点和软设备在I/O映象区或系统RAM存储区内的状态和数据都有可能发生变化,而且排在上面的梯形图,其程序执行结果会对排在下面的凡是用到这些线圈或数据的梯形图起作用;相反,排在下面的梯形图,其被刷新的规律线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用。
输出刷新当扫描用户程序结束后,PLC就进入输出刷新阶段。
在此期间,CPU 依据I/O映象区内对应的状态和数据刷新全部的输出锁存电路,再经输出电路驱动相应的外设。
这时,才是PLC的真正输出。
同样的若干条梯形图,其排列次序不同,执行的结果也不同。
另外,接受扫描用户程序的运行结果与继电器把握装置的硬规律并行运行的结果有所区分。
PLC编程注意事项
PLC编程注意事项PLC运行一般是为了满足自动化要求,所以安全是其首要任务。
所以PLC程序中正常的动作流程是比较简单的。
关键是在程序动作编写时的一些安全细节是必须要注意的。
这些附加的安全动作条件是至关重要的。
即每一步动作执行的条件要加满加全。
1.对于二者只存其一的条件要互锁,即启动与停止要互锁、运行与调试要互锁。
启动时停止要复位,运行时调试要复位。
此二者不能共存。
2.启动时设备的状态是很重要的。
即启动时要确保各气缸的位置是在应在的位置。
这样才可以启动设备,设备才可以运行。
如若不满足这些条件,那么设备是应该没有任何动作的,或只给出一些提示。
3.在动作顺序执行时,不仅要把前一个动作的结果作为下一个动作的条件,还要把本条语句是否执行作为下一个动作执行的条件,正常运行时有前一个条件的保障即可,后一个条件是为了避免非正常情况的。
采取双重保障措施可避免硬件上的错误。
4.要判断一个气缸是否在指定位置,不仅采取其位置磁开是否亮,还可以使用时这个气缸在这个位置的输出是否有输出来判断,这样双重保证比单一的要安全。
当然这样编程麻烦一些。
5.如传送带上的传感器检测到电池,那么上料气缸在什么条件下来取电池呢?条件至少有二,甚至为三:上料手位置是否回到电池上方;上料手是否吸有电池;(待放位置的电池是否已被取走)。
6.在一行语句中,执行的动作往往只有一个,但为了执行这个动作而必须满足的条件往往有多个。
这样做是为了确保机器和人的安全。
7.PLC程序开篇往往是启保停程序。
启动和停止串联输出一个保持的线圈。
这个保持要受到停止的控制。
因为启动与停止往往只是一个触发信号,并不是一直存在的。
所以这个看似简单的程序为了承上启下也包涵有好多玄妙的地方。
8.从一个动作信号输出到下一个动作信号的输出之间往往会有一个延迟时间。
这个延迟时间往往是为了保证前一个动作的稳步执行。
确保不会与下一个动作冲突。
用定时器延时要记得用完之后及时消除此定时器的输入信号。
PLC编程规范及建议28条
B、程序块注释:此程序块的主要⽤途和作者C、段注释:此段代码的⽤途D、变量注释:重要性⽆需多⾔,包含I/O注释、中间变量注释⽽⾄于保密性的考虑,我觉得应该在程序的加密算法或者块的加密上考虑,⽽不应该⽤减少注释这种⼩聪明来实现。
3.正确性PLC的程序⼀定要正确,并要经过实际⼯作验证,证明其能够正确⼯作。
这是对PLC程序的最根本的要求,若这⼀点做不到,其它的再好也没有⽤。
要使程序正确,⼀定要准确的使⽤指令,正确的使⽤内部器件。
准确的使⽤指令与准确理解指令相联系,为此对指令含义和使⽤条件⼀定要弄清楚。
必要时,可编些⼩程序对⼀些不清楚的指令作些测试。
同⼀指令,由于PLC的出⼚批次不同或是PLC的系列型号的不同,⼀些指令细节有可能不⼀样,应仔细查阅编程⼿册。
内部器件正确使⽤也是重要的。
如有的PLC有掉电保护,有的PLC没有。
⼀定要做到该掉电保护的⼀定要⽤掉电保护的器件,反之则不能⽤。
总之,要准确的使⽤指令,正确使⽤内部器件,使所编的程序能正确要作,这是对PLC程序最根本的要求。
举个简单的例⼦,西门⼦的上升沿和下降沿需要使⽤带存储功能的变量作为中间变量,⽐如M点或者DB点,如果使⽤FC的temp变量就会出问题的。
4.可靠性程序不仅要正确,还要可靠。
可靠反映着PLC程序的稳定性,这也是对PLC程序的基本要求。
有的PLC程序,在正常的⼯作条件下或合法操作时能正确⼯作,⽽出现⾮正常⼯作条件(如临时停电,⼜很快再通电)或进⾏⾮法操作(如⼀些按钮不按顺序按,或同时按若⼲按钮)后,程序就不能正常⼯作了。
这种程序,就不⼤可靠,或说不稳定,就是不好的程序。
好的PLC程序对⾮正常⼯作条件出现,能予以识别,并能使其与正常条件衔接,可使程序适应于多种情况。
好的PLC程序对⾮法操作能予以拒绝,且不留下“痕迹”。
只接受合法操作。
联锁是拒绝⾮法操作常⽤的⼿段,继电电路常⽤这个⽅法,PLC也可继承这个⽅法。
5.易改性要使程序易改,也就是要便于修改。
在西门子PLC中使用SCL语言编程的技巧
在西门子PLC中使用SCL语言编程的技巧1、在FB块中使用结构编写FB块的准则,就是其使用的内部变量尽量与外部隔离,除了像PLC的新启动/重启动标志,以及一些方波/脉冲波等全局变量可以在FB块中使用外,其他的任何全局变量都不应该在FB内部使用,即使是自定义结构也应该在FB中单独定义,在FB块中使用结构应该在静态类型变量中定义,如下: VAR // Static Variables IM:STRUCT //Data structure of Internal Flags H1_AFCountImp:BOOL:=False; // Aux Flag Counter ImpulseH1_CountImp:BOOL:=False; // Counter Impulse H1_ELCountMV:BOOL:=False; // Endless Counter Maximum Value END_STRUCT; //other data structure … END_VAR 在使用这些结构时,可以按照如下方式: IM. H1_CountImp:=Imp;2、在SCL中替代Set/Reset指令的方法SCL中不存在Set/Reset指令,或者说也没有必要使用。
在SCL中,不使用排他条件Else的条件语句就是一个Set/Reset指令。
如下编程: IF THEN Variable name:=1; END_IF; 其等同于: (S)若加上Else条件,如下: IF THEN Variable name:=1; ELSE Variable name:=0; END_IF;则等同于: ( )一条完整的包含置位和复位的语句可以使用如下方式编程:IF THEN Variable name:=1; END_IF; IF THEN Variable name:=0; END_IF;其等效于SR指令,若将上面的两个条件语句的先后次序颠倒一下,则等效于RS指令。
西门子PLC指令集讲解
“与”(A)、“与非”(AN)A:“与”指令适用于单个常开触点串联,完成逻辑“与”运算。
AN:“与非”指令适用于单个常闭触点串联,完成逻辑“与非”运算。
“与”(A)、“与非”(AN)指令由图可知,触点串联指令也用于串联逻辑行的开始。
CPU对逻辑行开始第1条语句如I1. 0的扫描称为首次扫描。
首次扫描的结果(I1.0的状态)被直接保存在RLO(逻辑操作结果位)中;在下一条语句,扫描触点Q5.3的状态,并将这次扫描的结果和RLO中保存的上一次结果相“与”产生的结果,再存入RLO中,如此依次进行。
在逻辑串结束处的RLO 可作进一步处理。
如赋值给Q4.2(=Q4.2)。
“或”(O)、“或非”(ON)O:“或”指令适用于单个常开触点并联,完成逻辑“或”的运算。
ON:“或非”指令适用于单个常闭触点并联,完成逻辑“或非”运算。
由图可知,触点并联指令也用于一个并联逻辑行的开始。
CPU对逻辑行开始第1条语句如I4.0的扫描称为首次扫描。
首次扫描的结果(I4.0的状态)被直接保存在RLO(逻辑操作结果位)中,并和下一条语句的扫描结果相“或”,产生新的结果再存入RLO中,如此一次进行。
在逻辑串结束处的RLO可用作进一步处理,如赋值给Q8.0(=Q8.0)。
此外,还有“异或”(X)、“异或非”(XN)、嵌套指令等等。
输出线圈输出线圈指令即逻辑串输出指令,又称赋值指令,该指令把RLO中的置赋给指定的位地址,当RLO变化时,相应位地址信号状态也变化 ,在LAD中,只能将输出指令放在触点电路的最右端,不能将输出指令单独放在一个空网络中。
下图是两个应用举例。
中间输出如图所示,中间输出指令被安置在逻辑串中间,用于将其前面的位逻辑操作结果(即本位置的RLO值)保存到指定地址,所以有时也称为“连接器”或“中间赋值元件”。
它和其他元件串联时,“连接器”指令和触点一样插入。
连接器不能直接连接母线,也不能放在逻辑串的结尾或分支结尾处。
置位指令、复位指令置位/复位指令也是一种输出指令。
PLC编程的基本规则和注意事项
PLC编程的基本规则和注意事项PLC,即可编程逻辑控制器,是工业自动化领域中的核心设备。
PLC编程规则和注意事项对于实现自动化控制至关重要,它们确保了系统的稳定性和可靠性,提高了生产效率,并减少了故障率。
本文将详细介绍PLC编程的基本规则和注意事项,以帮助读者更好地理解和应用PLC技术。
一、明确控制需求在进行PLC编程之前,首先要明确控制需求。
这包括了解工艺流程、设备参数、输入输出信号等。
只有充分理解控制需求,才能制定出合理的控制方案。
在明确控制需求的过程中,需要与工艺工程师、设备供应商等相关人员进行充分沟通,确保对控制需求有准确的理解。
二、选择合适的PLC型号PLC作为核心设备,其选择对于实现稳定、高效的自动化控制至关重要。
不同的PLC型号具有不同的性能参数和功能模块,能够满足不同的控制需求。
因此,根据控制需求选择合适的PLC型号是确保系统稳定性和生产效率的关键。
1、控制需求分析在选择PLC型号之前,首先要对控制需求进行深入的分析。
这包括了解工艺流程、设备参数、输入输出信号等。
通过对控制需求的准确理解,我们可以确定所需的控制点数、IO口数量、处理速度以及存储容量等关键参数。
2、PLC性能参数与功能模块在选择PLC时,需要关注其性能参数和功能模块。
性能参数如处理速度、存储容量等直接影响到系统的运行效率和稳定性。
而功能模块则决定了PLC能够实现的控制逻辑和功能。
因此,在选择PLC时,需要根据控制需求来评估不同型号的PLC性能参数和功能模块是否满足要求。
3、品牌与可靠性品牌和可靠性是选择PLC时需要考虑的重要因素。
知名品牌的PLC通常具有更高的可靠性和稳定性,能够更好地满足工业环境的要求。
同时,在选择PLC时,还需要考虑其可靠性设计、故障率以及售后服务等因素,以确保系统的长期稳定运行。
4、易用性与可维护性易用性和可维护性也是选择PLC时需要考虑的因素。
易用性好的PLC能够降低操作难度,提高工作效率。
西门子PLC控制系统实际使用的注意事项
西门子PLC控制系统实际使用的注意事项1. PLC的应用领域目前PLC在国内外已广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐等各个行业。
在运城电厂主要有化学制水、生活污水处理、工业废水处理、凝结水精处理等。
有关PLC的使用情况主要分为如下几类。
1.1开关量逻辑控制取代传统的继电器电路,实现逻辑控制、顺序控制,既可用于单台设备的控制,也可用于多机群控。
如水泵的启停、阀门的开关、制水系统顺控、干除灰系统等。
1.2工业过程控制在工业生产过程当中,存在一些如温度、压力、流量、液位和速度等连续变化的量(即模拟量),PLC采用相应的A/D和D/A转换模块及各种各样的控制算法程序来处理模拟量,完成闭环控制。
PID调节是一般闭环控制系统中用得较多的一种调节方法。
过程控制在冶金、化工等场合有非常广泛的应用,运城电厂主要应用在中央空调、采暖加热系统。
1.3运动控制PLC可以用于圆周运动或直线运动的控制。
一般使用专用的运动控制模块,如可驱动步进电机或伺服电机的单轴或多轴位置控制模块,广泛用于各种机械、机床、机器人、电梯等场合。
1.4数据处理PLC具有数学运算(含矩阵运算、函数运算、逻辑运算)、数据传送、数据转换、排序、查表等功能,可以完成数据的采集,分析及处理。
1.5通信及联网2. PLC通信含PLC间的通信及PLC与其他智能设备间的通信。
随着工厂自动化网络的发展,现在的PLC都具有通信接口,通信非常方便。
2PLC的应用特点2.1可靠性高,抗干扰能力强高可靠性是电气控制设备的关键性能。
PLC由于采用现代大规模集成电路技术,采用严格的生产工艺制造,内部电路采取了先进的抗干扰技术,具有很高的可靠性。
使用PLC构成控制系统,和同等规模的继电接触器系统相比,电气接线及开关接点已减少到数百甚至数千分之一,故障也就大大降低。
此外,PLC 带有硬件故障自我检测功能,出现故障时可及时发出警报信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PLC程序详解(图文并貌)
一、时间继电器:
TON 使能=1计数,计数到设定值时(一直计数到32767),定时器位=1。
使能=0复位(定时器位=0)。
TOF 使能=1,定时器位=1,计数器复位(清零)。
使能由1到0负跳变,计数器开始计数,到设定值时(停止计数),定时器位=0。
如下图:
图1:使能=1时,TOF(T38)的触点动作图
图2:使能断开后,计数到设定值后,TOF(T38)的触点动作图(其中T38常开触点是在使能由1到0负跳变后计数器计时到设定值后变为0的)
TONR 使能=1,计数器开始计数,计数到设定值时,计数器位=1。
使能断开,计数器停止计数,计数器位仍为1,使能位再为1时,计数器在原来的计数基础上计数。
以上三种计数器可以通过复位指令复位。
正交计数器 A相超前B相90度,增计数
B相超前A相90度,减计数
当要改变计数方向时(增计数或减计数),只要A相和B相的接线交换一下就可以了。
二、译码指令和编码指令:
译码指令和编码指令执行结果如图所示:
DECO是将VW2000的第十位置零(为十进制的1024),ENCO输入IN最低位为1的是第3位,把3写入VB10(二进制11)。
三、填表指令(ATT)
S7-200填表指令(ATT)的使能端(EN)必须使用一个上升沿或下降沿指令(即在下图的I0.1后加一个上升沿或下降沿),若单纯使用一个常开触点,就会出现以下错误:
这一点在编程手册中也没有说明,需要注意。
其他的表格指令也同样。
四、数据转换指令
使用数据转换指令时,一定要注意数据的范围,数据范围大的转换为数据范围小的发注意不要超过范围。
如下图所示为数据的大小及其范围。
(1)BCD码转化为整数(BCD_I)
关于什么是BCD码,请参看《关于BCD码》。
BCD码转化为整数,我是这样理解的:把BCD码的数值看成为十进制数,然后把BCD到整数的转化看成是十进制数到十六进制数的转化。
如下图所示,BCD码为54,转化为整数后为36。
整数转化为BCD码(I_BCD)则正好相反,看成是十六进制到十进制的转化。
(2)整数转化为双整数(I_DI)
此问题需要注意的是:整数转化为双整数后,符号位被扩展,因为整数的精度小于双整数的精度,转化后,双整数除了表示整数的数值所占的位外,其余空位用符号位填充。
如整数45转化为双整数后,基二进制表示为:
2#0000_0000_0000_0000_0000_0000_0010_1101,而整数-45转化为双整数后则为:
2#1111_1111_1111_1111_1111_1111_1101_0011。
五、不要重复使用PLC输出线圈
基本逻辑指令中常开接点和常闭接点,作为使能的条件,在语法上和实际编程中都可以无限次的重复使用。
PLC输出线圈,作为驱动元件,在语法上是可以无限次的使用。
但在实际编程中是不应该的,应该避免使用的。
因为,在重复使用的输出线圈中只有程序中最后一个是有效的,其它都是无效的。
输出线圈具有最后优先权。
如图1和2所示。
图1:输出线路未重复使用 图2:输出线路未重复使用
图1所示,输出线圈Q0.0是单一使用,表示I0.0和I0.1两个常开接点中任何一个闭合,输出线圈都得电输出。
图2所示,输出线圈Q0.0是重复使用,在网络1和网络2中重复使用两次,目的和图1所示一样,要求I0.0
和I0.1两个常开接点中任何一个闭合,输出线圈得电输出。
首先需要肯定是图2所示的程序在语法上是完全正确的。
但是,Q0.0重复使用的输出线圈中,真正有效的是网络2,网络1是多余的、无效的。
也就是说,I0.0无论是闭合还是断开,都对Q0.0不起作用,Q0.0是否得电是由I0.1决定的。
这是因为PLC在一个扫描周期中,PLC输出点的刷新是在程序执行完毕后执行的,在一个扫描周期中,即使I0.0闭合,I0.1断开,在PLC程序执行网络1时,输出点Q0.0映像存储器为1,在执行网络2时,输出点Q0.0映像存储器又变为0。
程序执行完毕,PLC输出点才执行刷新,最终输出点Q0.0失电不输出。
同理,在一个扫描周期中,I0.0断开,I0.1闭合,输出点Q0.0映像存储器最终为1,在PLC输出点执行刷新时,输出点得电输出。
因此,图2所示的程序中,对Q0.0起作用的只是I0.1。
因此,在PLC编程时,重复使用数出线圈。
尽管在语法上是正确的,但是应该避免使用的。
几种置位、复位的方法和比较
位置位、复位操作方法上,有好几种方法,可以直接采用置位、复位指令,也可以采用数据传送指令、表格填充指令,甚至可以采用移位循环指令。
这几种方法在具体运用时,也要根据情况而定。
下面用一个范例来讲解他们的不同之处。
要求对Q0.0~0.7、Q1.0~1.7十六位输出进行置位、复位。
图 几种置位、复位的方法
在以上几种方法中,除移位循环指令外,其他指令比较好理解。
移位循环指令的方法,置位是对16#FFFF十六位常数左循环16位,送入输出字QW0(由Q0.0~0.7、Q1.0~1.7组成),无论16#FFFF如何循环,还是16#FFFF,16位输出。
复位采用对QW0一次扫描周期一次执行16位左移位指令,将QW0中的数据全部移出(如果是带符号位的字,连符号位也移出),输出复位。
在上面的方法中,直接采用置位、复位的方法不仅可以对字节、字、双字中的位进行置位、复位操作,也可以对不成字节、字、双字的位进行操作。
而数据传送指令、移位循环指令、填充指令只能对字节、字、双字中的位进行置位、复位操作,其中填充指令还只能对字操作。
比如单单对Q0.0~0.6七个位输出进行置位、复位,采用数据传送指令、移位循环指令、填充指令是很难实现的,此时只有采用直接置位、复位指令的方法。