PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 71|回复: 0

[CodeSys] CODESYS平台,工控界的安卓

[复制链接]
发表于 2024-4-6 22:16:18 | 显示全部楼层 |阅读模式
CODESYS(ControllerDevelopment System)是德国3S(SMART,SOFTWARE,SOLUTIONS)公司开发的开放式、可重构的IEC 61131-1(PLCopen)编程软件,不依赖于任何硬件平台。3S公司本身不生产任何控制器,只负责开发软件,类似手机操作系统界的安卓。目前有大量的知名自动化厂商基于该平台开发自动化控制设备,例如:施耐德、倍福、力士乐、ABB等超过150家(官方号称,实际也真的挺多的,OMRON运动控制平台貌似也是)自动化厂商,国内也有如和利时、汇川、步科、固高等厂家。


    据官方介绍CODESYS基于微软Microsoft.NET ,采用面向对象技术进行构建的,整个软件分为应用开发层、通信层和设备层 ,支持CANopen、Profibus、EtherCAT、SERCOS、Device Net、ProfiNet、Modbus、Ethernet 等多种现场总线(取决于OEM厂家)。CoDeSys Soft Motion 软件包包含逻辑控制(SoftPLC)、运动控制 (SoftMotion) 、数控机床(SoftMotion CNC)、人机界面控制(Visualization)、总线集成和配置(Field Bus Integration And Configuration)、库(CoDeSysLibraries)、ENI服务(ENI Server)、冗余(CoDeSys Redundancy) 和安全(Safety)等功能模块组成完美地实现从单轴运动到复杂的多轴轨迹插补的编程和控制。3S公司于1994发布CODESYS1.0版本,经过多年迭代更新,目前最新的版本是V3.5.12.20。CODESYS支持IEC61131-3标准所描述的6种编程语言:IL(指令列表) 、ST(结构化文本)、 FBD(功能块图) 、LD(梯形图)、CFC(连续功能图)、 SFC(顺序功能图)。在编程上CODESYS支持标准IEC数据类型及LTIME、DATE、TIME、DATE_AND_TIME 、TIME_OF_DAY 外,另外CODESYS还支持数据单元类型ARRAY(数组)、STRUCT(结构)、ENUMERATION(枚举)。


    在CODESYS V3.5版本中3S公司越来越强调其面向对象的编程方式,指针功能也包含在其中,通过强大的指令系统以及库功能能够灵活的实现程序的复用,减少编程、调试工作同时增强程序的稳定性。同时CODESYS内置的Visualization能够轻松实现人机对话,个人觉得基本上用于替换触摸屏操作是没问题的,通过IP地址就能实现界面的访问,非常方便。曾经亲自看见过施耐德的工程师在TM241平台上演示利用PLC和Visualization功能编写的一套完整的五子棋游戏,可见其编程语言和可视化界面的强大。CODESYS的库分为内部库和外部库,内部库是完全利用CODESYS实现的自定义LIB库。外部库则需要利用相关的编译链去编译,由大多数OEM厂商提供,可以直接利用OS底层的API进行编程,性能效率更高。同时用户自定义库方面可以生成标准库文件和编译库,其区别是当用户将自定义库导入到项目中后,标准库是可以看见源代码的,而编译库则只能看见输入输出引脚,而无法查看内部算法,这对于知识产权的保护非常有利。CODESYS默认下载程序前都需要进行编译生成的二进制文件导入到PLC中,并且不允许上传(也可以选择将源码下载到PLC允许上传操作,但实际上PLC还是运行的是编译后的文件,而不是程序解释代码,下载源代码其实相当于在PLC上备份程序,理论上讲CODESYS平台的PLC应当属于编译型而非解释型),这种操作进一步保护了程序安全,防止COPY。

    CODESYS与日系等PLC相比较,完全属于不同的体系,编程思想也完全不同,个人觉得CODESYS的编程环境和语言更加强大,当然目前日系的PLC比如三菱、OMRON也开始慢慢支持部分IEC61131-3标准,并且支持其部分编程语言例如ST,但并不彻底(OMRON的SysmacStudio除外)。与西门子TIA相比,西门子SCL的输入方式更加便捷,但CODESYS的SFC语言比西门子的GRAPH更加直观、强大、方便。从编程方式来看CODESYS完全基于标签编程(类似AB RSLOGIX STUDIO),编程过程中不用考虑地址问题,当然西门子TIA也可以实现符号编程,但两者之间还是有不一样的地方,比如CODESYS平台中没有DB的概念,更加类似与高级编程C语言等。从长远看,CODESYS应该很有前景,首先,学会CODESYS编程环境,那么采用该平台的控制都非常容易上手,相同的编程环境、指令、语法结构。其次,程序移植也非常方便,A家的产品程序移植到B家的控制器只需修改少部分代码即可使用,减少了程序开发时间、并且代码质量有保证。第三,功能非常强大,目前CODESYS广泛应用于PLC、运动控制器、数控机床、机器人,而且OEM厂商提供了大量成熟的解决库文件,比如施耐德在其运动控制器PD3系统中就提供了标准的机器人功能库,只需要拖拽相应的功能块链接相关参数变量即可实现如Piack&Place或DELTA机械手。力士乐等其他厂商也有相应的解决方案库,这些使用起来都非常方便。在完成机器人动作的同时还能集成PLC任务,一机多用,减少用户成本。自动化行业技术更新越来越快、信息技术的应用也越来越多,而且PLC已经不再仅仅是为了解决传统的逻辑控制,更多的包含运动、信息技术,编程方法(例如ISA88模型)也不再局限于流程控制,更多软件工程的思想比如面向对象技术的应用使得PLC能够完成更多的功能。


    时代在进步,自控人应当以更加开放的心态面对新的技术,行业同仁之间应多交流才能实现共同进步!本文仅代表个人意见,由于才疏学浅难免有疏漏,还请同仁多多指点。


- The End -


HwLib(慧兰博)公众号
专注于工业自动化高端编程应用

HwLib(慧兰博)微信号



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-5-3 11:18 , Processed in 0.050925 second(s), 26 queries .

快速回复 返回顶部 返回列表