全国服务热线 19514718569

西门子CPU412-1中央控制器西门子代理商

更新时间:2024-01-07 08:08:00
价格:¥888/台
西门子:西门子代理商
西门子CPU:西门子plc
德国:全新原装
联系电话:
联系手机: 19514718569
联系人:吴悦
让卖家联系我
详细介绍

西门子CPU412-1中央控制器

西门子CPU412-1中央控制器

西门子CPU412-1中央控制器

西门子代理商

主营西门子原装

S7-200CN|S7-200|S7-1200|S7-300|

S7-400|ET200系列PLC,

西门子T400|TDC高端控制器|

西门子PCS7过程控制系统,西门子HMI,

西门子802C|S|D|810D|840D|828D数控系统及备件,

西门子MM4|G110|G120|V10标准变频器,

西门子S120|611系列伺服系统,

西门子profibus-DP现场总线系统,

西门子电机,西门子过程仪表

凡我公司出售的西门子产品均享受西门子官方质保一年,

一年内有任何质量问题免费提供换新或维修服务,不收取任何费用!

希望我的用心能换来您对我们的信心!

我公司大量现货供应,价格优势,品质保证,德国原装进口

西门子PLC学习笔记十五-(数据块及数据访问方式)

一、数据块


数据块是在S7 CPU的存储器中定义的,用户可以定义多了数据块,但是CPU对数据块数量及数据总量是有限制的。


数据块与临时数据不同,当逻辑块执行结束或数据块关闭,数据块中的数据是会保留住的。


数据块分共享数据块、背景数据块、用户自定义数据块,下面分别介绍。


1.共享数据块(全局数据块)


其用于存储全局数据,所有逻辑块(OB、FC、FB)都可以访问共享数据块中的数据。


2.背景数据块(私有存储区)


其用做功能块(FB)的“存储器”。FB的参数和静态变量安排在它的背景数据块中。背景数据块不是由用户编辑的,而是编辑区生成的。


3.用户自定义数据块


其是以UDT为模板生成的数据块。创建用户定义数据块之前,必须先创建一个用户自定义的数据类型,如UDT1,并在LAD/STL/FBD S7程序编辑器内定义。


自定义数据类型UDT1的创建 可以参照之前的学习笔记:西门子PLC学习笔记五-(编程语言、数据类型)进行学习


4.数据块的创建


数据块的创建可以参考下图:


   


  


二、数据块的访问


用户程序可以以位、字节、字或双字操作访问数据块中的数据,可以使用符号或**地址访问。

在访问数据块时必须指明数据块的编号、数据类型与位置。如访问了不存在的数据单元或者数据块,同时没有编写错误处理OB块,CPU将进入STOP模式。


1.寻址数据块



2.传统方式访问数据块


传统方式是:先打开数据块,然后在访问。下例为STL访问数据块代码:


OPN DB1 //打开数据块DB1,作为共享数据块

L DBW2 //将DB1的数据字DBW2装入累加器1的低字中

T MW0 //将累加器低字中的内容传送到存储字MW0

T DBW4 //将累加器1低字中的内容传送到DB1的数据字DBW4

OPN DB2 //打开数据块DB2,作为共享数据块,同时关闭数据块DB1

L DB10 //装入共享数据块DB2的长度

L MD10 //将MD10装入累加器

<D //比较数据块DB2的长度是否足够长

JC ERRO //如果长度小于存储双字MD10中的值,则跳转到ERRO

3.直接访问数据块


直接访问数据块是:直接给出数据块的编号和数据在数据块中的地址。可以使用**地址,也可以使用符号地址。如下例:


L DB1.DBW2 //打开数据块DB1,并装入地址为2字数据单元

T DB1.DBW //将数据传送到数据块DB1的数据字单元DBW4

//----------- 使用符号地址 ------------

L "DB_Symbol".Speed //打开符号名为"DB_Symbol"的数据块

//并装入名为"Speed"的数据单元


————————————————

版权声明:本文为CSDN博主「风水月」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/fengshuiyue/article/details/42705319

STEP7中生成功能块步骤教程

1.生成功能块

  选中SIMATIC管理器左边窗口中的“块”图标,用鼠标右键点击右边窗口,执行出现的快捷菜单中的“插入新对象”→“功能块”,生成一个新的功能块。在出现的功能块属性对话框中,采用系统自动生成的功能块的名称FB1,选择梯形图(LAD)为默认的编程语言。点击“多情景标题”前面的复选框,使其中的“√”消失(没有多重背景功能)。点击“确认”按钮后返回SIMATIC管理器,可以看到右边窗口中新生成的功能块FB1。

  2.局部变量

  双击生成的FB1,打开程序编辑器。将鼠标的光标放在右边的程序区*上面的分隔条上(见图4-13),按住鼠标的左键,往下拉动分隔条,分隔条上面是功能块的变量声明表,下面是程序区,左边是指令列表和库。将水平分隔条拉至程序编辑器视窗的顶部,不再显示变量声明表,但是它仍然存在。

  在变量声明表中声明块专用的局部变量,局部变量只能在它所在的块中使用。

  变量声明表的左边窗口给出了该表的总体结构,选中某一变量类型,例如“IN”,在表的右边显示的是输入参数Start等的详细情况。

功能块

  由图4-13可知,功能块有5种局部变量

  1)IN∶输入参数,用于将数据从调用块传送到被调用块。

  2)OUT输出参数,用于将块的执行结果从被调用块返回给调用它的块。

  3)IN_OUT(输入_输出参数)参数的初值由调用它的块提供,块执行后由同一个参数将执行结果返回给调用它的块。

  4)TEMP(临时变量)暂时保存在局部数据区中的变量。临时变量区(L堆栈)类似于没有人管理的公告栏,谁都可以往上面贴告示,后贴的告示将原来的告示覆盖掉。只是在执行块时使用临时变量,执行完后,不再保存临时变量的数值,它可能被同一优先级中别的块的临时数据覆盖。

  5)STAT(静态变量)从功能块执行完,到下一次重新调用它,静态变量的值保持不变。

  选中变量声明表左边窗口中的输入参数“IN”,在右边窗口中生成两个BOOL变量和一个INT变量(见图4-13)。用类似的方法生成其他局部变量,FBI的背景数据块(见图4-15)中的变量与变量声明表中的局部变量(不包括临时变量)相同。

  块的局部变量名必须以字母开始,只能由英语字母、数字和下划线组成,不能使用汉字,但是在符号表中定义的共享数据的符号名可以使用其他字符(包括汉字)。

  在变量声明表中赋值时,不需要指定存储器地址根据各变量的数据类型,程序编辑器自动地为所有的局部变量指定存储器地址。

  块的输入参数、输出参数的数据类型可以是基本数据类型、复杂数据类型、Timer(定时器)、Counter(计数器)、块(FB、FC、DB)、Pointer(指针)和ANY等。

  3.生成梯形图程序

  图4-13的下面是功能块FBI的梯形图程序。用起保停电路来控制发动机的运行,功能块的输入参数Start和Stop分别用来接收起动命令和停止命令。输出参数Engine_On用来控制发动机的运行。用比较指令来监视转速,检查实际转速Actual_Speed是否大于等于预置转速Preset_Speed。如果满足比较条件,Bool输出参数#Overspeed(超速)为1。

  STEP7自动地在程序中的局部变量前面加上“#”号,符号表中定义的共享符号被自动加上双引号。


没有

联系方式

  • 地址:上海松江 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 联系电话:未提供
  • 经理:吴悦
  • 手机:19514718569
  • QQ:2810544350
  • Email:2810544350@qq.com
产品分类