西门子PLC程序指令注意点

合集下载

西门子S7-200 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指令教程 应用指令

西门子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编程操作及注意事项一、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编程应注意七大基本原则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编程时三个注意事项
初学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基本指令

第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指令教程基本指令

西门子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输出点坏了,暂未有过其他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有关的其他设备也要可靠接地。

多个电路接地点连接在一起时,会产生意想不到的电流,导致逻辑错误或损坏电路。

而产生不同的接地电势的原因,通常是由于接地点在物理区域上被分隔的太远,当相距很远的设备被通信电缆或传感器连接在一起的时候,电缆线和地之间的电流就会流经整个电路,即使在很短的距离内,大型设备的负载电流也可以在其与地电势之间产生变化,或者通过电磁作用直接产生不可预知的电流。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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七个位输出进行置位、复位,采用数据传送指令、移位循环指令、填充指令是很难实现的,此时只有采用直接置位、复位指令的方法。

相关文档
最新文档