AB的程序设计和西门子有点PLC不大一样,在AB中没有RS指令,所以主要用move指令来作步进。今天我们就用Move指令写个AB的程序,和西门子比,有哪些不同。

控制任务

很简单的一个状态机。初始步为Step0,根据不同的条件分别转移到不同的步。

具体程序

下面是tag变量表:

下面定义了一个关于步进的udt,StepNumber是当前的步号,根据StepNumber的步号来设置Step变量中对应的一个位,Reset设置StepNumber为0,

恢复到初始步。Re_Step是Step步中对应步的一个上升沿,Auto就是自动。

这里简单解释一下:

第0段中,如果site.Auto为0,也就是激活手动,那么程序就跳转到第5段,2,3,4段程序就不激活,即使转移条件满足步也不会改变。

此时如果按下Reset按钮,那么将回到Step0步。如果site.Auto为1,那么按Reset也不会起作用。此程序最关键的地方在第5段,第五段

第一行,就是复位程序。第二行是设置激活步的上升沿,仅存在一个扫描周期。第三行是先把所有步清零,在设置激活的步。

和我们前面写的程序比,这个程序有以下优点:

  • 每步激活前会清零所有步,然后再激活当前步,防止同时激活两个步。
  • 程序的先导条件改成触点,以前我们是用比较指令。简洁不少。
  • 自动和复位写的比前面优雅,同时为每步增加一个步上升沿。

和RS指令比,并行步写起来会麻烦不少,需要定义两个Grafcet变量。

下一篇我们用西门子TIA Portal来写这个程序,看看是否可以写的一样优秀。

AB PLC 编程之状态机的更多相关文章

  1. Studio 5000编程:如何判断AB PLC系统中的硬件设备是否在正常工作

    前言:PLC控制系统,主要由CPU.本机架I/O模块,分布式I/O模块,通信模块,或其他设备(如:伺服驱动器.交换机.第三方设备)等组成,如何判断这些设备是否工作正常?或是一旦出现故障,能在第一时间判 ...

  2. 如何使用AB PLC仿真软件Studio 5000 Logix Emulate

    前言:在学习PLC编程或程序开发过程中,如果身边没有实体PLC,又想验证程序逻辑,这时,仿真软件是不错的选择.针对AB PLC的仿真软件Studio 5000 Logix Emulate,有的同学说: ...

  3. AB PLC与西门子S7-1200以太网通信

    前言:在项目实际应用中,经常会遇到两个不同厂家的PLC需要互联进行通信交换数据,由于各自的通信协议有所不同,实现起来的难度较大,通常的做法是借助第三方的网关.本文介绍的是AB PLC与西门子S7-12 ...

  4. AB PLC分类

    AB PLC产品更新速度还是挺快的,以前很多产品都停产了,所以分类也跟着调整,就目前而言: 一.主要类型 AB PLC按类型,主要分为三大类: • 小型:MicroLogix控制器 • 中型:Comp ...

  5. AB PLC简述

    一.  PLC基础概念 PLC:可编程序控制器是一种数字运算的电子系统,专为在工业环境下应用而设计.采用可编程的存储器,用来在内部存储执行逻辑运算.顺序控制.定时.计算和算术运算等操作的指令,并通过数 ...

  6. PLC编程算法

    PLC编程算法(一) 01 开关量也称逻辑量,指仅有两个取值,0或1.ON或OFF.它是最常用的控制,对它进行控制是PLC的优势,也是PLC最基本的应用. 开关量控制的目的是,根据开关量的当前输入组合 ...

  7. 使用以太网通信方式刷新AB PLC固件

    本文详细介绍如何使用以太网通信方式刷新AB PLC固件 一.准备工作 1.  AB PLC控制器一台,本文以5069-L330ER为例,将其通电: 2.  5069-L330ER的IP已设置为172. ...

  8. AB PLC首次IP地址如何分配

    AB PLC首次IP地址如何分配,这里介绍的方法是针对CompactLogix和ControlLogix控制器 一.准备工作 AB PLC控制器一台,本文以5069-L330ER为例,将其通电: 笔记 ...

  9. C#读写 AB PLC 直接通过节点来读写数据 读写 AllenBradley PLC

    本文将使用一个Github开源的组件库技术来读写AB PLC,使用的是基于以太网的实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 官网:http:/ ...

随机推荐

  1. 离线安装wxpython

    离线安装wxpython 前言 由于工作环境,我的工作机是在离线环境下的,没法连接外网.但是自己又想学习一下wxpython,只好自己手动离线安装,本来以为很简单的,但是实际上...一言难尽. 基本环 ...

  2. February 25 2017 Week 8 Saturday

    Energy and persistence can conquer all things. 能量和毅力可以征服一切. I have the persistence, but it seems I a ...

  3. pip下载太慢解决方法

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow 用清华的镜像下载会快很多.

  4. ubuntu git svn 缺少 subversion-perl

    在命令行中输入以下命令:sudo apt-get install subversion-tools等待安装成功即可.

  5. note01-计算机网络

    1.基础概述 三网: 电信网络.有线电视网络.计算机网络(连通&共享) 终端->z本地ISP->x地区IXP->y主干ISP 通信方式: C/S .P2P(即是client也 ...

  6. bzoj5029 贴小广告

    Description 现在有一堵墙,墙上分为若干个单元.接下来会来n个人在墙上贴小广告.每次每个人选择墙上连续一段的单元贴上自己公司与众不同的小广告.因为小广告可能会出现被覆盖的情况,由于公司之间存 ...

  7. hdu 6243,6247

    题意:n只狗,n个笼子,每个笼子只能有一只,求不在自己笼子的狗的数量的期望. 分析:概率是相等的,可以直接用方案数代替,k 不在自己的笼子的方案数是 n!- (n-1)!,这样的k有n个,总的方案数n ...

  8. 课堂笔记--------JavaScript 的DOM操作

    1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Window对象操作 一.属性和方法: 属性(值或者子对象): op ...

  9. HDU 5025 Saving Tang Monk 【状态压缩BFS】

    任意门:http://acm.hdu.edu.cn/showproblem.php?pid=5025 Saving Tang Monk Time Limit: 2000/1000 MS (Java/O ...

  10. 2018.12.1 web项目中解决乱码问题的一个工具类

    <!-- 配置一个过滤器 编码格式的过滤器 --> <filter> <filter-name>encodeFilter</filter-name> & ...