前言
这两年做了一些Codesys的项目,踩过一些坑,积累了点经验,分享出来,感兴趣的朋友可以来交流。
熟悉PLC的朋友都知道,PLC市场鱼龙混杂,西门子PLC、三菱PLC、欧姆龙PLC……加之各种型号,随之而来的各种问题,消耗了程序工程师、尤其是电气工程师的大把青春。
Codesys
CODESYS是一种功能强大的PLC软件编程工具,它支持IEC61131-3标准IL 、ST、 FBD 、LD、 CFC、 SFC 六种PLC编程语言,用户可以在同一项目中选择不同的语言编辑子程序,功能模块等。
以上是百度百科对Codesys的解释,Codesys是德国3s公司推出的,在PLC界的地位相当于手机中的安卓,代码一次性编写,可以在多个总线、多个系统、多个PLC上进行切换。
包括:
1. 总线切换,切换EtherCAT、Profibus、CAN总线等。
2. 操作系统切换,切换Windows、Linux,树莓派等。
3. PLC切换,可支持汇川 、合信、和利时、英威腾、台达等PLC。
编程语言——ST
Codesys支持多种编程语言,有电气工程师常用的梯形图,和软件程序员喜欢的ST语言,以ST语言为例,它写出来的代码是这样的:
上面是程序变量的声明,下面是控制语句的使用,ST语言的语法并不复杂,Codesys很多的代码是用C#实现的,其API处处洋溢着.net的风格style。
环境安装
可以访问Codesys的官网(或中国官网),切换到下载专区,下载Codesys的IDE(如Codesys V3.5 SP17 64位),下载后打开IDE
Codesys是一种软PLC,所谓软PLC,就是利用驱动将Windows变成实时的操作系统(Codesys驱动 + Windows -> 软PLC),或者说:change 【Windows工业机】 to 【PLC】。
示例程序
整理了一部分程序,分享出来,包括:
下位机——codesys:点击下载
上位机——WPF+HelixToolkit 3D : 点击下载
结语
Codesys是个好东西,其内部有很多闪光的理念,不知道是否有时间、精力将这个系列写完……hope
愿知识不会沉滞,畅流四方