CODESYS Control Overview

  • 一.介绍

CODESYS Control Overview_第1张图片

CODESYS IDE 开发系统:开发、编译、调试和下载IEC应用

  1. 写IEC应用程序代码
  2. 配置I/O系统
  3. 可视化设计

CODESYS Control V3:CODESYS IDE相对应的PLC runtime,控制IEC应用程序系统的特定runtime环境

特点:

  1. 执行CODESYS编译的PLC应用程序代码
  2. 下载与调试
  3. I/O驱动管理
  4. 保留数据管理
  5. 多任务处理
  6. 符号界面

属性:

  1. 可携式软体
  2. 可扩展
  3. 开放扩展

使用CODESYSControl的设备:

  1. 用于移动机器的小型紧凑控制器
  2. 标准PLC系统
  3. 过程控制系统
  4. 高性能运动控制器
  5. 面板控制器
  6. 可编程驱动器
  7. 现场总线耦合器

举例:装管机。

 


CODESYS Control Overview_第2张图片

可运行在以下CPU中:Intel 86、ARM架构、ARM Cortex架构、Power架构等

可运行在以下操作系统中:Windows(control win v3),Windows(RTE),Windows CE,Linux,VxWorks,QNX,Bare metal
,Experience in iOS, INTEGRITY, OSEK, Norti,PxROS, Quadros, RTX, uCOS, Nucleus, ...

  • 二.架构和扩展性

CODESYS Control Overview_第3张图片

通过删除或添加组件实现可扩展性:

  1. 通讯块驱动
  2. 通讯服务/客户端组件
  3. 文件存储或Flash存储
  4. 支持多个或单个应用
  5. 路由终端或通讯终端
  6. 多任务或单任务
  7. 对象可视化、网络可视化
  8. 调试、窗口、检测
  9. 符号界面
  10. 其他OEM组件

组件:

  1. 由C语言编写
  2. 使用runtime 工具包创建
  3. 可使用其余组件的输出接口功能
  4. 可以输出自己的接口特征
  5. 有两个头文件:Dep.h和Itf.h

M4处理器机制:

  1. M4处理器通过Dep.h和Itf.h产生C头文件
  2. 巨指令在不同的构建配置中用来支持单源(与可执行文件的静态链接、与单独的可加载库的动态链接(*.so,*.dll)、两者混合)
  3. 巨指令举例:USE_Function, CAL_Function, …

 

  • 三.多任务处理

CODESYS Control Overview_第4张图片

CODESYS Control Overview_第5张图片

  • 四.库

CODESYS Control Overview_第6张图片

库可以包含:

  1. 函数
  2. 功能块
  3. 可视化
  4. 类型定义
  5. 全局变量

库函数和功能块的代码:

  1. 内部库:可以用IEC代码编写
  2. 外部库:可以用C代码编写
  3. 、一个库即可以包含内部函数外部函数也可以包含内部功能块和外部功能块

内部库函数是通过CODESYS编译和连接

外部库函数是由C语言编译器编译且通过runtime系统连接

库是和CODESYS一同建立,包括函数和功能块接口(“heater”)

内部函数和功能块:代码在CODESYS库中执行

外部函数和功能块:代码在一个runtime system组件中执行

库安装在CODESYS Library Repository

在CODESYS Library Manager中选择库

内部库可以使用其他的内部库或外部库
 

  • 五.I/O驱动接口

CODESYS Control Overview_第7张图片

设备描述文件:

  1. 标准描述文件的格式是.xml
  2. http://www.codesys.com/schemas/DeviceDescription-1.0.xsd
  3. 包含(设备识别、附带条件、类型、参照设备、参照库、子模块、参数)
  4. CODESYS包含输入过滤器,用来转换现场总线特定描述文件(EDS,GSD,ESI)为devdesc.xml

设备描述文件举例:

CODESYS Control Overview_第8张图片

CODESYS设备导航器中的资源树:

CODESYS Control Overview_第9张图片

标准的下载格式:

  1. 初始化IEC数据结构作为所需下载项目的一部分
  2. 可以由IEC代码和C代码访问
  3. 静态配置(连接器列表、每个连接器的参数)
  4. 动态配置(每个任务使用的的I/O模块输入输出列表、每个任务映射的I/Os输入输出列表)
  5. 连接器和参数的识别靠在设备描述中定义的lds
  6. 参数值可以被监测

I/O驱动:

  1. 可以为IEC libraries 或 C-Code libraries
  2. 标准总线的I/O驱动( CANopen, PROFIBUS, DeviceNet, … EtherCAT, PROFINET, Ethernet/IP, Sercos III, …)
  3. OEMs can write own I/O drivers for local I/O, backplane bus, 
  4. I/O驱动负责配置下载、I/O更新和诊断
  5. I/O驱动通过通用I/O接口生效
  6. 必须和设备描述一致

I/O驱动接口函数:

  1. IoDrvUpdateConfiguration()           I/O driver gets the complete list of Connectors. Registers itself to matching
    connectors.
     
  2. IoDrvUpdateMapping()         I/O driver gets the complete ConnectorMapList per task and may optimize
    the list (re-sort, combine, …).
     
  3. IoDrvReadInputs(), IoDrvWriteOutputs()          I/O driver gets a list of driver-specific ConnectorMaps to update I/Os
     
  4. IoDrvScanModules()          I/O driver gets a list of driver-specific ConnectorMaps to update I/Os
     
  5. IoDrvGetModuleDiagnosis()     Module specific diagnosis and upload result to CODESYS
     
  6. and a few more
  • 六.通信和可视化

​​​​​​​概述:

  1. 每个设备都有一个通信网络
  2. 被CODESYS用来下载和编译
  3. CODESYS网关是网络的接入点
  4. Proprietary protocol on communication layer 7
  5. CODESYS devices support routing between base protocols
  6. 块驱动: UDP, TCP, serial, USB, CANopen
  7. 自动寻址
  8. 在网络中扫描设备

CODESYS设备网络的架构如下:

CODESYS Control Overview_第10张图片

  • 七.安全

  • 八.适应性

你可能感兴趣的:(CODESYS Control Overview)