CODESYS软件分三层架构,可用下图来表示:
1、开发层
CODESYS Development System(具有完善的在线编程和离线编程功能)、编译器及其配件组件、可视化界面编程组件等,同时供用户可选的运动控制模块可使其功能更加完整和强大。
IEC 61131-3 编辑器。CODESYS提供了所有IEC 61131-3所以定义的五种编程语言:如结构化文本(ST)、顺序功能图(SFC)、功能块图(FBD)、梯形图(LD)和指令表,此外还支持连续功能图(CFC)的编程语言。
编译器:负责将 CODESYS 中的应用程序转换为机器代码并且优化可编程控制器的性能。当用户输入了错误的应用程序代码时,立刻会接收到编译器发出的语法错误警告及错误信息,让编程人员可以迅速做出相应纠正。用户可以不必改变编程方式,就可以使用不同的基于 CODESYS 编程的硬件装置(系统)进行工程开发。
硬件/现场总线配置器:针对不同制造商的硬件设备及不同现场总线协议,该部分负责在CODESYS中对相应参数进行设定。
可视化界面编程:直接在 CODESYS 中即可实现可视化编程(人机界面HMI),系统已经集成了可视化编辑器。
运动控制模块:运动控制功能已经集成在CODESYS中,形成了SoftMotion(CNC)软件包。基于PLCopen的工具包可以实现单轴、多轴运动;电子凸轮传动;电子齿轮传动;复杂多轴CNC控制等。
2、通信层
应用开发层和硬件设备层之间的通讯是由CODESYS中的网关服务器来实现的,CODESYS网关服务器中安装了OPC服务器。
CODESYS 网关服务器。作用在应用开发层和硬件设备层之间,可以使用TCP/IP协议或通过CAN等总线实现远程访问,是CODESYS开发工具包不可分割的一部分。
CODESYS OPC服务器。对基于CODESYS进行编程的控制器,无需考虑所使用的硬件CPU,已经集成并实现了OPC V2.0规范的多客户端功能,且能同时访问多个控制器。
3、设备层
在使用基于IEC 61131-3标准的编程开发工具CODESYS对一个硬件设备进行操作前,硬件供应商必须要在设备层预先安装CODESYS的实时核(CODESYS Runtime)。同时,也可以通过使用CODESYS的可选组件:如CODESYS目标可视化编程模块或网络可视化编程模块来实现功能上的扩展。
4、CODESYS软件架构中各层关系
CODESYS代码执行机制是编译执行,用户在开发层编写完成的IEC程序通过集成的编译器编译为二进制代码,再通过以太网或串口下载至设备层中,最终该应用程序中的文件已经被转为二进制代码存放在目标设备中,根据用户设定的执行方式循环执行对应程序。
以下为CODESYS产品系列的架构图,点击不同部分图片,可链接至产品介绍。