Plc之状态图
start
五月份误入非标行业,蹲到现场从0到1复原了一个程序,虽然之前接触过倍福、西门子,kingscada,但没有真正自己负责做过东西。why,因为涉及到电气元器件选型。
断路器的选择依据是什么?
一般回答,选择额定电流为总电流8-10倍,断路器可在2s内脱扣。
我的思路是先分析电网,然后计算电网的短路电流,在根据短路电流选择断路器。
短路电流是感抗产生的,一般变压器端出现的感抗最高,针对不同条件的电网有不同的计算公式;回到我接触的设备中,感抗就是在一个闭合回路中,如果出现短路,闭合回路的磁场会产生变化,进而导致短路电流的出现,具体计算公式没找到。
根据上面的图,感抗产生的短路电流应该有额定电流的n倍,这样就能解释通为什么选择8-10倍额定电流作为断路器参数。
电气元器件涉及的知识太多了,抓不住重点,只能慢慢积累。
plc
plc的设计方法,是我在一本书上看到的,当时困扰我的是变量的依赖关系,看其他人的程序,有些输出前面加了一堆又臭又长的条件,同类型条件分布在程序的各处,毫无规律可言。翻了这本书,才发现可以用状态图(sfc)把程序逻辑捋出来,再用M变量表示中间状态,再用一些常规的方法做变量的开闭,就能把程序捋的很清楚。
那么plc编程的重点就是,状态图、M变量、状态开闭,针对这些东西构建工具
状态图
试过很多plc软件提供的sfc工具,都很垃圾,最后我想到了dot语言,专门用来画流程图的,然后基于此搜索,找到了一个叫plantuml的程序,可以根据xx.uml自动生成png图,具体配置如下: 既然是编程语言,就能用上次提到的aider辅助生成状态图代码了,如下: 如此就解决了状态图的问题
M变量
这个就不赘述,文末我放那本书的链接,里面有详细的说明
状态开闭
st语言 非标程序框架
书里提到了五种方法,上面那个是写起来最简单的
end
这样基本解决plc程序编写问题,剩下选型,我打算做一个选型软件,然后一点点补充,end!