描述
采用间接寻址时,只有程序执行时,用于读或写数值的地址才得以确定。使用这种方法可以减少编程量并使得程序更灵活。通常来讲,程序创建后访问地址也就确定了。为了使得间接寻址更灵活和更安全,可以
使用"Array"数据类型用于组合相同的数据类型。
对于不同的存储区,采用index来访问相关的针对每个应用不同的变量。
在下面的例子中,对于三个变量的访问采用了不同的存储区。表01 显示了三个变量的访问列表,每个都有单独的索引。
索引 | 访问变量 | 存储区 |
1 | Input_Word_0 | EW 0 |
2 | "Processdata".Temperature | DB 1 |
3 | Output_Word_4 | AW 4 |
表01
创建一个功能,并声明输入变量为"Int"类型。图.01 显示了对于"AccessGroupInt"功能块的编程示例,通过index进行间接寻址并返回值。可以在程序中直接使用间接访问,例如使用指令#TempValue:= "AccessGroupInt"(#Index);。这一编程方法
可追踪,因为可以使用交叉索引。
安全,因为仅使用了预定义的内存区。
通用,因为既可以用于标准块也可以用于优化的数据区 。
图. 01
在下面的示例中数据被从三个不同的优化的数据块中读出或写入。三个数据块"Silo_Water", "Silo_Sugar" 和"Silo_Milk"都包含相同的变量声明:
DB 变量1:"MyBool" Bool类型
DB 变量2:"MyInt" Int类型
DB 变量3:"MyWord" Word类型
图. 02
创建的PLC数据类型"SiloUDT"用于寻址包含不同数据类型的DB变量。"AccessGroupSiloRead"功能块用于读出返回值,是由PLC 数据类型 "SiloUDT"定义的。基于此可以在一个FB中间接访问,例如如图.03所示的指令:
"Silo_Handling_OnlyReading"("AccessGroupSiloRead"(Index:= #Silo_Index));
审核编辑:刘清
-
plc
+关注
关注
5019文章
13400浏览量
465957 -
变量
+关注
关注
0文章
613浏览量
28501
原文标题:在STEP 7 (TIA Portal)中如何安全地并且间接地寻址?
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
请问下面的两个TVS二极管为什么串起来,中间接地呢?
在TIA Portal中调整KUKA标准IO的数量
STEP7(TIA Portal) 中各种图标的含义
介绍一下TIA Portal V18安装和授权获取的流程
TIA Portal STEP7打开项目报错该如何去解决呢?
PLC中为什么要间接寻址?直接寻址不行吗?
TIA Portal V13 SP1上载程序步骤
![<b class='flag-5'>TIA</b> <b class='flag-5'>Portal</b> V13 SP1上载程序步骤](https://file1.elecfans.com/web2/M00/AB/F0/wKgZomU4fKqAW-i9AABYFtN6Zac309.png)
STEP7(TIA Portal)TRACE功能全面解析
![<b class='flag-5'>STEP7</b>(<b class='flag-5'>TIA</b> <b class='flag-5'>Portal</b>)TRACE功能全面解析](https://file1.elecfans.com/web2/M00/C3/57/wKgZomXqsRKAFBCdAAAPuq7dS94271.jpg)
定时器在STEP 7V5.x及STEP 7(TIA Portal)的不同处理步骤
![定时器在<b class='flag-5'>STEP</b> <b class='flag-5'>7</b>V5.x及<b class='flag-5'>STEP</b> <b class='flag-5'>7</b>(<b class='flag-5'>TIA</b> <b class='flag-5'>Portal</b>)的不同处理步骤](https://file1.elecfans.com/web2/M00/C8/1E/wKgaomYSFNKAaNT8AAAoeA-h-j4924.png)
评论