当前位置:首页 > 公众号精选 > TopSemic嵌入式
[导读]本来想好的题目是《跟我学做PLC》,但是转念一想,做为一个离开工控行业七八年的二手程序猿,自己的行业知识已经过期很久了,所以还是改为《揭秘PLC》更合适些。想当年大四的时候学分不够,所以选修了PLC这门课程,虽然没正儿八经听过几节课,但是实验课程却甚是有趣,引起了我们几个小伙伴的...

本来想好的题目是《跟我学做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. 什么是Codesys

Codesys是一个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部分组成:

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

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

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

1.2 Codesys for PC

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

未完待续


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