作为一个搞物联网应用的,最近才接触到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. 机器学习策略篇:详解开发集和测试集的大小(Size of dev and test sets)

    在深度学习时代,设立开发集和测试集的方针也在变化. 可能听说过一条经验法则,在机器学习中,把取得的全部数据用70/30比例分成训练集和测试集.或者如果必须设立训练集.开发集和测试集,会这么分60%训练 ...

  2. 如何使用Tushare+ Backtrader进行股票量化策略回测

    更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 典型股票量化回测流程 典型的股票量化策略回测流程包括以下几个步骤: 数据获取:首先需要获取所需的股票市场 ...

  3. fastposter v2.15.0 从繁琐到简单,简洁好用的海报生成器

    fastposter v2.15.0 从繁琐到简单,简洁好用的海报生成器 从繁琐到简单,简洁好用的海报生成器 我很高兴向大家推荐一款令人兴奋的工具--Fastposter海报生成器.作为一名开发者,我 ...

  4. Chrome 插件 V3 版本 Manifest.json 中的内容脚本(Content Scripts)解析

    内容脚本(Content Scripts) 指定在用户打开某些网页时要使用的 JavaScript 或 CSS 文件. 内容脚本是在网页环境中运行的文件.通过使用标准文档对象模型 (DOM),开发者能 ...

  5. Pageoffice6 实现后台生成单个PDF文档

    在实际项目中经常遇到这样的场景,客户希望后台动态生成PDF文档,目前网上有一些针对此需求的方案,如果您想要了解这些方案的对比,请查看后台生成单个Word文档中的"方案对比". Pa ...

  6. echarts(数据可视化图表)

    echarts饼图详细 echarts下载 https://echarts.apache.org/zh/index.html  echarts官网 http://www.isqqw.com/#/hom ...

  7. winform 关于无边框和拖动窗体边缘改变尺寸的 踩坑笔记

    在做美化winform窗体,实现自定义窗体标题栏,圆角边框,并且支持拖拽窗体,最后还要能拖动窗体左.右.下边缘时,改变窗体的宽和高. 一般网上的都有代码,窗体设成无边框,自己加个panel就能实现自定 ...

  8. C# winfrom 局域网版多人成语接龙(二)

    功能基本上是完成了,要两个人完才好玩,目前 倒计时,每组游戏玩家数量这些控制变量,都是写死再代码里的,等以后想改的时候再改,这个项目核心的功能算是实现了,但还可以扩展,比如记录一下用户的游戏数据,答对 ...

  9. 工作流Activiti 迁移 Camunda

    后端操作 意思就是: ①更改maven②改包名.类名③改bpmn model中语法④检查迁移后有哪些功能缺失了 1.更改maven 改为 2.换包名.类名 意思就是将  org.activiti.*  ...

  10. uniapp 上拉加载下拉刷新

    page.json中配置"enablePullDownRefresh": true //单个页面修改刷新按钮的颜色 "app-plus": { "ti ...