标题: 自己动手做一个PLC [打印本页]

作者: 51黑电子论坛    时间: 2015-12-19 19:14
标题: 自己动手做一个PLC

我们自己来做一个PLC(Programmable Logic Controller,即可编程逻辑控制器)怎么样?就像很多计算机专业的同学都自己写过最简单的操作系统一样,作为工控领域的软件人,怎么能不自己动手做个简单的PLC呢?

PLC其实也是经历了很长时间的演变,最早的PLC虽然也是运行在单片机上,但是仅支持指定模块的编程,而下装组态其实是在传输各个点及各个点之间的连接信息,再由PLC根据这些信息在内部进行解析运行。而现在的PLC,大多数都可以被称之为软PLC(也称Soft PLC),即在PC端便已经编译成二进制文件,下载至PLC的过程是拷贝或者烧录程序的过程,这使得PC的高性能得到了更好的发挥,我们今天讨论的PLC便属于软PLC。

如果你想要找我要代码的话,虽然我自己已经尝试着做过一个简单基本的了,但是不得不说一个完整的PLC是相当的庞大和复杂,我自己的仅供我自己学习使用了,没有足够的注释和文档去帮助别人了解,故在这里我可以推荐一个做得还算不错的开源项目(当时我自己尝试的时候也借用了这个项目中不少的组件),这个开源项目叫做beremiz。

首先让我们来考虑一下,我自己要做的PLC需要些什么组件呢?

软件环境
按照工业控制领域常用的IEC61131-3标准来看,工业控制领域程序语言被分为了两大类五种语言,两大类是指图形化编程和代码编程,图形化编程中有Ladder(梯形图),FBD(Function Block Diagram,功能块图)和SFC(Sequential Function Chart,序列功能表),而代码编程有IL(Instruction List,指令集)和ST(Structured Text,结构化文本),具体内容我就不展开了,有需要自行百度百科或维基百科。
硬件环境

我的解决方案:使用虚拟机运行Linux模拟,以及使用RaspberryPi这类支持运行Linux和Python的环境。

每一个子项中的解决方案或者开源项目都还会有很多,在这里,我仅列举了我使用过和了解过的,相信你可以轻松的通过google搜索到更多的类似开源组件,所以在这里就不一一列举了。

以上简单的介绍了一下自己设计的PLC系统的基本组成部分,以及一些可选的开源项目和他们的特性。制作PLC并不是一件简单的事情,相信你也无法在看过本文后便轻松的制作出自己那个PLC,不过我希望可以通过本文让你了解到,做一个自己的PLC所需要的部件,以及其实它也并非高不可攀的。



作者: xml9527    时间: 2017-12-31 12:36
想法不错,PLC的核心其实还是单片机
作者: lsc_nj    时间: 2018-1-7 11:11
绝世好帖!
作者: qq282004953    时间: 2018-1-12 15:00
很厉害啊 ,哥哥
作者: xo37    时间: 2018-1-27 21:28
呃 楼主这个帖子,水分好大……
作者: 英尚微电子    时间: 2018-8-24 13:48
有需要灵动微单片机可联系我司
作者: hehe22    时间: 2018-9-10 10:21
厉害厉害, 还是这个论坛的大神比较多
作者: world_all    时间: 2019-8-5 13:56
感觉像广告贴?
作者: zyi    时间: 2019-8-13 09:44
不知道实施了没有?
作者: xiaoyueya007    时间: 2019-8-28 15:45
很厉害啊 绝对高手
作者: jovew    时间: 2020-9-22 08:14
这个没有什么实质内容!内容不能下载!

作者: finaltang    时间: 2021-1-24 17:28
现在几大品牌已经很成熟了

作者: 温柔的郎    时间: 2021-3-31 14:53
就这还有朋友说很厉害,绝对高手啊!!只能说一句,有这种认识的伙计,只对单片机有所了解,而对PLC一概不通。所以才会草草得出这样的结论来。
plc价格很贵,为什么在现在工控行业不被淘汰,不被单片机代替掉,究其原因,plc有几个特点
1 plc在全球乃至全宇宙已经有好几千万甚至好几亿的实际应用量了,各种bug已经被解决完了。
2 plc已经形成了模块化,标准化,从硬件,软件都已经达到了一定的水平了。
3 plc从购买,开发,运行,这个过程非常短,
4 plc系统运行安全,硬件稳定,开发迅速。
plc的这几个方面,是现在哪个单片机都没有达到的,也是plc很贵,但单片机无法代替的原因。
作者: tenme2    时间: 2021-8-8 21:36
温柔的郎 发表于 2021-3-31 14:53
就这还有朋友说很厉害,绝对高手啊!!只能说一句,有这种认识的伙计,只对单片机有所了解,而对PLC一概不 ...

