如何在 STEP 7 (TIA Portal) 中使用符号方式按位,字节,或字访问非结构数据类型?
对于S7-1200 和 S7-1500,可以按1位,8位,16位和32位的长度访问已经声明的变量。
描述
为了按字节、字和双字数据类型访问变量,需要:
对于S7-1200(固件V2.0及以上)需要 STEP 7 (TIA Portal)V11+SP1+Update 2 (或更高版本)
对于S7-1500需要 STEP 7 (TIA Portal)V12 (或更高版本)
将存储区(例如Byte或Word )划分为更小的存储区(例如Bool )也称为存储器分片。图01所示使用符号方式对操作数按位、字节、字进行访问。
图.1
使用片访问可以提供更高的编程效率并且无需在变量表里进行额外的声明。
下例所示使用符号方式按位访问。"x"代表在字或字节中按位访问并且其后的数字表示相关位的偏移量。
图. 2
图03为按字节访问的例子。这里"b"代表按字节访问并且其后面的数字表示相关字节的偏移量。
图. 3
"w"代表按字进行访问并且其后的数字表示相关字的偏移量。
图.4
在某些技术应用上,只需要一个字节变量的前4位或前6位(分别对应于位0至位3或位0至位5)的值用于转换字节数据类型到一个实数数据类型的值。例如,一个二进制数(二进制编码字节)转换成十进制数(实数)。字节的最低位代表数值2-5。这不是小数点后的位数,但是可以自动计算出十进制数据。
位5 | 位4 | 位3 | 位2 | 位1 | 位0 |
1 | 1 | 0 | 0 | 1 | 0 |
20 | 2-1 | 2-2 | 2-3 | 2-4 | 2-5 |
1,0 | 0,5 | 0,25 | 0,125 | 0,0625 | 0,03125 |
1*1,0=1,0 | 1*0,5=0,5 | 0*0,25=0 | 0*0,125=0 | 1*0,0625=0,0625 | 0*0,03125=0 |
总计= 1.5625.
如下SCL程序的前两行将不需要的位设为“false”。然后,根据变化得到2-5进行数据类型转换后的数值。
图.5
注意
从STEP 7 (TIA Portal) V13 以后,语法规则从 "Variable.X0" 改为 "Variable.%X0"。如上所述示例中输入"inByte.X0"后,STEP 7 (TIA Portal) V13 之后的版本会自动修改为"inByte.%X0"。
审核编辑:刘清
-
存储器
+关注
关注
38文章
7452浏览量
163591 -
二进制
+关注
关注
2文章
793浏览量
41593 -
S7-1200
+关注
关注
11文章
331浏览量
17905
原文标题:如何在 STEP 7 (TIA Portal) 中使用符号方式按位,字节,或字访问非结构数据类型?
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论