一文告诉你PLC与计算机的本质区别在哪里!小白都能看懂
你真的了解PLC吗?你知道PLC与计算机的本质区别吗?我来简单解释一下吧。
第一、PLC可以工作在极其恶劣的电磁环境中
如果我们把计算机直接放到PLC工作的环境中,无需太久,这些计算机将死机甚至烧毁。
在ABB的早期工程中,我们就是把工业控制计算机直接放在变电站开关柜中,用来实施测控和数据处理。然而,用不了多久,电源故障和硬盘故障,还有输入输出接口的故障就接踵而来。直到我们用PLC替换下这些工控机,事情才算完。
这叫做抵御电磁骚扰EMC的能力,PLC可达三级甚至四级,而计算机能达到二级就算很不错了。
抵御EMC电磁骚扰,会有许多措施。例如隔离技术、接地技术等等都是。
第二、PLC的程序是一行行顺序执行的,不会陷入死循环
我们在编写计算机程序时,经常会遇见循环。如果一个循环子程序设计不恰当,或者条件引起了程序返回,有可能进入到死循环中,系统当然就死机了。
然而,PLC的程序是一条接一条顺序执行的,只有到了程序末尾才会回头。在程序中任何部位,若条件满足,可以实现跳转,但程序还是一条接一条顺序执行。
如此一来,PLC几乎不会死机。这也是PLC区别于普通计算机的根本特性。
因此,我们会发现PLC的可靠性极高,这是普通计算机完全不能比拟的。
第三、冗余配置
所谓冗余配置,就是在控制过程中存在主机和从机,它们依靠握手线关联,并共享资源和信息。
如果是计算机,当主机出现问题时,切换到从机的时间较长。但对于PLC,我们可以在机架上安排2套CPU作为主从控制,它们之间的转换仅几个时钟周期即可完成。
例如我们的控制对象是汽轮机,它的转子在高速旋转。我们不妨假定转子的转速就是工频周期,也即每分钟3000转。如果我们对汽轮机实施DCS监控,在现场层面我们只能选用带冗余配套的PLC,绝不可能使用计算机。一旦PLC的主机发生故障,它立刻就转入从机控制,对于受控对象来说几乎感觉不到,但计算机就未必可以实现类似功能了。
事实上,带冗余配套的PLC系统就属于规模较大的PLC了。
第四、PLC的程序特点
PLC的程序规模都不大,一般才几千字节,能上万字节就算很大的程序了。
PLC有许多输入输出接口,以及各种类型的变量,这些都需要专门设置地址,以便在程序中使用。
我们看下图,此图是用PLC国际通用标准IEC61131-3模块化编程语言写成的:
图1:某地铁配电控制系统PLC的输入接口参数定义程序和延迟判误程序
在图1中,我们在左侧看到了许多输入参量,它们的末尾都有_s的标识,这些就是开关量输入参数,它们不但有地址,还有名称。这是必须的,否则程序无法辨识和使用它们。
我们由图1的程序看到,这种编程方法比所谓的C语言方便得多。事实上,每一个功能块就相当于一段C语言。例如TON模块,它是延迟模块,如果用C语言,怎么也要若干语句行,但这里仅仅只是一个程序模块而已。何者更方便一看便知。
我们再看下图:
图2:PLC的16位字解析为单个开关量的程序段
图2中,程序开头的AND(与逻辑模块)实施程序转移。当条件满足时,AND启动子程序入口。
在图2中,我们看到了UNPACK16模块,它的任务是把一个16位的字解析为16个开关量,供下一步程序使用。
我们很容易想到,这个UNPACK16模块若用C语言来写,又会有何种形式?何者更方便?
我们看下图:
图3:数据交换的RS485接口定义和MODBUS通信管理
图3是PLC对系统中各种数据交换的定义、数据采集和管理。图中的一个个模块就是处理MODBUS通信协议数据的,同时还实现数据采集轮巡操作。
这些模块用C语言该如何写?是不是会麻烦很多?
我们看到,PLC程序的便捷性是C语言无法比拟的。
第五、PLC的工作范围
PLC的内存不大,尽管它的可靠性很高,但PLC不能用于较大的计算。我曾经设计过一个PLC程序,用于浮点数的乘法,麻烦得很,最后不得不使用模块配合查表来解决问题。
PLC的内部其实就是单片机,只不过整个PLC的单片机系统经过了严格的EMC测试,而操作系统和编程系统也进行了优化,方便我们这些编程者使用。
既然PLC只是一台单片机系统,可想而知它与计算机不在同一个技术水平上。计算机能够完成的工作,哪怕只是一篇WORD文档的写作,用PLC绝不可能完成。但PLC能够轻松实现的控制功能,用计算机虽然也能勉强实现,但效果极差,且可靠性极低,尺寸也巨大。
如此看来,PLC与计算机的工作特性不一样,适用的工作对象当然也不一样。
plc编程和plc有区别吗?
在工业自动化领域,PLC(Programmable Logic Controller,可编程逻辑控制器)编程和PLC并不是完全不同的概念,而是相互关联的。
PLC是一种专门用于工业控制系统的电子设备,它能够接收输入信号、进行逻辑处理,并根据预设的程序控制输出信号。PLC通常由中央处理器、内存、输入/输出模块和通信模块等组成。
PLC编程则是指对PLC进行程序设计的过程。PLC编程的目的是根据实际控制需求,编写逻辑程序来控制PLC的输入和输出信号,实现对工业过程或机械设备的自动控制。
在PLC编程过程中,通常会使用类似于梯形图的编程语言,如LD(Ladder Diagram)或者FBD(Function Block Diagram),以及与PLC型号相关的编程软件。通过编写逻辑程序,工程师可以定义输入信号的检测条件、输出信号的控制逻辑等,从而实现对工业过程的准确控制。
需要注意的是,PLC编程并不仅限于工业自动化领域,也可以应用在其他需要自动化控制的场景中,例如楼宇自动化、交通信号控制等。
总而言之,PLC编程是指对PLC进行程序设计的过程,是实现工业自动化控制的关键一环。通过对PLC进行编程,可以实现对工业过程或机械设备的自动化控制,并提高生产效率和工作安全性。
相关问答
plc编程和plc的区别?
plc编程和plc区别是定义不同。PLC:可编程逻辑控制器(ProgrammableLogicController),是性能稳定的控制器件,比如生活中常见的电梯,其控制器就是PLCPLC编.....
plc编程和软件编程的区别?
1.语言上有不同,PLC编程一般都是LAD语言(也就是梯形图),而软件语言是语法语言。2.PLC编程一般要了解设备的工艺流程,各种运行设备之间的逻辑关系,而软件语...
plc与其他控制器的主要区别?
1、控制方式不同。PLC可编程逻辑控制器,从名字上就知道,主要是逻辑控制,从设计、使用来说,关注的是多个信号之间的逻辑关系。这种方式,通常不适合精细的控制...
dcs编程与plc编程区别?
DCS编程一般都提供统一的数据库,换句话说,在DCS系统中一旦一个数据存在于数据库中,就可以在任何情况下引用,比如在组态软件中、在监控软件中、在趋势图里、在...
plc和汇编的区别?
PLC:可编程逻辑控制器,是性能稳定的控制器件,比如生活中常见的电梯,其控制器就是PLCPLC编程:顾名思义,PLC作为控制器,希望它实现什么样的功能就要给他输...
plc编程是不是也叫IT?
不是!PLC的编程,使用到以下几种语言,一是传统的梯形图编程,二是功能块编程,三是指令表编程,其中指令表的编程跟汇编语言有点类似。然后PLC编写完的程序,...
工业PLC控制与电脑程序控制有什么区别?
工业PLC和电脑控制有本质区别:PLC是可编程逻辑控制器有强大的可拓展性,除了主机外专门针对工业场合提供了除了各种模块:模拟量模块,开入模块,继电器模块,通...
PLC和单片机有什么区别?
PLC(可编程逻辑控制器)和单片机是工业控制领域常用的两种控制设备,它们有以下区别:1.功能:PLC主要用于工业自动化控制系统,能够处理大规模的控制任...PLC(...
plc和电气工程有什么区别?
区别很大,PLC是一个大型处理器,有信号输入和输出进行控制,完成我们想要用的动作!它是可以通过编程进行控制!相对于电器工程复杂一些,学会的人很简单!电气...
PLC跟工控板的区别是什么?
PLC和工控板的区别是:功能不同:工控机是一种通用计算机,其主要功能是进行数据处理、图像处理、控制算法等,广泛应用于复杂的工业自动化控制系统中。而PLC是...