西门子CPU模块6ES7416-2XK02-0AB0

2024-11-21 08:50 113.246.99.97 1次
发布企业
湖南西控自动化设备有限公司商铺
认证
资质核验:
已通过营业执照认证
入驻顺企:
1
主体名称:
湖南西控自动化设备有限公司
组织机构代码:
91430100MA7BLNUT58
报价
请来电询价
西门子
授权代理商
S7-400
一级代理商
德国
售后保障服务
关键词
西门子PLC代理,西门子变频器代理,西门子伺服电机代,西门子工控机代理,西门子触摸屏代理
所在地
中国(湖南)自由贸易试验区长沙片区开元东路1306号开阳智能制造产业园(一期)4#栋301
联系电话
17838383235
手机
17838383235
经理
徐嘉泉  请说明来自顺企网,优惠更多
请卖家联系我
17838383235

产品详细介绍

机器学习与工业(一)-预测性维护


前 言:

随着自动化软件、大数据等技术的成熟,越来越多的工业场合开始将人工智能和机器学习引入到工业控制中去,比如我们常见的软测量、MPC控制、APC控制系统、寿命预测、状态检测、设备运行状态检测等系统。本次探讨内容主要以笼统的理论和一个简单的案例为探讨方向。 这一篇我们主要就针对如何进行相关知识的了解(仅属于个人观点和积累)
我们需要的基础知识: 

1、Python、Matlab、Mathematica、go、scala等至少掌握一门基础编程语言(只要会用就行)

2、了解机器学习的原理

3、了解深度学习的理论知识。推荐美国吴恩达的机器学习、深度学习的系列课程视频的观看笔记。

4、高数、概率论和线性代数的基础知识。

5、一颗好学的心

本文需要掌握的基础准备:



由于Matlab有点贵,就大学用了一段时间;本文以Python为例,需要掌握的基础准备:1、python的基础语法2、常用的数据结构3、常用的数据处理相关库3.1、Numpy:数据类型的转换;3.2、Pandas:读取原始的数据文件,数据集的处理,数据集后处理后的特征数据(如果是时间序列)处理,读取起来也是非常方便的。3.3、matplotlib:Python绘图库的扛把子;后续特征的简单可视化,神经网络的训练过程的Loss,轴承或设备Remianing Useful Life(RUL)的可视化也是用得到的。3.4、Tensorflow:常用的谷歌开源深度学习框架、CNN、RNN等基础包。3.5、pyTorch:4、常用训练数据集网站:国内有阿里的天池,Jdata、国外的kaggle,nasa,DataFountain等,这些网站可以找到很多的数据集,用于训练或测试自己的模型。5、了解常见的机器学习算法
  • 监督学习:朴素贝叶斯、SVM、决策树、k-近邻算法等;
  • 非监督学习:PCA、SVD、K-Means;
  • 近比较火的:LSTM、GNU等;


有了这些基础知识之后我们要怎么用呢?

来,一起学吧!

以一个常见的深度学习进行预测性维修为例(核心代码来自微软demo)

LSTM模型属于RNN,而RNN适用于处理序列型数据,在常见的预测性维护和寿命预测中比较适用,这里有个题外话,股票预测也属于时间序列的一种,都会忍不住用LSTM去做股票预测,经过小伙伴长时间的测试发现股票预测目前还是不太现实,或者说我们技术还没学到家,目前做的比较多的还是策略。 

步:针对数据集进行导入,和标准化(就是取列名)

这一步需要根据数据集的不同,输入方式的不同进行自定义进行。如果是CSV的话,只要简单的取列名就行了(数据处理代码部分自己写的)self.tapeNum = self.fileData[0] + self.fileData[1]*256self.TapeNumCurrent = 0 self.arrayIndex = self.fileData[2:2997]self.fileJudge = self.fileData[2999] + self.fileData[3000]*256self.reel = self.fileData[3200:3599]self.dataList = []for i in range(0, self.tapeNum): dataTtrack = DataTtrack() if i == 0: dataTtrack.headBegin = 3600 else: dataTtrack.headBegin = self.dataList[i - 1].dataBegin + self.dataList[i-1].dataNum*2 dataTtrack.dataBegin = dataTtrack.headBegin + 240 dataTtrack.dataNum = self.fileData[dataTtrack.headBegin + 114] + self.fileData[dataTtrack.headBegin+115] * 256 dataTtrack.sampleInterval = (self.fileData[dataTtrack.headBegin+116] + self.fileData[dataTtrack.headBegin+117] * 256)/5 dataTtrack.waveSpeed = self.fileData[dataTtrack.headBegin + 238] + self.fileData[dataTtrack.headBegin+239] * 256 dataTtrack.data = [] for j in range(dataTtrack.dataBegin, dataTtrack.dataBegin+dataTtrack.dataNum,2): dataCache = self.fileData[j] + self.fileData[j+1]*256 if self.fileData[j+1] >= 128 : dataCache -=65536 dataTtrack.data.append(dataCache) self.dataList.append(dataTtrack)

 第二步:定义任务,一般情况下就以下这三种任务模式,选二分类吧。

1、利用回归类预测剩余使用寿命(RUL)或故障时间;2、二分类预测设别是否会在特定时间范围内失效;3、多类分类:预测设备是否会在不同的时间窗口失效; 


