你真的了解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与C语言的本质区别,一文告诉你PLC与计算机的本质区别在哪里!相关推荐

  1. c语言程序和plc程序的区别,一文告诉你PLC与计算机的本质区别在哪里!小白都能看懂!...

    原标题:一文告诉你PLC与计算机的本质区别在哪里!小白都能看懂! 你真的了解PLC吗?你知道PLC与计算机的本质区别吗?我来简单解释一下吧. 1.PLC可以工作在极其恶劣的电磁环境中 如果我们把计算机 ...

  2. 一文告诉你 Java RMI 和 RPC 的区别

    转载自  一文告诉你 Java RMI 和 RPC 的区别 RPC 远程过程调用 RPC(Remote Procedure Call Protocol)远程过程调用协议,通过网络从远程计算机上请求调用 ...

  3. 一文告诉你 Java RMI 和 RPC 的区别!

    RPC 远程过程调用 RPC(Remote Procedure Call Protocol)远程过程调用协议,通过网络从远程计算机上请求调用某种服务. 一次RPC调用的过程大概有10步: 1.执行客户 ...

  4. 一文告诉你雾计算与云计算的区别及对物联网的价值!

    作者 | Victoria Puzhevich 翻译 | 风车云马,责编 | 晋兆雨 出品 | CSDN云计算 头图 | 付费下载于视觉中国 雾计算是一种分布式计算结构.将数据和应用程序等资源放置在数 ...

  5. 一文告诉你Adam、AdamW、Amsgrad区别和联系 重点

    **序言:**Adam自2014年出现之后,一直是受人追捧的参数训练神器,但最近越来越多的文章指出:Adam存在很多问题,效果甚至没有简单的SGD + Momentum好.因此,出现了很多改进的版本, ...

  6. BZOJ 5384 有趣的字符串题(区间本质不同回文串数量)

    题意: 多次求区间本质不同回文串数量. 我们知道区间本质不同子串个数是SAM+LCT+BIT. 所以区间本质不同回文串个数就是PAM+SegmentTree+BIT. 为什么可以搏一搏LCT变线段树呢 ...

  7. 西门子哪款plc支持c语言,西门子PLC三种语言的区别

    原标题:西门子PLC三种语言的区别 PLC是机器人重要的一部分,下面小编就为大家介绍一些3种语言的区别,帮助大家学习. 一.梯形图 梯形图作为简单易读通俗易懂基本属于新人学习PLC的首选,而且调试的时 ...

  8. PLC中ST语言的几种程序流程控制语句

    PLC中ST语言的几种程序流程控制语句 ST语言是IEC61131-3中规定的5中标准语言之一,目前常用见品牌的PLC都支持这种语言(施耐德,AB可以直接选择创建该类型的程序段或者功能块,西门子的略微 ...

  9. plc变频器c语言,常州plc变频器培训(PLC的实用性)

    常州plc变频器培训,生活的船不能没有理想的帆,来常州plc培训为你找回理想的帆船,详细内容为以下PLC发展过程,PLC软件派系,自动化前景,PLC的实用性,C语言学习,工业机器人研发. PLC发展过 ...

最新文章

  1. SqlServer索引的原理与应用
  2. 珂朵莉的约数(牛客练习赛9)
  3. Linux的简单介绍.
  4. centos 安装 acrobat Reader之后
  5. kgtp linux内核调试
  6. mysql 自动 分库 备份_MySQL分库备份的方法
  7. 多线程下单例模式的实现_ThreadLocal_ReentrantLock
  8. 【DEF CON】数十亿物联网设备受严重随机数生成器缺陷影响
  9. MIPS之u-boot流程分析
  10. CentOS 6.4 中yum命令安装php5.2.17
  11. 【ACL20】让笨重的BERT问答匹配模型变快!
  12. react中对props.children进行操作
  13. LNMP下wordpress无法切换主题,只显示当前主题解决方法
  14. 根据用户名字刷账户(取用户名的字母)
  15. 2020-04-19-如何在博客中添加视频链接
  16. 算法分析:时间和空间复杂度
  17. 在Mysql数据库里通过存储过程实现树形的遍历
  18. 阿里聚安全Android应用漏洞扫描器解析:本地拒绝服务检测详解
  19. 计算机网络安全 鲁立,计算机网络安全教学课件ppt作者鲁立08课件.ppt
  20. 抽象类和接口-形状抽象类

热门文章

  1. C++类占字节数讲解
  2. JDBC的DML增删改查的代码重构设计(下)
  3. TCP/IP Model: Layers Protocol | What is TCP IP Stack?
  4. Linux内存管理:反向映射机制(匿名页,文件页和ksm页)
  5. Linux网络协议栈:Linux 中每个 TCP 连接最少占用多少内存?
  6. srsLTE源码学习:网络附属存储抓包nas_pcap.h
  7. OpenCV学习笔记:视频处理
  8. Android的HashMap方法,Android中实现HashMap排序的方法
  9. linux中打开gif图片命令,在Linux终端中安装使用Gifski创建GIF动图
  10. tcp和udp的优缺点