中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

PLC论坛

抖音 德嘉 泓格论坛 FLIR红外热像论坛 艾睿光电产品体验活动
工控论坛首页 PLC论坛 → 浏览主题: 论PLC编程方式的正确性
发表新帖 回复该主题
回帖:14个,阅读:650 [上一页] [1] [2] [下一页]
* 帖子主题:

论PLC编程方式的正确性

分享到
537
chtsheng
文章数:9
年度积分:62
历史总积分:537
注册时间:2017/8/30
发站内信
发表于:2021/12/3 11:35:43
#0楼
由于PLC采用的是循环扫描的工作方式,在一个扫描周期里从上到下,从左到右不断的循环执行用户程序。

这种方式就决定了:
1.PLC程序执行是单线程的,数据存储器的数据是可以被预知的(在上一个扫描周期里的所有数据都是不可变且唯一的)。
2.用户程序存在耗时任务的话会导致PLC扫描周期变长,PLC的实时性就会变差。
3.PLC里的指令是精心设计的,执行时间短,用户使用不会阻塞程序运行。
用户只能使用PLC厂家的提供的指令,基本不存在第三方的指令库,不同品牌的PLC间甚至同品牌不同系列PLC指令也不通用。
这里我认为是非官方的库会导致不可预测的后果,严重的话会导致PLC程序崩溃。为了自家PLC的稳定性,干脆做成封闭的指令系统。

基于3,我们是要在PLC厂家制订规则内应用他们规定的指令来构建我们自己的程序。
简单得说,就是别人给你用什么,我才能使用什么。
别人给你三个轴,我也只能最多用到三个轴。别人不给你内存空间,我也用不了面向对象方式来写程序。

或许我对PLC的理解还不够深刻,我认为模块化的编程方式是适合大部分PLC的编程方式。
把工艺切割再切割,分成一个个独立的模块。
每个模块只保留一个进口跟出口,减少各模块的耦合性。

人是要跟自己计较的,当翻看到自己以前写的程序,觉得它写得像是一坨屎的时候,我们就已经在进步了。

我个人认为PLC编程有三重境界:
1.觉得别人写的程序都是垃圾。
2.觉得自己以前写的程序都是垃圾。
3.自己开发一套PLC,让别人在自己制订的规则下来编写PLC程序。

不固步自封,不骄傲自满,能沉淀下来推动一个行业的发展,我觉得这才是一个工控人的价值所在。

