还记得第一篇博客中,我们在状态机中手写上升沿来处理有别于传统的一键启停程序,那个手写的上升沿就是优化手段。stateflow状态机是带事件的,事件本身支持上升沿和下降沿等事件,在这里,如果我们选择用事件来作沿触发,会导致程序不可读,很复杂,所以我们手写上升沿,保证了程序的简洁。请看 ...
这篇比较简单了,我就直接上图了,不多废话。 一 选择求解器,一定要选择定步长的。 二 右击Chart状态机,出现图上菜单 三 左边红色的勾选择,选择右侧的菜单,然后点击Generate Code按钮,这个按钮被菜单覆盖了。 四 会在红色目录里出现optimize.scl文件 五 双击TIA Portal中的 添加新的外部文件 ,请看图,出现对话框,选择上方的那个文件 六 右击刚添加的optimiz ...
2017-07-12 10:08 0 2565 推荐指数:
还记得第一篇博客中,我们在状态机中手写上升沿来处理有别于传统的一键启停程序,那个手写的上升沿就是优化手段。stateflow状态机是带事件的,事件本身支持上升沿和下降沿等事件,在这里,如果我们选择用事件来作沿触发,会导致程序不可读,很复杂,所以我们手写上升沿,保证了程序的简洁。请看 ...
AB的程序设计和西门子有点PLC不大一样,在AB中没有RS指令,所以主要用move指令来作步进。今天我们就用Move指令写个AB的程序,和西门子比,有哪些不同。 控制任务 很简单的一个状态机。初始步为Step0,根据不同的条件分别转移到不同的步。 具体程序 下面是tag变量表 ...
控制任务 大家好,今天我们用状态机描述稍复杂的实例,同时用LAD和ST语言写状态机.我们的控制任务如下: 真空泵A和真空泵B, 按下启动按钮后, 泵A启动, 3秒后泵B也启动, 此时泵A仍运行, 当容器真空达到后, 泵B停止, 泵A继续运行, 维持容器真空. 当按下停止按钮后, 泵A停止 ...
状态机的一般概念 过去我在学习PLC编程时,看的大部分书仅仅停留在软件的操作上,没有真正讲述如何组织程序,这里我们讲一个通用的描述控制算法的方法,就是状态机,和SFC很类似,其实SFC也是源于状态机啦。状态机是UML中的概念,在嵌入式开发中应用很广,但在PLC编程中基本没有流行。下面是一张 ...
搞PLC编程多年,一直不知道状态机,学习matlab后,发现状态机编程异常方便,过去很多编程时的疑惑豁然开朗起来。今天跟大家分享一下如何在STL中使用状态机。 下面是用状态机描述的控制任务。 这个状态机较简单,那如何在STL中把它描述出来呢? 这里我们选择用JL指令。。。我就直接 ...
今天我们接着上次的控制任务,加入历史状态,这个任务会比较复杂,象这样的任务我们倾向于自动生成PLC程序,自己写容易出错。但为了演示,我们可以尝试一下。言归正传,下面是我们的控制任务。 控制任务 这次的任务是基于上次的,增加的一个急停按钮,当按下EMStop急停按钮后,设备马上停止 ...
我们今天简要介绍RS指令在状态机中怎么处理的。有些设备按下停止按钮后,没有马上停止,而是到原点后才停止,那么这种情况在状态机中如何表示呢?我们以案例说明之,下面是我们的控制描述。 控制描述 小车从左位开始,从左向右行使,到达右位后停5秒,然后从右向左运行,到达左位后停3s,继续向右运行 ...
自动状态机 图灵机大概就是一个“自动机”,就是说代码分好几种状态,每种状态做不同的事。 举个简单的例子吧 输入一个字符串,输入的只有两种字符,一种是字母,一种是空格。现在求一共有几个单词。注意,有可能有多个空格连在一起,开头和结尾都有可能有空格。 那么这是一道简单的有穷自动机,运行时分两种 ...