[其他] AnyControl:一款对标CODESYS的全栈国产化IEC61131-3可编程系统

[复制链接]
查看279 | 回复0 | 2024-1-16 14:19:51 | 显示全部楼层 |阅读模式




图片来源:北京奥特思技术有限公司

可编程控制器是工业自动化领域最常见的控制设备,比如我们常说的PLC、边缘控制器、工控机、运动控制器、机器人控制器、DCS控制站、远程I/O和车辆控制器,都属于可编程自动化控制器。

如同手机需要iOS、Android操作系统一样,一个可编程控制器除了硬件外,还需要操作系统(Runtime)和开发平台(IDE)这些软件。目前市场上,像西门子、罗克韦尔和三菱这些PLC大厂都有自己开发的操作系统和编程环境,而其他更多的企业是采用CODESYS这类第三方的Runtime和IDE来开发自己的可编程控制器。

但由于技术门槛等多种原因,在可编程控制器操作系统和编程环境方面,一直由国外产品占据垄断地位,可用的国产产品屈指可数。因此,控制器的Runtime和IDE也被认为是“卡脖子”技术之一。

所幸的是,随着近几年国家对工业软件等“卡脖子”技术的日益重视,目前市场上已经涌现出一些优秀的基于IEC61131-3标准自主研发的工业可编程软件系统,可为国产化可编程控制器提供Runtime和IDE。由北京奥特思技术有限公司自主开发的AnyControl就是其中的佼佼者,在短短两年多的时间内,不仅实现了产品的迭代升级,而且已经拥有一批国内控制器用户,在功能上已经可以对标知名的CODESYS。

今天,我们就对最新版的AnyControl做深入介绍,让您全面了解这款国产可编程系统的具体功能和特点。



▲Anycontrol IDE界面

01

AnyControl总体介绍

AnyControl是北京奥特思技术有限公司遵循IEC61131-3(GB15969.3)标准自主研发的,用于自动化控制的工业可编程软件系统。AnyControl作为自动化控制系统解决方案,可以集成逻辑控制、运动控制、工业通讯协议、物联网通讯协议、人机界面、工业视觉以及行业应用算法等,并进行统一编程和调试。



02

AnyControl可编程系统主要功能

IEC61131-3可编程系统

跨平台性:IDE和runtime均可以跨平台运行,支持全国产化生态

语言组态:梯形图LD、功能块图FBD、顺序功能图SFC、结构化文本ST、指令表IL和高级语言C/C++

数据组态:标签化变量组织方式,变量名支持中文,支持指针、数组、结构体、功能块和枚举

任务组态:支持多核与多任务调度(任务类型:周期触发、事件触发、自由运行和中断触发等类型)

双机冗余:双机备热冗余,可以支持双/单冗余通讯链路

协议组态:支持多种工业通讯协议,便于与南向和北向设备互联互通

编程调试:在线变量读写、变量趋势显示、变量值强制、断点调试、在线仿真

指令平台:X86、X64、ARMv7 Cortex-M/A、ARMv8 Cortex-A、龙芯

下装无扰:在线修改程序下装无扰,同时支持连续版本和非连续版本的下装无扰

运动控制算法

符合PLCopen Motion Control标准

■ 单轴速度、绝对和相对位置控制

■ 到位输出与高速位置捕捉

■ 联动:电子齿轮和电子凸轮

■ 多轴运动叠加

■ 插补:直线插补、圆弧插补、螺旋线插补、球弧插补

■ 行业应用:追剪、飞剪等

■ 回零点

03

AnyControl系统结构



04

多核与多任务

支持多任务调度

■ 任务可以分配到不同处理器核上运行

■ 支持任务基于优先级的调度

■ 高优先级抢占低优先级任务

■ 同一优先级任务可轮转或者按照时间片调度(依赖调度器设置)

■ 支持任务超时看门狗

支持多任务类型

■ 周期触发任务



■ 边沿触发任务





■ 信号状态任务



■ 自由运行任务



■ 中断触发任务



05

IEC61131-3五种编程语言

■ 梯形图LD

■ 功能块图FBD/CFC

■ 结构化文本ST

■ 顺序功能图SFC

■ 指令表IL

06

C/C++等高级语言扩展

■ 支持C/C++代码静态联编集成到Runtime中





■ 支持动态加载C/C++等语言动态链接库(dll、so等)



■ 可通过IEC61131-3语言调用上述高级语言程序



07

丰富的数据类型


类别

数据类型

描述

标准数据类型

BOOL

BYTE、SINT、USINT、WORD、INT、UINT、DWORD、DINT、UDINT、LWORD、LINT、ULINT

REAL、LREAL

TIME、TOD、DATE、DT、LTIME、LTOD、LDATE、LDT

STRING

支持所有标准数据类型

用户定义数据类型

结构体、枚举、功能块、数组 STRUCT、ENUM、FB、ARRAY

用户定义数据类型可以任意嵌套

扩展数据类型

指针(包括支持函数指针)POINTER

指针可以指向任何数据类型,包括指向函数


08

灵活的调试手段

程序调试

•  图形语言和文本语言的断点调试

•  所有处理器和OS的断点调试

•  单步运行、运行到断点处

•  查看调用栈



在线监控

•  变量在线读写

•  变量监视列表

•  趋势曲线



逻辑仿真

•  PC可被虚拟为物理控制器

•  无需连接物理控制器,即可实现程序逻辑调试

09

全面支持强制:I/O通道和逻辑运算

I/O通道强制:

设备不可用时,可以任意强制I/O通道及变量进行程序调试

逻辑运算强制:

逻辑调试时,可以对变量进行强制且在逻辑中该值不被覆盖



10

遵循PLCopen标准的Motion Control

■ 支持轴的可视化配置

■ 支持PLCopen标准的Motion Control功能块

■ 持续更新的运动控制功能……

11

控制器双机热备冗余

■ 支持控制器双机热备冗余

■ 冗余通讯通道基于标准的UDP协议

■ 冗余通讯通道支持双链路冗余



12

开放的通讯协议

■ 支持可扩展的通讯总线架构,可以方便集成新的通讯协议

■ 支持的通讯协议

•  ModbusRTU主/从

•  ModbusTCP主/从

•  CANopen主/从

•  EtherCAT主站

•  ProfiNet主站

•  OPC UA客户端/服务器

•  Socket通讯(TCP/IP、UDP)

•  串口自由口协议

•  CAN自由口协议

•  控制器间网络变量通讯(基于变量名称)

•  可定制扩展…













13

其他主要功能

■ 在线修改程序下装无扰

■ 可自定义算法工具库和工程模板

■ 变量的自动声明、向导式输入和属性修改

■ 程序自动完成输入助手

■ 支持交叉引用表、跳转到元素定义处和引用处

■ 程序异常保护:除零、数组越界、栈溢出等

■ 文件读写操作

■ 多任务之间同步方式:互斥量、信号量和事件

■ runtime与系统其他进程可共享内存通讯

■ 可与Matlab逻辑衔接

14

核心技术安全可控

开发的工具链:开源、不受控

•  IDE采用开源工具开发,可以“一次编写,处处编译”

•  runtime采用标准C编写,可以用各种支持C的编译链编译

开发出的产品:可跨平台运行

•  IDE:可跨OS和处理器平台运行,可以运行于windows、linux、麒麟等操作系统,运算处理器可以是x86、ARM和龙芯等

•  Runtime:标准C编写的Runtime可以很好适配各种操作系统和处理器平台

源代码掌控度:百分之百

•  IDE:100%掌控

•  Runtime:100%掌控

06


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则