基于模型的PLC程序设计四 上升沿和RS触发器处理
来源:互联网 发布:三星mirrorlink软件 编辑:程序博客网 时间:2024/06/06 04:12
控制描述
有时在状态机中需要处理信号的上升沿或下降沿,状态机自带事件触发,可以用来模拟沿触发,但生成的PLC程序很啰嗦,所以呢,我们自己在状态机中写个沿触发。下面是控制要求的描述:
直接上图,在传送带上每隔一定距离有一块灰色样品,需要每5样品抽取一个,按下Start按钮后,传送带移动,当CapSensor传感器,计数器计数,当计数到5时,传送带停止,汽缸Cylinder伸出,伸出到位信号PistonOut感应到,代表样品被推到Testing station位置,然后汽缸返回到PistonIn位,传送带继续前进,当抽取的样品是2块时,系统停止。当再次按Start按钮,重复上述过程。下面是具体的情况:
- 按下EStop急停按钮时,系统立刻停止,排除故障后,在按下Start按钮,从上次停止的工序处继续动作。
- 按下Stop按钮时,完成一次循环后停止,一次循环抽取2个样本。
- CapSensor需要用到上升沿。
状态机描述
简要说明此状态机:
HandleSignal和Work是并行状态,前面我们介绍的单不状态,也就是同一时刻只有一个状态是激活的。并行状态可以同时激活。
HandleSignal中du事件中,PositiveCapSensor控制上升沿触发的,避免用状态机自带的事件。
HandleSignal中的Stop状态,相当于PLC中的RS,用来锁存Stop按钮的信号,当按下Stop按钮后,需要一直等到相关条件满足后才能释放。
Work状态中,主要关注历史状态,看Process状态下面点的H字符。主要是处理按钮急停按钮后,再次按Start按钮,可以从上次退出的工序重新执行。上面两个状态中,新加了个[In(Work.Init)] 和 [PistonIn && NumSamples >= 2 && in(HandleSignal.Stop.Set)], 其中的In(Work.Init)代表当Work.Init状态激活后,那么[In(Work.Init)]条件满足,Stop信号复位,In(HandleSignal.Stop.Set)同样,当处于HandleSignal.Stop.Set时,说明Stop按钮在置位状态,那么条件满足。
根据状态机自动生成PLC程序
此次的状态机较复杂,我们选择自动生成PLC程序,程序较长,作为演示,我们只看调用。
此次的状态机较复杂,我们选择自动生成程序,上面是自动生成的程序。打开博途,从1处选择〔添加新的外部文件〕,右键程序名,选择〔从源生成块〕,然后会在2处出现Chart〔FB1〕,把它拖到OB1中。这里我们说说ssMethodType管脚,这个管脚是Int类型,但只能给0和1,0时,是给程序初始化,当1时,相当于自动开始,所以可以用它来作自动手动切换,当切换到自动时,赋值1,当切换到手动是,赋值0。Matlab中自动程序的过程,我们下次再见。
- 基于模型的PLC程序设计四 上升沿和RS触发器处理
- 基于模型的PLC程序设计一 状态机介绍
- 基于模型的PLC程序设计二 启保停电路
- 基于模型的PLC程序设计三 层次状态机
- 基于手机和PLC的智能家居系统
- 基本rs触发器真值表和状态图
- 基于PLC的变频调速
- 用VERILOG实现门级D触发器和RS触发器
- 西门子PLC和松下PLC的区别
- 四路抢答器的PLC程序设计
- 基于Delphi的数字信号处理程序设计
- 一种新型的EC编码,LRC码,基于RS码的改进,特点介于RS和副本之间。
- PLC实验四节传送带的控制
- 基于PLC的三层电梯控制系统设计
- 基于监听接口的事件处理模型
- 基于RGBA模型下的图像处理
- 数字图像处理 基于模型的编码
- 单片机和plc的区别
- MySQL锁机制学习
- 1.4-Java-选择结构语句
- Selenium使用Xpath定位元素及实例(1)
- Matlab与C++混合编程(依赖OpenCV)
- 面向对象特性之封装
- 基于模型的PLC程序设计四 上升沿和RS触发器处理
- 计算机组成原理个人笔记(二)
- 典型数据库架构设计与实践(58沈剑)
- 宏__DATA__日期以YYYYMMDD格式显示
- googlenet笔记(Going Deeper with Convolutions)
- mysql无法执行某些语句,并自动断开服务连接问题
- android点击了桌面图标后,启动过程
- 我的NDK学习开发笔记(五)
- Kotlin 从学习到 Android 第九章 可见性修饰符