我们如何在SIBUR中构建用于移动爬网的系统

当涉及任何技术复杂的生产的协调工作时,安全的重要性很难被高估。 而且,如果我们谈论的是石化行业,那就更是如此。 在这里,安全涉及到一系列的措施:访问控制,受特别保护的外围设备,饥饿的狗,视频监控以及技术节点的良好状态。 今天我们将讨论这些节点。




即使在一个平台内,也存在许多复杂的机制和设备。 复合阀门和塞子,泵,管道,灭火装置,电子设备-必须进行所有监控,在正确的时间每个节点都应具有某些参数:管道中的压力,节点温度,任何塞子的打开程度等。 当然,许多最关键的参数都是电子控制的,但是在很难做到这一点的地方,良好的老式步行便会发挥作用。

因此,现在,架线员在我们的设施中喝完茶,与他进行对讲机与同事交流,记录下可能出现的缺陷或偏离规范的笔记本电脑,耐心且心情愉快,然后在现场进行徒步旅行。 如果他发现一些严重的异常情况,请通过无线电报告,然后采取措施将其消除。 然后,在完成绕行之后,他去了工作场所,并在一段时间内重写了总报告中所有发现的门框。 在纸上的手。

当然,考虑到轮班的总数,变通的频率和个人的写作速度,本文的所有工作都花费大量时间。 但是,随后还必须拆卸手写体。 因此,我们决定通过编写用于移动爬网的应用程序,使爬虫和我们自己的生活更加轻松。

可以简化调线员的事实是可以理解的,因为您不再需要用手将所有内容写在笔记本上,然后花费时间来生成报告。 他们注意到的任何事件都是由他使用移动应用程序引入的,系统立即以可读格式将其归档到常规报告中。

该公司的另一个优点是减少了现场的设备停机时间。 在当前现实中,中型石化产品的1个小时停机时间需要花费几百万卢布。 与关闭站点的一部分并观看时钟,观察恢复工作相比,可以明显地花费更多的钱。

值班主管的工作更加轻松-立即清楚知道下一次绕行的方式是多么彻底和仔细(以及原则上是否完美),发现了哪些缺陷,应归咎于谁以及该怎么做。 如果发生了什么事-现在,管理人员可以立即在应用程序聊天中向线务员提供必要的指示(“三亚,紧紧旋转,然后突然发生什么”)。

实际上,这些是我们试图解决的主要难题。

应用程序和智能手机


如果您将所有内容(后端,前端,移动应用程序,设计)作为一个整体进行统计,则大约有15个人在使用该应用程序。

他们决定在.NET Core上做后端,在reactjs上做前端,并且没有Kotlin和Java。

目前,在我们的一个站点中有一个正在工作的飞行员-架线工需要进行以下工作:





智能手机看起来并不像这样,因为爬虫可以将其掉落,用钉子砸两钉或用有针对性的投掷来消灭周边犯罪分子,但是由于现场电子设备的主要要求之一是防爆,也就是说,该设备不应成为爆炸源(不是产生火花等)。 毕竟,任何事情都会发生-在某个地方会发生气体喷射,除非附近有人想要吸烟,将一块铁焊接到另一块铁上,或者由于某种原因手机无法通过,否则喷射气体本身并不是那么危险下雨了。 含义非常明显。

因此,该站点上的主要任务是针对任何威胁,无论看上去多么不可能,都应采取应对措施。 顺便说一句,出于同样的原因,我们的蓝牙信标和NFC标签看起来都不像每个人都熟悉的简洁信标,但是像这样:





用于抓取的设备分别在标准Android上运行,我们为此平台编写了该应用程序。 由于该应用程序可用:

  • 使用员工的NFC标签进行绕行的员工授权(智能手机已将带有标签的员工通行证附加到智能手机上,智能手机可以了解当前正在轮班的人员);
  • 带有发现缺陷报告及其描述的移位屏幕(您可以在智能手机上拍照并提供相关描述);
  • 有关已完成工作的统计数据(值班主管将要绕过的特定任务设置为必须完成,在回合期间可能通过推送到达某些内容);
  • 轮班组成(同事名单和上一轮的同事名单);
  • 固定的缺陷(发现问题的时间,设备的名称及其代码,问题的类型,照片,设备的状态等);
  • 聊天以快速解决问题;
  • 完整的报告(花费的时间等)。


