龔龍強(qiáng) 楊娜 劉露 郭維夏 徐友誼
上汽通用五菱汽車股份有限公司重慶分公司 重慶市 401320
傳統(tǒng)線平衡墻的繪制是由班段長(zhǎng)在excel 中進(jìn)行手工繪制,對(duì)照SOS/ 工藝流程要素工時(shí)表挨個(gè)進(jìn)行要素的識(shí)別復(fù)制信息手工選擇excel 單元格進(jìn)行要素填寫單元格的合并邊框繪制,及區(qū)分增值、非增值、步行時(shí)間后的顏色填充,存在嚴(yán)重的工作效率低、花費(fèi)時(shí)間久、一致性差等問題,成為使用線平衡墻改進(jìn)工具的一大障礙。
Python 由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會(huì)的Guido van Rossum 于1990 年代初設(shè)計(jì),作為一門叫做ABC 語言的替代品。Python 提供了高效的高級(jí)數(shù)據(jù)結(jié)構(gòu),還能簡(jiǎn)單有效地面向?qū)ο缶幊?。Python 語法和動(dòng)態(tài)類型,以及解釋型語言的本質(zhì),使它成為多數(shù)平臺(tái)上寫腳本和快速開發(fā)應(yīng)用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。
openpyxl 模塊是一個(gè)讀寫 Excel(部分更早格式不支持)文檔的 Python 庫,不僅能夠同時(shí)讀取和修改 Excel 文檔,而且可以對(duì)Excel 文件內(nèi)單元格進(jìn)行詳細(xì)設(shè)置,包括單元格樣式等內(nèi)容。使用 openpyxl可以讀寫xltm、 xltx、 xlsm、 xlsx 等類型的文件,且可以處理數(shù)據(jù)量較大的Excel 文件,跨平臺(tái)處理大量數(shù)據(jù)是其它模塊沒法相比的。因此openpyxl 成為處理 Excel 復(fù)雜問題的首選庫函數(shù)。本文對(duì)python 及其模塊的安裝和基本使用不作詳細(xì)闡述。
繪制線平衡墻的基礎(chǔ)準(zhǔn)備工作就是工作要素及其時(shí)間的統(tǒng)計(jì)工作,根據(jù)不同的要求標(biāo)準(zhǔn)結(jié)合自身情況可多次測(cè)量選用平均值或最低重復(fù)值等數(shù)據(jù)。完成數(shù)據(jù)的測(cè)量后,按工位號(hào)、工作要素、操作時(shí)間、步行時(shí)間等不同類型時(shí)間對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)整理及匯總至excel 文件形成基礎(chǔ)數(shù)據(jù)源,部分成熟企業(yè)該數(shù)據(jù)屬于常規(guī)工藝數(shù)據(jù)可稍作適應(yīng)性修改即可。
2.2.1 編程開篇引入模塊:引入打開及創(chuàng)建excel 文件的模塊:from openpyxl import load_workbook, Workbook;引入時(shí)間與系統(tǒng)模塊:import time, os;引入格式相關(guān)模塊:from openpyxl.styles import PatternFill, Alignment, Side, Border, Font。
圖1 線平衡模板說明
圖2 數(shù)據(jù)源整理
2.2.2 讀取數(shù)據(jù)源:使用load_workbook()、active、datas=ws.iter_rows(values_only=True)等函數(shù)方法讀取數(shù)據(jù)源信息。運(yùn)用for 循環(huán)遍歷所有數(shù)據(jù)并通過if 判斷篩選剔除表頭等非要素信息內(nèi)容,將剩余內(nèi)容append()為新的列表或字典數(shù)據(jù)源備用。
2.2.3 格 式 準(zhǔn) 備: 通 過align = Alignment(horizontal='center', vertical='center') # 定義對(duì)齊樣式橫向居中縱向居中;side = Side('thin') # 定義邊樣式為細(xì)條;border = Border(bottom=side, left=side, right=side, top=side)#定義上下左右邊框?yàn)榧?xì)條;red = PatternFill('solid', fgColor='FF0000') # 定義紅色;yellow = PatternFill('solid',fgColor='FFFF00')# 定 義黃 色;green = PatternFill('solid', fgColor='008000') # 定義綠色。邊框及顏色等填充可以根據(jù)自己需求自行調(diào)整。
2.2.4 起始點(diǎn)初始值賦值:定義并賦值繪圖左右區(qū)(繪圖時(shí)根據(jù)左右工位分別繪制在左右側(cè))起始位置值、周期時(shí)間、加權(quán)時(shí)間、工位號(hào)、車型等基礎(chǔ)數(shù)據(jù)的初始值,如左側(cè)列起始值2:s_coll = 2;周期時(shí)間0:ct = 0;工位號(hào)起始值0:station = 0。
2.2.5 循環(huán)數(shù)據(jù)開始繪圖:wb1 = load_workbook(path)/ Workbook()打開模板表格或新建表格后獲取活動(dòng)表 ws1 = wb1.active,通過for 循環(huán)遍歷之前準(zhǔn)備的列表或字典數(shù)據(jù)源,讀取要素內(nèi)容、操作時(shí)間、步行時(shí)間信息,并通過if 逐一判定是否為上個(gè)循環(huán)工位、左側(cè)或右側(cè)工位,是否有步行時(shí)間等選擇,并根據(jù)上一步累加后的單元格位置cell(行, 列)開始填寫操作要素ws1.cell(s_rowl-ot, s_coll).value = ‘要素內(nèi)容’、合并單元格ws1.merge_cells(start_row, start_column, end_row, end_column),填涂顏色ws1.cell(s_rowl,s_coll).fill = red、格式設(shè)置等操作,計(jì)算下個(gè)循環(huán)的行列初始值、周期時(shí)間累加、加權(quán)時(shí)間累等下個(gè)循環(huán)準(zhǔn)備工作。待循環(huán)至出現(xiàn)下一個(gè)工位時(shí)補(bǔ)充最終加權(quán)時(shí)間,并開始新的工位循環(huán)逐一填繪,直至循環(huán)完成。
2.2.6 生成的線平衡墻的保存,for 循環(huán)后,通過input 輸入或默認(rèn)保存地址并通過save() 函數(shù)保存最終自動(dòng)繪制的線平衡墻表格。
2.2.7 exe 的 轉(zhuǎn) 換:Python 編 寫的程序代碼在無python 環(huán)境的電腦上不能正常使用,在創(chuàng)建了APP 后可以使用 PyInstaller 模塊將 Python 程序生成可直接運(yùn)行的程序;常用命令格式為“pyinstaller -F name.py”, 將 名 為name.py 的python 程序轉(zhuǎn)化為exe 格式app。這個(gè)程序就可以被分發(fā)到對(duì)應(yīng)的 Windows 或 Mac OS X 平臺(tái)上運(yùn)行使用。如果需要更美觀的界面也可使用PYQT5 等界面模塊進(jìn)行開發(fā)界面,本文不再描述。至此線平衡墻的自動(dòng)繪制編程基本完成。保存后的線平衡可根據(jù)最終需求自行增加指示線、備注說明等內(nèi)容。
圖3 繪制整體流程邏輯
圖4 自動(dòng)繪制線平衡效果
主要改進(jìn)方法及目標(biāo)包括:通過工位間的要素互換和增減來減少瓶頸工位的工作量,達(dá)到所有工位都能在節(jié)拍內(nèi)完成工作或是減少團(tuán)隊(duì)成員工作量的差距;通過工位間的要素互換和增減來提高生產(chǎn)效率為削減工位或提高線速提供依據(jù);通過動(dòng)作研究等方法進(jìn)行一些CIP 活動(dòng)尋找最經(jīng)濟(jì)有效的工作方法減少等待時(shí)間、非增值時(shí)間和步行時(shí)間,消除浪費(fèi)。目標(biāo)可包括且不限于沒有瓶頸工位(所有工位周期時(shí)間都在實(shí)際單件工時(shí)內(nèi))、沒有多余等待(每個(gè)工位等待時(shí)間少)、線平衡率在90% 以上、線平衡效率在95%以上等。
圖5 APP 使用教程
圖6 線平衡率&線平衡效率舉例
前后對(duì)比效率提升,手工繪制單一車型累計(jì)需要約20-30 小時(shí)不等,自動(dòng)繪制僅需約1 分鐘。除此之外自動(dòng)繪制程序可完全解決要素內(nèi)容信息、格式、填涂等一致性不足問題。
通過學(xué)習(xí)與使用python 及其模塊編程開發(fā)軟件,實(shí)現(xiàn)自動(dòng)化線平衡墻繪制功能替代低效率的手工繪,讓計(jì)算機(jī)替代人工重復(fù)性工作,大大提升線平衡墻工具的使用效率及準(zhǔn)確率,為改善改進(jìn)工作提供了有力保障與支持。通過持續(xù)的改善提升活動(dòng),降低企業(yè)生產(chǎn)運(yùn)行成本、提升效率,持續(xù)增加企業(yè)競(jìng)爭(zhēng)力。