网络化的控制系统简介(NCS)
作为一个搞物联网应用的,最近才接触到NCS这个概念。有点东西,赶紧记录一下。
NCS由通过网络连通的控制环路组成,控制信号和反馈信号会在控制器和本地系统间交换。典型的方块图如下:

其中,本地(Plant)信号是通过传感器(Sensor)进行采集的,然后通过模数转换器转换成数字信号,经过网络到达控制器。控制器根据传感器的输出决定控制,将信号通过网络下发到数模转换器变成模拟信号,经过执行器(Actuator)操作设备。NCS分为开环控制系统和闭环控制系统,这里只看相对复杂的闭环系统。由于控制指令是通过网络下发的,这就是N这个前缀的由来。
NCS的优劣
NCS有一些强大的优势,使得它被标榜为“下一代控制系统”。其中的关键指标有:
降低了系统的复杂度。由于有了网络,各个系统的数据也都能放在一起看。实际就是能源管理系统。
高效共享数据。设备间的参数可以通过网络共享,就可以设计更好的控制算法。就是用能分析。
更智能的决策。有了上面这些信息,人就能做出更智慧的决策。
省去不必要的线路。有了网络,有了无线,就不用有线了。就是无线传感网。
可以轻易扩大网络规模:只要增加网络里的传感器、执行器、控制器就好了。因为无线,容易更换也容易维护。
可以远程控制。
使用范围广阔。可以在分布式电力系统、机器人、无人机、无人驾驶、空间探索、地质探索、工业自动化、远程调试、高危环境、航天器等等各种场景使用。
不过NCS也有一些突出问题:
- 无法决定上数时间。由于有网络,数据到达的时间无法精确控制,所以比较难实现均匀采样。
- 数据完整性不能保证。因为网络原因,可能会丢数。
- 通讯延迟。原因不言而喻,影响就是控制指令不能被立即执行。
- 网络的复杂性。节点数一上来复杂度就上来,就可能影响数据堵塞。所以节点达到数以万计的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)的更多相关文章
- MongoDB 3.0 用户创建
摘要: MongoDB 3.0 安全权限访问控制,在添加用户上面3.0版本和之前的版本有很大的区别,这里就说明下3.0的添加用户的方法. 环境.测试: 在安装MongoDB之后,先关闭auth认证,进 ...
- Git详解及github的使用
1.Devops介绍 1.Devops是什么 开发 development 运维 operations 2.Devops能干嘛 提高产品质量 1 自动化测试 2 持续集成 3 代码质量管理工具 4 程 ...
- Git--02 Devops介绍及git安装部署
目录 1. Devops介绍 01. 运维介绍 02. Devops是什么 03. Devops能干嘛 04. Devops如何实现 2. Git版本控制系统 01. 版本控制系统简介 02. 为什么 ...
- Git版本控制及gitlab私有仓库
Git版本控制系统 版本控制系统简介 版本控制系统是一种记录一个或若干个文件内容变化,以便将来查阅特定版本内容情况的系统 记录文件的所有历史变化 随时恢复到任何一个历史状态 多人协作开发 常见版本管理 ...
- devops持续集成
目录 Devops 版本控制系统 Git安装 Git使用 git四种状态 git基础命令 git分支 git合并冲突 git标签 git命令总结 Github使用 创建仓库 HTTP协议 SSH协议 ...
- 版本控制系统(VCS)简介
简介 版本控制系统(VCS)是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先 ...
- SVN源代码的版本控制系统使用简介
SVN是以个开放源代码的版本控制系统,当前最流行的版本控制系统,GIT是近段时间刚兴起的. 下面开始介绍如何安装也配置 1先下载或者从别的地方弄一个安装包(本人是64位的,32位的就用32位的安装包) ...
- 基于ZigBee的家居控制系统的设计与应用
基于ZigBee的家居控制系统的设计与应用 PPT简介:http://pan.baidu.com/s/1i38PC6D 摘 要 智能家居是未来家居的发展方向,其利用先进的网络技术.计算机技术和无线通 ...
- BAS/BRAS/RADIUS简介
标签: java radius协议 linux radius认证服务器 转自: http://blog.csdn.net/sun93732/article/details/5999274 由R ...
- Git简介
Git从入门到学会 Git简介 Git是什么? Git和SVN一样都是一种高效的管理代码的系统. Git是目前世界上最先进的分布式版本控制系统(没有之一). 创建版本库 什么是版本库呢?版本库又名仓库 ...
随机推荐
- 机器学习策略篇:详解开发集和测试集的大小(Size of dev and test sets)
在深度学习时代,设立开发集和测试集的方针也在变化. 可能听说过一条经验法则,在机器学习中,把取得的全部数据用70/30比例分成训练集和测试集.或者如果必须设立训练集.开发集和测试集,会这么分60%训练 ...
- 如何使用Tushare+ Backtrader进行股票量化策略回测
更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 典型股票量化回测流程 典型的股票量化策略回测流程包括以下几个步骤: 数据获取:首先需要获取所需的股票市场 ...
- fastposter v2.15.0 从繁琐到简单,简洁好用的海报生成器
fastposter v2.15.0 从繁琐到简单,简洁好用的海报生成器 从繁琐到简单,简洁好用的海报生成器 我很高兴向大家推荐一款令人兴奋的工具--Fastposter海报生成器.作为一名开发者,我 ...
- Chrome 插件 V3 版本 Manifest.json 中的内容脚本(Content Scripts)解析
内容脚本(Content Scripts) 指定在用户打开某些网页时要使用的 JavaScript 或 CSS 文件. 内容脚本是在网页环境中运行的文件.通过使用标准文档对象模型 (DOM),开发者能 ...
- Pageoffice6 实现后台生成单个PDF文档
在实际项目中经常遇到这样的场景,客户希望后台动态生成PDF文档,目前网上有一些针对此需求的方案,如果您想要了解这些方案的对比,请查看后台生成单个Word文档中的"方案对比". Pa ...
- echarts(数据可视化图表)
echarts饼图详细 echarts下载 https://echarts.apache.org/zh/index.html echarts官网 http://www.isqqw.com/#/hom ...
- winform 关于无边框和拖动窗体边缘改变尺寸的 踩坑笔记
在做美化winform窗体,实现自定义窗体标题栏,圆角边框,并且支持拖拽窗体,最后还要能拖动窗体左.右.下边缘时,改变窗体的宽和高. 一般网上的都有代码,窗体设成无边框,自己加个panel就能实现自定 ...
- C# winfrom 局域网版多人成语接龙(二)
功能基本上是完成了,要两个人完才好玩,目前 倒计时,每组游戏玩家数量这些控制变量,都是写死再代码里的,等以后想改的时候再改,这个项目核心的功能算是实现了,但还可以扩展,比如记录一下用户的游戏数据,答对 ...
- 工作流Activiti 迁移 Camunda
后端操作 意思就是: ①更改maven②改包名.类名③改bpmn model中语法④检查迁移后有哪些功能缺失了 1.更改maven 改为 2.换包名.类名 意思就是将 org.activiti.* ...
- uniapp 上拉加载下拉刷新
page.json中配置"enablePullDownRefresh": true //单个页面修改刷新按钮的颜色 "app-plus": { "ti ...