S7-1200 数据块的使用
1. 创建DB块: 在项目中添加了S7-1200设备之后,在项目树中此PLC的"程序块"下即可以添加新的数据块。
图1 DB块的创建
在打开的"添加新块"窗口下选择数据块。 以下是对此窗口下各项配置的说明:
名称:此处可以键入DB块的符号名。如果不做更改,那么将保留系统分配的默认符号名。例如此处为DB块分配的符号名为“Data_block_2”;
类型:此处可以通过下拉菜单选择所要创建的数据块类型-全局数据块或背景数据块。如果要创建背景数据块,下拉菜单中列出了此项目中已有的FB供用户选择。
语言:对于创建数据块,此处不可更改。
编号:默认配置为“自动”,即系统自动为所生成的数据块配分块号。当然也可以选择“手动”,则“编号”处的下来菜单变为高亮状态,以便用户自行分配DB块编号。
块访问:默认选项为“已优化”,当选择此项时,数据块中的变量仅有符号名,没有地址偏移量的信息,该数据块仅可进行符号寻址访问。选择“已优化”创建数据块可优化CPU对存储空间的分配及访问,提升CPU性能;
用户也可以选择“标准-与S7-300/400兼容”,获得与S7-300/400数据块相同的特性,数据块中的变量有符号名和偏移量,可以进行符号访问和绝对地址访问。
注意:数据块的块访问属性只能在创建数据块时定义。创建完成后无法修改数据块的访问属性。如果在编程中需要对数据块进行绝对地址访问,必须在创建该数据块时将块访问设置成“标准-与S7-300/400兼容”。
当以上的数据块属性全部定义完成,点击“确定”按钮即创建完成一个数据块。用户可以在项目树中看到刚刚创建的数据块,如图2所示:
图2 项目树中的DB块
2. 为数据块定义变量:双击打开数据块即可逐行添加变量,如图3 所示。
图3 DB块的编辑
如果数据块时选择“标准-与S7-300/400兼容”,则在数据块中可以看到“偏移量”列,并且系统在编译之后在该列生成每个变量的地址偏移量。设置成优化访问的数据块则无此列。
默认情况下会有一些变量属性列未被显示出来,可以通过右键单击任意列标题,可在出现的菜单中选择显示被隐藏的列,见图4:
图4 显示隐藏列
表1是对数据块变量定义的所有列的说明:
表1 DB块中的列属性
定义变量的数据类型:可以为变量定义基本数据类型,复杂数据类型(时间与日期,字符串,结构体,数组等),PLC数据类型(如用户自定义数据类型),系统数据类型和硬件数据类型。可以直接键入数据类型标识符,或者通过该列中的选择按钮选择。如下图所示:
图5 定义数据类型
需要创建多个数据类型相同的变量时,可以将光标置于第一个变量名称的右下角,待光标变为“+”符号后向下拖动光标,即可轻松创建多个具有类似属性的变量:
图6 创建多个变量
DB块数据的保持性:对于可优化访问的数据块,其中的每个变量可以分别设置其保持与否;而标准数据块仅可设置其中所有的变量保持或不保持,不能对每个变量单独设置。如图7和图8所示:
图7 标准数据块中仅可设置所有的变量保持或不保持
图8 可优化访问的数据块中可以分别设置每个变量的保持性
3. 数据块的访问:
符号访问:<DB块名>.<变量名>;例如:Data_Block_1.Var1;
绝对地址访问:<DB块号>.<变量长度及偏移量>:DB1.DBX0.0;DB1.DBB0;DB1.DBW0;DB1.DBD0。
注意:复杂数据类型只能符号寻址。
PLC顺序控制梯形图的编程方式
顺序控制梯形图的编程方式是指根据系统的顺序功能图设计梯形图的方法
本章主要介绍使用STL指令和起保停电路的编程方式,以转换为中心的编程方式和仿STL指令的编程方式
绘制顺序功能图时的注意事项
1)步与步之间不能直接相连,必须用一个转换条件将它们隔开;
2)转换条件与转换条件之间也不能直接相连,必须用一个步将它们隔开;
3)顺序功能图中的初始步一般对应于系统等待起动的初始状态,这一步可能没有输出,只是做好预备状态;
6.1使用STL指令的编程方式
6.1.1单序列的编程方式
STL指令:步进梯形指令
RET:使STL复位的指令,使LD点返回左侧母线
状态S的使用:
S0-S9用于初始步
S10-S19用于返回原点
S20-S499通用状态
S500-S899有断电保持功能
S900-S999用于报警
注意:用S编制顺序控制程序时,应与步进指令一起使用。使用STL指令
的状态的常开触点称为STL触点,它在梯形图中的符号如下图所示
3PLC只执行活动步对应的电路块,不同的STL触点可以分别驱动同一编程
元件的1个线圈。但是同一元件的线圈不能在可能同时为活动步的STL区内
出现,在有并行序列 的顺序功能图中,应特别注意
4STL触点驱动的电路中不能使用MC和MCR指令
5在中断程序与子程序内,不能使用STL指令
6状态器S编号不能重复使用
7STL触点断开时,与其相连的回路不动作,一个扫描周期后不再执行STL
指令
8 定时器线圈与输出线圈一样,也可在不同的状态时间对同一定时器软件编程,但是,在相邻状态下对同一定时器编程时,则状态转移时定时器线圈不断开,当前值不能复位,因此需要注意在相邻状态不要对同一定时器编程
补充:状态转移图
一个控制过程可以分为若干个阶段,这些阶段称为状态。状态与状态之间由转换条件分隔,相邻的状态具有不同的动作,当相邻两状态之间的转换条件得到满足时,相邻状态就实现转换,即上面的动作结束下面的动作开始,描述这一状态转换过程的图就称为状态转移图
状态器软器件S是构成状态转移图的基本元素,共有1000点
步进梯形图指令的特点
步进梯形指令仅对状态器S有效,但是对于用作一般辅助继电器的状态器S,则不能采用STL指令,而只能采用基本指令。在STL指令后,只能采用SET和RST指令作为状态器S的置位或复位输出。STL与LD指令比较
转移源自自动复位:采用STL指令,当状态器S接通时,顺序控制转移状态器S的相继状态,同时,转移源状态器S自动复位
允许双重输出:由于STL指令具有转移源自动复位功能,因此STL指令允许双重甚至多重输出,
主控功能:使用STL指令,取指令LD移到右边,使用RET指令后,取指令返回到原来的母线上。
6.3.6各种编程方式的比较
1 编程方式的通用性
2 不同编程方式设计的程序长度比较
3 电路结构及其他方面的比较
STL指令的优点
相关问答
plc怎么输入长度尺寸?
PLC测量长度一般都是使用电子尺或接线式编码器。电阻尺可以直接测量出绝对长度、测量精确、使用简单等特点。我用的是良石技术的LS21-E4KT电阻尺模块,将电子...
plc长度计算方法?
PLC测量长度一般都是使用电子尺或接线式编码器。电阻尺可以直接测量出绝对长度、测量精确、使用简单等特点。我用的是良石技术的LS21-E4KT电阻尺模块,将电子尺...
PLC自动测量长度的方法?
以下是一种常见的基于PLC的自动测量长度的方法:1.连接编码器:编码器是一种用于测量长度、角度等物理量的传感器。将编码器连接到PLC的输入口,可以实时读取编...
欧姆龙PLC字符串长度?
欧姆龙PLC的字符串长度取决于具体型号和型号所支持的数据类型。一般来说,欧姆龙PLC支持不同长度的字符串,最常见的为16位字符串和32位字符串。较新的型号可能...
plc延时时间长度的计算方法?
一般的是100ms基时,延时时间=设定时间*基时。例如TMRT0K123的延时时间就是123*100ms=12300ms=12.3s。当M1028为10ms时间切换标志信号,Off时定时器T6...
三菱plcFX1N,怎么编程编码器的ab相,实现长度定位?
使用高速计数器C251,实现AB相控制,X0和X1分别接在编码器的A相和B相。C251数值可以写K999999,没有关系的。C251的当前值和你的定位数值做区间比较,需要用到的...
PLC怎样测量电线直径?
PLC(可编程逻辑控制器)通常不能直接测量电线直径,因为它主要用于自动化控制。然而,可以通过使用传感器来测量电线直径。例如,可以使用激光传感器或光电传感...
编码器和西门子PLC与输出长度的问题?
手动运行一米,标注编码器真有多大的码制增长。手动运行两米,标注编码器真有多大的码制增长。利用KX+B倒推系数手动运行一米,标注编码器真有多大的码制增长。...
在PLC里的扫描周期?
扫描周期是plc的一个重要指标,小型plc的扫描周期一般为十几毫秒到几十毫秒。plc的扫描周期长短取决于扫描速度和用户程序的长短。毫秒级的扫描时间对于一般工...
plc扫描周期是什么?
PLC扫描周期是指PLC输入、输出、程序扫描等周期的时间间隔。在PLC系统中,PLC需要不断地扫描所有的输入和输出模块,读取和更新IO信号,同时执行用户的程序,完成...