计算RUL

# Data Labeling - generate column RULrul = pd.DataFrame(train_df.groupby('id')['cycle'].max()).reset_index()rul.columns = ['id', 'max']train_df = train_df.merge(rul, on=['id'], how='left')train_df['RUL'] = train_df['max'] - train_df['cycle']train_df.drop('max', axis=1, inplace=True)train_df.head()


创建标签

# generate label columns for training dataw1 = 30w0 = 15train_df['label1'] = np.where(train_df['RUL'] <= w1, 1, 0 )train_df['label2'] = train_df['label1']train_df.loc[train_df['RUL'] <= w0, 'label2'] = 2train_df.head()

 第三步:创建模型

说到寿命预测、我们常用的就是LSTM模型。


标准化

# MinMax normalizationtrain_df['cycle_norm'] = train_df['cycle']cols_normalize = train_df.columns.difference(['id','cycle','RUL','label1','label2'])min_max_scaler = preprocessing.MinMaxScaler()norm_train_df = pd.DataFrame(min_max_scaler.fit_transform(train_df[cols_normalize]), columns=cols_normalize, index=train_df.index)join_df = train_df[train_df.columns.difference(cols_normalize)].join(norm_train_df)train_df = join_df.reindex(columns = train_df.columns)train_df.head()


创建3D数据(样本、时间步、特征)

def gen_sequence(id_df, seq_length, seq_cols): data_array = id_df[seq_cols].values num_elements = data_array.shape[0] for start, stop in zip(range(0, num_elements-seq_length), range(seq_length, num_elements)): yield data_array[start:stop, :]


创建LSTM模型,我们这里选用TensorFlow里的Keras

# build the networknb_features = seq_array.shape[2]nb_out = label_array.shape[1]model = Sequential()model.add(LSTM( input_shape=(sequence_length, nb_features), units=100, return_sequences=True))model.add(Dropout(0.2))model.add(LSTM( units=50, return_sequences=False))model.add(Dropout(0.2))model.add(Dense(units=nb_out, activation='sigmoid'))model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

 第四步:模型训练和预测

# fit the network 这里有因为Tensorflow版本问题,有过修正model.fit(seq_array, label_array, epochs=10, batch_size=200, validation_split=0.05, verbose=1, callbacks = [keras.callbacks.EarlyStopping(monitor='val_loss', min_delta=0, patience=0, verbose=0, mode='auto')])# training metricspredict_x=model.predict(seq_array,verbose=1, batch_size=200)# make predictions and compute confusion matrixy_pred=(predict_x>= 0.5).astype("int32")y_true = label_arrayprint('Confusion matrix\n- x-axis is true labels.\n- y-axis is predicted labels')cm = confusion_matrix(y_true, y_pred) 




关于湖南西控自动化设备有限公司商铺首页 | 更多产品 | 联系方式 | 黄页介绍
成立日期2021年10月19日
法定代表人吴阳祥
注册资本5000000
主营产品西门子一级代理商 PLC 变频器 工控机 伺服电机 触摸屏 软件 电线电缆 电源 S7-200CN S7-200SMART S7-300 S7-400 S7-1200 S7-1500 ET-200 全新原装正品 全国服务
经营范围其他未列明制造业;工程和技术研究和试验发展;电气设备的批发、系统集成;电子产品、五金产品、电线、电缆、电工器材、通讯设备及配套设备、机械配件、仪器仪表的批发;工业自动化设备、机电产品、电子元件及组件、电子产品零部件、发电机组、高低压成套设备、计算机应用电子设备、电气机械设备、高低压电器销售;工业自动化设备、电子仪器、五金机电产品、电气技术的研发;智能化技术服务;办公设备零售;机电设备的维修及保养服务(限分支机构);通用设备修理(限分支机构);自动化控制系统的研发、安装、销售及服务;机电设备安装服务;电子技术咨询;电子技术转让;计算机技术开发、技术服务。(依法须经批准的项目,经相关部门批准后方可开展经营活动)
公司简介公司是中国西门子授权代理商,销售商品为全新原装,签正规的产品购销合同,可开增值税发票,24小时热线---徐17838383235。公司是中国西门子授权代理商,销售商品为全新原装,签正规的产品购销合同,可开增值税发票,24小时热线---徐17838383235。西门子中国授权代理商、西门子一级代理商、西门子PLC代理商--------------湖南西控自动化设备有限公司我司主要业务为西门子自动化产 ...
公司新闻
我们的其他产品
顺企网 | 公司 | 黄页 | 产品 | 采购 | 资讯 | 免费注册 轻松建站
免责声明:本站信息由湖南西控自动化设备有限公司自行发布,交易请核实资质,谨防诈骗,如有侵权请联系我们   法律声明  联系顺企网
提醒:因为软件开发行业无明确禁止法规, 该企业仅提供软件开发外包定制服务,项目需取得国家许可,严禁非法用途。 违法举报
© 11467.com 顺企网 版权所有
ICP备案: 粤B2-20160116 / 粤ICP备12079258号 / 粤公网安备 44030702000007号 / 互联网药品信息许可证:(粤)—经营性—2023—0112