直播课堂
HOME
直播课堂
正文内容
西门子plc编程中的L 西门子PLC指令,真的很简单
发布时间 : 2024-11-25
作者 : 小编
访问数量 : 23
扫码分享至微信

西门子PLC指令,真的很简单

位逻辑指令

(一)触点及线圈指令

PLC梯形图语言的编程原则

1、梯形图由多个梯级组成,每个线圈可构成一个梯级,每个梯级有多条支路,每个梯级代表一个逻辑方程;

2、梯形图中的继电器、接点、线圈不是物理的,是PLC存储器中的位(1=0N;0=0FF);编程时常开/常闭接点可无限次引用,线圈输出只能是一次;

3、梯形图中流过的不是物理电流而是“概念电流”,只能从左向右流;

4、用户程序的运算是根据PLC的输入/输出映象寄存器中的内容,逻辑运算结果可以立即被后面的程序使用;

5、PLC的内部继电器不能做控制用,只能存放逻辑控制的中间状态;

6、输出线圈不能直接驱动现场的执行元件,通过I/模块上的功率器件来驱动。

基本逻辑指令以位逻辑操作为主,在位逻辑指令中,除非有特殊说明,操作数的有效区域为:I、Q、M、SM、T、C、V、S、L且数据类型为BOOL触点和线圈指令又分为:标准指令、立即指令、取反指令、正(负)跳变指令。

定时器指令

包括:接通延时定时器(TON)、有记忆的接通延时(保持型)定时器(TONR)、断开延时定时器(TOF)。S7-200有256个定时器(T0~T255)。

计数器指令

包括:加计数CTU、减计数CTD和加/减计数CTUD总共有256个(C0~C255)。计数器是对PLC内部的时钟脉冲进行计数,而计数器是对外部的或由程序产生的计数脉冲进行计数。计数器累计计数的当前值(16位有符号整数),它存放在计数器的16位(bit)当前值寄存器中。

每个计数器只有一个16位的当前值寄存器地址。在一个程序中,同一计数器号不要重复使用,更不可分配给几个不同类型的计数器。

来源:网络,侵删~

转发是最大的鼓励!谢谢您的支持!

小贴士

PLC专属资料: 含有从入门到高级所有PLC学习资料(三菱/西门子/欧姆龙) ,电气经典18本大全书,历年电气考试真题、电气必备实训仿真软件、电气自动化行业各类型技术手册!

西门子编程里面的各种块(Block)宝宝-OBFBFCDBSFC科普

引言

西门子程序采用结构化编程,把程序分成多个模块,各模块完成相应的功能结合起来就能实现一个复杂的控制系统,就像高级语言一样用子程序实现特定的功能,再通过主程序调用各子程序,从而能实现复杂的程序。

结构化编程

STEP7的程序结构 l 线性程序结构 l 分块程序结构 l 结构化程序结构

一、西门子编程里面的块简介

1.编程块概述

变成块汇总

2.程序访问顺序

程序访问

西门子PLC CPU 程序访问顺序:主程序OB块、功能块FB&FC、数据块DB

二、西门子编程各块应用案例分析

1.OB块案例

组织块代号

1.1组织循环(OB1)块 程序循环 OB 在 CPU 处于 RUN 模式时,周期性地循环执行。可在程序循环 OB 中放置控制程序的指令或调用其它功能块(FC 或 FB)。主程序(Main)为程序循环 OB ,要启动程序执行,项目中至少有一个程序循环 OB 。操作系统每个周期调用该程序循环 OB 一次,从而启动用户程序的执行。

1.2延时中断( OB20)块

延时中断块

1、调用“SRT_DINT”指令启动延时中断;

2、当到达设定的延时时间,操作系统将启动相应的延时中断 OB ;

3、图例中,延时中断 OB20 中断程序循环 OB1 优先执行;

4、当启动延时中断后,在延时时间到达之前,调用“CAN_DINT”指令可取消已启动的延时中断。

1.3 循环中断 (OB30)块

循环中断 OB 在经过一段固定的时间间隔后执行相应的中断 OB 中的程序。

循环中断块

1、PLC 启动后开始计时;

2、当到达固定的时间间隔后,操作系统将启动相应的循环中断 OB ;

