- ?
Spark App自动化分析和故障诊断
丘岳
展开
苏宁大数据计算平台架构
苏宁大数据平台的计算引擎主要包括三个组成部分:离线计算、流式计算、OLAP引擎。
离线这块目前主要是依赖Spark和Hive来提供离线数据的分析和挖掘能力。
流式计算这块分为准实时计算和实时流计算。准实时计算主要基于Spark Streaming来满足数秒至分钟级的业务需求,对于实时流这块,目前苏宁大概有1200台Openstack虚拟机(400台实体机)组成的 39个Storm集群,并且在2014年就自研了Storm SQL引擎Libra,为Storm业务提供SQL接口。从2017年初开始,逐步去强化Flink在我们架构中的位置,希望利用Flink的强大窗口计算以及EventTime的处理能力来解决一些业务上的需求。
OLAP这块目前主推Druid和ES两款引擎。苏宁利用Druid的实时计算能力,来解决我们指标聚合计算上的一些需求;利用ES快速数据索引定位能力来解决明细查询上的一些需求。
在苏宁整个架构中,Spark处于一个非常重要的位置。同时苏宁也为了Spark的平台化服务化,做了很多平台级工具。
这个是CBT任务流调度平台。它针对目前包括Spark、Spark SQL、数据交换在内多种类型任务提供一个任务和任务流管理以及调度的能力。目前苏宁CBT平台集群规模在98台虚拟机,每天完成5W+任务的调度和执行。
这是SSMP平台。专门针对Spark Streaming任务提供的一个任务管理和调度的平台,为任务提供24小时LongRunning的保障。
这是在线机器学习平台。目前该平台主要是基于Spark MLlib实现的,对GPU环境下深度学习算法的支持也正在开发。目前支持业务在线的进行Pipeline构建、模型训练、调优,并且支持对训练后的模型一键发布到Spark Streaming应用环境。
这是苏宁离线大集群的相关数据。目前离线这块集群节点数为700多个,每天通过CBT调度任务大概在5W+,每天处理的数据量在300T左右。
上面表格是我们2016年Q4中期2017年Q2统计的《Spark和Hive任务分布情况》。当前苏宁业务对Hive的依赖还是比较重,对Hive迁移到Spark SQL的工作也在逐步推进。另外单看Spark 任务变化情况:在2017年半年时间里,Spark任务数增速非常快,Spark任务新增3000+,Spark Streaming任务从0增长到29个。这里要强调一下,目前这3000个Spark任务里面,只有少少的200个任务是Spark SQL任务,在我们后续Hive迁移过程,Spark SQL任务数增速是会远远超过当前这个数字。
整体上来说,通过我们平台化以及服务化工作的开展,我们业务已经接受Spark作为它们数据分析链路上一个核心引擎。
Spark平台化遇到的问题
但是在我们整个平台化和服务化的过程中,也遇到很多很多的问题。这些问题一部分是因为业务自身对Spark理解和应用经验不够,还有一部分是因为我们服务化做的不够好。
在业务推广中,一般情况下业务遇到性能问题和故障时,都是直接反馈到平台组这边,由平台配合业务去定位和解决这些问题。
平台解决这些问题的思路:利用经验对任务执行过程和日志进行分析,尽最大可能去收集有效数据(但由于任务已经结束,一些运行时的数据可能无法收集),并且利用这些数据来定位和解决问题。但是这整个工作的效率非常低,而且存在很多同质化问题。
Spark自动化分析和故障诊断
从服务化角度出发,我们希望可以利用平台化的思路去解决这些问题,因此我们就做了这个Spark自动化分析和故障诊断系统,内部代号-华佗。
系统架构主要包括数据采集、华佗server、数据存储以及监控分析平台几个模块。数据采集目前主要采集了Spark,Yarn、宿主机器等数据。其中Spark这块,我们扩展了Spark的Metric System以及Event System,并通过新增MetricSource来收集需要的信息;HDFS和Yarn是通过JMX-Collect来收集Metric信息;宿主机器利用Service-Agent来收集机器的CPU,内存,IO等Metric信息。数据通过华佗Server分别落地到Druid和ES两个存储中,其中Druid用来存储指标数据,ES用来存储事件数据。华佗监控平台,通过这两类数据来实现平台的指标分析,事件分析,故障诊断,异常报警以及任务报表等功能。
Druid是一种适用于时序化数据的OLAP分析引擎,特别适合于统计分析、系统监控等业务场景。这里场景就是系统监控。
在Druid里面,数据是按照时间、维度、指标三种元素进行组织,支持TopN、GroupBy等聚合查询以及简单明细查询。关于明细查询这块,Druid的索引可以实现快速记录定位。但是相比ES,它的可控性要差点,所以我们目前整体OLAP这块是计划使用Druid+ES组合来为业务提供服务。其中Druid目前是作为主要的OLAP引擎进行推广,支撑销售报表、金融自助分析、风控平台以及平台监控等十多个业务场景。
下面我们具体看一下,我们系统针对Spark提供哪些分析和故障诊断的能力,主要是从资源、性能、故障三个角度出发。
首先看一下资源方面,我们对Spark的资源把控分为三个层面:1)站在Spark外部, 任务所使用的Yarn、HDFS以及宿主机器等外部资源的稳定性;2)站在Spark Linux进程本身,来分析任务进程资源的利用率;3)站在Spark内部,主要考虑Cache以及Shuffle的资源使用情况。
如果站在Spark服务使用角度来说:我们希望我们从Yarn上申请到的虚拟资源和实际运行的物理资源是匹配的。实际运行过程中,不应该出现Driver和Executor的宿主机器存在性能瓶颈,比如系统负载过高,网卡打满,甚至丢包。因为物理环境稳定性对Spark App的稳定性和性能是有非常大的影响的。
如果站在App进程角度,可以通过分析Driver和Executor的Linux进程是否存在瓶颈来发现App的性能和稳定性情况,比如Executor CPU利用率是否达到100%,或者Executor的FD是否保持持续增长,是否存在句柄泄露。
另外,相比Hive,Spark On Yarn有三个重要参数需要设置:Executor个数和内存,以及Driver内存。特别是Executor个数及内存,设置是否合理将很大程度上决定任务是否可以正常执行,以及资源是否合理利用。
上面两张PPT可以看出:Driver和Executor预分配内存以及实际占用内存的使用情况,以及Executor预分配的CPU时间片利用率情况,通过它们可以快速定位业务的资源利用率。
最后是站在Spark内部,来看Cache以及Shuffle资源使用情况。Spark 1.5.2版本中的Cache和Shuffle内存还是分段管理,对分段比例参数的调优是一件非常头疼事情。因此我们针对Cache和Shuffle内存做了图表可视化分析,可以快速指导业务进行参数调优。
另外对Cache机制,Spark开发新手可能会存在误解,有时直接对所有的RDD进行Cache。但实际上只有RDD/Dataset使用两次以上,才有必要进行Cache。因此我们对DAG图进行分析,针对是否需要Cache给出建议。
对于性能,主要从两个角度进行分析:1)站在Task角度,对Task耗时链和长尾Task进行分析;2)站在Stage角度,对任务调度Overhead以及并行度进行分析。
对于Task耗时,目前Spark页面已经提供了一些统计,比如调度延迟,GC耗时,反序列化耗时,Shuffle耗时等。但是业务还需要了解更多的耗时情况,比如每一步操作的耗时情况。假如业务逻辑其中一个map操作需要与外部数据源进行IO操作,那么对它的耗时统计会非常重要,因此我们做了耗时链的统计。
目前Task耗时链是基于RDD-Itertor来实现的,对于Spark 2.0+引入的Whole Stage Code Genaretion目前我们还未支持。
在RDD-Itertor模型中,RDD Transfer操作就是Itertor的连接操作,每一个Itertor的next和hasnext就是耗时源头,我们通过对Spark中的Itertor进行二次封装来收集每步耗时。另外有些情况下Itertor的next和hasnext不存在耗时,或者很小,主要耗时集中在Itertor对象的构造上,比如flatmap操作或者mappartition操作,先构造一个List,然后再做一个toItertor操作。这种情况下,需要统计Itertor的构造耗时,但是Itertor构造耗时涵盖了Parent耗时,统计时需要剔除Parent耗时情况。
长尾Task是Spark中非常常见的性能问题。长尾原因可能是业务数据倾斜,也有可能机器丢包,网卡CPU等资源存在瓶颈。目前我们做了长尾Task的报警和实时监控,并结合耗时链分析、进程和宿主机状态分析,以及后面谈到的数据倾斜来对长尾Task进行分析。
任务调度Overhead是平台比较伤感的问题,看着那些细碎任务,几十M数据用几百Task去跑,每个Task只执行几十毫秒。因此我们对任务Stage进行分析,统计任务实际计算时间与等待调度时间,从而判断是否存在调度Overhead。
造成任务调度Overhead的一个原因就是Reduce个数设置不合理,而且这是一个滚雪球效应,Reduce放大原始数据分区数,计算后写回HDFS,造成HDFS小文件,然后再反复的迭代,产生更多小文件,从而导致更加严重的Overhead。
在Spark 2.0+版本,新增Reduce个数自动适应是一个非常棒的功能,很大程度上解决了这个问题,但是对于1.5.2版本,这个问题还是依然存在。因此我们对Reduce操作进行分析,如上图,全局最大的Reduce操作数据量只有13M,使用默认40并发是不合理,强烈建议业务优化。
性能这块还做了一些其他的优化分析,比如JDBC并发度分析以及Kafka并发度分析。JDBC默认的API是可以不设置分区和并发度,这样单线程读JDBC会导致任务耗时较长;对于Kafka Direct API,默认是一个Spark分区读取Kafka一个分区,但是在很多业务场景下可能会成为瓶颈。
最后就是故障诊断,其实前面分析的结果可以直接用于故障诊断,但我们针对一些常见故障,单独提炼出来,从而可以更加直接发现问题,比如:Shuffle数据倾斜、HDFS Commit阻塞、执行器丢失、高维Parquet写性能阻塞等。
我们在Shuffle Write任务结束以后,提前对后续Read的数据量进行计算,判断后续的Shuffle Read操作是否存在倾斜,从而可以直接给业务一个结论:是否需要优化业务逻辑或参数。
HDFS Commit阻塞是出现频率比较高的故障。目前CBT任务调度平台有一个很密集的任务执行时间,大概是0点-7点。在这个时间段,HDFS性能显著下降,最大rpc延迟可能达几百ms。
其次如MAPREDUCE-4815描述:HDFS Commit操作是在Driver中串行执行,如果计算生成几千个小文件,那么整体Commit耗时就会增加几百秒,这是一个很大的性能损耗。
最后就是资源报表,通过它与业务之间构成一个Feed-Back机制,推进业务主动对App的逻辑以及配置进行优化。
对于Spark及其他组件平台化服务化,将是一个持续经验积累和优化的过程,大家有好的想法欢迎讨论和交流。
- ?
APP数据采集是怎么实现的
期许
展开
最近半年,我们八爪鱼陆续接到好几个APP数据采集的项目需求,我在群里面,偶尔也看到有些用户在问,有没有APP数据采集的工具。鉴于我们做过的几个APP数据采集项目的经验,我可以告诉大家,现在APP数据采集,市面上还没有通用的工具。我们八爪鱼内部是有一套工具,但由于使用的难度较高,需要编写脚本,所以不对普通用户公开,我们仅接受项目定制。
虽然不对外公开,但并不妨碍我们将技术分享出来,APP数据采集,一般走以下两种方式:
1.两种思路
1. 抓包
2. HOOK
2.抓包
有代码经验或APP开发的同学都很容易理解,其实很多APP,走的都是webservice通讯协议的方式,并且由于是公开数据,而且大部分是无加密的。所以只要对网络端口进行监测,对APP进行模拟操作,即可知道APP里面的数据是如何获取的。
我们只需要写代码模拟请求,无论POST还是GET,即可得到该请求所返回的信息。再通过对返回的信息结构化解析,即可得到我们想要的数据。
public static void main(String[] args) {
Spider.create(new GithubRepoPageProcessor())
//从https://github/****开始抓
.addUrl("https://github/****")
//设置Scheduler,使用Redis来管理URL队列
.setScheduler(new RedisScheduler("localhost"))
//设置Pipeline,将结果以json方式保存到文件
.addPipeline(new JsonFilePipeline("D:\\data\\webmagic"))
//开启5个线程同时执行
.thread(5)
//启动爬虫
.run();
}
以模拟采集“meizu”应用市场为例
应用市场产品抓包返回参数整个抓包过程3.HOOK技术
HOOK技术是一种走操作系统内核的技术,由于安卓系统是开源的,所以可以借助一些框架修改内核,从而实现你要的功能。HOOK的形式,我们走的是Xposed框架。Xposed是一款可以在不修改任何其他开发者开发的应用(包括系统服务)的情况下,改变程序运行的一个开源框架服务。基于它可以制作出许多功能强大的模块,以此来达到应用程序按照你的意愿运行的目的。
如果把安卓手机看做一座城堡,那Xposed可以让你拥有一个上帝视角,城里的运作细节尽收你眼底,还能让你插一手改变城堡的运作规律。
什么意思呢?简单的说就是你可以通过他,自动化的控制你的APP。如果将我们的APP开在模拟器上,我们可以通过编码,通过他告诉APP这一步干什么,下一步干什么。你把它理解成类似游戏打怪外挂就可以了。
而他每走一步,APP与服务端交互的数据,均可获取下来。这种方式广泛用于一些成熟的APP。比如某信采集。
public class HookActivity implements IXposedHookLoadPackage {
@Override
public void handleLoadPackage(LoadPackageParam lpparam) throws Throwable {
final String packageName = lpparam.packageName;
XposedBridge.log("--------------------: " + packageName);
try {
XposedBridge.hookAllMethods
(Activity.class, "onCreate", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param)
throws Throwable {
XposedBridge.log("=== Activity onCreate: " + param.thisObject);
}
});
} catch (Throwable error) {
XposedBridge.log("xxxxxxxxxxxx: " + error);
}
}
}
其实我们八爪鱼曾经也想开发一款通用的APP数据采集工具,并且两年前在这块投入研究了小半年,我们做出了一款APP采集脚本编辑工具,可以让一款APP的数据采集项目缩减到3-5天即可开发完成。但我们认为,这个工具需要编写脚本一般用户是比较难上手的,所以仅作为内部项目使用。
以HOOK某APP为例:
HOOK指令打开某4.这些年走过的坑
聊完APP采集的思路,我们跟大家分享一些遇过的坑吧,让大家乐一乐
坑一:签名算法
以某信的文章列表页及某信息页为例,对其http访问进行抓包,会发现其url的一个核心参数是我们无法知道如何生成的,这就导致,我们不可能直接用该url进行信息爬取;签名算法如果无法破解,HTTP这条路就是死路了。
坑二:http爬取回来的信息和页面显示不一致
以某信的某信息页为例,对比直接访问某信页面及http爬取的信息,可明显发现http爬取到的信息较少。造成得两种方式都用,才能既照顾速度又照顾完整性。
坑三:模拟器中的坑
APP自动识别你的运行环境进行屏蔽,最厉害的还是某信,连你是用模拟器打开还是真机打开,是什么内核的,全部进行限制。曾经见过牛人,找某手机厂商专门定做真机来配合。
坑四:帐号的坑
这个坑就有点大了,要找号、养号,都不是件容易的事情,更惨的是封号,真真让你一夜回到解放前。
- ?
任正非:重视数据的录入和采集,这是人工智能和自动化的源头
布兰特
展开
题图来源:视觉中国
今年初,华为总裁任正非在人工智能应用GTS(全球技术服务)研讨会上明确了GTS人工智能对华为的重要意义。
当时他提出,要实现高质量数据输出,在网规网优等关键场景要敢于投资,以及率先在简工勘和自动化设计方面打歼灭战。
8月29日,华为专门召开了GTS人工智能实践进展的汇报会。任正非提醒,虽然GTS机器学习有了很大的进步,但仍然需要重视数据的录入和采集,这是人工智能和自动化的源头。
会议上,任正非对于华为内部人工智能发展提出了三点要求:
一、聚焦内部效率提升,利用人工智能改变作业模式、简化管理,结合业务场景解决一线实际问题。
二、围绕业务,持续加大GTS数据系统、AI算法和AI 使能平台的投资。
三、人工智能未来对内要横向扩张,与周边部门协同产生倍增效益;客户界面升级服务内容,在设备和网络的生命周期内,创造更大的价值。
会议还透露,华为在全球有460万站点,每年会在100万站点上作业。任正非希望在5G时代,能先把华为的基站连起来。
任正非提出了加快开发公司统一的人工智能平台要求,部署统一的人工智能训练环境,并期待在2018年首先在GTS实践和应用。(钛媒体记者李程程整理报道)
附:任正非在GTS人工智能实践进展汇报会上的讲话
一、聚焦内部效率提升,利用人工智能改变作业模式、简化管理,结合业务场景解决一线实际问题。
人工智能的核心在于应用,GTS把人工智能作为一个工具,研究海量重复性活动的智能化自动化,提升人的效率和辅助人的工作。从你们的探索来看,实践经验非常重要。
在人工智能和自动化推动过程中,要关注交付服务流程以及人员思想、行为模式的改变,如果他们还是老一套思路,不重视数据的录入和采集,我们人工智能和自动化就会失去源头,同时要看到人工智能是一个持续演进和迭代的过程,大家在推进过程中要不急不躁,持续改进,关键要抓好数据治理和平台构架设计,保证我们大方向正确,在正确的方向上加快迭代,小步快跑。
第一,利用人工智能简化站点作业活动,把设计、报告自动化,同时要联合产品线,构建免安装、免调测网络。
我们在全球有460万站点,每年会在100万站点上作业,任何一次的站点作业都是成本。要通过构建站点信息库,开发站点3D扫描能力,把站点勘测简单化,上站录入表格的时间也就大大节省了。以后的数据录入还可以进一步简化,捆绑一个好的语音系统,现场作业完成了,自己说一遍,表格就自动生成,然后回家把这个表格稍微修改,就能完成交付作业。
基站设计方案模型很多,现在通过机器学习,实现基站连线图和配置参数的自动化生成,降低对现场工程师的要求。面向未来,要在设备模型归一、免安装、免调测上做研究。5G时代万物互联,能不能先把我们的基站连起来?荒山野岭,咱们有多少站点?应该是数百万个。可以请位快递哥骑个摩托车上山,把基站挂上,通电一开,无线连接所有设备都自动连上了,这样减少了错误,也节省了人工。
质量检查只要拍个照,通过与标准图样对比,分包商在站点安装的时候就可以检测安装质量的好坏,一次把事情做对,避免了多次上站,节省了工时,提升了效率。不要小看1~2个小时的节省,这是一个点,若是有几十万个站可推广,乘以系数,就有几十万的规模效益。
第二,网规网优要敢于应用地理、测绘、数学等先进技术和新的业务模式,只要能提升效果,都为我所用。
网规网优基于数据、算法、成本的影响,选择人工智能突破口,通过“分析机器人”提升人员效率,在无线干扰分析、天馈系统方向角优化调整等方面加强人工智能技术的引入,提升无线网络优化规划效率,同时基于产品数据的虚拟路测是一个方向,不需要路测就可以清楚网络的信号状况,一个城市节省3000公里路测,十几个城市就相当于绕地球一圈。
人工智能理论是所有人类瑰宝,都可以为我所用,而不只是我们的理论。网规网优是一个基于数据的业务,人工智能也容易发挥效益,所以我们要敢于招一些统计学、系统工程学、哲学、遥感、遥测……等专业的优秀博士、硕士,就像当年我要求招一些地理测绘专业的人员一样,只要实践两年,自然就明白了。
第三,万亿存量是我们的优势,不断积累小样本,维护模式要从被动问题处理到主动预测预防,并进一步反馈到制造、产品设计,形成闭环改进。
面对海量的、确定性的重复工作,逐步将复杂的成千上万的场景收敛,通过表格、建模等方法不断的总结提炼经验。就像我年轻的时候,一个庞大的数字设备,出了问题就一次一次的闪灯,从闪灯中慢慢看集中在哪个区,再看电路,一判断,是电阻坏了,然后打开,修好了,这就是小样本!这些小样本提供给你们,你们再归纳、总结,上升到理论高度,就是故障模型。
维护的最终模式要从被动问题处理走向预测预防为主。问题处理方面,我们至少可以把问题经验库丰富起来,谁暴露的问题最多、解决的最好,也可以搞小奖励。在预测预防方面,通过障碍发现的芯片及批次等相关问题要进一步反馈到公司的制造部门、产品设计环节,从源头上提升设备的稳健性。
二、围绕业务,持续加大GTS数据系统、AI算法和AI 使能平台的投资。
第一,行为即记录,记录即数据,构建并持续完善GTS数据系统。
数据是一门科学,是人工智能的基础,要把业界做得好的方法借鉴过来。GTS沿着作业活动,把作业过程、对象、规则和经验数字化,持续完善GTS的数据系统。各产品线也要把自己的产品数字化,这是服务数字化的基础。要强化云平台基础设施建设,丰富单兵数据采集工具,给每个员工配个数据采集器,员工在现场作业完后,回到驻地处理一下,一按键就发出去了。
数据要以用促建,利用表格、建模等方法输出作业数据,将高质量的作业数据输出作为作业完成的衡量标准,要形成对工程师高质量作业数据输出的牵引,形成指导和模板。
第二,算法要服务于业务,算法科学家与熟悉服务场景的工程师紧密配合,在服务客户的战场上提升能力
人工智能应用是实践科学,在实践和应用当中迭代式前进,效果不是一蹴而就的。实践初期,算法达不到高级工程师的水平也要坚持使用,以人为主,机器为辅,对算法进行持续的训练和提升。
人工智能开发,算法专家、产品线专家要与GTS业务专家组成混合编队,共同识别实际场景中的AI应用机会、理解业务场景、设计算法模型、优化算法效果。
第三,加快开发公司统一的人工智能平台,并于2018年首先在GTS实践和应用。
开发公司统一的人工智能平台,部署统一的人工智能训练环境,首先在GTS实践和应用,把GTS积累的站点作业、网络维护、网规网优领域的算法、知识、方法、经验都固化到这个平台上。
人工智能平台在GTS的应用要急用先行、小步快跑,聚焦服务场景一个个解决,选择与场景匹配的、相对成熟的算法,快速构筑数据处理、模型训练等工程能力,边战斗边优化,并于2018年将平台部署在GTS系统上。
三、人工智能未来对内要横向扩张,与周边部门协同产生倍增效益;客户界面升级服务内容,在设备和网络的生命周期内,创造更大的价值。
第一,自动化也是人工智能,改善一个点,可能有几十万个着力点可推广,就有几十万的倍增效益。
跨领域也应有着力点进行推广,通过数据互联互通、业务交叉融合,公司很多部门就可以精简了。比如财务在人工智能上也梳理了100多个点,其中有些点和GTS有交互,如项目核算要开票,GTS可以这个点为起点,横向发展到财务那里去。
我们要矢志不渝地前进,让一些确定性工作自动化、智能化,减少重复劳动。不能总是强调人工智能对模糊问题的判断和处理,为什么对确定性问题就不行呢?自动化也是人工智能。改善一个点,乘以系数,就可能有几十万的倍增效益。GTS人员都应实验性地“洗一次澡”,有些人在循环中变得更厉害,产生新的工作方法,大幅提高工作效率。
第二,在自身实践成功的基础上,利用数据和智能技术,升级服务内容、构建在线服务模式,解决客户挑战。
基于万亿存量数据的优势,通过改善自身管理的循环实践,构建全球智能网络大平台,平台的能力再以服务方式向客户开放,并将服务内容扩展到设备和网络的全生命周期,解决客户挑战的同时华为也获得收益。
站点的选择,能否根据流量预测和动态变化,进行精准的网络规划?几百万台设备,也不能一天二十四小时高速开着,如果能根据流量动态设定产品能耗,是不是就可能极大地提升网络和能源效率?更远的未来,能否将预防预测能力延伸到整个网络,有预见地应对自然灾害、重大事件等带来的挑战。
我们抓住这些机会,升级服务内容,就可以利用在线服务等手段,在网络全生命周期持续为客户创造价值。
更多精彩内容,关注钛媒体微信号(ID:taimeiti),或者下载钛媒体App
- ?
仓储管理设备——数据采集器
乱节奏
展开
数据采集器是一种常见的仓储管理设备,相信很多仓库管理人员或快递员都有接触过,随着物联网科技的进步,仓储信息化数据管理不仅错综复杂、而且数据非常庞大,传统人工录入管理数据不仅效率低下,数据的准确性和时效性都不能得到实时保证,因此使用条码数据化管理就显得非常有必要了。
那么企业仓储管理使用移动数据采集器有啥好处呢?首先工作效率的提高,在仓库管理中应用条码技术,实现数据的自动化采集,去掉了手工书写单据和送到机房输入的步骤,能大大提高工作效率。其次降低了仓储工作人员的工作强度,将单据所需的大量纸张文字信息转换成电子数据,简化了日后的查询步骤,工作人员不用再手工翻阅查找各种登记册和单据本,只需输入查询条件,计算机在很短的时间内就会查到所需记录,并将内容显示在屏幕上,大大加快了查询速度。提高生产数据统计的速度和准确性,减轻汇总统计人员的工作难度。
手工盘点与数据采集器盘点比较:
(1)数据的准确性比较
手工输入经常会产生抄写错误和键入错误,产生很多无效劳动和重复工作,导致仓库盘点信息不准确,使企业承担附加的库存量。而利用盘点机扫描服装的商品条码即可完成盘点工作,大大降低了盘点出错的概率,确保得到精准的数据。
(2)盘点周期的比较
一张单据从填写、收集到键盘输入,需要一天或更长的时间。这使得生产调度员只能根据前几天甚至一周前的库存信息,为用户定下交货日期。而使用数据采集器进行仓库库存盘点,可以使管理人员快速高效地进行盘点,原本手工盘点几天的工作量,用采集器往往数小时就能完成。
(3)数据的时效性比较
运用人工的计算方法需要先根据产品的包装清单逐个列出计算,当要计算多种产品,中间又嵌套半成品时将是件非常繁琐的事,并且很难做到准确、及时的核算,并还要核对库存最后才能得出库存报表。而使用盘点机进行仓库库存盘点,将现场采集的数据上传到仓库管理系统中,自动更新系统中的数据。同时也可以将系统中更新已后的数据下载到手持终端中,以便在现场进行查询和调用。
- ?
智慧工厂中如何进行工业生产数据采集?
独角兽
展开
企业进行智慧工厂升级,核心问题便是,它能给企业带来怎样的变化(效益),能节能降本多少。可以肯定的是,从传统制造到智能制造,绝不仅仅是简单的效率提升,包括生产效率、监管效率、仓储效率以及整个生产流程均有提升,它会在DNA层面改变一家企业。
目前,想要做好传统制造到智能制造的过渡,当务之急是将流程数字化,这是智慧工厂的必经步骤,现在我国大部分企业连数字化工厂都称不上,更不要谈智慧工厂了。
即使想完成企业数字化,对于我国大多数企业依旧是大难题。需要高层领导有足够大的魄力。首先企业需要明确自己做智慧工厂的目标,包括数字化愿景、对企业进行评估发现不足,最后做出详细规格化。然后进行:企业设计(规划)、具体执行、数字管控系统等等多个领域的融合,最终实现数据通源、虚实融合、绿能高效及智能制造。
然而,企业数字化中的产品配置,制造流程越复杂越多变,越需要人的参与;工人更多地是处理异常情况,调整设备。其中,数据采集一直是困扰着所有制造工厂的传统痛点,自动化设备品牌类型繁多,厂家和数据接口各异,只要还有其他人工参与环节,这些数据就不完整。
工业生产数据采集方式
工业生产设备数据采集有三种方式:分别是数据系统直接联网通信,通过工业网关进行采集和通过远程IO进行采集。
1、直接联网通信
直接联网是指借助数控系统自身的通信协议、通信网口,不添加任何硬件,直接与车间的局域网进行连接,与数据采集服务器进行通信,服务器上的软件进行数据的展示、统计、分析,一般可实现对机床开机、关机、运行、暂停、报警状态的采集,及报警信息的记录。
高端数控系统都自带有用于进行数据通信的以太网口,通过不同的数据传输协议,即可实现对数控机床运行状态的实时监测。发那科0i\31i\18i系列的数控系统在操作面板背面都配置有网口,通过发那科的FOCAS协议,就可以进行直接联网通信;西门子840D系统,PCU50版本以上的也可以通过OPC协议进行设备的直接联网通信。
2、工业网关采集
对于没有以太网通信接口,或不支持以太网通信的数控系统,可以借助工业以太网关的方式连接数控机床的PLC控制器,实现对设备数据的采集,实时获取设备的开机、关机、运行、暂停、报警状态。
工业通信网关可以在各种网络协议间做报文转换,即将车间内各种不同种类的PLC的通信协议转换成一种标准协议,通过该协议实现数据采集服务器对现场PLC设备信息的实时获取。
3、远程IO采集
对于不能直接进行以太网口通信,又没有PLC控制单元的设备,可以通过部署远程IO进行设备运行数据的采集,通过远程IO的方式可以实时采集到设备的开机、关机、运行、报警、暂停状态。
远程IO模块,是工业级远程采集与控制模块,可提供了无源节点的开关量输入采集,通过对设备电气系统的分析,确定需要的电气信号,连接入远程IO模块,由模块将电气系统的开关量、模拟量转化成网络数据,通过车间局域网传送给数据采集服务器。
编辑:Nistone乐石科技(乐渠 | 泛家居新零售解决方案供应商)
- ?
Docker容器的自动化监控实现
狠毒
展开
近年来容器技术不断成熟并得到应用。Docker作为容器技术的一个代表,目前也在快速发展中,基于 Docker的各种应用也正在普及,与此同时 Docker对传统的运维体系也带来了冲击。我们在建设运维平台的过程中,也需要去面对和解决容器相关的问题。
Docker的运维是一个体系,而监控系统作为运维体系中重要组成部分,在 Docker运维过程中需要重点考虑。本文介绍了一种针对 Docker容器的自动化监控实现方法,旨在给 Docker运维体系的建立提供相关的解决方案。
容器
谈到容器,有人首先会想到 LXC(Linux Container)。它是一种内核虚拟化技术,是一种操作系统层次上的资源的虚拟化。在 Docker出现之前,就已经有一些公司在使用 LXC技术。容器技术的使用,大大提升了资源利用率,降低了成本。
直接使用 LXC稍显复杂,企业拥抱容器技术具有一定的门槛,可以说 Docker的出现改变了这一局面。Docker对容器底层的复杂技术做了一个封装,大大降低了使用复杂性,从而降低了使用容器技术的门槛。Docker给出了一些基本的规范和接口,用户只要熟悉 Docker的接口,就能够轻松玩转容器技术。可以说,Docker大大加快了容器技术的使用普及度,甚至被看做业界容器规范。
容器的监控
容器与通常的虚拟机在虚拟化程度上存在着差异,在监控手段上也有不同。一台虚拟机,我们可以当做一个物理机对待,而容器虽然也可以当做虚拟机,但这不符合容器的使用理念。在监控的实现过程中,我们更倾向于把容器看做是宿主机上的一系列进程树。
主流的监控系统实现过程中,一般需要在目标机器上部署 agent模块,通过 agent模块来做数据采集。而根据容器的使用理念,一般不建议在容器镜像里面捆绑 agent。当然这并不意味着数据没法采集,针对容器的虚拟化技术特点,在容器的宿主机上对容器进行数据采集是完全可行的,而且能够做到更加高效。
当然,如果把容器当做虚拟机对待,上面部署上 agent模块来采集监控数据,也是一种方法,但这不是推荐的做法。我们可以看到业界已经出现的一些 Docker监控方案,如 Docker Stats、CAdvisor、Scout等,也都是在宿主机上对容器进行监控的。本文提出的监控方案,也将会从宿主机上着手。
常见容器监控存在的问题
随着 Docker的应用,业界也出现了很多的监控工具,这些工具实际上也都能对 Docker容器进行一些监控。利用这些工具搭建一套监控系统来使用,也是基本能够解决一些需求的。但是分析这些监控工具,主要存在两方面的问题。
1. 与运维体系的结合度
这些工具基本都是独立的,很难与运维体系中其他系统整合打通。在运维自动化不断发展的今天,往往更加注重的是整个体系的集成度。所以需要有一个更好的模型化的思路,便于系统间的数据打通。
2. 监控的层次
这些工具的监控一般都只停留在单个容器的层面,例如对容器的 CPU,磁盘 IO等的监控。而大多数应用设计架构都具备一定的节点容错能力,单个节点的问题,往往不能够反映出应用的真实问题。所以监控需要覆盖到更多的层次。
模型化容器监控方案
这里我们从整体上提出一种模型化监控方案。这一方案有利于和运维基础的 CMDB系统打通,同时能兼顾到更多层次上的监控。
监控系统一般会涉及:数据采集、数据存储、数据分析和报警、数据展示等几个部分。本文将讲述一种模型化监控方法,主要提出了以下五种模型:
1 监控对象模型
这里我们将使用一种产品树的结构来建模监控对象。把监控对象分为四类,分别是产品、应用、集群、节点。
○ 产品:一般是一个高层次的概念,一个产品一般可以独立输出,对外提供服务。
○ 应用:是产品下的模块组成,多个应用共同形成一个产品。
○ 集群:是应用的存在形式。同一个应用,一般会根据环境,地域等,部署多个集群。
○ 节点:集群内承载服务的资源,包括前文提到的服务器,虚拟机,容器等。
这样,我们的监控数据采集,和视图展示,就可以基于产品树这个层次化的监控对象来做。每种监控对象上都可以有自定义的监控项,也可以继承上层的监控项。同时,分层次的监控对象,在很好地组织监控结构的时候,又可以从多种层次角度来反映出系统的运行状态和问题。
例如我们一个基于 Docker的应用需要监控,应用名称为 myDocker。我们可以建立如下监控模型:
○ 产品:my_Docker_product
○ 应用:my_Docker_app
○ 集群:my_Docker_cluster
○ 节点:my_Docker_container
2 采集器模型
主要用于采集数据的模块,同时满足数据输出规范,为了便于解析,同时具备较好的数据结构展示,我们可以采用 Json格式作为数据规范。在数据的语义上需要匹配对应的数据模型。例如针对节点模型的采集器,可以是一个脚本,通过捕获脚本执行输出来获取相应数据模型的数据。而上层节点的采集器,则一般是基于节点数据模型的一些计算,这些计算一般包括 sum,avg,max,min等,一般反映的是整个集群下节点的一些聚合数据。
例如,一个简单的采集器模型如下:
3 数据模型
用来定义监控数据格式,模型包括数据项和指标项。一个数据项一般包含一个或者多个指标项。数据模型中的数据来自于对应的采集器。
例如,针对 CPU可以监控如下模型:
数据项:cpu
指标项:usr,sys,idle
4 报警规则模型
在数据模型的基础上,针对每个数据指标项目,可以设置报警模型。例如,空闲 CPU少于 50%的时候触发报警,则可以建立如下规则:cpu.idle < 50
5 视图模型
这个模型将数据模型和视图关联起来了。包含数据展示方式定义,例如可以是趋势图,表格等。可以结合数据模型中的数据项与指标项,描述具体数据指标的视图展示方式。不同监控对象上的视图,一般都能从不同层次体现出监控。
用 XML格式描述视图模型如下:
这个模型表示 CPU趋势图,且根据 usr,sys两个指标项画图。示例如下:
6 监控项模型
监控项模型,包含了采集器模型,数据模型,报警规则模型,视图模型等的组合。通过将监控项运用于监控对象上。从而可以对监控对象进行自定义模型化的监控。
容器监控整体架构
在模型完备后,整个监控项需要解决监控项下发,数据采集,数据分析报警,存储等问题。这里我们介绍一种分布式监控框架来将整个模型串通起来。
框架图示如下:
各模块的基本功能简要描述如下:
○ agent:节点监控数据采集
○ master:agent的管控中心,负责将监控项配置下发给agent。
○ monitor:接收agent采集的监控数据,并统一存放到Kafka消息队列中。
○ analyser:订阅Kafka对列消息,进行数据的分析处理,存储和报警。(实际实现过程中,可以视情况对该模块进行适度的功能扩展和模块拆分)
○ web: 监控模型的各种管理,视图的展示。
○ kafka: 消息队列,缓存采集数据,共其他模块订阅使用。
○ DB/HBase:存储模型配置,监控数据等。
这个架构是一个常见的监控模型架构,而且比较容易和运维体系打通。在我们实现容器监控的过程中,就可以采用这个模型。
容器监控数据采集
数据采集是 Docker监控和一般监控系统实现过程中最有差异的地方。因为在 Docker容器内部,没有数据采集的 agent模块将不能直接依赖 agent来采集。
1. 节点数据
在容器宿主机上,我们可以获取到容器的很多基础数据。一般有以下几种方法。
通过 Docker命令
docker stats 这一方法比较简单,但是数据并不全面,我们可以看到如下效果。
基于 Linux文件系统
这个是比较推荐,且性能较好的数据采集方法。Linux的 /proc,/sys等系统目录下,记录了非常有用的监控数据。在这里,我们可以拿到大多数系统级,进程级别的运行数据,包括 CPU、磁盘 IO等。
例如我们要获取某个进程的 CPU占用,则可以采用以下方式计算出来。
2. 数据采集
集群的数据,是根据每个节点上的原始数据计算得到。是一种聚合运算,一般会有 sum,avg等运算场景。
3. 应用和产品数据
同理,应用和产品的数据则可以通过子节点的数据来计算得到。
监控的自动化
由于容器的自身特性,容器的销毁,创建等是一个很常见的场景。一个容器启动后,监控系统怎么察觉,同时需要对其做哪些数据模型的采集,这些问题就是监控自动化过程需要解决的。
1. 容器的自发现
容器新创建,停止,或者销毁,在宿主机上可以感知到。一般可以从如下目录获取。由于 Docker安装配置不同,或者 Docker采用的文件系统的差异,可能部分目录会有不一致,但实际获取策略都类似。
2. 容器与监控对象的自动关联
容器作为节点,是需要关联到集群下面才能融入监控系统。这里我们可以采用镜像名称与集群名称的映射匹配来自动关联容器到集群。
通过如下容器目录下的配置文件,我们可以获取到容器的详情,其中包含的 Image即为容器所采用的镜像名称。
当容器关联到集群后,则可以自动监控项配置。通过 master将配置下发到容器宿主机上的 agent后,则可以开始对容器进行数据采集和上报,从而对容器进行自动监控。
总结
本文提出了一种模型化容器监控方案。通过对监控对象、监控过程进行建模,基于模型来驱动整个监控场景,同时描述了该方案的主要实现方法。
这套方案相比现有的容器监控实现,具有更好的灵活性和扩展性。通过模型的改进和扩展,能够方便地将 Docker容器的监控融入到现有的监控和运维体系中去。
监控系统本身是一个非常复杂的体系。本文描述的方案很多地方细节上还没有充分展开,模型的建立上可能也有一些局限和考虑不周的地方,需要后续逐步完善。希望本文思路能给读者在开发监控系统、建设运维体系的过程中提供一些参考。
- ?
MES系统是什么,模块包括哪些,采集数据和过程控制如何实现?
出国人
展开
工业4.0是基本国策,
智能制造是工业4.0的核心,
工厂数字化是必要条件,
工业大数据是智能工厂的血液,
MES是智能工厂的脊柱。
也就是说,mes是在国家政策,世界工业发展大势下应运而生的。
智能制造MES把分布在工厂各个作业点上的微电脑、移动终端、RFID/条码设备、软件PLC、传感器、等都通过网络集成连接在系统中,让数字化血液贯穿工厂的每个细胞。
面向工业4.0工厂的五层数字化结构规划
管理层:ERP(Enterprise Resource Planning)企业资源计划、OA(Office Automation办公自动化)、PLM(product lifecycle management产品生命周期管理)、HR(Human Resource人力资源)命令由管理层发出。
执行层:mes(Manufacturing Execution System 面向制造企业车间执行层的生产信息化管理系统,MES能通过信息传递对从订单下达到产品完成的整个生产过程进行优化管理);wms(Warehouse Management System仓库管理系统);qms(Quality Management System质量管理体系);spc(Statistical Process Control统计过程控制);aps(进阶生产规划及排程系统)。
操作层。
控制层。
现场层。
mes五层数字化结构MES各板块的逻辑关系
工厂良性运营的关键指标有:
1.由上而下按计划生产使计划与生产密切配合,
2.在最短的时间内掌握生产现场的变化,
3.作出准确的判断和快速的应对措施,
4.保证各种异常得到合理而快速的修正。
MES在整个企业信息集成系统中承上启下,是生产活动与管理活动信息沟通的桥梁;在产品从工单下发到生产为成品的整个过程中,扮演着促进生产活动最佳化的信息传递者;当生产事件发生时,MES借着所收集的即时信息,做出快速的反应,以减少无附加价值的生产活动,提升工厂的生产效率。
mes系统功能模块数据采集的实现方式
数据收集是MES项目的基础及核心,只有数据方便、及时、准确的收集汇总到数据库,才能有效的发挥后续几个功能模块的作用。
在车间现场部署信息采集点,根据现场情况和管理要求,选择相应的数据采集方式(例如PC机+条码阅读器、便携式采集终端、485数据终端设备+条码阅读器),通过扫描条码、手工录入、设备集成等方式收集关键物料、检测结果、软件版本、测试数据、维修、抽检、包装、重工等信息。
过程控制的实现方式
根据现场作业所收集的数据,建立日常管理信息数据平台,监控现场连续的作业过程、分解SPC(统计过程控制)和SQC(统计质量控制)的数据信息,包含对作业过程中各项元素(人员、设备、产品、物料、实时数据信息)的跟踪、校验、管理,运用防呆机制避免作业过程中不必要的差错。
对现场所收集的各项数据进行合法性验证,将验证结果及时反馈给操作人员,只有通过验证后才可以继续执行某项操作,确保产品实际生产流程和预定流程的一致性,例如人员岗位、条码规则、工艺生产流程、上料、物料装配、完整性、可用性、存在性、冲突性、质量状态、兼容性等。
- ?
谈一下工控——工业数据采集关键技术
安阳
展开
点击上方"关注",共同关注工业互联网的发展!
工业数据采集过程,包含多类工业设备接入、多种工业通信网络协议解析、多源工业数据格式转换、实时工业数据存储与预处理等多个环节,为实现多源设备、异构系统、运营环境、人等要素信息的实时高效采集,需要大量 IT、OT 与 CT 核心关键技术支撑。
本报告所列工业数据采集关键技术主要源于工业数据采集各相关方共同关切和发展急需的方面。工业数据采集主要涉及工业通信网络、协议转换、物体标识及解析、边缘计算、工业人工智能等关键技术。
(一) 工业通信网络
工业数据采集常用工业通信网络技术主要有工业现场总线、工业以太网、工业光纤网络、TSN、NB-IoT、4G/5G 等,总体上可16分为有线和无线通信网络技术。
有线通信网络技术主要包括现场总线、工业以太网、工业光纤网络、TSN 等,现阶段工业现场设备数据采集主要采用有线通信网络技术,以保证信息实时采集和上传,对生产过程实时监控的需求。
无线通信网络技术正逐步向工业数据采集领域渗透,已成为有线网络的重要补充。主要包括短距离通信技术 RFID、Zigbee、WIFI 等,用于车间内的传感数据读取、物品及资产管理、AGV 等无线设备的网络连接;专用工业无线通信技术 WIA-PA/FA、WirelessHART、ISA100.11a 等;以及蜂窝无线通信技术 4G/5G、NB-IoT 等,用于工厂外智能产品、大型远距离移动设备、手持终端等的网络连接。
1. 现场总线:
现场总线主要解决工业现场的智能化仪器仪表、控制器、执行机构等现场设备间的数字通信以及这些现场控制设备和高级控制系统之间的信息传递问题,是连接智能现场设备和自动化系统的全数字、双向、多站的通信系统。现场总线目前仍没有统一标准,很多公司都推出其各自的现场总线技术,但彼此的开放性和互操作性还难以统一,目前应用较多的有 Profibus、CAN、LonWorks、HART、Modbus 等。
现场总线在工业界使用时间较长,技术成熟稳定。现场总线仍然是目前工业环境应用最为广泛的工业网络,现场总线的简单17性、可靠性高的优点受到许多用户的喜爱。随着中国产业升级的进一步深化,现场总线作为智能制造和工业互联网的基础,预计从 2018 年开始新增节点数会逐步回升。
2. 工业以太网:
工业以太网是指在工业环境的自动化控制及过程控制中应用以太网的相关组件及技术。工业以太网采用 TCP/IP 协议,和IEEE 802.3 标准兼容,但在应用层会加入各自特有的协议。工业以太网实现了以太网 TCP/IP 协议与工业现场总线的融合,是在标准以太网协议基础上修改或增加一些特定的功能而形成的。工业以太网在发展过程中形成了多种协议标准,包括 Profinet、EthernetIP、Modbus/TCP、EtherCAT 等,这些协议背后皆有各自支持厂商,难以形成统一标准。
工业以太网最大的优势在于:能够使企业的信息网络和控制网络实现统一;以太网容易实现网络集成,开发技术广泛,价格较低,容易获得众多厂商的支持。
工业以太网近几年快速发展,技术逐渐成熟,电磁兼容性、高低温等工业特性已能够满足工业数据采集需求,在工业数据采集领域得到了广泛应用,近年来工业以太网的市场占比逐步上升。
3. 工业光纤网络
随着无源光网络(PON)技术在电信、电力行业的广泛应用,工业光纤网络已成为工业数据采集领域的一种新型组网技术。工业光纤网络在工业互联网体系架构中处于车间级网络位置,工业18光纤网络由汇聚设备 OLT、无源分光器、PON 接入设备 ONU 组成,可以提供多种工业接口,实现工业设备数据、生产数据到企业 IT系统的可靠有效地传输。
工业光纤网络在工业场景下最常用的组网方式是基于 TypeD 保护方式的手拉手保护链型组网和星型组网,实现全光路保护,提高了车间通信网络的可靠性,为制造企业的通信可靠性提供了坚实的保障。
工业光纤网络具有以下优点:PON 通过无源器件组网,不受电磁干扰和雷电影响;采用自愈环形网络支持并联型,切换时间短、抵抗失效能力强;点到多点传输架构,终端并行接入,部署灵活;仅需单根光纤线传输,最远覆盖 30 公里范围;多业务承载,支持数据、视频、语音、时间同步等多种业务;高安全性,PON 网络设置 ONU 安全注册机制,下行数据传送天然加密,上行数据传送时分机制隔离。
点击上方关注,共同关注工业互联网的发展!
4. TSN
TSN 是 IEEE 提出的一个国际标准,TSN 是为了解决工业领域中的互操作性孕育而生的标准协议,厂商设备之间可以进行非常好的互联互通。TSN 是基于以太网标准的确定性实时通信机制,定义了极其准确、极易预测的网络时间,具备高数据量传输与优先权设定功能等优势。TSN 是其它工业以太网协议的基础,现有的工业以太网协议未来将会成为 TSN 网络之上的专属网络协议,因此这类协议依旧会存在,但彼此之间不会互相取代。
通过为以太网增添诸多功能特性,有效地解决了工业数据采集数据在以太网传输中的时序性、低延时和流量整形问题。同时又保持了 100%向后兼容传统以太网,TSN 确保了关键任务型时间敏感数据在网络上不会滞留,有助于跨许多行业打造一个互操作性的生态系统。通过使用标准的以太网组件,TSN 可无缝集成现有棕色地带应用和标准的 IT 网络来提高易用性。此外,TSN 继承了 HTTP 接口和 WEB 服务,实现了工业数据采集系统所需的远程监控、可视化和修复功能。
5. NB-IoT
NB-IoT 是由 3GPP 定义的基于蜂窝网络的窄带物联网技术,它支持海量连接、有深度覆盖能力、功耗低,适合于传感、计量、监控等工业数据采集应用,可满足这些应用对广覆盖、低功耗、低成本的需求,目前广泛商用的 2G/3G/4G 及其他无线技术都无法满足这些挑战。
NB-IoT 单小区可支持 5 万用户,NB-IoT 可以比现有无线技术提供 50~100 倍的接入数;NB-IoT 比 LTE 提升 20dB 增益,很好实现广域覆盖,就算在地下车库、地下室、地下管道等信号难以到达的地方也能覆盖到。
NB-IoT 引入超长 DRX 省电技术和 PSM 省电态模式,可让设备时时在线,通过减少不必要的信令和在 PSM 状态时不接受寻呼信息来达到省电目的,保障电池 5 年以上的使用寿命。
6. 5G(第五代移动通信网络)
近些年 WiFi、Zigbee 和 WirelessHART 等无线通信网络技术已经在制造车间使用,但这些无线技术存在局限性,不能满足智能制造对于数据采集的灵活、可移动、高带宽、低时延和高可靠等通信要求。
5G 具有更高的速率、更宽的带宽,预计 5G 网速将比 4G 提高 10 倍左右,从行业应用看,5G 具有更高的可靠性,更低的时延,支持接入网络更多、密度更大,可以为关键任务型的服务提供保障能力。能满足工业数据采集的高带宽、低时延和高可靠性等网络通信需求,可保证工业信息实时采集和上传,从而实现对生产过程的实时监控。
从发展态势看,5G 目前还处于技术标准的研究阶段,5G 有望 2020 年正式商用。目前,有线连接在工业数据采集连接数量方面占主导地位。但预测显示,从 2022 年到 2026 年,5G 物联网连接的平均年复合增长率将达到 464%。
点击上方关注,共同关注工业互联网的发展!
- ?
设备效率管理新途径—Kinco步科推出OEE和稼动率数据自动采集系统
xxys
展开
你想降低企业生产成本吗?
你想提高企业市场竞争力吗?
你是否找到合适的方法与途径?
或许
加强实时设备效率管理
提高企业装备素质和设备利用率
是一条很好的途径
其中
计算OEE和稼动率是一种好的专业的方法
传统的OEE解决方案
传统的OEE解决方案,主要有以下两种方式:
1.人工统计、人工计算。
通过人工对设备停机和报警数据进行抄表和采集。但是这种方式容易造成数据不准确,不及时,最后还需要人工计算OEE,人工生成统计报表,工作量巨大。
2.投资昂贵、复杂的MES系统
这种方式花费的成本高昂,耗费时间长,需要数月的时间去准备、导入系统,可能还存在系统导入失败的风险。
传统的OEE解决方案让很多企业望而却步,如果选择方式一,巨大的工作量需要你投入更多的用人成本,最后的结果还并不一定准确有参考价值;选择方式二,高昂的投入,让没有多余预算与时间的你,只能选择放弃;即使最终投资上了一套MES系统,实施过程漫长,还要承担上线失败的风险。
测个OEE,怎么就这么难?
难道就没有一个投入成本低、能快速部署、快速上线的解决方案,帮助我们的企业加强设备效率管理,提高企业竞争力?
选择Kinco OEE和稼动率数据自动采集系统,几万元就可能完成一个车间级OEE和稼动率数据采集系统,一周左右即可上线使用。测量OEE,加强设备效率管理,就是如此经济、简单。
Kinco OEE和稼动率数据自动采集系统
Kinco推出OEE和稼动率数据自动采集系统,具有自动化数据采集模块——KW无线数据采集模块,通过LoRa技术传输数据,无需部署传统的以太网,就可以轻松地获取有关设备的生产信息,为OEE提供最有价值的数据。
Kinco推出的OEE和稼动率数据自动采集系统,具有自动计算和存储功能。通过步科的X10现场智能终端(或智能电子看板),可以生成实时的生产信息报告,包括故障停工,在制品信息和OEE等,并以图表的方式进行呈现。通过这些有价值的数据,企业管理者能做到在事前进行预防,事中进行控制,并能进行数据追溯管理,为充分利用设备,提高设备价值创造效率打下基础,让企业的管理工作变得轻松而简单。
本系统可以做到:
实时传输设备产量、质量数据,设备效率实时统计;通过智能电子看板,可实时掌握车间设备的异常状态,为生产现场提供及时的支持;通过显示终端上传Excel文件,通过Excel报表,管理层可以随时了解导致效率损失的主要因素,从而进行相应的改善。除了Excel报表,数据也可通过第三方数据接口软件上传到ERP或MES。
应用案例
OEE作为衡量生产、设备效率的重要指标,已经被越来越多的企业所应用。杭州某实业有限公司,主营相机零部件研发生产,拥有大量冲床与注塑机设备,生产设备众多,生产频率极高,如何通过设备的运转状态,准确掌握生产能力、生产效率?通过采集OEE数据,根据数据,针对性的提高OEE,无疑是一种有效的途径。
该公司引进步科OEE和稼动率数据自动采集系统,对每一台设备安装KW无线数据采集模块,无线采集设备状态和产能信息。
显示端采用步科智能电子看板,接收KW采集的数据,通过组态软件编程,轻松制定多层显示画面,进行数据分析展示,界面精美,开发简单。同时,采集的数据会同步保存至智能电子看板内置数据库中,定时导出成Excel文件发送到服务器,进行历史数据存储。
LoRa无线数据采集模块,抗干扰能力强,节省布线成本;智能电子看板内置数据库,存储历史数据,定时导出Excel文件,将生产计划、生产产能、稼动率、品质状况等信息进行汇总;智能电子看板的大尺寸数据呈现,让管理者对设备的稼动一览无余,真实呈现设备纯稼动状况。
实时监控设备工作状态、待机状态、故障状态、未安排计划;实时统计产量信息并和工单信息对比
任一时间段内稼动率分析
通过曲线、图表等形式,将计划产量和时间,产量进行对比分析,产能利用情况清晰可见
案例价值
通过步科的OEE和稼动率数据自动采集系统,有效采集OEE和稼动率数据。准确的掌握了设备的生产能力,生产效率以及生产良品的能力,根据数据持续改善,提高OEE,从而提升企业生产能力,提高企业生产效率,提高企业竞争力。
有了步科的OEE和稼动率数据自动采集系统,企业制定一些奖励措施,有了实时的数据呈现和数据支撑,每位员工的表现得到公开、公平、公正的呈现,员工的积极性也被充分调动起来了,设备的使用效率也就提高了,企业的管理工作更简单了,企业生产效率提高了。
OEE与稼动率知识小科普
OEE(全局设备效率)和稼动率
稼动率是指设备在所能提供的时间内为了创造价值而占用的时间所占的比重。OEE是代表和设备理想状态相比,现时设备的状态。从下图我们可以看出OEE的测量。
测量OEE是设备运行持续改善的起点,没有测量就没有改善,世界级企业的成功运营依赖于对设备和生产流程、绩效的一贯地,准确的测量。世界级企业的全局设备效率OEE为85%或更好,制造业平均水平是60%。但大多数企业发现他们的设备OEE运行在13%-40%之间。
OEE与稼动率的关系
由OEE的计算公式可知,OEE的一个最重要的目的就是要减少六大损失:停机损失、换装调试损失、暂停机损失、减速损失、启动过程次品损失和生产正常运行时产生的次品损失。
有OEE的计算公式还可知道,OEE的确定是由时间稼动率(可用率)、性能稼动率(表现性)以及质量三个关键要素确定。如果你的时间稼动率(可用率)在某一个时间段很低,说明在六大损失中和OEE时间稼动率(可用率)损失有关的故障太多,那么显而易见,你应该把过程控制和改善重点放在这些问题影响方面了!同样,如果质量指数或者表现性导致你的OEE水平降低,那么你就应该把目光放在和质量有关的问题点上。
更多关于OEE和稼动率的交流,欢迎与我们联系,共同探讨~
- ?
关于诚控电子模拟量采集模块的应用领域
落魄
展开
深圳市诚控电子有限公司,是一家专业从事数据采集产品研发生产销售于一体的高科技公司,公司前身为深圳华格科技,资金雄厚,技术力量强大,应于自动化时代发展的潮流,诚控电子秉着坚持做国内品质可靠,质量稳定,成本低廉的采集模块而生。并可提供欧姆龙PLC/欧姆龙温控器以及温度/压力/流量传感器配套销售,为国内外客户提供一站式的技术服务。
模拟量采集模块应用领域:
1、楼宇自动化
楼顶水箱深度、水箱水温、室内烟雾探测、报警开关
2、智能交通
拿地铁举例:行车信号灯、二氧化碳浓度监测、氧气浓度监测、烟浓度监测、排风扇控制
3、 水处理系统
水位控制监测及报警、水流量监测、水污染指数控制、水温度监测
4、高速公路智能系统
车辆通过探测、通行信号灯控制
5、 能源管理系统
风力发电站举例、风速监测、风车转速监测、电压监测、电流监测
6、环境监测
温度、湿度、风速、空气成分监测
7、工厂自动化
8、远程监控与数据采集
9、智能楼宇控制/智能家居系统
10、安防产品与安防工程
11、工业现场控制
12、仓储与监控
13、医疗、工控产品开发
14、包装和物料转移
15、电子产品制造等
模拟量采集模块概述:
模拟量采集模块采用RS485/RS232通讯串口,将分散的现场数据点的模拟量经AD变换传输到主机或由PLC/PC控制远程主站点。 模拟量采集其实就是指模拟量信号输入,模拟量信号输入是指输入为连续变化的物理量,相对于数字量(简单的来说就是"0""1"和电流电压两种激活输入单元的方式不同而已)输入(digital input)而言。通俗点其实就是精度,位数越高,把这个模拟量化的越细,结果也就越精准。有独特的双看门狗安全设计。深圳诚控电子DAM模块是全新一代基于嵌入式系统的模块式数据采集器,采用标准DIN35导轨安装方式,现场安装简单,使用灵活;应对各种现场应用。模块配置有RS232接口,方便与PC或PLC通信;模块配置有RS485接口,可单独与PC或PLC通信,也可以与多个485模块组网使用。
DAM-80X1模拟量输入型数据采集器,可采集最多4路差分模拟信号(DAM-8041)/最多8路单端模拟信号(DAM-8081);模块采用高性能24位AD芯片,采集测量精度±0.05%。适用于采集工业现场的各种电压和电流信号。
DAM-8021采用光电技术,有效保障数据采集可靠及安全。
DAM-8021技术指标
◆隔离耐压:DC 2500V
◆ESD保护:±15KV
◆供电范围:DC +8~+36V
◆功耗:小于1W
◆工作温度:-40℃~+80℃
◆安装方式:工业级塑料外壳,标准DIN35导轨安装
模拟量输入
◆输入通道数:最多4路差分输入/最多8路单端
◆输入范围:±20mA,±100mV,±1V,±2.5V,±5V,±10V
◆转换速率:20次/秒(全通道)
◆AD转换分辨率: 24位
◆测量精度:±0.05%(典型值)
◆输入端过压保护,过流保护,并有低通滤波
◆常模抑制(NMR): 60 dB (1kΩ Source Imbalance @ 50/60 Hz)
◆共模抑制(CMR): 120 dB(1kΩ Source Imbalance @ 50/60 Hz)
自动化数据采集模块
-
1、只需3秒快速实现求和
-
2、如何快速填充序号
-
3、如何自动填充序号(公式法)
-
4、数据条的神奇应用
-
5、多文本快速合并
-
6、查找与替换的不同玩法
-
7、快速定位到指定区域
-
8、数据排序、工资条制作
-
9、快速筛选(模糊、精确筛选)
-
10、快速插入空行
-
11、快速删除空行
-
12.快速跳转到天涯海角
-
13、.同时查看两个Excel文件
-
14、用条件格式扮靓报表
-
15、一键插入Excel图表
-
16、批量处理行高、列宽
-
17、利用拆分功能查看数据
-
18、批量录入相同内容
-
19、工作表快速跳转
-
20、批量录入表格模板(精品课程)
-
21、Excel函数与公式的应用、公式循环引用的查找
-
22、IF函数单条件判断同比增长
-
23、用sum函数 格式相同,连续多表数据汇总
-
24、excel快捷键
-
25、VLOOKUP函数——根据销售员匹配销售额
-
26、统计各部门销售总额
-
27、统计指定条件个数
-
28、怎样输入当前日期和时间、星期数
-
29、销售业绩排名
-
30、Sumproduct函数-万能函数(销售额汇总求和)
-
31、根据销售员,地区,商品名称汇总
-
32、批量替换PPT字体
-
33、给销售额数据批量添加万元单位
-
34、一秒快速核对两列数据
-
35、快速定位到指定单元格或区域
-
36、快速制作双行标题工资条
-
37、给你的表格做个瘦身
-
38、快速打开常用的Excel文件
-
39、快速打开多个Excel文件
-
40、利用创建组—快速隐藏/展开多列数据
-
41、快速制作下拉菜单
-
42、复制粘贴表格,如何保留数据源列宽格式一致?
-
43、两列数据位置互换
-
44、1秒钟扮靓报表——如何实现表格隔行换色
-
45、快速删除重复记录——保留唯一值
-
46、快速向下填充、向右填充,文本或公式
-
47、给Excel文件添加密码
-
48、插入带图片的批注
-
49、输入公式后不计算?
-
50、如何设置单元格缩进
-
51、快速解决Excel表格总显示货币格式
-
52、批量添加万元单位
-
53、你会四舍五入么?
-
54、用RAND函数机选彩票
-
55、冻结首行你会么?
-
56、超链接的高级应用
-
57、IFERROR函数-屏蔽错误值
-
58、批量填充颜色
-
59、录入数据
-
60、快速输入工号
-
61、快速行列转置
-
62、自定义缩放界面
-
63、多个单元格同时输入
-
64、如何计算立方米?
-
65、快速制作双行标题工资条
-
66、输入带方框的√和×
-
67、快速将姓名对齐
-
68、快速输入性别
-
69、按单位职务排序
-
70、自动计算合同到期日期
-
71、计算时间间隔
-
72、日期和时间的拆分
-
73、快速处理不规范的日期格式
-
74、快速填充合并单元格
-
75、效率加倍的快捷键
-
76、快速复制表格和对象
-
77、快速创建工作表副本
-
78、快速复制序列号
-
79、快速显示公式
-
80、多个单元格同时输入
-
81、快速调整显示比例
-
82、快速自动填充
-
83、快速填充(Ctrl+E)
-
84、Ctrl与数字键结合
-
85、快速将多列数据整理为1列
-
86、快速将1列数据拆分为多列
-
87、快速定位公式
-
88、快速录入数据
-
89、快速累计求和
-
90、身份证号码显示为0怎么办?
-
91、快速制作斜线表头
-
92、文本竖向显示
-
93、神奇的监视窗口
-
94、不一样的格式刷
-
95、快速美化图表
-
96、快速生成当前日期
-
97、快速找出循环引用
-
98、快速提取信息
-
99、二维表快速转换为一维表
-
100、快速多表合并