我们还考虑了在历史过程中创造历史的可能性,但认为这还不值得。

平均而言,一班8人,而自己4班。我们将系统监禁为平均2500人(因为现在是一个站点的飞行员,现在我们有22个站点和150个装置)。

绕过


站点,设备和必要区域挂有BT信标和NFC标签。 在某些地方,为了将外围标记为已验证,蓝牙就足够了,但是您需要使用NFC。 为什么这样 因为有某些类型的设备可以进行验证,只需输入BT信标的范围就足够了(足以证明被测物仍然存在于同一个地方并且没有被吹走),而其他设备则需要进行更彻底的检查,使用精确的测量仪器,固定参数和指示器。

因此,员工必须使用智能手机触摸被测设备的NFC标签,以便系统将其视为验证。

另外,在每个信标中,我们缝制了必须使用与信标绑定的设备进行的检查清单。 员工输入BT信标设备的半径,并在应用程序中收到一份清单,其中明确需要对此铁片进行检查。 NFC标签也一样。 他触摸了设备-检查智能手机的清单-进行了检查。 例如,我将智能手机连接到泵上,并得到一个列表:“检查温度”,“检查压力”和其他参数。

因此,一旦员工进入BT-beacon区域,在管理层的图表上,该区域就会标记为绿色(也就是说,该员工曾在该区域并检查了此节点),如果使用NFC标签,则该员工会在列表中标记每个手动检查。

这样,我们可以解决员工的健忘问题(尽管如此,一个人可以过度劳累并在设备上执行12项必要的检查,例如11项,而他始终在智能手机的屏幕上手边有一份检查清单),并且我们可以更清晰地生成报告(结果将会看到检查了哪些节点,以及由特定搜寻器进行了哪些检查)。

由于事实证明现在几乎所有事情都可以通过该智能手机完成,因此我们正在研究拒绝对讲机的可能性-最后,爬虫已经在智能手机上了,为什么不通过它从应用程序发送语音消息。 相应地确保了站点之间的通信级别,因此应该没有问题。

这是针对搜寻器中的应用程序的。 这就是换班主管的样子。

系统


在站点的总体布局上,管理人员可以看到标记的区域以及与需要检查的设备相对应的每个传感器。 一旦架线工标记了用智能手机检查的周边或一块铁,图表中的相应区域就会涂成绿色。

我们编写了一个方便的仪表板,以便可以方便地监视所有内容并生成报告,以及在爬网过程中立即为爬网程序提供新任务(有时有此需要)。

借助微服务架构,我们实现了所有这些业务的协调工作。 一切看起来像这样(我们将对此进行更详细的讨论):



后端的全文本搜索是在Elasticsearch上完成的。

那又怎样


现在,我们已经解决了导致创建系统的主要问题,您可以在其上悬挂其他小东西。 例如,我们将拆分基础以加快整个系统的运行速度。

而且,我们还希望了解填写完整的维修请求并跟踪其实施的可能性。

当然,请关闭许多错误。 现在,例如,有时爬网程序抱怨应用程序运行所需的权限来自手机。

总的来说,该飞行员非常成功,尽管他尚未能够收集到最清晰的事件统计信息,例如,一名爬虫在现场走来走去,发现其中一个存根很松散,只是在旅途中对其进行了纠正,然后说:“该死,列表上的这是什么?存款。” 也就是说,坦率的小事情总是在旅途中得到纠正,但并不总是记录在报告中。 但是我们要修复所有小问题。

最主要的是有用的换档时间已经变好了。

到目前为止,这是我们可以用来建立统计信息的所有数据,因为飞行员是飞行员,但总的来说,每个人都很高兴。

包括爬虫。

Source: https://habr.com/ru/post/zh-CN428353/


All Articles