可编程控制器是工业自动化领域最常见的控制设备,比如我们常说的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 丰富的数据类型
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 已有合作客户