3、图例中,到达固定的时间间隔后,循环中断 OB30 中断程序循环 OB1 优先执行。

1.4硬件中断 (OB 40)块

硬件中断 OB 在发生相关硬件事件时执行,可以快速的响应并执行硬件中断 OB 中的程序(例如立即停止某些关键设备)。

硬件中断块

使用硬件中断需要注意 什么?

1、一个硬件中断事件只能分配给一个硬件中断 OB ,而一个硬件中断 OB 可以分配给多个硬件中断事件;

2、用户程序中最多可使用50个互相独立的硬件中断 OB ;数字量输入和高速计数器均可触发硬件中断;

3、中断 OB 和中断事件在硬件组态中定义;在 CPU 运行时可通过“ATTACH”和“DETACH”指令进行中断事件重新分配;

4、如果“ATTACH”指令的使能端 EN 为脉冲信号触发,在使用“ATTACH”指令进行中断事件重新分配后;若 CPU 的操作模式从 STOP 切换到 RUN 时执行一次,包括启动模式处于 RUN 模式时上电和执行 STOP 到 RUN 命令切换,则硬件中断 OB 和硬件中断事件将恢复为在硬件组态中定义的分配关系;

5、如果一个中断事件发生,在该中断 OB 执行期间,同一个中断事件再次发生,则新发生的中断事件丢失;

6、如果一个中断事件发生,在该中断 OB 执行期间,又发生多个不同的中断事件中,则新发生的中断事件进入排队,等待第一个中断 OB 执行完毕后依次执行。

1.5时间错误( OB80 )块

当 CPU 中的程序执行时间超过最大循环时间或者发生时间错误事件(例如,循环中断 OB 仍在执行前一次调用时,该循环中断 OB 的启动事件再次发生)时,将触发时间错误中断优先执行 OB80 。由于 OB80 的优先级最高,它将中断所有正常循环程序或其它所有 OB 事件的执行而优先执行。

时间错误块

1.6诊断错误 (OB82)

可以为具有诊断功能的模块启用诊断错误中断功能来检测模块状态。

诊断错误块

触发诊断错误中断时,CPU 如何响应?

1、启用诊断错误中断且 CPU 中创建了 OB82 ;

2、OB82 是唯一支持诊断错误事件的 OB ;一次只能报告一个通道的诊断错误;

3、如果多通道设备的两个通道出现错误,则第二个错误只会在以下情况触发 OB82 :第一个通道错误已清除,由第一个错误触发的 OB82 已执行完毕,并且第二个错误仍然存在;

4、事件的进入或离开都会触发一次 OB82 ;

5、触发 OB82 ,CPU 不会进入 STOP 模式。

2.FB块案例

【FB块】有时候也叫函数块是一种代码块,它将输入、输出和输入/输出参数永久地存储在背景数据块中,从而在执行块之后,这些值依然有效、。 所以函数块也称为“有存储器”的块。函数块也可以使用临时变量。 临时变量并不存储在背景数据块中,而用于一个循环。

单背景数据块

3.FC块案例

【FC块】函数可以使用全局数据块 (数据块用于存储用户数据。 数据块分为可由所有代码块访问的全局数据块,以及分配给特定功能块调用的背景数据块。) 永久性存储数据。

功能块参数传递

4.DB块案例

DB块 】数据块用于存储程序数据。 因此,数据块包含由用户程序使用的变量数据。 全局数据块存储所有其它块都可使用的数据。数据块的最大大小因 CPU 的不同而各异。 可以以自己喜欢的方式定义全局数据块的结构。还可以选择使用 PLC 数据类型 (UDT) 作为创建全局数据块的模板。

DB数据块

5.SFC&SFB块案例

【SFB】 系统功能块是集成在 S7 CPU 中的功能块。SFB 是操作系统的一部分,不作为程序的一部分而被加载。同 FB 一样,SFB 也是“具有内存”的块。必须给 SFB 创建实例数据块,然后将它们作为程序的一部分下载到 CPU 中。

S7 CPU 给 SFB 提供下列功能:

• 通过已组态的连接进行通讯

• 集成的特殊功能 SFB29 "HS_COUNT"

【SFC】 作系统,不能作为程序的一部分而被加载。同 FC 一样,SFC 也是“具有内存”的

