09 2017 档案

摘要:AB的程序设计和西门子有点PLC不大一样,在AB中没有RS指令,所以主要用move指令来作步进。今天我们就用Move指令写个AB的程序,和西门子比,有哪些不同。 控制任务 很简单的一个状态机。初始步为Step0,根据不同的条件分别转移到不同的步。 具体程序 下面是tag变量表: 下面定义了一个关于步 阅读全文
posted @ 2017-09-27 13:33 丁丁学习笔记 阅读(2934) 评论(0) 推荐(1)
摘要:前面我们写了《PLC状态机编程第二篇-负载均衡》这篇博客,用的RS指令来表达各步状态, 今天呢我们用MOVE指令来表示各状态, 最后看看两种办法的优劣。任务还是描述的那个状态机。 程序比较简单, 直接上程序了。 这里声明了一个currentStep变量来存储当前状态, 用IDLE, PUMP_A等表 阅读全文
posted @ 2017-09-17 19:23 丁丁学习笔记 阅读(3246) 评论(0) 推荐(1)
摘要:温度PID控制时, 有多个温度测量点, 但最终只有一个温度作为反馈值参与PID控制, 我们有时会采用平均值法, 计算所有温度的平均值来作为PID的反馈值. 但在某一路温度探头断线的情况下, 温度值为零, 这时平均值就会小很多. 像这种情况下中值法比较有效. 原理如下: 对于一组温度, 模拟量转换为数 阅读全文
posted @ 2017-09-15 19:18 丁丁学习笔记 阅读(4587) 评论(0) 推荐(0)
摘要:经多位西门子工业论坛的大神建议, 程序最终如下: 下面是自定义类型: 简单理一下思路, 这次的程序和上次比, 改动较大. 新建了一个自定义数据类型, analogToDigit。其中,channelNo 是模拟量通道,analog是读取通道后存放的值,这个值是程序生成的,用户无需填写。 lowerE 阅读全文
posted @ 2017-09-11 20:34 丁丁学习笔记 阅读(6328) 评论(0) 推荐(0)
摘要:重构这个词是PC编程中的术语,意思是当写第一遍程序时,因对程序逻辑不甚明白,程序逻辑有点乱,写完后重新理了一下思路,对程序的结构、变量命名等以更好的方式重新了一遍,这个过程叫重构。第二遍的程序逻辑清晰易懂。 和西门子论坛的几位版主讨论后,他们提供了很好的建议,我重构了这个模拟量程序,比以前更简单,更 阅读全文
posted @ 2017-09-04 12:20 丁丁学习笔记 阅读(3314) 评论(0) 推荐(0)
摘要:博途的间接寻址和S7-300/400大不一样。博途中的间接寻址主要用peek/poke指令,peek/poke指令不能用于优化的数据块。优化数据块可以用数组类寻址。这次的控制任务是模拟类的批量处理,s7-300/400模拟量批量处理很繁琐。 控制任务 把数量不定的模拟量转换成工程量,然后保存到指定的 阅读全文
posted @ 2017-09-01 10:15 丁丁学习笔记 阅读(9938) 评论(0) 推荐(0)