作为一个搞物联网应用的,最近才接触到NCS这个概念。有点东西,赶紧记录一下。

NCS由通过网络连通的控制环路组成,控制信号和反馈信号会在控制器和本地系统间交换。典型的方块图如下:



其中,本地(Plant)信号是通过传感器(Sensor)进行采集的,然后通过模数转换器转换成数字信号,经过网络到达控制器。控制器根据传感器的输出决定控制,将信号通过网络下发到数模转换器变成模拟信号,经过执行器(Actuator)操作设备。NCS分为开环控制系统和闭环控制系统,这里只看相对复杂的闭环系统。由于控制指令是通过网络下发的,这就是N这个前缀的由来。

NCS的优劣

NCS有一些强大的优势,使得它被标榜为“下一代控制系统”。其中的关键指标有:

  1. 降低了系统的复杂度。由于有了网络,各个系统的数据也都能放在一起看。实际就是能源管理系统。

  2. 高效共享数据。设备间的参数可以通过网络共享,就可以设计更好的控制算法。就是用能分析。

  3. 更智能的决策。有了上面这些信息,人就能做出更智慧的决策。

  4. 省去不必要的线路。有了网络,有了无线,就不用有线了。就是无线传感网。

  5. 可以轻易扩大网络规模:只要增加网络里的传感器、执行器、控制器就好了。因为无线,容易更换也容易维护。

  6. 可以远程控制。

  7. 使用范围广阔。可以在分布式电力系统、机器人、无人机、无人驾驶、空间探索、地质探索、工业自动化、远程调试、高危环境、航天器等等各种场景使用。

不过NCS也有一些突出问题:

  1. 无法决定上数时间。由于有网络,数据到达的时间无法精确控制,所以比较难实现均匀采样。
  2. 数据完整性不能保证。因为网络原因,可能会丢数。
  3. 通讯延迟。原因不言而喻,影响就是控制指令不能被立即执行。
  4. 网络的复杂性。节点数一上来复杂度就上来,就可能影响数据堵塞。所以节点达到数以万计的NCS也是很难建设的。

NCS的设计

控制指令最先是仿真处理器上产生的,主要通过频域分析和拉普拉斯变换做数据分析,精确度有限、带宽有限、数据漂移、有噪声,管理非线性误差能力不足。对于已知的延迟可以在控制时使用著名的史密斯预测器处理。

后来CPU出现了,可以用数字控制器代替模拟处理器了。但是通过离散电信号控制模拟量设备必然导致时序紊乱。另外还必须引入逻辑进行数模转换。采样定理和z变换成为了数字控制系统的标配。z变换假定采样时均匀的,这样对于数字控制器,定时采样也成了标配。在数字控制早期,CPU算力和内存都很稀缺,所以控制器的复杂度和电力的使用都要最小化。定时采样假设是否最好,结论并不明显。所以1962年有人写了文章使用了适应性采样:《Adaptive sampling frequency for sampled-data control systems》,采样频率会根据错误率调整。随着计算成本的下降,适应性采样逐渐没了市场。

从计算侧着手,1973年发表的《Scheduling algorithms for multiprogramming in hard real-time environment》提出了实时调度建模和分析,实时调度是基于一系列限制性假设的,其中之一是任务的周期性。尽管后来越来越多的假设来限制实际问题,不过周期性一直最流行。另外网络拓扑会随着时间改变,因为受控设备会换位置。所以总体上控制系统在动态环境是高度适应性的。尤其无线通信允许网络的快速部署来远程控制,但网络也有问题,上面也都提到了。这些问题都会影响数字控制器。下图是控制性能和采样率的平衡:



图中有三根线,分别是本地控制(Continuous Control)、数字控制(Digital Control)、网络控制(Networke Control)。可见网络控制的性能只在B和C间不错,超过C也会下降。

下表是传统控制系统和网络化系统的区别汇总:

