• 自动化系统
  • 驱动技术
  • 低压电气
  • 工业服务
  • 其他
工业自动化软件 PLC和组件HMI人机界面通信与网络组件过程控制系统过程仪表及分析仪器工业识别工业信息安全
SIMATIC S7-1500系列
SIMATIC S7-1200系列
SIMATIC S7-200 SMART
SIMATIC S7-200系列
SIMATIC S7-300系列
SIMATIC S7-400系列
LOGO!
ET200
SIMATIC S5
工业自动化软件
工业电源
WinAC
TDC/SYMADYN D
更多
常问问题

在STEP 7 (TIA Portal)中如何安全地并且间接地寻址?

star star star star star
4.9 分
  • 使用操作
  • 工程工具
  • PORTAL
  • 安全
  • 接地
文档编号:97552147| 文档类型:常问问题| 发布时间:2023年10月13日
  • 9
  • 618040
  • 1655
此FAQ描述了在STEP 7 (TIA Portal)中如何安全地并且间接地寻址。

描述
采用间接寻址时,只有程序执行时,用于读或写数值的地址才得以确定。使用这种方法可以减少编程量并使得程序更灵活。通常来讲,程序创建后访问地址也就确定了。为了使得间接寻址更灵活和更安全,可以

  • 使用"Array"数据类型用于组合相同的数据类型。
  • 对于不同的存储区,采用index来访问相关的针对每个应用不同的变量。

在下面的例子中,对于三个变量的访问采用了不同的存储区。表01 显示了三个变量的访问列表,每个都有单独的索引。

索引访问变量存储区
1Input_Word_0EW 0
2"Processdata".TemperatureDB 1
3Output_Word_4AW 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));


图. 03

创建环境
此FAQ中的截屏由 STEP 7 (TIA Portal) V13创建。

附加关键词
符号

1847
  • 评论
  • 分享

    扫码分享

  • 收藏
  • 点赞
  • 纠错
 

隐私政策更新提示

欢迎您来到西门子数字化工业支持中心网站!我们使用cookies来确保您能最好地使用我们的网站,进行网站分析并根据您的兴趣定制内容。我们有时会与第三方共享cookie数据。继续浏览本网站,即表示您同意我们使用cookies。您亦可以参考西门子数据隐私政策以了解更多相关信息。

同意并继续浏览
提示
您即将前往“全球技术资源库”。
“全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
确定
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。