0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

聊一聊PLC背后的那些秘密

TopSemic嵌入式 来源:工程师的废纸篓 作者:Tony Yang 2021-11-18 17:36 次阅读

本来想好的题目是《跟我学做PLC》,但是转念一想,做为一个离开工控行业七八年的二手程序猿,自己的行业知识已经过期很久了,所以还是改为《揭秘PLC》更合适些。

想当年大四的时候学分不够,所以选修了PLC这门课程,虽然没正儿八经听过几节课,但是实验课程却甚是有趣,引起了我们几个小伙伴的好奇心,总想趁老师不在偷偷拆开看看,到底里面是一个PC还是一个专用的芯片,可惜一直没有得手。不过后来倒是在微机原理实验室里从一堆废电脑里拆出一个Voodoo(好家伙,淘宝现在居然能卖15w)

毕业后一不小心进入了工控行业,开始研发DCS/PLC产品,接触到了这类产品的相关技术,终于明白PLC里面并没有专用的芯片,其核心部件就是MCU或者MPU/CPU,小型的用MCU,中大型的用MPU/CPU,用PC做的PLC有个专用的名字:Soft-PLC。之前朋友圈里有不少人在分享文章:“PLC, DCS, MCU有什么区别,能不能替换等等”,这里揭开第一个秘密:PLC其实就是拿MCU做的,它们本质上是没有区别的。

既然PLC是用MCU/MPU做的,那具体区别在哪儿呢?上学时看过很多文章和书籍,回想起来总感觉它们总在外面蹭蹭,极少能真正进去,读者往往得到似是而非的东西。今天我们就好好的刨一刨Codesys,争取能往祖坟上刨(受到License的限制,本文只会展示Codesys已公开内容,并以Codesys V2.3版本为例)。

1. 什么是CodesysCodesys是一个PLC开发套件,将它的RTS组件运行在MCU/MPU端,并配合Codesys PC端就可以轻松设计出一款PLC。之前在公众号上看到哪位大哥在讲国内工业软件的短板,拉出Codesys来,说它是PLC界的安卓,国内的汇川、合信、和利时、英威腾、台达,国外的倍福、施耐德、力士乐都在用,可安卓开源的啊,谁见过入门费20W¥的安卓?

相信有不少朋友开始嘀咕了,这家伙就没有竞争对手了么?有,但确实不多,而且规模也都不大,不然怎么说Codesys是行业安卓呢。下面列了几个玩家(包括开源项目):

VendorSoftwareDescription

3SCodesyshttps://www.codesys.com/

KW-Software(Phoenix收购)MultiProg原先是Codesys最大竞争对手,后被Phoenix收购,改名PLCnext

infoteamOpenPCShttp://infoteam.com.cn/

RockwellISaGRAFhttps://www.rockwellautomation.com/

logicalslogi.CADhttps://www.logicals.com/en/

ide4plcide4plchttps://ide4plc.wordpress.com/

BeremizBeremizhttp://www.beremiz.org/

1.1 Codesys的构成Codesys由3部分组成:

PC端的Codesys软件:给电气攻城狮提供的编程IDE(编辑器+编译器+调试器),相当于MCU攻城狮的Keil,IAR。这个IDE是可以免费下载

PLC端的Runtimer system:给PLC Vendor提供的软件套件,要花钱买的,可以运行在不同的芯片平台。后面简称RTS(也有其他厂商叫RTE)。

Target配置工具:PC端IDE和PLC端Runtimer之间的桥梁,通过编写一些配置文件来生成一个目标文件,目标文件含有PLC端的各种信息

1.2 Codesys for PCCodesys V2.3这个软件发布的比较早,和它的黄金搭档应该是WinXP或者Win7,如果装在Win10系统上可能会出现蓝屏,但这并不影响我们对它进行分析,如果安装的时候一路next,软件会被安装在如下路径:C:Program Files (x86)3S SoftwareCODESYS V2.3

双击Codesys.exe打开软件会看到欢迎的提示

点击新建一个项目会提示Target选择窗口,因为我这里啥也没装,所以没有任何的Target可以选择,点击OK进入POU设置页面

上图左边需要设置POU的类型:程序或者功能块。程序就相当于Keil,IAR里的程序,功能块相当于Keil,IAR里的LIB

右边选择POU的语言,Codesys支持6种语言:IL, LD, FBD, SFC, ST, CFC,这六种语言都follow IEC 61131-3的标准,这六种语言就不展开了,感兴趣的小伙伴自己百度,ST语言的语法类似于C语言,只要在编辑器输入;就相当于nop指令,一个空函数就完成了。

不过这还不能编译通过,因为还没有设置Target,Codesys编译器还不知道PLC有多少资源,RAM多大,什么Core它都不知道,所以我们需要安装一个Target,这个一般都是由PLC厂商提供,有些厂商为了用户方便,将Codesys PC端进行了二次打包,这样安装好后就有默认的Target了,而且欢迎logo也可以替换为自己的,具体做法我只展示一次,亮点已经标注了

3S自带了几个Target需要安装一下即可,双击InstallTarget.exe,然后选择Open目标文件的路径,安装需要的Target

1.3 Codesys and Target安装好Target后,我们可以来C:Target目录查看相关的内容,里面最重要的两个文件.trg,.CFG,其中trg是通过工具生成的,PLC vendor会根据所选择的MCU平台来定义该文件,比如用什么处理器,编译器,N, M, I, Q, R各个区地址和大小。CFG文件定义了该PLC通道定义

NameDescription

*.trg定义Target相关参数设置

PCBASEDIO*.CFG定义PLC的通道参数

