聊聊身边的嵌入式,工控大脑PLC

以下主要内容来源于笔者前同事Mr Yang,经作者授权整理后发布。

  1. 哪里用到PLC?

    大家逛商场、坐地铁经常会乘坐自动扶梯。通常情况下,没人乘梯的时候,扶梯会以一个低速节能方式运行。有人乘梯时,会自动平稳过渡到正常速度运行。我有个同学在世界第一大自动扶梯生产商迅达,听他说里面用的控制器就是PLC。

PLC广泛应用于钢铁、石油、化工、电力等工控领域,主要有以下原因:

  • 高可靠性。工控领域环境相对较恶劣,同时还需要稳定可靠的长时间运行,不能出错,毕竟很多时候一旦出错,那可是会造成重大损失的,不像消费电子领域,出了问题大不了重启一下。
  • 容易编程。对工程师的编程水平不需要那么高的要求,工程师可以专注在应用领域,节约开发周期。
  • 易于维护。模块化的设计,出了问题相对容易维护。
  1. PLC和单片机关系

    PLC其实是电气工程师手中的MCU,当然大部分的中小型的PLC本身就是由MCU来实现的。讲到这里,会有很多小伙伴问,这俩家伙到底有什么区别?从研发的角度看,PLC是把MCU有限的资源根据一定的规范设计出来的,具体的讲,MCU的IO资源对应了PLC的输入输出,Core对应了计算能力,RAM对应了数据空间,FLASH对应了程序空间。从用户角度看,由于不同的PLC厂商都遵循了相同的规范,同时它的功能往往是其实现MCU的子集,所以学习起来比MCU更加容易。下图中间黄色部分就是MCU,PLC是在其基础上增加了输入模块、输出模块、电源模块、编程器。

  1. PLC的软件实现

    下面更多的会从软件方案角度出发来探究PLC,主要还是针对嵌入式工程师,大家感兴趣也可以自己上手去实现一个简单的PLC。

3.1 IEC61131-3

讲到PLC的软件实现,那就不得不提IEC61131-3,它是IEEE制定的用于PLC的编程系统标准,定义了以下五种编程语言:

指令表(ILD)

梯形图(LD)

功能块(FBD)

结构化文字(STL)

顺序功能流程图(SFC)

小型PLC由于功能简单,而且步长受限,往往最常用的是指令表和梯形图。STL类似C语言,经常用于编写功能块,FBD/SFC更加直观,经常用于复杂逻辑的顶层设计。

3.2 PLC的软件构成

用过PLC的朋友都知道,通用的PLC都会提供一个PC端的软件用来编辑用户逻辑,比较常见的有西门子的STEP7,3S的Codesys,KW的MULTIPROG,rockwell的ISaGRAF。所以,一般情况下,PLC的软件由两部分组成:

(1) PC端的编程软件,给用户提供编程调试环境

(截图代码源于和利时G3小型PLC)

(2) 设备端的软件,而设备端的软件又分为runtime system(后称RTS)和用户程序(后称POU)两部分内容。RTS是PLC设备端的核心,主要有以下几个作用:

  • 实现通讯接口:包括与PC端软件通讯,与IO扩展模块的通讯
  • 存储并执行PC端生成的POU
  • 执行IO的输入输出

当然,也有一些微型PLC自带屏幕,无需PC软件,可以直接在屏幕上编程,比如西门子的Logo系列。

图片源自西门子官网

3.3  POU的分类

PLC的RTS从实现角度讲,分为两类:解释型和编译型,有点像学校里学习VB和VC的区别。编译型PLC生成的POU是可以执行的二进制代码,解释型PLC生成的POU是一个中间文件。

编译型PLC

编译型PLC支持的IEC61131-3编程软件会根据用户的编程语言生成PLC可以执行的二进制机器代码,其有以下几个特点:

  • 执行效率高, 平均有效指令仅是解释型PLC的1 /10
  • 开发难度大,PC端开发环境除了需要解析IEC61131-3相关语法,还需要涉及编译器、链接器、反编译、Mempry地址分配等内容
  • 基于MCU开发PLC跨平台难度大,受限于CPU指令集影响,不同厂商CPU Memory地址分配不同,开发环境很难做到适配所有不同CPU的编译器
  • 反编译难度大

解释型PLC

解释型PLC支持的IEC61131-3编程软件会根据用户的编程语言生成中间文件,CPU会作为解析器来解析该中间文件,其有以下几个特点:

  • 开发容易, PC端开发环境仅需要解析IEC61131-3相关语法并生成中间文件即可
  • 产品容易跨平台,由于开发环境生成的中间文件并不直接在CPU上运行,也很容易做到地址无关,所以很容易在不同内核的CPU上运行
  • 由于容易做到地址无关,更容易做到无扰下装
  • 容易实现反编译功能
