登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:论PLC编程方式的正确性

点击:1611 回复:14

由于PLC采用的是循环扫描的工作方式,在一个扫描周期里从上到下,从左到右不断的循环执行用户程序。
这种方式就决定了:
1.PLC程序执行是单线程的,数据存储器的数据是可以被预知的(在上一个扫描周期里的所有数据都是不可变且唯一的)。
2.用户程序存在耗时任务的话会导致PLC扫描周期变长,PLC的实时性就会变差。
3.PLC里的指令是精心设计的,执行时间短,用户使用不会阻塞程序运行。
用户只能使用PLC厂家的提供的指令,基本不存在第三方的指令库,不同品牌的PLC间甚至同品牌不同系列PLC指令也不通用。
这里我认为是非官方的库会导致不可预测的后果,严重的话会导致PLC程序崩溃。为了自家PLC的稳定性,干脆做成封闭的指令系统。
基于3,我们是要在PLC厂家制订规则内应用他们规定的指令来构建我们自己的程序。
简单得说,就是别人给你用什么,我才能使用什么。
别人给你三个轴,我也只能最多用到三个轴。别人不给你内存空间,我也用不了面向对象方式来写程序。
或许我对PLC的理解还不够深刻,我认为模块化的编程方式是适合大部分PLC的编程方式。
把工艺切割再切割,分成一个个独立的模块。
每个模块只保留一个进口跟出口,减少各模块的耦合性。
人是要跟自己计较的,当翻看到自己以前写的程序,觉得它写得像是一坨屎的时候,我们就已经在进步了。
我个人认为PLC编程有三重境界:
1.觉得别人写的程序都是垃圾。
2.觉得自己以前写的程序都是垃圾。
3.自己开发一套PLC,让别人在自己制订的规则下来编写PLC程序。
不固步自封,不骄傲自满,能沉淀下来推动一个行业的发展,我觉得这才是一个工控人的价值所在。
写的有点乱,跟标题无关。
21-12-03 11:35
别人说我写的程序是一坨屎
我看了一下,写得还算可以
就算是屎,也是屎中之霸
21-12-03 13:38
只要不是自己写的,都会冒出一句话
21-12-03 15:44
看到有些PLC里有FPGA,不知道是用来干什么的,但是FPGA这玩意是可以实现多线程的,可以同时完成多个步骤,并且互不影响。
21-12-03 18:26
我搞不懂FPGA ,DSP,ARM这些东西在具体应用的区别,不过你说FPGA能同时完成多个步骤,那很可能是这样,现在很多plc都有两个cpu,一个负责逻辑控制,一个负责通信,像1500T那种带运动控制的,运动控制部分也肯定是单独的CPU。所以,FPGA可能就是完成通信,或者逻辑,或者运动控制
21-12-03 22:05

引用 wgefwgef 在 2021/12/3 22:05:50 发言【内容省略】

FPGA是可编程阵列芯片,大概跟PLC一个原理,编了程的FPGA就是专用的设备了。
DSP应该是数字信号处理芯片,应该在特定的情况下也可以做CPU来使用。
至于ARM芯片,最好解释不过了,就是安卓智能手机常用的CPU芯片架构,ARM芯片性能不及英特尔的PC电脑处理器,但是人家术业有专攻,干智能手机操作系统的活,比起电脑的CPU处理器玩的溜得一逼。
最后修改:2021/12/3 22:40:40
21-12-03 22:39
这个我知道,我想知道的是,这些不同的处理器的长处和短处。比如要开发一款plc,用DSP还是FPGA?开发一款运动控制器用什么?开发伺服又用什么?
21-12-04 10:29
不到考虑满足工艺要求,还考虑若干年后的维护-资源布局合理。
这次南方的小改,8个指示灯埋在120多个输出里,程序6000多,没有任何注释,找出来不是容易的事,好在程序算是标准化的-没有乱排资源/布局,用了一个小时确定它一定是控制指示灯,才引申出灯泡是坏的结论,其余的也就用了10分钟就找出来了。
21-12-04 12:13

引用 wgefwgef 在 2021/12/4 10:29:24 发言【内容省略】

FPGA是可编程门电路阵列,就是规模很大的门电路那种,简单的理解就是超级多IO点数的PLC,因为PLC本机(小型)的点数一般最大只有128点,而大中型PLC则是通过模块添加的方式扩展,所以感觉FPGA在PLC行业应用有限,FPGA应该是应用在处理规模很大的设备上,比如网络领域,比如交换机,基站等等。
最后修改:2021/12/4 14:18:03
21-12-04 14:16
印象十几年前的plc芯片,摩托罗拉的居多,也有厂家自己的,像西门子的plc,上面的芯片都说印的西门子。现在好像以ARM居多。照FPGA的原理来看,应该是些小型plc用来做逻辑处理的
21-12-04 15:41

上一页下一页

工控新闻

更多新闻资讯