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系统的成本。