PLC状态机编程-如何在STL中使用状态机
搞PLC编程多年,一直不知道状态机,学习matlab后,发现状态机编程异常方便,过去很多编程时的疑惑豁然开朗起来。今天跟大家分享一下如何在STL中使用状态机。
下面是用状态机描述的控制任务。
这个状态机较简单,那如何在STL中把它描述出来呢? 这里我们选择用JL指令。。。我就直接上代码了,一看便知。但JL程序只能用来表示单步状态,遇到并行状态就处理不了了。。下次我们用ST语言来描述更复杂的状态机。。
L #state // 把#state的值载入累加器
JL rng1 // 如果累加器的值,大于4,也就是说,跳转分支不包含下面的分支,就跳转到rng1,说明出错。。// 其实这条语句相当于 else 语句
JU st0 // 当累加器的值为0时, 走这个分支
JU st1 // 当累加器的值为1时, 走这个分支
JU st2 // 当累加器的值为2时, 走这个分支
JU st3 // 当累加器的值为3时, 走这个分支
JU st4 // 当累加器的值为4时, 走这个分支rng1: SET
S #error
BEUst0: L 1 // 这个 1 就是下个状态。
A #transition01 // 这个转移条件满足,状态将由state0,转移到 state1,下面的流程类似。。。
JC next
JU ovrst1: L 2
A #transition12
JC nextL 3
A #transition13
JC next
JU ovrst2: L 4
A #transition24
JC next
JU ovrst3: L 1
A #transition31
JC next
JU ovrst4: L 3
A #transition43
JC next
JU ovrnext: T #state
ovr: NOP 0
最新文章
- .NET 反射概述
- LATTICE 存储之FIFO的使用
- 【iOS】使用safari对webview进行调试
- cocos2d-x 内存管理浅析
- SqlServer将没有log文件的数据库文件附加到服务器中
- [转]Jquery easyui开启行编辑模式增删改操作
- python web开发遇到socket.error[errno 10013]
- 转 [教程] Unity3D中角色的动画脚本的编写(二)
- KeyTool
- USACO Money Systems Dp 01背包
- postman 第1节 安装启动(转)
- Mysql8.0.11win64重置root用户密码操作
- 【C++类与对象】实验四(二)
- 【转】linux环境内存分配原理 malloc info
- ActiveMQ专题2: 持久化
- 并发编程之 LinkedBolckingQueue 源码剖析
- 20155321 《网络攻防》 Exp3 免杀原理与实践
- Bootstrap碎语
- .NET Core 类库中读取appsettings.json
- poj 1833 排列 STL 全排列公式
热门文章
- 如何在eclipse查看jdk源码(src.zip)
- cookie 的 写入,读取, 删除
- Mac 下显示隐藏文件或文件夹
- Centos 7.0_64bit 下安装 Zabbix server 3.0服务器的安装
- axure 动态面板实现图片轮播效果(淘宝)
- Poj(1521),哈夫曼编码
- eclipse使用maven install 命令,生成war包中没有jsp/js/css的解决方法
- 【转】基于JavaMail的Java邮件发送
- 【转】Mac 程序员的十种武器
- python第一章练习题