【CODESYS学堂第三节】--CoDeSys 概述

 

CODESYS原来是这样的.........



CoDeSys 软件商由德国 Smart software solution GmbH 公司所开发,该公司位于德国巴伐利亚州肯普腾市。

CoDeSys 是可编程逻辑控制 PLC 的完整开发环境(CoDeSys 是 Controlled Developement System的缩写),在 PLC 程序员编程时,CoDeSys 为强大的 IEC 语言提供了一个简单的方法,系统的编辑器和调试器的功能是建立在高级编程语言的基础上(如 Visual C++)。现在国内 PLC用户使用的版本多为 CoDeSys V3。V3 在软件架构上有了很大的改善,朝安全软件的方向发展,目前已获取 TUV 关于 EN 61508 的安全 PLC 认证,用户可以在基于 CoDeSys 平台上开发属于自己的 SIL2 及 SIL3 安全 PLC。现场总线/以太网开发系统/对象控制器Windows 操作系统I/O信号CoDeSys 是一款软件,并不依赖特定硬件如 ABB、Bachmann、IFM 易福门、EPEC 派芬、HOLLYSYS和利时,intercontrol 的 PROSYD1131、赫思曼公司 iFlex 系列、力士乐的 RC系列、TTcontrol 公司 TTC系列控制器等 PLC厂家都是使用 CoDeSys 平台开发自己的编程软件的。国内首家

采用 CoDeSys 平台的国产 PLC 和声 HSC C3 系列控制器也已大批量产业应用。

同时,也有运动控制厂家如:Scheider Electric、BECKHOFF、GoogolTech 等也都在使用CoDeSys 平台开发自己的编程软件。

1.3.1 CoDeSys 自动化解决方案

CoDeSys 以自动化软件开发平台 CoDeSys Automation Development Suite(工具包套件)为核心,向全球用户提供开发灵活的解决方案。CoDeSys 自动化解决方案示意图如图 1.6所示。



CoDeSys 包括 PLC 编程、可视化 HMI、安全 PLC、控制器实时核、现场总线及运动控制,是一个完整的自动化软件。

CoDeSys 是可编程逻辑控制 PLC 的开发环境 Controlled Developement System 的缩写,它为 IEC语言提供了一个简单的方法,系统的编辑器和调试器的功能是建立在高级编程语言的基础上。其功能强大,易于开发,可靠性高,开放性好并且集成了 PLC、可视化、运动控制及安全 PLC 的组件。它从架构上基本上可以分为三层,应用开发层,通信层和设备层。CoDeSys 结构示意图如图 1.7 所示。



1.  应用开发层

PLC 编程系统,PLC Development System CoDeSys(具有完善的在线编程和离线编程功能)、编译器及其配件组件、可视化界面编程组件等,同时供用户可选的运动控制模块可使其功能更加完整和强大。

 IEC61131-3 编辑器。CoDeSys 提供了所有 IEC61131-3 所以定义的五种编程语言:如结构化文本(ST)、顺序功能图(SFC)、功能块图(FBD)、梯形图(LD)和指令表,此外还支持连续功能图(CFC)的编程语言。

 编译器。负责将 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 实时核系统。关于实时核的会在下节中会有详细介绍。

 IEC 61131-3 应用程序。用户在开发层写完的程序通过以太网或串口下载至设备层中,最终该应用程序中的文件已经被转为二进制存放在目标设备中,根据用户设定的执行方式循环执行对应程序。

1.3.2 CoDeSys 实时核

PLC 是一种实时计算机控制系统,软 PLC 也不例外。其中的执行程序部分对实时性有着很高的要求。如果不能在系统要求的时间内完成 PLC 程序的执行,会影响数据的采集和输出,无法完成控制任务。另外,作为工业控制系统,PLC 系统必须对工业现场的突发情况作出及时有效的响应,否则可能危机人身和设备安全。PLC 工作过程中,需要对各个元件的实时状态进行监控,所以 PLC系统运行在实时平台上。

CoDeSys 的实时核可以运行在各种主流 CPU 上(如 ARM、X86、PowerPC、TriCore 、DSP等),并支持 Windows XP、Windows CE、Windows XP Embedded、Windows 7、Linux、VxWorks 、QNX 等操作系统中。本节以 Windows 系统举例,对其系统的实时性进行详细分析。

1.  Windows  实时性分析

由于 Windows本身不是实时系统,故不能直接作为软 PLC 的载体,具体分析如下,

1) Windows无法提供高精度的定时器,故不能保证程序运行的实时性;

2) Windows所有线程都是该系统的普通现场横,不能提供实时服务;。

3) 系统事件存在延迟。;

4) Windows对分页内存的访问时间不可预知。

2.  Windows  实时性扩展技术

为了使 Windows 能用于实时控制系统,需要解决实时性问题,目前采用的解决方案主要有两种:1. 插卡方案(Windows 系统+硬件板卡);2. 实时扩展方案(Windows 系统+实时扩展),其原理图如图 1.8 所示,CoDeSys 采用的是实时扩展的方案。通过软件的方式对 Windows 进行实时性能的改造,使其具有实时性。系统的实时任务和非实时任务都由软件完成,硬件板卡只实现简单的输入输出功能,因此只需廉价的通用的 I/O 板卡,脉冲板卡,大大减少了软 PLC系统的成本。



3.  Windows  实时性问题 的解决方案

CoDeSys RTE 即实现了这样的技术,它对 Windows 的内核进行了恰当了实时性改造,使其保证具有微妙级抖动量的确定性,且不需增加其他硬件。最终实现“硬实时”的功能。通过实时核进行任务的管理和调度,降低了实时控制系统的设计和难度,提高了实时性和可维护性,当使用 PC实现软 PLC 时,使用 CoDeSys 实时核,其内部结构如图 1.9 所示。



故只要在 PC机上安装软 PLC CoDeSys RTE 软件,那么根据 PC机的功能,他就会变成一台先进的高性能可编程控制器。PLC CoDeSys RTE 可以运行在装有 Windows NT、Windows2000 或Windows XP/7等操作系统的标准工业 PC上。此外,CoDeSys 也能针对其他非 Windows 操作系统安装实时核,如嵌入式控制器,其结构如图 1.10 所示。嵌入式控制器也能进行 I/O 扩展,现场总线扩展等功能,只需要在 CoDeSys 开发平台中相应设置即能实现扩展功能。CoDeSys 实时核被预先安装在嵌入式控制器内,只需要在上位CoDeSys 开发系统中将事先写完的程序直接下载到设备中,CoDeSys 就已将用户代码转换为二进制代码存入嵌入式控制器内,实现实时控制。



希望了解更多详情的朋友,可本文章后留言您的邮箱+公司+姓名。或者发送邮件至info@codesys.cn,邮件标题可以为咨询CODESYS软件。


    关注 德国CODESYS软件系统有限公司


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册