17838383235
6SL3121-1TE24-5AA3西门子代理
西门子: 一级代理商
PLC触摸屏变频器: 核心供应商
德国: 总代理
报价: 面议
最小起订: 1
有效期至: 长期有效
发布时间: 2024-07-23 03:12
发布IP: 175.13.203.99
浏览次数: 11
手机号: 17838383235
在线咨询: 点击这里给我发消息
17838383235
详细信息

【导读】博途中不但变量数据类型的隐式转换很好用,而且对于变量的Slice(直译:片或部分)寻址也很方便,下面就来说下S7-1200/1500如何以用Slice方式对变量进行寻址。

【一】语法表达式以及说明

(1)语法表达式

.x

.b

.w

4..d

(2)语法说明


部分说明

访问的变量标识。
x
b
w
d
访问宽度为“位(1 位)”的标识
访问宽度为“字节(8 位)”的标识
访问宽度为“字(16 位)”的标识
访问宽度为“双字(32 位)”的标识

待访问 内的位号。编号 0 表示访问低有效位。

待访问 内的字节号。编号 0 表示访问低有效字节。

访问的 内的字号。编号 0 表示访问低有效字。

访问的 内的双字号。编号 0 表示访问低有效双字。


(3)功能说明

通常针对Byte、Word等数据类型的变量进行片段访问,如下图所示,此外也可以对 INT、DINT 等整数数据类型的变量进行片段访问。

7ab913cc-d4a5-11ed-bfe3-dac502259ad0.jpg

(4)注意事项

从博途V13以后,语法规则从 ".x" 改为 ".%x",并且对于S7-300/400是不支持这种变量的片访问方式;对于S7-1200/1500其它类型的变量,比如数组元素,访问形式都差不多,大家自己动手试试吧!

【二】使用说明

(1)使用 DB 块变量进行 Slice 访问

创建一个 S7-1200 的项目,在程序块中新建一个 DB 块(优化的块访问),创建一个变量,数据类型为 DWord,可以看到该变量没有地址,如下图所示:

7ad434c2-d4a5-11ed-bfe3-dac502259ad0.jpg

在程序段 1 中插入常开和赋值指令,常开指令填写地址“DB1.Static_1.X0”,赋值指令填写地址“DB1.Static_1.X1”,其中 X0 和 X1 分别表示变量 Static_1 的第 0 位和第 1 位,如下图所示:

7ae95424-d4a5-11ed-bfe3-dac502259ad0.jpg

在程序段 2 中插入 MOVE 指令,IN 管脚填写地址“DB1.Static_1.B0”,OUT 管脚填写地址“DB1.Static_1.B1”,其中 X0 和 X1 分别表示变量 Static_1 的第 0 字节和第 1 字节,如下图所示:

7af87292-d4a5-11ed-bfe3-dac502259ad0.jpg

依次类推,对字访问,就是填写地址“DB1.Static_1.W0”和“DB1.Static_1.W1”。

(2)FB、FC 块接口变量的 Slice 访问

创建程序块(本例创建 FC 块,优化的块访问),在 Input 和 Output 分别创建变量“Input_1”和“Output_1”,数据类型分别是 DInt 和 Dword,可以看到这两个变量没有地址,如下图所示:

7b0a6cb8-d4a5-11ed-bfe3-dac502259ad0.jpg

程序段 1,常开指令填写地址“Input_1.X0”,赋值指令填写地址“Output_1.X0”;程序段2,MOVE 指令的 IN 管脚填写地址“Input_1.W0”,OUT 管脚填写地址“Output_1.W0”。后如下图所示。

7b2533ae-d4a5-11ed-bfe3-dac502259ad0.jpg


相关产品
相关西门子产品
联系方式
  • 地址:中国(湖南)自由贸易试验区长沙片区开元东路1306号开阳智能制造产业园(一期)4#栋301
  • 手机:17838383235
  • 联系人:徐嘉泉
产品分类
最新发布
企业新闻
站内搜索