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

    文章

    17123

    浏览量

    350991
  • plc
    plc
    +关注

    关注

    5010

    文章

    13271

    浏览量

    463057
  • PC
    PC
    +关注

    关注

    9

    文章

    2076

    浏览量

    154147

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

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

收藏 人收藏

    评论

    相关推荐

    -能量管理系统储能电站

    放,工商业储能会更加具有经济性,加上限电政策的影响,工商业储能将在2023-2025年逐渐发展成主要的增长点。 工商业储能是用户侧储能最主要的应用场景之,当前主要应用场景包括峰谷套利、需(容)量管理、应急备电、动态增容及需求侧响应。 如何通过工商业储能设备实现
    的头像 发表于 09-29 16:59 195次阅读
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>-能量管理系统储能电站

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

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

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

    高速PCB层叠确认时,PCB工程确认时不提供铜箔类型,大家认为正常吗,工厂说不提供铜箔类型,是生产时多了种选择,你能接受吗,请走进今天的案例,了解案例背后秘密
    的头像 发表于 06-17 17:16 441次阅读
    <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 562次阅读

    简单彩色转灰度的算法

    R、G、B 分别代表3个原色分量字节,BGR就表示个像素。为了看起来方便在每个像素之间插了个空格,实际上是没有的。X表示补足4的倍数而自动插入的字节。为了符合人类的阅读习惯分行了,其实在计算机内存中应该看成连续的大段。
    的头像 发表于 04-18 10:32 399次阅读
    简单<b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>彩色转灰度的算法

    啥是“阻抗修正”去嵌入技术

    步,R&S的矢网在测量得到“2x-Thru Coupon(测试条)”的S参数以后,要分别解出“左侧夹具”和“右侧夹具”。每侧的夹具都用个s2p文件来表征。这步实际是整个去嵌入的关键。
    的头像 发表于 04-17 14:19 1051次阅读
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>啥是“阻抗修正”去嵌入技术

    “阻抗修正”去嵌入

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

    电感的特性都有哪些

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

    MCU和SoC的区别

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

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

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

    Transformer中的FFN

    NLP上估计会帮助reduce overfitting, improve generalization,但是与其花时间改这个地方不如好好clean data。。。目前来说
    的头像 发表于 03-13 11:41 1131次阅读
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>Transformer中的FFN

    短路测试是怎么回事儿

    我们称之为“类短路”,般为桥臂直通导致的,硬件或软件失效造成的,此时短路回路中的电感量很小(100nH),般我们会采用VCE(sat)检测来实现短路保护。
    的头像 发表于 02-18 13:59 1716次阅读
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>短路测试是怎么回事儿

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

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

    嵌入式C语言

    作为名嵌入式软件开发者,熟练掌握嵌入式C语言对我的日常工作至关重要。
    的头像 发表于 01-22 09:28 543次阅读

    芯科技,解密ChatGPT畅之算力芯片

    的GPU服务器,尤其是英伟达的A100 GPU,提供了强大而精确的计算能力。ChatGPT的功能远超日常对话,它能够学习、理解并生成人类般的文本,是人工智能领域的个重要突破。但其真正力量的源泉,是背后那些不断工作的算力芯片,它
    的头像 发表于 12-27 07:45 1014次阅读
    芯科技,解密ChatGPT畅<b class='flag-5'>聊</b>之算力芯片