今天呢我们再次介绍两种方法,一种是移位步进法,另一种是脉冲步进法。 下面是移位步进法: 下一种是脉冲步进法: 我们比较以上两种方法,发现脉冲步进比较复杂,指令较多。。 另外这两种步进有一定缺陷,就是不能表示并行步,也不能表示跳转,只能是顺序 ...
前面我们写了 PLC状态机编程第二篇 负载均衡 这篇博客,用的RS指令来表达各步状态, 今天呢我们用MOVE指令来表示各状态, 最后看看两种办法的优劣。任务还是描述的那个状态机。 程序比较简单, 直接上程序了。 这里声明了一个currentStep变量来存储当前状态, 用IDLE, PUMP A等表示个状态常量。 这里我们看到, 和上次的程序略有不同, 加了auto,利用auto的上升沿和下降沿初 ...
2017-09-17 19:23 0 1351 推荐指数:
今天呢我们再次介绍两种方法,一种是移位步进法,另一种是脉冲步进法。 下面是移位步进法: 下一种是脉冲步进法: 我们比较以上两种方法,发现脉冲步进比较复杂,指令较多。。 另外这两种步进有一定缺陷,就是不能表示并行步,也不能表示跳转,只能是顺序 ...
我们知道在高级语言中普遍使用泛型,那么在PLC中是否可以使用泛型呢?可以,但罗嗦。。 控制要求 求数组中的最大值,数值类型包括Real和Int,我们这里选择两种类型,控制代码量。 控制程序 一 ...
温度PID控制时, 有多个温度测量点, 但最终只有一个温度作为反馈值参与PID控制, 我们有时会采用平均值法, 计算所有温度的平均值来作为PID的反馈值. 但在某一路温度探头断线的情况下, 温度值为零, 这时平均值就会小很多. 像这种情况下中值法比较有效. 原理如下: 对于一组温度, 模拟量 ...
此次我们的任务是设计一个分捡器,控制难度逐渐加深,会用上我们以前的所有技术。任务参考《IEC 61131-3编程语言及应用基础》第281页,但我们使用了更好的设计方案。控制任务摘抄如下: 为分选不同大小的工件,可采用分选器。它从大的工件中选出小工件,将大的工件送到 ...
这次我们编写一个变频器控制任务。我们选择标准报文2PZD。 这里我们简要讲一下状态字中的第二个字,返回的是频率的百分比,-100% 到 +100% 相对应的范围为-16384 到 ...
博途的间接寻址和S7-300/400大不一样。博途中的间接寻址主要用peek/poke指令,peek/poke指令不能用于优化的数据块。优化数据块可以用数组类寻址。这次的控制任务是模拟类的批量处理,s7-300/400模拟量批量处理很繁琐。 控制任务 把数量不定的模拟量转换成工程量 ...
经多位西门子工业论坛的大神建议, 程序最终如下: 下面是自定义类型: 简单理一下思路, 这次的程序和上次比, 改动较大. 新建了一个自定义数据类型, analogToDigit。其中,channelNo 是模拟量通道 ...
重构这个词是PC编程中的术语,意思是当写第一遍程序时,因对程序逻辑不甚明白,程序逻辑有点乱,写完后重新理了一下思路,对程序的结构、变量命名等以更好的方式重新了一遍,这个过程叫重构。第二遍的程序逻辑清晰易懂。 和西门子论坛的几位版主讨论后,他们提供了很好的建议,我重构了这个模拟量程序,比以前更简单 ...