zoukankan      html  css  js  c++  java
  • Studio 5000 指针(间接寻址)编程


    前言:自动化控制系统是综合性、复杂性的,处于现场层的PLC控制器虽然进行各种控制,但最终还是对数据进行处理,对数据的处理,包含两种方式,一种是直接使用,第二种就是间接使用。针对第二种处理方式,就要用到间接寻址,有时也叫指针寻址。不同品牌的PLC间接寻址方式各有不同,AB PLC的间接寻址方式很简单,也很人性化。

    一、间接寻址   

     AB PLC的间接寻址主要分为两种方式

    • 基于位的间接寻址

    • 基于数组的间接寻址


    二、准备工作   

    这里使用仿真方式详细介绍,实体PLC的间接寻址编程同此法。

    1. 在仿真器中,2号槽添加CPU,3号槽添加模块.

     

    2. 打开Studio 5000 PLC编程软件,组态模块.

     

    三、位的间接寻址 

    情景设定:

    有31台照明灯,在上位机软件输入灯的编号,相对应编号的灯亮起来,输入0,所有灯熄灭。

    1. 在控制器标签里,新建2个DINT标签:Number(灯的编号),LampCtrl(控制灯的亮灭).

     

    2. 编写程序如下图,其中灯的亮灭控制输出为:LampCtrl.[Number],这里一定要限制Number的大小在1到31,如不限制在这个范围,一旦超出,就会造成间接寻址维度溢出,导致CPU严重故障,致使其停机.

     

    3. 下载程序,使CPU处于运行状态,并打开仿真器的IO模块窗口。当Number输入10时,IO模块的输出点10显示黄色,表明第10号灯已经亮起;当Number输入30时,IO模块的输出点30显示黄色,表明第30号灯已经亮起;当Number输入0时,IO模块的所有输出点未点亮,表明所有灯已经熄灭.

     

    四、数组间接寻址

    情景设定:

    在立体仓库系统中,有100个位置点,输入位置点编号,将该位置点作为堆垛机的目标位置,启动堆垛机后,其从当前位置移动到该目标位置.

    1. 新建一个数组PositionData,用于存在位置点,数据类型REAL[101];一个REAL变量TargPosition,目标位置点;一个DINT变量X,位置点编号.

    2. 数组PositionData,已经存储了位置数据.

     

    3. 第一种情形:输入位置编号X的值,直接获取该编号的位置数值.

     

    4. 第二种情形:输入位置编号X的值,获取该编号【数值*2】的位置数值.

     

    5. 程序在线,第一种情形:当X=30,TargPosition=30.0;第二种情形:当X=30,TargPosition=60.0,这样根据不同的需要完成了间接寻址.

     

    结束语:综上所述,AB PLC的间接寻址编程方式很简单,一个中括号--[]解决,另外在中括号中不仅可以直接输入数值,还支持算术、逻辑运算等功能,详细说明见下图:

    ----公众号abseMe:坚持原创  注重实用

  • 相关阅读:
    移动前端不得不了解的Meta标签
    利用a标签自动解析URL
    看完让你彻底搞懂Websocket原理
    (十六)rk3399 android系统上电/dev/i2c-1权限不够
    (一)Android jni打印到logcat
    (二十五)防编译后函数名通过ida查看到
    (二十四)Ubuntu16.04配置ADB调试环境
    (十五)连接网络adb,android模拟器打开
    (十四)Android NDK混淆
    (二十三)ARM平台NEON指令的编译和优化
  • 原文地址:https://www.cnblogs.com/abseme/p/10756784.html
Copyright © 2011-2022 走看看