IIoT小课堂 | 数据采集篇 (答疑与实操大全)
off999 2024-12-16 15:21 13 浏览 0 评论
前言
疯狂的老鼠年即将过去,在距离老牛接岗的最后一周时间里,剑指工控特邀国内IT/OT融合专家为大家开辟了一个小专栏——IIoT小课堂,每日一篇。通过5个主要的应用场景为大家展示IIoT融合和落地的实际运行成果,演示IT技术解决OT难题的魅力,以此送走老鼠,喜迎黄牛。
首先,我们来解答一下昨天的问题:
如果出现大范围IP冲突怎么办?
1、通过三层交换机 VLAN 划分;
2、通过1:1 NAT专用地址转换模块进行IP地址转换。
推荐产品:
1783-NATR(罗克韦尔)
WL-550V-LT(伟联科技)
还有哪些设备联网?
“A coin 乘风破浪会有时”提出了阀岛,扫描枪,位置传感器,也属于比较典型的联网设备;这个答案相信其他读者也比较支持。
另外,回答几个昨天留言的典型问题:
如果现场有多种通讯方式,以太网,OPC,485等等该怎么组网呢?如果虚拟串口出来能接几个站号?32吗?
(微信名:键)
现场多种通讯方式,请关注今天文章内容;VSPD在windows系统下最多可虚拟256个串口,如果串口比较多的情况下,建议选用协议转换模块,毕竟虚拟出来的串口也是要占用中断号的。
如果应用广域网的话,会不会对工业生产的安全性和保密性有影响?
(微信名:嗯)
1、连接广域网的设备尽量选择带有防火墙功能产品;
2、如果不具备第一条,可以在企业和监测站之间部署单向网闸或者防火墙产品进行隔离;
3、在线监测设备只会读取企业的环保数据,不会访问企业的生产数据,所以数据保密性无需担心。
第二讲数据采集篇
昨天我们讲了互联,如何把现场的PLC,HMI,变频器,阀岛,扫描枪,传感器等设备连接起来。那么今天我们来讲:
如何来获取连接起来的这些设备的数据?
有哪些类型的工业数据?
第一类:直接IO数据,典型的如,开关,指示灯,调节器,热电阻,4-20mA变送器,互感器等等,这些数据都是现场设备通过硬接线的方式将现场的IO信号接入到数据采集模块,那这些模块需要具备开关量输入通道,开关量输出通道,模拟量输入通道(4-20mA/0-10V/RTD/热电偶),模拟量输出通道(4-20mA/0-10V);直接IO的数据采集模块主要包括PLC,DCS以及很多品牌的远程IO模块,比如:Turck,ifm,AB以及四川零点和南京德克威尔等。
第二类:通讯协议数据,其实第一类的远程Remote IO将IO数据采集后都是需要转换为其中一种工业协议将数据上传到中心控制系统.
过程自动化有哪些常用的协议?
那么常见工业协议给大家做个简单汇总:
串口类:
Modbus RTU,Modbus Plus(MB+),DF1(AB),DH485(AB),DH+(AB),PPI/MPI(SIEMENS),Profibus-DP, HostLink, MechatroLink, DirectNe
以太网类:
Modbus TCP/IP,EtherNet/IP,ProfiNet,S7comm,EtherCAT,PowerLink, FINS,MCP,EGD,CC-Link
行业专用协议
当然了除了以上协议之外,我们常见的还有DeviceNet,ControlNet,Profibus-PA,OPC DA,OPC UA等等,以上这些协议都是我们在做数据采集时经常遇到的。
数据上传到哪里?
那我们通过什么设备可以获取这些协议控制器的数据,把数据获取到要送到哪里?或者存储到哪里?
获取以上设备的数据我们可以通过一些网关或者软件来采集:
- 网关只需要一个24VDC电源给其供电即可,
- 软件需要操作系统的支持,就需要部署一台工控机来进行软件部署,而大部分工控机标准接口为以太网,这对于特殊接口协议来讲虽然软件支持,但是工控机本身不支持,所以通用性就降低了很多;
无论是网关还是软件,我们把数据采集后一定会送到一个地方,那这个地方一种可能是IT人员开发的物联网平台,一种可能是OT人员开发的SCADA系统,还有一种就是大数据分析需要的数据库。
三种典型的需求
01
集团信息中心开发了集团数据中心,平台已经开发好,需要生产现场上传部分生产数据和设备状态信息,集团数据中心支持OpenAPI,那么文件是这样的….
- MMM管理系统IMS的服务地址格式为https://IP地址:port,默认端口为xxx;
- IMS采用的外部接口采用Token方式进行认证,应用方使用IMS分配的访问ID和访问Secret向IMS获取访问Token,随后应用方的所有请求需携带此Token,接口中所有类型为timestamp的时间均指为从UTC1970年01月01日午夜开始经过的毫秒数。
- 于API接口调用返回的结果统一采用json格式,返回的接口内容格式如下:
{ "code"://返回码
"msg"://返回信息
"data"://返回详细数据
}
上面这段文字,大家读完以后我不知道是什么赶脚?
反正很多工控老炮到这里估计要挂了,觉得此案与我无关。
我们继续往下读,大概内容是这样的,人家也给提供了一个例子
{"object_level":"e_monitor_area,
e_monitor_blank,e_monitor_eqpt_main"}
调用接口后返回数据正常时返回的数据包示例:
{ "code":1000,
"msg":"ok",
"data":{
"list":[
{
"id_monitor_obj":"23e7ef80-235f-11e9-a774-286ed488c668",
"id_parent":"59c2291be0a749fba95c7763c199518e",
"name":"A相避雷器",
"object_level":"e_monitor_eqpt_main",
"type":"e_eqpt_type20",
"voltage_level":"e_voltage_ac_10kv"
},
{
"id_monitor_obj":"2dad1cda-235f-11e9-a774-286ed488c668",
"id_parent":"59c2291be0a749fba95c7763c199518e",
"name":"B相避雷器",
"object_level":"e_monitor_eqpt_main",
"type":"e_eqpt_type20",
"voltage_level":"e_voltage_ac_10kv"},
{
"id_monitor_obj":"3665a0cf-235f-11e9-a774-286ed488c668",
"id_parent":"59c2291be0a749fba95c7763c199518e",
"name":"C相避雷器相避雷器",
"object_level":"e_monitor_eqpt_main",
"type":"e_eqpt_type20",
"voltage_level":"e_voltage_ac_10kv"
}
]
}
}
(左右滑动看完整程序)
看到这里奉劝各位工控人别看了......直接打电话找北京伟联科技有限公司,专业的事儿交给专业的人,北京伟联科技有限公司明星产品WL-320E-M专为打通IT和OT通道而生,将工业现场的各种通讯协议采集上来的数据轻松发送到物联网平台,你可以通过MQTT,也可以通过HTTP,你可以通过JSON,也可以通过Python。
02
数据分析平台已经建设完毕,但是生产层数据由于通讯协议众多,而且IT侧只有数据库接口,有没有一款能支持多种数据库写入,而且能够采集现场多种控制器数据的网关?
03
我们水务集团管理的水厂实在太多了,再加上最近几年新上垃圾场,维护的工厂数据越来越多,每次从分厂拿数据都要经过层层传递,有没有一种办法可以把所有分厂的重要环保数据都能通过手机或者web查看?
以上三种需求我想大家都遇到过,那这里不得不提我们今天的主角:
工业边缘计算模块WL-320E-M,具有如下特点:
低代码、可视化
采用基于Node.js的架构,真正的低代码,实现可视化的工业数据采集和计算。通过在浏览器中拖拽的方式将不同的PLC、数据库以及Web应用连接在一起,构成数据流,使用户可以快速的创建出自己的应用。
可支持的工业协议
● Modbus TCP/IP Client● Modbus TCP/IP Server● Modbus RTU● S7-NET: 可支持S7-200/300/400 /1200/1500和200SMART控制器● MPI/PPI/DP USBAdapter: 可支持USB编程电缆读取数据● EtherNet/IP(CIP): 针对Logix5000系列软件编程的控制器● PCCC: 针对Logix500和Logix5系列软件编程的控制器● MCProtocol: 可支持三菱A、Q、L、R和QnA系列,A系列仅支持1E框架产品● Fins: 可支持OmronCS/CJ和CV系列PLC● BACnet: 可实现和暖通空调系统HVAC以及灯光控制、门禁系统、火警侦测系统及其相关的设备进行数据交换● MQTT: 实现多种物联网设备的数据上传● Serial in/out: 标准串口输入/输出● TCP in/out: 标准TCP输入/输出● UDP in/out: 标准UDP输入/输出● OPC UA● OPC DA● Beckoff ADS● Wago IO Kbus
可支持的IT协议
● HTTP in: 可支持的请求方式包括PUT,GET,POST,HEAD,PATCH和DELETE● HTTP out● HTTP Request● HTTP Response● Websocket in● Websocket out
可支持的数据库
● MySQL● Oracle● MS SQLserver● InfluxDB
可支持的二次开发语言
● Python ● JavaScript
针对三种典型需求的解决方案
01
我们选用WL-320E-M,LAN口接入生产层交换机,WAN口接入信息层交换机
如上图:
- 生产现场的仪表,变频器等通过RS485,Modbus RTU协议发送到串口服务器,串口服务器每个串口在TCP侧映射成了IP地址+端口号,每个串口具有不同的端口号;WL-320E-M通过标准TCP IN或者Modbus TCP/IP(端口号非502)获取到串口数据,通过HTTP POST发送到数据中心平台。
- WL-320E-M通过EtherNet/IP协议采集AB PLC数据,通过HTTP POST发送到数据中心平台。
- WL-320E-M通过S7-in读取西门子PLC数据,通过HTTP POST发送到数据中心平台。
- WL-320E-M通过Modbus TCP读取施耐德PLC数据,通过HTTP POST发送到数据中心平台。
那么配置是什么样的呢?
AB PLC读取配置如下:
第一步配置IP地址和CPU槽号,第二步配置标签即可。标签可支持结构体读取。
http侧配置如下:
第一步初始化HTTP,第二步设置请求方式
第三步,把我们需要传送的数据写进去:
配置完结果如下:
02
那对于需求二来讲,只是把需求1的HTTP节点,更换为数据库节点即可。
因此通过WL-320E-M可以采集工控端数据,可以采集IT端数据,也可以采集SQL数据库端数据,可以写入PLC,也可以写入IT平台,也可以写入常用数据库,基本上可完成大部分数据采集需求,采集过来的数据还可通过Python以及Javascript进行二次运算开发,真正的工业边缘计算模块。
03
最后有人会问数据安全怎么考虑,告诉大家WL-320E-M内部集成防火墙,可支持端口转发,入站/出站策略定制。
看看WL-320E-M可支持哪些协议:
今日互动问题:
1、工控生涯中你所遇到的最棘手的数据采集现场是哪里?说出你的故事;
2、针对文中需求三,请说出你的解决方案。
请在文末留言哦
今日明星产品
WL-320E-M
工业边缘计算模块
1)、可实现多种PLC之间的数据交换,AB,SIEMENS,Schneider,Omron和Mitsubishi。
2)、可实现和空调,灯光,门禁和火灾报警系统的数据交换。
3)、MQTT可方便实现将现场PLC采集的数据上传到AWS、Azure、阿里巴巴,百度和腾讯。
4)、从PLC采集的数据可以直接通过WiFi进行无线数据传输
5)、Python可实现灵活的二次系统开发
6)、采集来的数据可进行数学和逻辑运算
WL-970B-E
增强型4G多协议采集终端
1)、WiSCADA开发组态
2)、可支持4G联网
3)、可支持PLC穿透,远程上下载
4)、可支持手机APP访问盒子内组态
5)、可支持分布式窗口,不同的盒子之间画面可以互相调用
6)、4个RS485接口,2个以太网接口,可支持10000点标签
7)、内置硬件加密芯片,保护应用不被盗取
相关推荐
- 独家 | 5 个Python高级特性让你在不知不觉中成为Python高手
-
你已经使用Python编程了一段时间,编写脚本并解决各种问题。是你的水平出色吗?你可能只是在不知不觉中利用了Python的高级特性。从闭包(closure)到上下文管理器(contextmana...
- Python装饰器
-
Python装饰器是一种用于修改函数或类的行为的特殊语法。它们允许在不修改原始代码的情况下,通过将函数或类作为参数传递给另一个函数来添加额外的功能。装饰器本质上是一个函数,它接受一个函数作为参数,并返...
- 中高阶Python常规用法--上下文管理器
-
Python以简单性和通用性著称,是一种深受全球开发人员喜爱的编程语言。它提供了大量的特性和功能,使编码成为一种愉快的体验。在这些功能中,一个经常被新手忽视的强大工具是上下文管理器。上下文管理器是高...
- Python小案例67- 装饰器
-
Python装饰器是一种用于修改函数或类的行为的特殊语法。它们允许在不修改原始代码的情况下,通过将函数或类作为参数传递给另一个函数来添加额外的功能。装饰器本质上是一个函数,它接受一个函数作为参数,并返...
- python常用的语法糖
-
概念Python的语法糖(SyntacticSugar)是指那些让代码更简洁、更易读的语法特性,它们本质上并不会增加新功能,但能让开发者更高效地编写代码。推导式写法推导式是Python最经典的...
- python - 常用的装饰器 decorator 有哪些?
-
python编程中使用装饰器(decorator)工具,可以使代码更简洁清晰,提高代码的重用性,还可以为代码维护提供方便。对于python初学者来说,根据装饰器(decorator)的字面意思并不...
- python数据缓存怎么搞 ?推荐一个三方包供你参考,非常简单好用。
-
1.数据缓存说明数据缓存可以说也是项目开发中比不可少的一个工具,像我们测试的系统中,你都会见到像Redis一样的数据缓存库。使用缓存数据库的好处不言而喻,那就是效率高,简单数据直接放在缓存中...
- 用于时间序列数据的Graphite监视工具
-
结合第三方工具,Graphite为IT性能监控提供了许多好处。本文介绍其核心组件,包括Carbon、Whisper以及安装的基本准则。Graphite监视工具可实时或按需,大规模地绘制来自多个来源的时...
- Python3+pygame实现的坦克大战
-
一、显示效果二、代码1.说明几乎所有pygame游戏,基本都遵循一定的开发流程,大体如下:初始化pygame创建窗口while循环检测以及处理事件(鼠标点击、按键等)更新UI界面2.代码创建一个m...
- Python之鸭子类型:一次搞懂with与上下文装饰器
-
引言在鸭子类型的理念的基础之上,从关注类型,转变到关注特性和行为。结合Python中的魔法函数的体系,我们可以将自定义的类型,像内置类型一样被使用。今天这篇文章中,接着该话题,继续聊一下with语法块...
- Python必会的50个代码操作
-
学习Python时,掌握一些常用的程序操作非常重要。以下是50个Python必会的程序操作,主要包括基础语法、数据结构、函数和文件操作等。1.HelloWorldprint("Hello,...
- 一文掌握Python 中的同步和异步
-
同步代码(Sync)同步就像在一个流水线上工作,每个任务都等待前一个任务完成。示例:机器A切割钢板→完成后,机器B钻孔→完成后,机器C上色。在Python中,同步代码看起来像这样:im...
- python 标注模块timeit: 测试函数的运行时间
-
在Python中,可以使用内置的timeit模块来测试函数的运行时间。timeit模块提供了一个简单的接口来测量小段代码的执行时间。以下是使用timeit测试函数运行时间的一般步骤:导入...
- Python带你找回童年的万花尺
-
还记得小时候的万花尺吧?这么画:一点也不费脑筋,就可以出来这么多丰富多彩的复杂几何图形。具体而言,可以用万花尺玩具(如图2-1所示)来绘制数学曲线。这种玩具由两个不同尺寸的塑料齿轮组成,一大一小。小的...
- Python 时间模块深度解析:从基础到高级的全面指南
-
直接上干货一、时间模块核心类介绍序号类名说明1datetime.datetime表示一个具体的日期和时间,结合了日期和时间的信息。2datetime.date表示一个具体的日期。3datetime.t...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (54)
- python安装路径 (54)
- python类型转换 (75)
- python进度条 (54)
- python的for循环 (56)
- python串口编程 (60)
- python写入txt (51)
- python读取文件夹下所有文件 (59)
- java调用python脚本 (56)
- python操作mysql数据库 (66)
- python字典增加键值对 (53)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python qt (52)
- python人脸识别 (54)
- python斐波那契数列 (51)
- python多态 (60)
- python命令行参数 (53)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- centos7安装python (53)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)