[西门子] 【200SMART编程】你一定要会用的6张表——数据块

[复制链接]
查看223 | 回复0 | 2024-8-25 22:11:29 | 显示全部楼层 |阅读模式
把数据块归类在6张表中是因为数据块同之前介绍的符号表,变量表,交叉引用表一同默认显示在编程软件的右下方。

数据块影响V区数据的两种方式
两种影响方式,重新下载数据块和断电再上电时的影响。

  • 重新下载数据块对V区数据的影响

每次下载数据块,数据块中定义的变量的值会变为数据块中定义的值。

  • 断电再上电对V区数据的影响

数据块在PLC断电再上电后对V区数据有什么影响,从下图我们可以看出,数据块中配置的存储器数值只有在变量未设置断电保存属性时才会在PLC重启后复制为变量的初值,如果变量设置了断电保存,PLC重启后变量值仍为断电前的值。



数据块的应用

  • 给断电不保存变量赋初值

类似于我们使用SM0.1给变量赋初值的作用,SM0.1特殊寄存器只在PLC的第一个扫描周期接通,之后都是断开的状态,通常用于PLC重启后给变量赋初值(例如将原有的计数器计数值清零)。

对于未设置断电保存的变量,可以通过数据块定义的数据为变量赋初值,实现PLC每次重启后给相应变量赋初值的作用。

  • 给断电保存变量赋初值

一般用于首次下载为变量赋值,之后交由断电保存功能来保持变量的值。

比如程序中需要转换模拟量实际值,我们知道变送器的量程,需要将AIW的数值根据量程上下限按比例换算成实际值,此时我们可以给变送器量程的V存储区设置断电保存功能,并在数据块中设置初始值,这个初始值就是变送器的实际量程,我们在初次下载程序后就可以直接监视模拟量转换的实际值是否正确。如果未在数据块中配置量程实际值,初次下载程序后转换出的实际值都将是0,之后给量程变量赋值后才能正常转换实际值。如果程序交给用户使用,后期用户更换了不同量程的变送器,并通过人机界面修改了量程,此时最终影响变量值的是断电保持功能而不是数据块。



数据块的使用方法子列表
在数据块页面可以添加相应的子数据页以实现更好的归类。



分配变量的值
数据块允许您向 V 存储器的特定位置分配常数(数字值或字符串)。可以对 V 存储区的字节 (V 或 VB)、字 (VW) 或双字 (VD) 地址赋值。还可以输入可选注释,前面带双正斜线 //。

变量表必须以正确的方式输入。

  • 显式输入:“地址及类型 空格 数值”即"VW150 255"。

  • 隐式输入固定大小:“起始地址及类型 空格 数值,数值,数值”,系统按照相同数据长度为后面的变量分配数值,例如"VD357 4.5,5"相当于"VD357 4.5"和"VD361 5"两个显式分配。

  • 隐式输入自动分配大小:“起始地址 空格 数值,数值”,例如“V140 258,65539”相当于“VW140 258”和"VD142 65539"两个显式分配。




  • 按位对字节的值进行分配:可使用"VB180 2#11001101"来分配,也可使用"V181.0 0,1,ON , OFF , TRUE , FALSE来代表每一位的状态,每一位用空格隔开,VB181分配的值编译后与VB180相同



常见错误

  • 分配的数值与指令中使用的数据类型不同

此种错误在为VD变量分配数值时容易发生,指令中使用的VD变量是实数类型的数据,在分配数值时省略了小数点写成了整数。系统不会根据指令判断分配的数据类型是否正确,不会提示错误,但程序执行时会出现问题。例如将VD300的分配成25,正确应分配为25.0




  • 指定的地址已分配数值

指定的地址发生了重复,存在重复分配的情况,此种情况编译时可以做出提示。

  • 分配的数值范围发生错误

数值范围超出了地址类型所能存储的最大值,此种情况无需编译系统会直接以红色八叉的方式提示出。



总结
数据块中为变量分配数值时最好使用显示分配方式,这样可避免地址重复分配数值的错误。可以在EXCEL表格中以绝对地址,分配数值两列的方式列出,再选中这两列赋值粘贴至数据块表中即可完成数据分配。数据块影响V区存储器值的两种情况,对于断电不保存的变量,数据块分配的值就是PLC重启后变量的初值;对于断电保存变量,只有重新下载数据块,数据块分配的值才能变为变量的初值。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则