块。

S7 CPU 给 SFC 提供下列功能:

• 复制功能和块功能 • 检查程序 • 处理时钟和运行仪表 • 传送数据集 • 在多值计算模式中将事件从一个 CPU 传送到其它 CPU 中

• 处理日历和延时中断 • 处理同步错误、中断和异步错误 • 关于静态和动态系统数据的信息,例如,诊断

• 过程映像更新以及位域处理 • 寻址模块 • 分布式 I/O • 全局数据通讯

• 通过未组态的连接进行通讯

三、结构化(模块化)编程

结构化编程

结构化编程:处理复杂自动化控制任务的过程,为了是任务易于控制,常把过程要求类似或者相关的功能进行分类,分割为用于几个任务的通用解决的小任务,这些小任务以相似的程序段表示即块,结构化编程的特点每个块都可以被多次调用。

四、总结

个人觉得西门子编程主程序写在OB块里面,子程序写在功能块FC/FB里面,DB作为数据块,可用于静态数据存储,SFC块是CPU集成的功能块相当于子程序!程序编写主要靠积累平时多积累有效的程序模块或者样例。

声明: 本作品纯属个人娱乐学习交流,严禁使用其作为商业用途,图片均来至于西门子仿真软件及选型手册、网络,如有版权纠纷请及时告知,谢谢!

相关问答

PLC中L是什么意思?

L标识的是电源的正极M标识的是公共端(负极)。L是接交流电源的,就是我们常说的零线和火线(L\N)。另外一个L经常伴随数字出现,如1L2L之类的,这是用来给PLC...

西门子s7-300plccpu字母l是输入还是输出还有字母q是输入还是输出?

字母I代表开关量输入,例如I0.0,IB0;Q代表开关量输出,例如Q0.0,QB0;字母I代表开关量输入,例如I0.0,IB0;Q代表开关量输出,例如Q0.0,QB0;

西门子PLC输入可以直接接L正吗?

西门子PLC输入可以直接接L正。西门子PLC上面的L标识表示电源接线的正极,M标识表示公共端(也就是接线的负极),用来接线的L接负,负载的公共端接正。西门子PLC...

西门子PLC指令:LS5T#1MTMW104是什么意思?_作业帮

[最佳回答]将定时器常量(S5Time类型)1分钟,送入MW104中,在MW104中,第0~11位,保存的是BCD码的常数,在第12,13位,保存的是时基,14~15位,不用.将定时器常量(S5Ti...

西门子PLC程序怎么注释?

1、点击左侧浏览条中“符号表”,在“符号”列下边写上“主机启动”,在“地址”列下边写“I0.0”。2、在梯形图程序中的I0.0处,写入I0.0,“主机启动”自动显...

plc接线时LM端分别代表什么,应如何接线?

PLC的LM端是指PLC输出端,LM通道代表PLC的一个输出通道。通常情况下,它由两个接口组成,一个是L接口,代表PLC输出端的正极,一个是M接口,代表PLC输出端的负极...

西门子冰箱的开关o和l怎么用?

1.开关O和L是用来控制西门子冰箱的制冷和停止制冷的。2.当开关处于O的位置时,冰箱会开始制冷,保持冷藏室和冷冻室的温度在设定的范围内。当开关处于L的位置...

PLC输入端COM口通过什么并在一起?

谢谢您的邀请回复这个问题,作为三菱电机高级电气工程师很荣幸能回答这个问题。那么我们先了解一下什么是PLC吧。1:PLC(ProgrammableLogicController)中...2....

PLC中的操作数VBIBQBMBSMBSBLBAC*VD*AC*LD西门子PLC中的操作...

[最佳回答]你说的应该是200里边的东西V是内存区B是按照字节读的一个字节8各位既1BYTE=8BITVB100就是V第100的字节的意思IB是输入字节例如IB0就是I0.0、I...

西门子plc数据类型详解?

西门子PLC数据类型包括:位(BOOL)、字节(BYTE)、字符(CHAR)、整数(INT)、长整数(DINT)、无符号整数(WORD)、无符号长整数(DWORD)、单精度浮点数(R...西门子PL...

 梦舒雅  田晓天 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部