写的有点乱,跟标题无关。
10089
蛇会大学
文章数:3911
年度积分:131
历史总积分:10089
注册时间:2015/12/14
发站内信
2018论坛分享达人
发表于:2021/12/3 13:38:39
#1楼
别人说我写的程序是一坨屎
我看了一下,写得还算可以
就算是屎,也是屎中之霸
敏问找算丁亏楼累
敏问找算哭哲累嘿
敏问够算恐哈做累揍忍没催妹
比漏累伤醒更八音舍黑
我晕能以身问晕陪笨累
1491
余生少年
文章数:639
年度积分:76
历史总积分:1491
注册时间:2019/8/19
发站内信
发表于:2021/12/3 15:44:11
#2楼
回复 #1楼 蛇会大学
只要不是自己写的,都会冒出一句话
116
微鑫科技
文章数:686
年度积分:116
历史总积分:116
注册时间:2019/11/26
发站内信
发表于:2021/12/3 18:26:45
#3楼
看到有些PLC里有FPGA,不知道是用来干什么的,但是FPGA这玩意是可以实现多线程的,可以同时完成多个步骤,并且互不影响。
1696
wgefwgef
文章数:188
年度积分:82
历史总积分:1696
注册时间:2008/5/14
发站内信
发表于:2021/12/3 22:05:50
#4楼
回复 #3楼 微鑫科技
我搞不懂FPGA ,DSP,ARM这些东西在具体应用的区别,不过你说FPGA能同时完成多个步骤,那很可能是这样,现在很多plc都有两个cpu,一个负责逻辑控制,一个负责通信,像1500T那种带运动控制的,运动控制部分也肯定是单独的CPU。所以,FPGA可能就是完成通信,或者逻辑,或者运动控制
26827
cfg168
文章数:16738
年度积分:195
历史总积分:26827
注册时间:2012/11/28
发站内信
2018论坛解答高手
2015论坛贡献奖
发表于:2021/12/3 22:39:22
#5楼
以下是引用wgefwgef2021/12/3 22:05:50的发言:
我搞不懂FPGA ,DSP,ARM这些东西在具体应用的区别,不过你说FPGA能同时完成多个步骤,那很可能是这样,现在很多plc都有两个cpu,一个负责逻辑控制,一个负责通信,像1500T那种带运动控制的,运动控制部分也肯定是单独的CPU。所以,FPGA可能就是完成通信,或者逻辑,或者运动控制
FPGA是可编程阵列芯片,大概跟PLC一个原理,编了程的FPGA就是专用的设备了。
DSP应该是数字信号处理芯片,应该在特定的情况下也可以做CPU来使用。
至于ARM芯片,最好解释不过了,就是安卓智能手机常用的CPU芯片架构,ARM芯片性能不及英特尔的PC电脑处理器,但是人家术业有专攻,干智能手机操作系统的活,比起电脑的CPU处理器玩的溜得一逼。
[此贴子已经被作者于2021/12/3 22:40:40编辑过]
1696
wgefwgef
文章数:188
年度积分:82
历史总积分:1696
注册时间:2008/5/14
发站内信
发表于:2021/12/4 10:29:24
#6楼
回复 #5楼 cfg168
这个我知道,我想知道的是,这些不同的处理器的长处和短处。比如要开发一款plc,用DSP还是FPGA?开发一款运动控制器用什么?开发伺服又用什么?
29474
知道一点
文章数:17978
年度积分:172
历史总积分:29474
注册时间:2004/6/12
发站内信
工控人谈电商
2013国庆活动
2011国庆活动
发表于:2021/12/4 12:13:29
#7楼
不到考虑满足工艺要求,还考虑若干年后的维护-资源布局合理。
这次南方的小改,8个指示灯埋在120多个输出里,程序6000多,没有任何注释,找出来不是容易的事,好在程序算是标准化的-没有乱排资源/布局,用了一个小时确定它一定是控制指示灯,才引申出灯泡是坏的结论,其余的也就用了10分钟就找出来了。
快乐 幸福 自由 比什么都重要
26827
cfg168
文章数:16738
年度积分:195
历史总积分:26827
注册时间:2012/11/28
发站内信
2018论坛解答高手
2015论坛贡献奖
发表于:2021/12/4 14:16:34
#8楼
以下是引用wgefwgef2021/12/4 10:29:24的发言:
这个我知道,我想知道的是,这些不同的处理器的长处和短处。比如要开发一款plc,用DSP还是FPGA?开发一款运动控制器用什么?开发伺服又用什么?
FPGA是可编程门电路阵列,就是规模很大的门电路那种,简单的理解就是超级多IO点数的PLC,因为PLC本机(小型)的点数一般最大只有128点,而大中型PLC则是通过模块添加的方式扩展,所以感觉FPGA在PLC行业应用有限,FPGA应该是应用在处理规模很大的设备上,比如网络领域,比如交换机,基站等等。
[此贴子已经被作者于2021/12/4 14:18:03编辑过]
1696
wgefwgef
文章数:188
年度积分:82
历史总积分:1696
注册时间:2008/5/14
发站内信
发表于:2021/12/4 15:41:26
#9楼
回复 #8楼 cfg168
印象十几年前的plc芯片,摩托罗拉的居多,也有厂家自己的,像西门子的plc,上面的芯片都说印的西门子。现在好像以ARM居多。照FPGA的原理来看,应该是些小型plc用来做逻辑处理的
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2022 Gkong.com, All Rights Reserved

93.6