196
研究与探索Research and Exploration ·探讨与创新
中国设备工程  2019.12 (上)
Python 是荷兰人Guido van Rossum 在1989年圣诞节期间编写的一种编程语言。现在,全世界差不多有600多种编程语言,但流行的编程语言也只有十几种。下面的图1列表基于源自TIOBE 编程社区指数的数据,该指数是表明近两
年中编程语言受欢迎程度的常用指标:
图1 2019年和2018年编程语言占有率排名
过去15年来,Python 的受欢迎程度稳步上升。过去这几年,它一直能够跻身TIOBE 指数前5名的位置。作为如今人工智能、机器学习、大数据和机器人等一些最有前途的技术背后的主要语言,Python 近年来积累了庞大的粉丝。你会惊讶地发现,学习Python 很容易,这就是为什么不论初出茅庐的新手程序员还是经验丰富的开发人员选择Python 作为第二或第三语言的原因。
“Python 的语法是非常精简的,对于一位完美主义者来说,Python 将是他爱不释手的伙伴。Python 社区的目标就是构造完美的Python 语言!本文将使用Python3来进行讲解。”1 Python 简介
当用一种编程语言开始真正的解决工作中的问题时,除了编写代码外,还需要很多基本的已经写好的现成的东西,来协助加快开发进度。比如,要编写一个客户端,如果先从最底层开始编写网络协议相关的代
浅谈Python 在日常工作中的应用
周佳,周志辉
(上汽通用汽车有限公司,上海 201206)
摘要:Python 是一门简单、实用而且有趣的百搭款语言,在Web 应用开发、系统网络运维、科学与数字计算、网络编程等领域都有所建树。在计算机语言中Python 发展速度不可小觑,可以说是最适合零基础人士入门学习的计算机语言之一。本文针对Python 在日常工作中的应用,将介绍如何灵活应用Python 操作Excel 及获取网站信息,使得我们的日常工作更为高效、简便。主要使用到的Python 第三方库有math、os、ftplib、socket 和openpyxl 等。
关键词:Python;编程;代码
中图分类号:TP393  文献标识码:A  文章编号:1671-0711(2019)12(上)-0196-03
码,那估计一年半载也开发不出来。高级编程语言通常都会提供一个比较完善的基础代码库,可以直接调用,比如,针对协议的SMTP 库,针对桌面环境的GUI 库,在这些已有的代码库的基础上开发,一个客户端几天就能开发出来。
Python 就为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteries included)”。用Python 开发,许多功能不必从零编写,直接使用现成的即可。除了内置的库外,Python 还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。
许多大型网站就是用Python 开发的,例如YouTube 、Instagram ,还有国内的豆瓣。很多大公司,包括Google、Yahoo 等,甚至NASA (美国航空航天局)都大量地使用
Python。Python 的定位是“优雅”“明确”“简单”,所以Python 程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常复杂的程序。
2 用Python 实现机器人自动报价2.1 输入模板和输出结果
以此案例介绍Python 如何处理Excel 文件标准格式产品配置报价,当然Excel 自定义宏也可以实现部分类似功能,只不过在这个案例中我们用Python 程序显得更简单、效率
更高,且具有可复制性、可扩展性。
图2 机器人报价清单
197
中国设备
工程
Engineer ing hina C P l ant
中国设备工程  2019.12 (上)图2所示为需要处理的机器人配置表格,经过Python 程序处理自动输出的报价表(价格已经过脱敏处理)。以往200台工业机器人选型配置往往需要耗费大量的人工工时来分类筛选并填写价格,用时1~3小时不等,但Python 从输入模板到输出结果,总共时间不超过5s,大大缩短了报价所需的时间,同时避免了人为操作失误。2.2 第三方库Openpyxl
这里用到一个Python 第三方库Openpyxl,我们简单介绍一下,Openpyxl 诞生源于现有的库,用于读取/写入Excel 2010 XLSX /XLSM/XLTX/XLTM 文件。2.3 程序的编写思路
程序的思路和代码的顺序并没有直接的关联,以下我们主要讲解自动报价程序的实现思路:
首先,机器人采购配置清单是一个标准的Excel 文件模板,机器人报价清单则是另一个标准的Excel 文件模板,所以需要先将机器人采购配置清单中和价格有关的配置选项拷贝至机器人报价清单。
其次,定义每种配置数据对应的价格,加上判断的逻辑,利用for…in…语句逐行判断并填写相应的价格数值到对应的列表单元,随后保存新文件。
最后,需要检查并调试程序BUG,完成封装后可共享给他人使用。
3 用Python 实现机器人批量自动备份3.1 输入模板和输出结果
用此案例来介绍Python 如何批量下载程序,当然市面上不乏有这样的软件,但是这些软件不仅需要开发时间及费用,还需要不同岗位的专家大量测试配合。作为业余的程序员,完全可以一个人运用Python 来实现此项功能。
图3
所示为Python 程序运行后自动输出的备份文件。以往的普通备份操作需要花大量的人工和时间,而使用此Python 程序自动运行2分钟即可,完成1台机器人程序备份。
图3 机器人备份文件
3.2 第三方库
这里先介绍一下代码中使用到的第三方库。第一个是ftplib,它是 Python 的内置的一个标准模块,它提供了对FTP 服务端的操作功能,通过它我们可以连接并操作FTP 服务端。第二个是socket,用来设置IP 地址访问超时等待时间。第三个是os ,它也是Python 的内置的一个标准模块,可以用来处理windows 系统操作,如创建文件夹、删除文件等。最后是Openpyxl,上一节中也使用过,用于读取/写入Excel 文件。
3.3 程序的编写思路
程序的思路和代码的执行顺序并没有直接的联系,以下我们主要讲解自动备份程序的实现思路:
首先,我们需要插入将要用到的所有第三方库os 、ftplib、socket、openpyxl,并创建一个下载文件的总文件夹。
其次,check_Excel_sheet()函数用来读取输入模板中的sheet,get_IP()函数用来读取输入模板中的sheet 中的IP 地址,并且初步筛选出填写格式正确的IP 地址,错误的IP 地址则会在后一列填写报错代码以示区别,openpyxl 具体使用方法请参考官方说明手册。
最后,load_files(each_IP)函数中会逐个连接之前读取到的IP 地址,根据IP 地址创建子文件夹并且批量下载文件。
最终主程序把各个自定义函数串联起来,并做了防错/跳过程序处理,防止程序卡死,至此即完成任务。主程序结构代码如下:
if __name__ == ‘__main__’: check_ID()
check_Excel_sheet() step0 = get_IP() print(step0)
for each_IP in step0:
print(each_IP,’备份’)    try:
load_files(each_IP)
print(each_IP,’备份下载成功’)    except:  print(each_IP,’备份下载失败或下载文件不全,请检查网络’)  #test = input(‘下载失败是否继续下一个Y/N:’)
message_f = r’D:/robot_backup’ + ‘/IP’ + each_IP + ‘备份下载失败或下载文件不全’
os.mkdir(message_f)
end = input(‘是否结束程序Y/N:’)
4 Python 的编程思路和应用启发4.1 Python 的编程思路
完成相同的一个任务,使用汇编语言需要1000行代码,使用C 语言需要500行代码,使用Java 只需要100行,而使用Python,可能只需要20行就可以了。这就是Python,
即使你没有任何编程基础,仍然可以很快上手并且利用它提高自己的工作效率。其主要的使用思路可以大致分为四步。第一步,思考工作中计算机使用时的痛点,难点或重复劳动的繁重内容,思考如何使用Python
解决问题或提升效率。第二步,要相信方法总比问题多,一步登天对大多数人而言毕竟难度较大,所以把大问题拆分成分散的小问题,逐个击破,最后一气呵成攻下难关。第三步,学会利用网络上的各种共享资源,不断学习,也许你思考的问题前人已有总结并分享,这样就可以大大节约你的编程时间,有些第三方库并不需要学很深,只需要了解能帮助你解决问题的功能或模块即可。第四步,在测试程序的过程中发现问题,及时修正程序并添加注解,不断完善,避免3个月后再回来看程序时一
198
研究与探索Research and Exploration ·探讨与创新
中国设备工程  2019.12 (上)
1 设备开发背景
目前,车载背光源产品的生产逐渐从人工转为人机结合的生产模式,现有的贴膜设备以小尺寸为主,结构上采用的是转盘式的,以DD 马达分度盘为主要源动力,单轴机械手取放物料。这也是目前行业里用的最多的设备结构,但这种结构仅限于生产10寸以内的产品,再大的产品,这种设备结构根本不适用,占地面积会很大,操作起来也不方便。随着汽车行业对显示屏的需求越来越大,尺寸大小要求规格也越来越多,现有的设备根本不能满足日益增长的客户需求,因此,开发一款能生产较大规格尺寸,如8~15寸产品的贴膜设备是企业和顾客的迫切需求。2 设备工作流程与原理
车载背光源中尺寸贴膜设备主要用于中尺寸车载背光产品生产工艺中的贴膜工序。设备主要工作流程如下:撕膜机取料、膜片覆膜、撕保护膜、膜片初步校正,机器人贴膜,移送沟送料,末端检测下料。
设备主要工作原理如下:
设备采用直线连杆式6工位同时作业,膜片上料机构机车载背光源中尺寸贴膜设备研究
黄永雄,许良友
(广东省惠州伟志电子有限公司,广东 惠州 516100)
摘要:背光源是车载产品的主要核心部件,其生产工艺多种多样,有传统纯人工生产,也有人机结合的生产方式,但就目前来说,这两种方式都不能满足日益增长的客户需求。人工生产模式,需求人员多,效率偏低,品质不稳定;已有的人机结合生产模式中,虽然效率提升了,产能增加了,但设备结构限制了产品的多样性,只能生产小尺寸的车载产品,中大尺寸还是得需要人工生产。为了满足客户需求,缓解企业的压力,自动化设备的创新和导入尤其重要。本文主要阐述了车载背光源引入中尺寸贴膜机的研发背景,它的工作原理、结构的特点及对行业的影响等。
关键词:车载;背光源;机器人贴膜
中图分类号:U463.6  文献标识码:A  文章编号:1671-0711(2019)12(上)-0198-02
械手抓取物料膜片,通过抖动、吹气、刮膜等方式确保物料膜片单片上料,物料膜片放在粘撕膜部件,通过胶纸、压轮进行覆膜,再经过刀口撕膜分离,分离后的膜片在出料平台上进行初步校正;四轴机器人取料,与此同时,视觉相机对铁框进行拍照,将坐标信息传递给机器人,然后机器人对位贴膜,贴完一个膜片,连杆机构移动,将产品送到下一个工位,同样的方式贴附后面的膜片,待每个产品贴完所有膜片后,在检测工位的视觉相机进行拍照检测,判定OK 的产品即可套上胶框、下料,判定不合格的产品机台报警灯闪烁,通过人工校正后检测下料。
与传统工艺所不同的是,该设备是由机器人代替人工贴膜,移送沟代替流水线作业且所有动作同步进行,生产效率大大提升,并且加入视觉系统,产品的品质更有保障。3 设备结构特点
现有广泛使用的背光源贴膜设备大多都是转盘式的,一个或两个工位上下料,转盘上设有产品定位治具,转盘周围是各种物料上料机构,中间还有校正机构,这种设备结构大多用于小尺寸的车载背光源产品。而我们本文所阐述的这款脸茫然。
做好以上四步,对于初学者来说,足以开发一些小程序解决部分工作上的问题。4.2 Python 的应用启发
本文是在汽车行业中机器人工程师的角度思考并编程解决问题。其实Python 能应用的场景远不止于此,以下是关于Python 在各行各业(非计算机专业)中应用的一些构想。
设备工程师:利用Python 监控、抓取设备关键参数,按照特定的算法、权重做可视化分析故障率,提前预知设备停机风险。
网络编辑:利用Python 检索网络大数据,筛选关键字,精致定位相关文章,批量下载图片。
python是做什么的通俗易懂的培训师:利用Python 科学库把数据生成智能分析图,提高说服力。5 结语
“操作文本或者数据是件大事。如果不相信,就仔细看
看当今的计算机都在做些什么工作:文字处理、网页表单的填写、来自数据库转储的信息流、股票报价信息、新闻源,而且这个清单还会不断增长”。本文基于Python3软件,介绍了Python 及其各种第三方库在汽车行业机器人工程师手中的实际应用案例。希望通过Python 各种成熟的库及精简的语句,为提升工作效率、解决工作中碰到的难点、痛点提供更多高效、简便的途径。
参考文献:
[1]李佳宇.零基础入门学习Python[M].北京:清华大学出版社,2016.
[2]廖雪峰.Python 教程[OL].2015. www.liaoxuefeng/wi ki/0014316089557264a6b348958f449949df42a6d3a2e542c000.[3]Wesly J.Chun,宋吉广.Python 核心编程[M].2版.北京:人民
邮电出版社,2008.