SMART PLC堆栈LIFO(后进先出)算法实现(功能块)
简单的看下堆栈功能块,我们这里主要讲解自定义算法,系统自带的堆栈LIFO指令并不直观,大家使用起来也不方便,所以这里展示的是自定义FC实现堆栈算法。后进先出(有点像乘坐电梯,出电梯的时候,最后进来的反而是最先出去因为他更靠近出口。)
入栈出栈元素可以是字符串,字节、单字、双字、浮点型,根据项目实际情况修改指针偏移值就好,堆栈操作有些注意事项,堆栈为空的时候不能进行出栈操作。堆栈满的时候不能进行入栈操作。200SMART PLC由于没有数组类型变量,所以我们需要借助指针完成堆栈元素寻址。三菱FX3系列可以借助变址寻址,算法本质是一样的。栈是限定仅在表尾进行插入或删除操作的线性表,表尾端称为栈顶,表头端成为栈底,不含有任何元素的栈称为空栈,栈一般采用数组作为存储结构,200SMART没有数组类型,只能采用指针寻址。
1、堆栈(后进先出)功能框图2、后进先出 栈功能块输入输出引脚定义:
1、push入栈操作
2、pop出栈操作
3、reset复位
4、stackAddress 栈首地址指针
5、stackSize 栈大小
6、item 入栈出栈元素
7、stackPoint 栈指针
8、status栈状态 栈满=8001、栈空=8002 、正常=0<
SMART PLC堆栈LIFO(后进先出)算法实现(功能块)相关推荐
- 三菱PLC增量式PID算法FB(带死区设置和外部复位控制)
关于PID废话不多说,各种位置式增量式资料和公式网上也非常多.PID从提出和发展目前已经一个世纪过去了,还在不断研究创新,足见它的重要性.本篇博文给出三菱FX系列增量型PID的源代码.(三菱系列的优化 ...
- SMART PLC斜坡函数功能块(梯形图代码)
斜坡函数Ramp的具体应用可以参看下面的文章链接: PID优化系列之给定值斜坡函数(PLC代码+Simulink仿真测试)_RXXW_Dor的博客-CSDN博客很多变频器里的工艺PID,都有" ...
- S7-200 SMART PLC模拟量阀门控制功能块(FB)
200 SMART PLC数字量阀门控制功能块(FB),可以参看下面这篇专栏: S7-200 SMART PLC 阀门控制功能块(FB)汇总_RXXW_Dor的博客-CSDN博客S7-200 SMAR ...
- S7-200 SMART PLC 子程序功能块(阀门控制)
由于S7-200 SMART PLC的子程序种种功能容量限制,有时想实现多次调用同一个子程序会有很多编程应用限制问题.这篇博客给出一些写法,以供大家参考.程序具体的使用场景大家可以自行分析,阀门控制可 ...
- modbus通讯失败_技成周报38期 | SMART PLC Modbus通讯、组态、模拟量等常见问题
西门子S7-200SMART PLC 问:ET200是什么? 答:SIMATIC (西门子) ET200 是分布式远程I/O系统,支持PN通讯 问:西门子S7-200SMART PLC能不能控制两个步 ...
- SMART PLC和V90伺服实现外部脉冲位置控制
SMART PLC脉冲轴控功能块详细介绍请参看下面文章链接: S7-200 SMART PLC自定义脉冲轴控功能块AxisControl_FB(梯形图)_RXXW_Dor的博客-CSDN博客博途120 ...
- 增益自适应PI控制器+死区过滤器(Smart PLC向导PID编程应用)
增益自适应和死区过滤器如果不和S7-200 SMART PLC PID向导组合实现,大家可以自行编写优化的PID指令.算法原理其实非常简单,具体实现过程大家可以参看下面的文章链接: 三菱增量式PID+ ...
- SMART PLC运动超驰功能编程应用(含V2.7版本固件下载)
什么是运动控制超驰功能,运动超驰功能如何开启,请参看下面的导图部分: 下面一步步教大家如何更新CPU固件版本. S7-200 SMART PLC自定义脉冲控制功能块相关详细组态设置,请参看下面的博客. ...
- 西门子SMART PLC增量式PID(完整梯形图FC)
西门子PLC自带的PID指令是基于位置式的PID,位置式PID的算法公式和详细介绍,大家可以参看<PID专栏>的其它文章,这里不再赘述.本篇博文直接给出代码部分的讲解,不设计太多公式和理论 ...
- 第五章:(1)S7-200 SMART PLC的编程语言及编程元件
编程语言 1.梯形图(LAD) 2.功能块图(FBD) 3.语句表(STL) S7-200 SMART PLC的编程元件 常用分类 中文 英文 注释(例) 输入继电器 I I0.0 输出继电器 Q Q ...
最新文章
- Linux 网卡驱动学习(一)(分析一个虚拟硬件的网络驱动样例)
- Netbeans ClassFormatException: Invalid byte tag in
- 【栈和队列】数据结构02-(java实现)
- 59. 螺旋矩阵 II(模拟)
- jQuery构建路由
- python web界面整合 tail_如何使用Python Tornado在HTTP上实现“ tail”?
- 数据结构之数组模拟栈
- python脚本批量登录crt_Python实现批量新建SecureCRT Session
- LINUX论坛快速搭建(小白版)
- 【American English】美语的连读规则
- android 拨打电话 实例,Android实战教程第三篇之简单实现拨打电话功能
- WebGL入门(三十五)-三维物体雾化效果,立方体雾化效果
- python-pdf的去水印操作
- 移动互联网应用的十项设计原则和小提示
- c语言2逻辑与2是1吗,2.C语言逻辑运算符和表达式
- windows达梦数据库卸载不完全,重新装达梦数据库现有服务失败/该实例名已被其他实例占用
- 【目标检测-YOLO】YOLOv5-v6.0-网络架构详解(第二篇)
- [2021年最新]国产时序性数据TDenige入门
- Spring boot 配置健康检查
- f1c100s spi flash分区