最近有位博友提出了一种应用场景,根据工作中实际遇到的类似的产品应用场景,记录下自己的解决方案。

场景: 需要在云端控制和采集各个站点的PLC数据。各个站点是分散的,每个站点有公网访问能力,但是分散站点的PLC没有固定IP,部分站点PLC设备不止一台。

方案一:

在这种场景下,其实最优和高效的解决方案是,使用物联网网关+MQTT的方式最可靠。这种方案比较简单,在每个站点的PLC上层加上物联网网关,网关与PLC设备进行数据通信。物联网网关一般支持多种数据协议,包括像Modbus等工控协议。

所以使用物联网网关 就不需要考虑设备层的协议解析问题,这部分工作网关内已经集成过了,然后网关多数会以MQTT的形式发送数据,MQTT报文多数为JSON格式的明文。所以采集只需按照不同厂家的网关的上传格式解析json字符串就能拿到数据,

控制的话流程也是这样,按照指定的格式拼装JSON字符串通过MQTT发送即可,MQTT服务的搭建我在之前的博客中介绍过,这里不在赘述。

所以使用物联网网关可以省去很大一部分工作量,但是缺点就是网关的费用是一笔不小的支出。还有就是现场没有宽带网络的话就需要使用物联网卡,通过3/4/5G通道传输。这样的话流量费也是比较大的支出。

所以项目经费充足,稳定性要求高的话可以采用这种方案。

方案二:

这里重点介绍下经济实惠的方案二。方案二采用Modbus协议直读的方式.

简单介绍下大致思路,首先站点分散,每台PLC没有固定IP,这样的话传统方式,在云服务器安装组态然后再去给各个PLC建点,读取数据的方式显然走不通。因为再云服务器找不到各个站点的PLC,在这种情景下,云服务器对各个PLC是可见的,

因为云服务器有公网IP,各个站点可以访问,但是云服务器无法访问到各个设备,因为他们不在一个局域网里。

所以传统路线是无法获取数据。考虑下别的思路。

在这里考虑用到虚拟串口+Modbus 直读的方式实现,这也是在类似项目遇到相同问题后的解决方案。在中小型规模的情况下满足使用需求,数据采集响应时间在5s内,当然也可以对程序进一步优化达到更好的效果。

具体方法:

步骤一,打开虚拟串口工具,监听TCP端口,注意选择TCPServer,端口选择已经映射过的且公网能访问的端口即可,

第二步:在与PLC相连的DTU上配置好 IP和端口,就是上面配置的监听端口。这样的话站点PLC 就通过TCP的形式和服务器建立起了连接。说到这里大家应该就清楚了,通过DTU和虚拟串口的目的,就是间接的将PLC与服务器连接在一起,这就好比通过一根无形

的串口线将PLC与服务器连接在一起,这样的话。接下来就该怎么读取就怎么读了,直接通过modbus从虚拟串口读取就可以了。控制也是一样。

我这里用Modsim模拟PLC

Modsim 连接串口三 COM3,这里TCPClient 就是实际应用中的DTU,连接到服务器的 8234 端口。这样PLC就与服务器连接上了。

然后,这里服务器我用kepserver 建了2个点模拟读取,

读取成功

这里大家可能会有疑问,如果多台PLC怎么办,其实是一样的,但是这里的多台PLC需要通过PLC 的DeviceID来区分。 多台PLC也是统一发到服务器的一个监听端口的。

这样,这种思路的PLC数据读取的方式就结束了。其实效果还是可以的。