Trg文件对应如下配置:

CFG文件对应通道数据,可以添加子模块,比如CAN,CP5613等:

CFG文件内容示例:

1.4 编译成功设定好Target后,就可以成功编译拉

今儿就写到这儿吧,下一篇专门讲讲RTS吧未完待续

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16716

    浏览量

    348219
  • plc
    plc
    +关注

    关注

    5001

    文章

    12987

    浏览量

    460110
  • PC
    PC
    +关注

    关注

    9

    文章

    2033

    浏览量

    153626

原文标题:揭秘PLC背后的故事1

文章出处:【微信号:TopSemic,微信公众号:TopSemic嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    探秘LED显示屏背后秘密:数字信号与数字电路的奇妙世界

    探秘LED显示屏背后秘密:数字信号与数字电路的奇妙世界
    的头像 发表于 08-02 02:36 181次阅读

    秘密背后秘密-高速PCB的层叠确认时,工厂为何不写铜箔类型

    高速PCB层叠确认时,PCB工程确认时不提供铜箔类型,大家认为正常吗,工厂说不提供铜箔类型,是生产时多了种选择,你能接受吗,请走进今天的案例,了解案例背后秘密
    的头像 发表于 06-17 17:16 290次阅读
    <b class='flag-5'>秘密</b><b class='flag-5'>背后</b>的<b class='flag-5'>秘密</b>-高速PCB的层叠确认时,工厂为何不写铜箔类型

    5G路由器相比4G有哪些优势(5g科普)

    大家好,今天我们来5G路由器相比4G有哪些优势,以及它将如何改变我们的生活。 首先,5G路由器最显著的优势就是速度快。5G网络的速度可以达到4G的10倍以上,这意味着我们可以更快地下载和上传
    的头像 发表于 04-26 10:35 416次阅读

    “阻抗修正”去嵌入

    在非标准接口器件测试中,使用去嵌入方法消除测试夹具等对测试结果的影响已经被很多小伙伴们熟知。在最新的R&S ZNA/ZNB系列矢量网络分析仪(简称:矢网)界面中,加入了“Deembed Assistant(去嵌助手)”,可以帮助各位小伙伴轻松完成去嵌入的操作。
    的头像 发表于 04-17 14:18 853次阅读
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>“阻抗修正”去嵌入

    电感的特性都有哪些

    电感是闭合回路中的种属性,是衡量产生电磁感应能力的物理量。我们常说的电感指的是电感器,是自感,用符号 L 表示。
    的头像 发表于 03-29 14:01 761次阅读

    MCU和SoC的区别

    微控制器是单个集成电路(IC)上的小型计算机,包含处理器内核、内存、可编程输入/输出(I/O)外设、定时器、计数器等。它只提供最小的内存、接口和处理能力。
    发表于 03-26 11:39 2840次阅读

    下常见的几种无线遥控器及其可能使用的晶振频率

    无线遥控器可以分为四种类型,其中每种类型可能采用不同的频率晶振。今天KOAN凯擎小妹下常见的几种无线遥控器及其可能使用的晶振频率。
    的头像 发表于 03-22 14:29 3326次阅读

    邪恶PLC攻击技术的关键步骤

    今天我们来PLC武器化探秘:邪恶PLC攻击技术的六个关键步骤详解。
    的头像 发表于 01-23 11:20 914次阅读
    邪恶<b class='flag-5'>PLC</b>攻击技术的关键步骤

    制作高压陶瓷电容的5大关键步骤

    制作高压陶瓷电容的5大关键步骤 制造高压陶瓷电容是项复杂而精密的工艺过程,它涉及到多个关键步骤。下面将详细介绍制作高压陶瓷电容的五大关键步骤。 第
    的头像 发表于 12-21 10:41 1147次阅读

    消息队列技术选型的7种消息场景

    我们在做消息队列的技术选型时,往往会结合业务场景进行考虑。今天来消息队列可能会用到的 7 种消息场景。
    的头像 发表于 12-09 17:50 1191次阅读
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>消息队列技术选型的7种消息场景

    芯片设计的NDR是什么?

    今天突然想route相关的问题,讲讲NDR是什么,我也梳理总结下我对NDR的认识。
    的头像 发表于 12-06 15:14 1420次阅读

    简单DPT技术-double pattern technology

    今天想来简单DPT技术-double pattern technology,也就是双层掩模版技术,在目前先进工艺下,这项技术已经应用的很普遍了。
    的头像 发表于 12-05 14:26 1148次阅读

    了解TYPE-C接口背后秘密

    TYPE-C接口中主要包含如下信号,主要组成可分PD电源和数据传输两大部分,我们先从电源部分开始了解TYPE-C背后秘密
    的头像 发表于 11-18 14:52 2871次阅读
    了解TYPE-C接口<b class='flag-5'>背后</b>的<b class='flag-5'>秘密</b>

    EMC测试

    在电源线入口增加滤波器或者在电源板供电入口处加共模滤波和差模滤波是解决问题的唯方法。
    发表于 11-16 10:13 586次阅读
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>EMC测试

    下IGBT驱动中的参考电位问题

    大家好,今天下IGBT驱动中的**参考电位**问题。我们都知道IGBT的驱动参考电平都是基于 **器件自身的发射极** ,当栅极相对于发射极电位 **超过阈值电压时,器件就会开通** , **小于阈值电压后,器件就会关断** 。
    的头像 发表于 11-09 15:19 986次阅读
    <b class='flag-5'>聊</b><b class='flag-5'>一</b>下IGBT驱动中的参考电位问题