通信层
应用开发层和硬件设备层之间的通讯是由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程序通过集成的编译器编译为二进制代码,再通过以太网或串口下载至设备层中,最终该应用程序中的文件已经被转为二进制代码存放在目标设备中,根据用户设定的执行方式循环执行对应程序。
机器人的控制,像数控机床一样,对实时性有要求,因此我们选择的操作系统zuihao是实时操作系统(RTOS)。遗憾的是,我们经常用的操作系统都不是实时的,例如Windows和Linux。实时操作系统有两种实现方式:
1. 放弃通用的操作系统,从底层重新开始设计,代表性的有VxWorks、QNX、WinCE、μC/OS、LynxOS等;这种方式的缺点是所有的任务都是实时的,即使任务本身没有实时的必要,例如网络访问、文件系统访问,因此你得专门开发适用于这种操作系统的应用程序,工作量可能比较大。VxWorks在军事和工业应用较多,例如被应用于战斗机和火箭上。VxWorks留下了一个空白,这就是车载领域,现在这个市场被QNX占据了。
2. 通过对通用的操作系统打补丁(添加扩展),使其具备实时性,代表性的有Windows RTX、Xenomai、RT Linux、RTAI,这种方式的缺点是,对实时任务的支持(资源)没有第一种方式多;
考虑到Windows和Linux这两款操作系统的用户较多,CoDeSys推出了相应的实时补丁(RTE),为用户免去了改造的烦恼。想了解更多的CoDeSys Runtime信息可以阅读官方的文档。
CoDeSys runtime如果不安装在操作系统之上,则需要其自己备有简单的调度程序。CoDeSys自带的调度程序比较简单,有两种:
1 Embedded Scheduler 这种是简单的轮询,一个任务结束前另一个任务不能运行,任务之间不能抢占,实际上这种方式并不是实时的;
2 Timer Scheduler 为每个任务分配一个定时器,定时触发;
CoDeSys给机器人厂家开发控制器带来了便利,但是依靠CoDeSys这类商业软件打造自己的控制器产品也存在不少的缺点:
1 底层算法不公开
CoDeSys集成的运动控制组件、总线协议栈都是封装好的,用户无法了解其内部细节,也无法针对自己的具体需求进行定制优化,只能简单地调用。用户只能依附于CoDeSys平台,难以形成自己的技术。
2 功能有限,难以扩展
现在以机器视觉、人工智能、自动驾驶等为代表的新技术突飞猛进,而工业控制上的很多技术仍然停留在20年前。以移动机器人中的导航场景为例,基于视觉或者激光的导航方法需要采集大量的数据并对其进行处理,其中涉及相当多的矩阵计算。而现在PLC只能进行落后的一维数字计算,难以实现复杂的算法。与人工智能圈子喜欢开源的风格正好相反,工业控制圈子相互封闭,谁都不肯开放自家的函数库,开源函数库很少,就连最基本的滤波算法、矩阵计算都要自己从头开始写。而且,guojibiaozhunIEC提供的标准函数太过有限,完全无法适应新的场景,急需扩展。
3 成本高、难以更新
商业软PLC成本动不动几十万,这还不包括各种总线通信库、运动控制库、可视化库,这些仍需单独购买,而且需要从售出产品上提成,对于小团队来说成本难以接受。由于完全依赖CoDeSys,客户自己产品硬件的升级换代需要重新定制移植,导致成本增加。这让笔者想起来曾经微软给手机打造的操作系统Windows Phone,微软在移动端是如何一步步作死的呢?其中关键的一条就是向手机厂商收取高额的授权费,可能微软当大爷当惯了,而且更不要脸的是给用户设置障碍,同一款手机系统不能连续升级。
GEB Automation也推出了与CoDeSys类似的软PLC,支持编程、调试、仿真,面向OEM的产品售价9500美元,比CoDeSys好的是一次性付费不再收取单机提成,可以移植到常用的硬件平台,其IDE基于Eclipse开发。
- 工业机器人控制系统 2024-11-06
- 变频器在工业吊扇的应用 2024-11-06
- 变频器控制面板按键说明 2024-11-06
- 变频器基本频率和Zui高频率的设置 2024-11-06
- 三菱变频器恒压供水怎么设置参数 2024-11-06
- 变频器长期不用该如何保养 2024-11-06
- 变频器断电报UL欠电压的原因 2024-11-06
- 市面上常见的变频器有几种 2024-11-06
- 变频器基本工作原理详解 2024-11-06
- 变频器怎么调试参数 2024-11-06