西门子S7-200系列PLC学习(17 M区与V区的差别)
本节课,我们学习一下M区与V区的差别
M区(位存储区)通常用来存储“位”的信息,如某个瞬间的值。从而具有以下特点:
M区(位存储区)
V区(变量存储区)通常用来存储程序执行过程中的变量。从而具有以下特点:
V区(变量存储区)
以及特殊存储器(SM)标志位
这当中有些知识点,可能一时理解不了。没关系,可以先记下来。在通过后面的学习,逐渐加深印象。
下面是我们此前学习的位、字节、字与双字的长度介绍
数据长度对比
以下图为例,分析一下哪种形式更常用:
正如上图所示,通常在使用的时候,左边这一列,会采用左上的形式较多。常用于在处理“位”数据类型时使用。
而右上图示部分,则常用于在处理字节、字及双字等类型的数据时使用。
这里,再介绍一下编程中对于存储区的使用习惯:
V区:常用于做变量存储,即该数据仅用于过程计算,不应用于最终输出。常用于存储在程序执行当中,逻辑操作的中间结果,或用来保存与工序或任务相关的其他数据。
M区:常用于起到“中继”的作用,作为一个中间过渡,常用于存储瞬间状态(信号)。
到本节结束,PLC基础的入门内容就介绍完了。
下一步,将进入“指令及编程逻辑”的学习。谢谢大家!
西门子S7-1200PLC 程序块之组织块介绍
关注“PLC发烧友 ”,一起涨知识!
回复:西门子全套,领西门子全系列电子资料包!
一、S7-1200程序块
S7-1200CPU采用块的概念,将程序分解为独立的,自成体系的各部部件块的功能类似于S7-200系列中的子程序,但类型更多,功能更强大
简而言之就是比如一个项目分成不同的功能(任务)和工艺,每个任务可做成不同的代码块;每个代码块可完成不同的任务或工艺,并且每个代码块是独立的;这些块与S7-200的子程序块更强大,在200系列中如果采用带形式参数的子程序去编写程序的过程中,如果去使用计数器、定时器等没有相应的变量类型的存储区时,在需要被重复调试这带形参的子程序时,计数器、定时器就会出现双线圈;但在1200中的FB/FC块中可以使用计数器、定时器、沿脉冲信号等反复调用不受影响
二、使用块的优点
使用块的概念有以下好处:
(1)便于大规模程序的设计和理解
将不同的任务分成不同的程序块,在大的项目中我们按照,任务、功能的划分不同的任务段,每个任务段编写不同的程序块,完成这个任务块的程序就行,
(2)可设计标准化的程序块,方便进行重复的调用
如一个电机的控制,涉及到电机的启动方式、运行参数如速度的反馈、电压电流的反馈等等;如果设计一个标准的程序块时,不同的工程师不需重新设计,把标准块直接调用即可。
(3)程序结构清晰明了,修改方便,调试简单。
(4)增加PLC的组织透明性,可理解易维护。
三、程序块详解
S7-1200CPU提供了不同类型的程序块,主要分为组织块(OB)、函数(FC)函数块(FB)数据块(DB)
组织块:由操作系统调用,决定程序的结构
函数(功能)块:具有存储器的代码块,可将值存储在背景数据块中,即使在执行完后,这些值存在背景数据块中仍然有效。
函数:不带存储器的代码块,数据存储在局部存储区L里面,函数没有背景数据块,执行完成后,数据不保存
数据块:存储用户数据的区域,类似于200系列的V存储区;它分为全局数据块和背景数据块。可根据不同的任务段,建立不同的数据块来存储任务
组织块OB
组织块的基本功能是调用用户程序,在S7-1200中可以使用的组织块OB有启动组织块、循环组织块、循环中断组织块,定时中断组织块,硬件中断组织块,故障中断组织块等。
启动组织块 (OB100)在添加OB块的时可选择多个启动组织块,根据组织块的编号大小顺序依次执行。启动组织块通常用来做出初始化的程序(在一些需要做初始化的程序可以放到OB100中)
循环组织块 :(OB1)PLC的主程序MAIN CPU会循环的对程序扫描执行,然后有循环组织块调用不同FB/FC,也就是CPU在处于RUN模式时,操作系统每个周期调用循环OB一次,所有的循环OB执行完后,操作系统重新调用循环OB,S7-1200CPU支持多个程序循环OB,执行顺序一样是根据编号大小依次执行;
硬件中断组织块 :在RUN模式下,CPU立即响应硬件中断事件,调用相关的硬件中断OB,中断程序的执行不受主程序的扫描和过程映像更新时间的影响,适合需要快速响应的应用。比如高速计数的当前值等于预设值时,可启用硬件中断
一个硬件中断事件只允许一个硬件中断OB,而一个硬件中断OB可分配给多个硬件中断事件。
中断硬件触发后,操作系统将识别输入通道并确定所分配的OB,在识别和确认的过程中,同一模块上发送了触发硬件中断的另一事件,必须遵循以下规则:
1、如果该通道再次发生相同的中断事件,操作系统不予响应,硬件中断将丢失
2、如果发生不同的中断事件,则在当前正在执行的中断确认后再响应这个新的中断事件
时间中断组织块 :时间中断OB用于在时间可控的应用中定期运行一部分用户程序,可实现在某个预设时间到达只运行一次,或在设定的触发日期到达后,按时、分、秒、天、周、月等周期运行,只有设置并激活了时间中断,且程序中存在相应组织块的情况下,才能运行时间中断,通过以下指令对时间中断进行操作:
“ACT-TINT”激活时间中断
“SET-TONTL”设定时间中断的参数
“CAN-TINT”取消未执行的时间中断
“QRY-TINT”查询时间中断的状态
循环中断组织块 :循环中断OB按设定的时间间隔循环执行,如间隔时间为1000MS,则在程序块执行期间会每隔1000MS调用该该块一次。在添加块的时候可添加一个循环中断组织块,同时可设置该组织块的执行时间间隔
故障中断组织块 :在发生故障时,可启用故障中断
延时中断组织块 :延时中断OB在一段可设置的延时时间后启动,可通过以下指令对延时中断进行操作:
“SRT-DINT”用于启动延时中断,该中断在超过参数指定的时间后调用延时中断OB。延时时间范围在1~60000MS
“CAN-DINT”取消启用的延时中断
“QRY-DINT”查询延时中断的状态
时间错误组织块 :时间错误组织块是操作系统用于处理时间故障的中断组织块,当程序和执行时间超过最大的循环时间或发生时间错误事件,CPU将触发时间错误中断OB80
诊断错误组织块 :诊断错误组织块是操作系统用于响应诊断错误的中断组织块,如激活诊断功能的模块检测到故障状态发生变化时,向CPU发送诊断中断请求,触发诊断错误组织块OB82
拔插中断组织块 :拔插中断组织块OB83是操作系统用于响应对模块移除或插入操作的中断组织块,S7-1200 PLC的本地模块不支持热插拔,拔出或插入中央机架模块将导致CPU进入STOP模式
机架错误中断组织块 :机架错误中断组织块OB86是操作系统用于响应PROFIBUS-DP和PROFINET-IO分布式IO站通信故障的中断组织块
回复:西门子全套,领西门子全系列电子资料包!
相关问答
db块和v区的区别?
DB块和M区,只有S7-300和S7-400有,M区和V区只有S7-200有,都为存储数据区,DB块可以断电保持,M区和V区为普能数据区,他们的最大存储空间取决于选用CPU。...DB块...
plc编程变量V存储区与M存储区有什么区别?
在PLC编程中,V存储区和M存储区都是PLC的内部存储区域,用于存储程序中需要使用的变量。它们之间的区别主要体现在以下三个方面:1.存储范围:V存储区属于寄存...
西门子PLC提示块大小为0是什么意思?
西门子PLC提示块大小为0表示在用户程序中定义的指定块的长度为0,这可能意味着未正确定义或配置该块。在PLC编程中,块大小通常代表指令或数据的数量,如果块大小...
请教信捷PLC与信捷文本显示器的编程问题。再线等!谢谢?
不同品牌的PLC编程思路不尽相同,对于永宏台达等PLC你的思路是对的,信捷我不确定,但你的问题解决起来不难。1、确定PLC与文本显示正常连接。你可以在文本显示...
欧姆龙plc编程软件里的PLC内存对话框中,CIO、A、T、H、W等等什么意思呀?
CIO是输入输出寄存器区,A是特殊寄存区,T是时间,H是保持,W是内部辅助。PLC编程时三个注意事项1、双线圈输出如果在同一个程序中,同一元件的线圈使用了两...
欧姆龙PLC输入区输出区地址的代表符号是什么?
简单一些讲,是I与QI代表条件是否达到,比如传感器是开的还是关闭的Q代表输出了W代表机器动作中的一种状态,比如伸出气缸这个状态,通俗一点的话就是一种起...
西门子PLC编程,存储区域IQMLD分别是什么意思?
I:输入地址,对应输入模块通道q:输出地址,对应输出模块通道M:辅助寄存器地址L:局部变量地址,相当于程序中的内部变量地址D:应该对应的书DB数据块地址。I:...
三菱PLC编程指令MC怎么输入?
三菱PLC主控指令MC输入方法:编写MC主控命令的时候,先按F8转入输入命令格式;然后写MC空格N0,空格Mx按确认键完成;主控结速时,按F8输入MCR,空格Nx确认后...
plc端口设置?
位机开发中三菱PLC如果要走MC协议,是不需要额外编程的,但是需要做一些简单的配置。1.在右侧工程栏中双击PLC参数;2、在弹框中选择内置以太网端口设置,设置I...
电脑与PLC通讯用什么语言编程比较好啊?-ZOL问答
vivoX90Pro+举报笔记本电脑6人讨论8262次围观关注问题写回答讨论回答(6)QWEASDZXC1CJC,C++,VC,VB,C#都可以作为上位机(电脑)的编程语言,如果需...