任务
在协同团队中,我们设计和制造工业控制器。它们专为资源会计,能源设施管理和其他通常称为物联网(IoT)的应用而设计。通常,我们的客户不仅仅需要控制器。他们需要一个包含控制系统的完整解决方案。
而且该系统应接近最佳状态:快速,轻便且可靠。但是,根据著名的轶事,不可能同时满足所有这些要求。我们需要根据我们试图完成的任务来寻求平衡。
在本文中,我们将自己限制在IoT控制器直接连接到控制系统(Direct-connected IoT)时的任务类别。因此,我们的任务是开发一个管理系统,该系统应:
- 从连接到控制器的传感器传输数据,
- 发送事件(例如,有关温度上升,开门,通讯中断等),
- 传送控制指令给执行器
如果系统由大量对象组成和/或执行重要任务,则它还必须:
- 不断监视与对象进行通信的情况,
- 收集有关您工作的统计数据,
- 更新控制器设置和软件(根据要求);
- 防止未经授权的访问。对于国有和大型私营公司,该系统还必须遵守有关使用关键信息基础结构(CII)的法规。特别是对187-FZ,FSB,FSTEC的要求,电信和大众通信部的命令等。
没有专用服务器的管理
对于几个对象,只需通过SMS命令或呼叫控制GSM网络即可解决问题。这种方法在2010年代初期很流行,例如,在此处介绍了它的优缺点。对于大多数严肃的系统,这种方法如今已失去其实用性。
稍微复杂一点的是通过WEB或命令行(CLI)通过专用IP对控制器进行“手动”控制。控制器必须永久连接到网络,并且具有静态的“白色”或“灰色” IP地址。或者,您可以使用动态IP并通过DynDNS技术或类似技术绑定到静态域名。如果对象很少且对可靠性没有特殊要求,则此方法效果很好。
缺点:
- , WEB () ;
- IP ;
- , NAT;
- IP . , GSM APN ;
- , «»;
- ().
为了进行快速演示,可以控制多个对象,只需通过IP,SMS或电话进行控制即可。
在这里,我们没有考虑当调度程序在同一台计算机上运行并且安装了控制系统时的情况,因为我们认为这是下一项的简化案例。
专用服务器管理
在其他情况下,您需要一台具有专用IP的服务器,控制器,调度程序和第三方系统将通过该IP连接。
如果控制器仅在服务器方向(例如水表或最简单的导航设备(跟踪器))上传输数据,则单向连接就足够了。在这种情况下,控制器仅需要知道服务器IP。
在我们的任务中,需要双向数据交换来更新控制器软件和传输命令。要组织这样的交流,您必须:
- 在控制器的主动下定期从服务器读取设置或命令(如果不需要快速响应命令,则可以接受),或者
- 在控制器上使用静态IP或域名,以便服务器可以自行“访问”它们,或者
- , . , MQTT, EGTS ( ). IP. , .
当涉及基于可靠且可靠的解决方案的控制系统时,SCADA是要记住的第一件事。对于生产自动化或大型能源设施,这是完全合理的。总之,当系统包含大量的各种类型的传感器和执行器时。这样的系统需要开发用于设备交互的助记符图和算法,这对于每个对象都是唯一的,这在SCADA中是经过深思熟虑的。
如果您需要监视和/或管理相同类型的对象(如建议的任务中所述),则由于配置的复杂性,添加标准对象的繁琐工作以及对服务器性能的更高要求,使用SCADA可以使解决方案太“繁重”。最好使用市场上最适合该任务的专用箱式系统之一。例如:
- 网络设备的监视和管理系统-网络管理系统(SNMP,TR-069,CLI);
- 热,电,气,水的自动计量系统。为简洁起见-ASKUE;
- 具有机载系统控制的移动物体导航跟踪系统;
- 气候控制系统(通风,空调和暖气)-HVAC;
- 智能家居/办公室/楼宇系统;
- : , () , ;
- - , ..
这些系统经常相互重叠。例如,基于ASKUE,可以实现对室外照明的控制,而基于“智能房屋”,可以实现对气候和交通的控制。 “生活”系统功能的扩展正在进行中。正在出现新的API,用于将盒装产品集成到客户解决方案中,以及对盒装软件中的自定义功能的支持。盒装产品的一个巨大优势是,可以购买并放置在您的服务器上,因为它们收到了可以在封闭的客户回路中工作的疏远解决方案。
如果您打算在自由市场上销售自己的系统,则需要了解,明天明天竞争对手可能会从今天的盒装软件供应商中成长出来。此外,使用箱式系统还会带来以下额外风险:
- 许可证价格上涨,
- 对系统的控制较弱(没有源代码,即使有,也很难维护),
- 许多系统只能用作云服务,这对于大型和/或政府项目可能是不可接受的。
基于物联网平台的开发
如果无法使用盒装软件,则最好在其中一种流行的IoT平台上进行开发。此类平台包含任何物联网系统所需的通用模块,这些通用模块用于:
- 物联网设备的注册和删除,
- 物联网设备的安全身份验证并保持与它们的通信,
- 处理数据(针对不同任务优化的数据库),
- 用户注册和访问权限管理,
- 根据收集到的数据进行分析,
- 为用户生成通知(SMS,电子邮件,推送消息等),
- 存储从IoT设备读取的最新数据,
- 对事件执行各种操作,
- 数据可视化等
物联网平台上的系统架构实际上与规模无关。该平台负责与负载平衡,消除数据库“刹车”和“繁重”功能相关的所有任务。此外,应用程序的服务器端可以通过“多维数据集”(即微服务)快速组装。上市时间和解决方案成本都减少了,这直接取决于程序员工作的报酬。
可以在最短的时间内开发出物联网平台上的系统。它的体系结构不会随着大小的增加而改变。
在基于云的物联网平台上进行开发的优点:
- . AWS . . .
- , , , MQTT- – . , .
- IoT . ( ) ( IoT ).
- .
- 主要的开发任务可以外包。将来,这种解决方案将不仅能够支持原始系统的开发人员(通常如此)。毕竟,物联网平台具有强大的技术支持,并有据可查,并且可以与之合作的开发人员的数量正在稳步增长。
缺点:
- 物联网平台的组件仅在其所有者的设施上运行,创建一个完全可疏远的系统,该系统将在客户的数据中心工作,在极少数情况下;
- 在大型项目中使用IoT平台的成本可能高于在数据中心中租用虚拟机的成本;
- 从一个物联网平台迁移到另一个物联网平台涉及更改大量代码。尽管现在有API标准化的趋势;
- 并非所有的物联网平台都部署在俄罗斯的数据中心,这使得为政府客户的利益而无法使用它们。
完全自己的发展
如果以前的解决方案的缺点很严重,则需要开发自己的解决方案。而且,无论计划有多好,该系统的第一个版本都会受到影响。
自己的解决方案通常基于ThingsBoard,OpenSCADA,MajorDoMo,Home Assistant,iobroker,Nokia glial等开源系统来实现。对于小型项目,由于以下原因,它们可能太“繁重”:
- 开发时间长,相应的财务费用。通常以人年为单位。
- 随着对象数量的增长,瓶颈将以缓慢的数据库,收集器,报告生成器等形式出现,为此,有必要解决这些问题,更改体系结构并为其补充平衡器和重复资源;
- 持续管理和技术支持的费用。
同时:
对于政府命令,具有雄心勃勃的计划和大量预算的项目,或者在独立性和安全性至关重要的情况下,自己的开发是合理的。
如果您需要快速演示(MVP),则可以在IoT平台或盒装软件上进行操作,采用经过时间考验的方法,同时开发自己的大型解决方案。
结论
在分析不同系统的基础上,提出了以下控制系统选择算法。
对于用于多个对象的演示和小型IoT项目,您可以对IP,SMS或通过GSM呼叫使用直接控制。否则,需要顶层系统。在工业自动化和大型能源设施中使用SCADA是合理的。用于资源计费,网络设备管理,跟踪,安全性,“智能家居”等。使用所需专业化的盒装解决方案很方便。在物联网平台上开发系统更加困难,但是具有更多的视角和灵活性。国外物联网平台的解决方案在俄罗斯的规模和应用领域受到严重限制。最困难的事情是完全自己发展。它仅针对政府命令和最雄心勃勃的项目才是合理的。同时,为了快速演示和复制最佳实践,在您自己的开发过程中,在IoT平台上进行草稿设计将非常有用。
最后,我们要分享一个小的预测:
- 在云物联网平台中,值得等待针对“智能家居”,ASKUE,NMS,ACS等预配置模板的出现。这将进一步简化物联网平台的使用并吸引更多的受众。
- 传统的SCADA开发人员和其他盒装解决方案将为已在IoT平台中证明自己的外部开发人员提供更多工具。密闭盒解决方案不太可能承受市场竞争。
- 面向公共和大型私人客户的家用物联网平台将更加积极地发展。
- 随着时间的推移,不同物联网平台的API将会越来越相似。因此,将从一个物联网平台到另一个物联网平台的过渡将得到简化。
在下一则技术性更强的文章中,我们将讨论在AWS平台和GIC控制器上监视通信系统的项目。
如果我们错过了重要的事情,请务必在评论中写下。我们博客的目标之一是获得建设性反馈。