你说的都是对的,PLC成本高,且单片机无法很好替代,但实际上我就是利用单片机的程序模准化,可视化,数据管理统一化,用C语言开发,其于KEIL做到了比PLC开发更简单。。。

作者: 1588848    时间: 2022-5-7 23:59
温柔的郎 发表于 2021-3-31 14:53
就这还有朋友说很厉害,绝对高手啊!!只能说一句,有这种认识的伙计,只对单片机有所了解,而对PLC一概不 ...

PLC的本质上就是单片机, 但是请注意它是已经成熟无BUG的单片机, 假如你自己用单片机做的PLC也能无BUG,那也就是PLC了
作者: 993387119    时间: 2022-5-8 08:53
PLC主要是为工业控制应用设计,抗干扰能力强。编程使用特定的汇编语言。这些和单片机不同
当然最主要的原因是单片机太便宜,要不上价。利润空间太小,都不愿做。
现在有些私人企业为降低成本,使用订制PLC。其实内部也还是单片机
作者: fj51hei    时间: 2022-5-8 09:12
1588848 发表于 2022-5-7 23:59
PLC的本质上就是单片机, 但是请注意它是已经成熟无BUG的单片机, 假如你自己用单片机做的PLC也能无BUG, ...

有什么单片机是没有BUG的,是电子产品就有缺陷  只是相对你的应用致命不致命而已。
作者: fj51hei    时间: 2022-5-8 09:19
993387119 发表于 2022-5-8 08:53
PLC主要是为工业控制应用设计,抗干扰能力强。编程使用特定的汇编语言。这些和单片机不同
当然最主要的原 ...

其实不管PLC怎么设计,内部还是单片机  或许等级不一样  还是单片机 实际可以说PLC只不过是用料要求高些的控制器而已,但PLC的优势不在于多可靠(当然可靠也是需要的) 而是模块化,一致性好,不需要重复造车  并应用门槛降低 应用时间缩短。
作者: myd0207    时间: 2022-8-26 15:58
有道理,51黑有你更精彩!!!
作者: 新昌小徐    时间: 2022-9-12 09:51
PLC本身就是单片机,不过性能当然比51单片机强多了,单里面的存储容量都是十K以上,单片机才几K。就西门子的S7-200 PLC,有很多的V存储器,可以放心的用,还有支持浮点数运算,单片机要用到浮点数运算,那得STC的32位单片机了。
低档的PLC里面刷了个小型的系统,这样能支持上传下载自控程序,还有PPI通讯,状态灯的显示。自控程序应该都是以语句表的形式加上一些数据块,系统块下载到PLC里去的。PLC系统就是依照语句表程序逐一解释执行。执行前采样,执行后输出。这样往复运行。
再发展,中大型PLC里就有了功能更加强大的系统,如果程序中只作了小部分的更改,你完全可以部分下载,不用大动干戈,把整个程序编译一遍,再下载。同时也支持PLC运行状态下的下载,不影响自控系统的运行。
PLC最大的优点是降低了自控设计人员素质要求,你学个单片机起码是大学水平,PLC初中水平就行了,能编个梯形图。要学好单片机不容易的,又要会数字电路,还要会模拟电路,还要会画电路板,还要会C语言,用KEIL编单片机程序,这能出山都是电子工程师的水平。可用PLC初中没毕业的电工都能编个梯形图。
同样是大学生,做一个自控项目,用PLC搭建,一星期解决,而用单片机起码一个月起。
我们厂有个老师傅,就用单片机做化工厂实验室的自控项目,如控制釜温、调节精馏回流比,还是控制管道压力稳定。萃取过程中对液体颜色的采集,控制蠕动泵流量大小,还有是模拟移动床色谱分离自控系统的开发。等等,还跟电脑进行通讯,用VB做上位机,用于显示控制并历史记录。
老师傅不是研究院的,做了二套模拟移动床系统,他的领导不让他干了,今年我用S7-200做了个模拟移动床的自控系统,建立在人家成熟的硬件和软件基础上,凭我这点水平也完成了,明显降低了人员素质的要求。
我们公司用到单片机的地方,都是安全级别低的场合,如果是化工车间里的自控系统,那是万万不能用。
一个产品,要用上还得各种各样的认证,通过设计验证,还是测验验证,让对方认可,所以PLC不可替代,不要说国产兼容的PLC,如果应用在普通车间,都是够用了,但你把它用在电梯还是矿井安全级别要求高的场所,那是万万不可。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1