网络化的控制系统简介(NCS)的更多相关文章

  1. MongoDB 3.0 用户创建

    摘要: MongoDB 3.0 安全权限访问控制,在添加用户上面3.0版本和之前的版本有很大的区别,这里就说明下3.0的添加用户的方法. 环境.测试: 在安装MongoDB之后,先关闭auth认证,进 ...

  2. Git详解及github的使用

    1.Devops介绍 1.Devops是什么 开发 development 运维 operations 2.Devops能干嘛 提高产品质量 1 自动化测试 2 持续集成 3 代码质量管理工具 4 程 ...

  3. Git--02 Devops介绍及git安装部署

    目录 1. Devops介绍 01. 运维介绍 02. Devops是什么 03. Devops能干嘛 04. Devops如何实现 2. Git版本控制系统 01. 版本控制系统简介 02. 为什么 ...

  4. Git版本控制及gitlab私有仓库

    Git版本控制系统 版本控制系统简介 版本控制系统是一种记录一个或若干个文件内容变化,以便将来查阅特定版本内容情况的系统 记录文件的所有历史变化 随时恢复到任何一个历史状态 多人协作开发 常见版本管理 ...

  5. devops持续集成

    目录 Devops 版本控制系统 Git安装 Git使用 git四种状态 git基础命令 git分支 git合并冲突 git标签 git命令总结 Github使用 创建仓库 HTTP协议 SSH协议 ...

  6. 版本控制系统(VCS)简介

    简介 版本控制系统(VCS)是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先 ...

  7. SVN源代码的版本控制系统使用简介

    SVN是以个开放源代码的版本控制系统,当前最流行的版本控制系统,GIT是近段时间刚兴起的. 下面开始介绍如何安装也配置 1先下载或者从别的地方弄一个安装包(本人是64位的,32位的就用32位的安装包) ...

  8. 基于ZigBee的家居控制系统的设计与应用

    基于ZigBee的家居控制系统的设计与应用 PPT简介:http://pan.baidu.com/s/1i38PC6D 摘  要 智能家居是未来家居的发展方向,其利用先进的网络技术.计算机技术和无线通 ...

  9. BAS/BRAS/RADIUS简介

    标签: java radius协议   linux radius认证服务器   转自: http://blog.csdn.net/sun93732/article/details/5999274 由R ...

  10. Git简介

    Git从入门到学会 Git简介 Git是什么? Git和SVN一样都是一种高效的管理代码的系统. Git是目前世界上最先进的分布式版本控制系统(没有之一). 创建版本库 什么是版本库呢?版本库又名仓库 ...

随机推荐

  1. 大模型高效微调详解-从Adpter、PrefixTuning到LoRA

    一.背景 目前NLP主流范式是在大量通用数据上进行预训练语言模型训练,然后再针对特定下游任务进行微调,达到领域适应(迁移学习)的目的. 指令微调是预训练语言模型微调的主流范式 其目的是尽量让下游任务的 ...

  2. ubuntu安装 vmware workstation pro 15.1.1

    BIOS开启虚拟化 如果没有就参考下面的连接地址设置 http://robotrs.lenovo.com.cn/ZmptY2NtYW5hZ2Vy/p4data/Rdata/Rfiles/726.htm ...

  3. docker 安装nginx 配置目录挂载

    目录 nginx 的安装 运行mynginx容器 设置开机自动启动容器 nginx 的安装 mkdir /usr/local/docker cd /usr/local/docker docker ru ...

  4. Mybatis-plus把List数据分页

    一.编写工具类: /** * @project * @Description 多表联查-分页 * @Author songwp * @Date 2022/8/8 10:31 * @Version 1. ...

  5. MySQL面试必备二之binlog日志

    本文首发于公众号:Hunter后端 原文链接:MySQL面试必备二之binlog日志 关于 binlog,常被问到几个面试问题如下: binlog 是什么 binlog 都记录什么数据 binlog ...

  6. 聊聊 JSON Web Token (JWT) 和 jwcrypto 的使用

    哈喽大家好,我是咸鱼. 最近写的一个 Python 项目用到了 jwcrypto 这个库,这个库是专门用来处理 JWT 的,JWT 全称是 JSON Web Token ,JSON 格式的 Token ...

  7. Android 13 - Media框架(16)- OpenMax(四)

    关注公众号免费阅读全文,进入音视频开发技术分享群! 这一节继续了解 openmax 目录下的内容. 1.OMX_Core.h 1.1.OMX_BUFFERHEADERTYPE 这是一个比较关键的结构体 ...

  8. Android 12(S) ALooper AHandler AMessage(一)

    卧榻之侧岂容他人酣睡,到现在ALooper AHandler AMessage的工作原理一直都没搞懂,很慌!看他们的路径都在libstagefright/foundation下,作为一个foundat ...

  9. RTOS官方文档学习

    任务与协程 区别 一个程序可以只有任务.只有协程.二者都有,但不可以通过队列/信号量互相传递数据 任务特点 任务之间可以互相独立 每个任务分配自己的堆栈,提高了RAM使用率 操作简单.按优先级抢占式执 ...

  10. Android桌面Launcher源码浅析

    在Android启动过程-万字长文(Android14)中介绍了Android系统的启动过程,本篇文章将继续介绍桌面应用Launcher. 一.Launcher介绍 在Android启动过程-万字长文 ...