编译型 解释型
执行效率
开发难度
跨平台运行
反编译源文件 一般
无扰下装
防克隆

如果觉得文章不错,点个赞或者在看支持一下吧。

欢迎扫码加入嵌入式微信交流群,与业内朋友一起聊技术、侃大山!

(0)

相关推荐

  • MCU哪些方面不能替代PLC

    MCU(单片机)可以替代PLC 吗? 这个问题如同面粉能代替面条一样,答案是否定的.第一次听到这个答案可能很多人都有疑问,单片机明明功能那么强大.资源那么丰富,为什么不能取代PLC呢? 那么今天我们就 ...

  • “即插即用”的全开放自动化系统:硬件通用、无需额外的编程工作,你想用吗?

    一直以来,在工业自动化领域,出于可靠性.安全性以及技术独有的考虑,工业自动化控制系统往往都是相对封闭的专有系统.这样的控制系统在过去几十年里对工业化生产起到了极大的推动作用. 但是,随着技术的进步和全 ...

  • OTA到底对控制器做了什么?

    随着特斯拉将OTA的功能引入到汽车中,汽车行业发生了新的范式革命,智能汽车相比传统汽车成为新物种的存在,OTA不仅是汽车不断成长的"生命通道",更是成为了车企新商业模式的" ...

  • 彭瑜:从PC控制发展历史看PC控制的潜力

    前段时间美国一个资深的自动化人士宣称PC控制将会占到PLC市场份额的40%,这引起了不少人对PC控制的前世今生感到了兴趣.为了弄清PC控制的来龙去脉,今后还有没有发展余地,我们首先要回顾PC控制的发展 ...

  • 西门子、施耐德、罗克韦尔:三大工控厂商PLC密码保护突破之旅

    作者:高剑  绿盟科技格物实验室 以上培训(非免费)可以点击文末"阅读原文"了解详情 本号相关PPT与资料,未在文末留下下载关键字的,需进入智能制造之家知识星球自行下载~ 写在前面 ...

  • 西门子 欧姆龙 三菱工控主流PLC学习宝典

    随着计算机技术的发展,以可编程序控制器.变频器.伺服系统和计算机通信等技术为主体的新型电气控制系统已经逐渐取代传统的继电器电气控制系统,并广泛应用于各行业.由于西门子S7-200/300/400系列P ...

  • │福利│工控PLC常用英语,工程师们请收藏

    这些天的疫情曲线一直在上升,希望像伺服定位曲线一样爬坡完成到目标速度再减速这个周期可以短一点减速时间可以短一些,医务人员现在就承担着曲线调试任务,我们的自律就是他们顺利调试成功的前提,让我们为他们加油 ...

  • 【工控有声】电气工程师的六个技能,PLC仅占其一,都会了月薪轻松过万

    工控学习社 公众号 点击上方△绿标即可收听本期音频 播音  | 张文萱     一 电工知识 哪一个技能是电气工程师最基础的也是最重要的?除了电工知识没有其他,很多在大型国企有过工程经验的都知道,设计 ...

  • 【工控有声】毕业三年工控菜鸟,看我如何学习PLC的?

    忆苦思甜,回忆起三年前在工地上摸爬滚打的日子.现在想想真的很感谢现在的自己. 说到学习PLC也是机缘巧合,刚开始在单位里面的工种是设备管理,包含日常工作是报表的制作与设备机械的管理工作.时间一长就懒惰 ...

  • 常见精品电气控制图,PLC工控人解析原理没压力!

    本文主在教大伙在遇到常见的电气控制原理图时怎样去读取图中技巧,让你不再对着图纸一筹莫展! 1.快速看图:主回路-控制回路 先看主回路,后看控制回路.主回路动作原理相对很简单,可以快速的把握整个电路是做 ...

  • 工控系统行业报告:看PLC/DCS/SCADA市场的国内机遇

    智能制造升级迫在眉睫,工控系统软硬件是重中之重.当前制造业正在由自动化为代表的工业3.0向智能化为代表的工业4.0迈进,在人口老龄化,用工成本上升的趋势下,为了维护我国制造业支柱地位,智能制造升级是必 ...

  • PLC工控行业的远程控制方法

    工业控制领域在朝着智能互联的方向发展也随之出现了三大难题:1. 设备位置分布较分散,现场的设备运行状况难以监管.2. 不同设备间的协议,接口,品牌不同,难以对接.3.原有网络结构简单,往往没有固定公网 ...

  • 从零开始学习PLC,入门到精通的阶段过程,做一个合格的工控人

    PLC的学习是一个逐步渐进的过程,所接触的东西也是从简到易,从刚开始的开关.接触器.中继.热继.指示灯控制跨越到传感器.编码器.变频器.伺服系统.通信的控制.中间有一个很大的跨度,也就是说中间我们需要 ...