特定场景下的PLC 远程控制和数据读取的更多相关文章

  1. 自己总结的C#编码规范--3.特定场景下的命名最佳实践

    特定场景下的命名最佳实践 命名空间 要使用PascalCasing,并用点号来分隔名字空间中的各个部分. 如Microsof.Office.PowerPoint 要用公司名作为命名空间的前缀,这样就可 ...

  2. 特定场景下Ajax技术的使用

    ajax介绍 jax技术包含了几种技术:javascript.xml.css.xstl.dom.xhtml和XMLHttpRequest七种技术,所以ajax就像是粘合剂把七种技术整合到一起,从而发挥 ...

  3. 特定场景下SQL的优化

    1.大表的数据修改最好分批处理. 1000万行的记录表中删除更新100万行记录,一次只删除或更新5000行数据.每批处理完成后,暂停几秒中,进行同步处理. 2.如何修改大表的表结构. 对表的列的字段类 ...

  4. HBase指定大量列集合的场景下并发拉取数据时卡住的问题排查

    最近遇到一例,HBase 指定大量列集合的场景下,并发拉取数据,应用卡住不响应的情形.记录一下. 问题背景 退款导出中,为了获取商品规格编码,需要从 HBase 表 T 里拉取对应的数据. T 对商品 ...

  5. 使用Swoole测试MySQL在特定SQL下的并发性能

    场景描述 从全文检索或者缓存中获取ID,根据ID查询数据库获取基础信息,进行页面展示 SQL:select * from table where id in(id1,id2,id3...id40) 此 ...

  6. 亿级流量场景下,大型缓存架构设计实现【1】---redis篇

    *****************开篇介绍**************** -------------------------------------------------------------- ...

  7. 美团在O2O场景下的广告营销

    美团作为中国最大的在线本地生活服务平台,覆盖了餐饮.酒店.旅行.休闲娱乐.外卖配送等方方面面生活场景,连接了数亿用户和数百万商户.如何帮助本地商户开展在线营销,使得他们能快速有效地触达目标用户群体提升 ...

  8. 浅谈Vue不同场景下组件间的数据交流

    浅谈Vue不同场景下组件间的数据“交流”   Vue的官方文档可以说是很详细了.在我看来,它和react等其他框架文档一样,讲述的方式的更多的是“方法论”,而不是“场景论”,这也就导致了:我们在阅读完 ...

  9. mock以及特殊场景下对mock数据的处理

    一.为什么要mock 工作中遇到以下问题,我们可以使用mock解决: 无法控制第三方系统某接口的返回,返回的数据不满足要求 某依赖系统还未开发完成,就需要对被测系统进行测试 有些系统不支持重复请求,或 ...

随机推荐

  1. asp.net中挺高性能的24种方法

    那性能问题到底该如何解决?以下是应用系统发布前,作为 .NET 开发人员需要检查的点. 1.debug=「false」 当创建 ASP.NET Web应用程序,默认设置为「true」.开发过程中,设置 ...

  2. 一个开源的C#和cefsharp项目:逐浪字体大师pc版上线(附源码开源)

    z01逐浪字体大师,是一款基于C#和web引擎开发的字体设计软件,可以打开直接写字,也可以链接官方资源 ,附Github开源库,欢迎大家下载.客户端技术是基于wpf设计的,整个界面精美,与逐浪CMS技 ...

  3. halcon基础算子介绍(窗口创建,算子运行时长,是否启用更新函数)

    前言 halcon有有大约1500个算子,我总结一些简单大家用得到的算子,比如创建窗口的方式有3种,接下来结束这方式,及其异同点等! 1.窗口创建的三种方式 1.1使用dev_open_window算 ...

  4. [cf1444D]Rectangular Polyline

    由于两种线段要交替出现,有解的必要条件即为$h=v$(以下均记为$n$) 进一步的,再假设两种线段依次对应于向量$(a_{i},0)$和$(0,b_{i})$,根据题意要求向量长度为给定值且和为0,那 ...

  5. Vue3学习与实战 · 全局挂载使用Axios

    在vue2中会习惯性的把axios挂载到全局,以方便在各个组件或页面中使用this.$http请求接口.但是在vue3中取消了Vue.prototype,在全局挂载方法和属性时,需要使用官方提供的gl ...

  6. vip视频解析保存

    无广告通用:https://vip.52jiexi.top/?url= 腾讯直解 无广告解析:https://jx.lfeifei.cn/?url= 无广告解析:https://api.steak51 ...

  7. Java LinkedList小记

    1. 基本用法 LinkedList实现了List.Deque.Queue接口,可以按照队列.栈和双端队列的方式进行操作.LinkedList有两个构造方法,一个是默认构造,另一个接受Collecti ...

  8. Codeforces 704C - Black Widow(dp)

    Codeforces 题目传送门 & 洛谷题目传送门 u1s1 感觉这种题被评到 *2900 是因为细节太繁琐了,而不是题目本身的难度,所以我切掉这种题根本不能说明什么-- 首先题目中有一个非 ...

  9. Sums gym100753M

    Sums gym100753M 同余最短路模板,然而这个东西貌似也可以做去年D1T2 首先我们选择一个模数作为基准,然后剩下的这样连边: 对于一个面值为 x 的硬币 ,当前在 u 这个点(感性理解一下 ...

  10. 【豆科基因组】普通豆/菜豆/四季豆Common bean (Phaseolus vulgaris L.) 683个自然群体重测序2020NG

    目录 一.来源 二.结果 683份材料重测序 地方种landraces和育种品系breeding lines的多样性 表型和基因-环境互作(G by E) 菜豆产量潜力相关的MTAs(显著关联位点) ...