完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
`点击学习>>《龙哥手把手教你学LabVIEW视觉设计》视频教程 基于labview的电子元器件矩阵储物盒仓库进销存管理系统 这是好早之前搞的一个东西,当时单位不太忙,纯属自己没事找事。我们科室有个20*10的元器件储物盒矩阵。有个同事对元器件很熟悉,分分钟找全需要的东西。而我呢,不太熟悉,每次挨着看挨着翻。于是笨人有笨招。借助强大的labview搞一个查询系统,如何?当时很水,前后搞了一周,杀青收尾,后期看来,效果还不错,至少我这么认为,再也不用担心如何找元器件了。大家先看帖子,然后我把源码供出来。写出来,在我这放着也是放着,你需要你就拿去就是了。不过整体结构比较low,只能说功能实现了。结构根本没去考虑,当时就是想起啥来填啥,最后臃肿了,也懒得改了。没有做好构思,吃亏了。就当抛砖引玉吧。希望对同学们有所帮助。 好的,先放出几张图片来吧,各位同学请接招。 图 1 俺们用滴就是这种东东 图 2 元件检索界面 图 3 库进销存界面 图 4 检索关键字“LM” 图 5 单击表格某一行可以选中,数据手册除外 图 6 更改进销存 图 7 逐个点击改变库存,然后库存更改,有一个小延时 一、 功能篇 1. 元器件器查询 输入一个字符串,然后输出包含此字符串的所有对象。用表格形式输出第几行第几列和库存量,同时用布尔矩阵输出,直观展示对应的实际位置。现在的大小写是区分的,所以不是特别的好用。需要改一下忽略大小写。当然也可以直接搜索“第一行”、“第十列”、“二极管”等其他关键字。就不上图了,大家下载下去体会一下吧。 2. pdf文件的打开 找到某个元器件,如果正好配置的文件夹里也有这个的pdf。那直接点击就会打开这个pdf,省的再去找了。 公司不让员工电脑上网,所以下载了一堆手册PDF,查找的时候那个费神费眼,最后还找不到。现在把这个功能做了进来,如果有pdf手册的话,会在表格里输出这个手册的名字,然后点击这个名字会自动打开pdf手册,是不是很方便? 3. 进销存管理 这个最狗血了,功能属于最基本的那种,太不好用了。 4. 网络共享的应用 这个主要是方便库存管理。一个科室共用一个矩阵储物格,今天你拿一个二极管,明天我拿四个电阻,时间长了,遇到捉急的项目,奶奶的,忘记补充库存了。尤其对于我这周边电子行业太不发达的地区,顺丰都要第二天下午来到,会被领导搞死的。这个就是搞一台主机开启一个文件夹的网络共享功能,然后把excel和pdf都可以放到这个里面。以后,大家的进出库都对这一个文件进行操作,OK。不要问我几个人同时进销存怎么办。这个软件有不少漏洞呢,不止这一个。哈哈。 二、 程序篇 1. Excel的打开、读取和关闭 最初我是用的字符串二维数组,太TM麻烦了,而且占用很大的屏幕面积,修改的话只能去后台程序里改。用excel 修改的时候很方便,而且如果打印查清单,直接去找excel嘛。 2. 文件的查找和打开 涉及到两点,第一呢,就是文件的查找,因为不是直接查找,而是部分字符匹配就需要提取出来,所以不太会直接查找。而是用了笨方法,将所有的pdf文件名称全部规范化和元器件名称做好对应,然后放到excel文件里,这样直接查找excel就OK了。第二呢,就是文件的打开,把文件路径搞清楚,然后调cmd命令就好,只是在运行的时候如果首次打开pdf,等待的时间稍微有点长。不过再打开就快了。最初我以为没反应,于是一顿狂点,于是一顿打开pdf,嘟嘟嘟。 3. 二维数组、表格的应用 主要就是对二维数组进行操作。一个内循环一个外循环的for 啊for。再有符合条件的元器件就是使用移位寄存器循环往上挂就行了。好几个预想的功能没有实现,后来用笨方法改造了,比如打开pdf用的是透明的布尔一维数组来捕捉鼠标动作。 4. 键值的采集 除去关键字的输入,定义了DELETE建,清楚关键字和当前搜索到的内容。定义了RETURN建和ENTER(num pad)建,在输入关键字后,直接回车就可以搜索。这两个建一个是字母键盘的回车一个是数字键盘的回车。 5. 网络共享的应用 我所在的局域网里,win8/win7/xp混搭的节奏。配置方法大同小异,也不是很难,至于怎么配置共享文件夹到局域网和怎么访问,出门左拐,打开Google百度一下。跟着step by step就好了。后来吧发现,这个共享真好用,果断冷落了U盘君。 三、 讲解剖析篇 有时候就再想,用c啊,Java啊 我今天写了程序做好注释,过了仨月半年的一看就明白。而labview的注释就是用自由标签挂个箭头指来指去吗?做这个程序的时候没做好注释,现在回头在发帖子,有的地方都记不清了。找几个重点的地方说说吧。 1. Excel 文件的格式定义 这个就是先入为主了,因为这样定义所以这样搞。附件里有excel文件。 图 8 程序就是遵从这个表格的定义来编写的 2. Excel文件操作 这个程序里涉及到excel的地方我给重新定义了一下。一共两个地方用到excel 的操作,第一个是程序开始的时候,载入excel的数据到一个临时的字符串数组,然后关闭。然后整个程序的运行过程都是对这个字符串数组进行操作。如果太大了不知道会出现什么情况。目前还算happy。第二个是更改库存的时候,需要操作两下,先修改库存值,保存关闭,然后再打开重新载入到字符串数组,再关闭。肯定有更好的办法。文件操作这边就是会用,至于原理,不太懂。于是就打包了两个子vi 一个是读取并关闭,一个是保存并关闭。其实把这两个做到一起,然后引出一个if来选择就更好了。不容易乱了。我这里就不改了。 图 9 excel操作的程序是从论坛下载的,谢过各路大神 图 10 这个是打开保存并关闭excel 里面有个二维行列转excel行列的小VI挺好玩的 3. 关键字检索 其实这个不算算是简单的。说白了就是,组件一个库,然后一层一层的找,符合条件就留下,不符合就干掉。这次符合条件的,移位叠加上次符合条件的。找到最后一个就好了。思路算是比较清晰的。还是看图吧。这几个关键位置以此是:1.键值判定,当按下回车或搜索按钮时有效。2.关键字,字符串输入。3.数组输出,这是程序初始从excel里读取的二维字符串数组,名称有点狗血。4.拼接pdf文件名。其实这个放进excel里就行了,不过当时这么写的,姑且这样吧。5.检索用数组,这个就是元件检索界面的大表格了。除了显示当前检索到的内容外,后面还有它的用处。6.矩阵位置示意。首页下面呆萌的二维布尔数组。直观显示对应位置。 图 11 检索关键字的程序框图 这里的编程方法和excel的定义有很大关系,完全是按照excel的定义来的。Excel中的编排顺序是先列后行,以此向下。拆解-----搜索-----判断-----拼接。不细说了。 4. 元件选用和查看手册 这个部分涉及到两个问题,第一个、元件的选用,选用后自动添加到进销存界面。第二个、手册pdf的打开,而且是在检索页面和进销存页面都可以打开。这一部分操作的前提是已经检索到关键字在库里存在。几个重要点,1.检索用数组,上一个小节最终获取的字符串数组。2.键盘DELETE键或搜索清除按下后,清除上次的搜索信息。3.4.5.本次选用和两个查看手册。这三个都是布尔数组,而且做了透明处理。是覆盖在表格的上层的,用来捕捉鼠标左键点击。布尔值首先转换到数字,然后在去log就得到了从上往下数的序号,就知道是点击的第几行。这里有个bug.不知道大家想到没有,就是如果超过32,会出错的。转换成的数字是32位的。6.路径的拼接和调用cmd,这里就是打开pdf了。 另外,这里还有一个问题,就是当搜索完成的数组超过屏幕定义的行数,需要滚动条的时候,麻烦就来了。我采用的方法是,获取页面上显示的数组的索引值的行值,然后用鼠标点击的透明布尔数组取log后加上这个索引就是需要的实际行数了。 不做不知道,出现了很多类似的小意外小问题。不过好在大部分解决了。 图 12 元件选用和查看手册 5. 更改库存 在已选用元器件数组上做运算,更改库存按钮还是一个布尔数组,也要取log,关键点就是获取要更改的行列和对应的运算值。然后用一个顺序结构完成保存和重新载入。 图 13 更改库存 6. 程序的几个大块就是这样的。几个大块之间的联系不说了。目前bug还是不少的。如果你愿意看看,你就看看吧。纯属娱乐。 四、 你会遇到的问题 我赶脚,你第一次打开运行这个程序会不太爽的。要么弹错误框,要么各种跑偏。说说我现在的环境和几个关键点吧。 1. Win8.1系统,labview2013。字体改没改忘记了。 2. 两个路径 Pc-slm共享电子电控科矩阵储物盒物料清单.xls 还有 Pc-slm共享元件规格书 因为启用了共享。是一个网络地址。我的电脑是Pc-slm你的电脑怎么会叫这个呢?路径必须要改,局域网的还要配置共享,耗费点时间,其实改成你自己本地的就行了。元器件的pdf我也挂上来一个压缩包吧,节约大家时间。实际路径和labview里写的路径对应就OK了。 3. 这个程序只针对一个格子里放一种元器件。至于一个格子放三种六种的情况没有考虑,当然,扩展的话,也不是很麻烦。 没了,就这么多。希望你喜欢刀侠挂在论坛上的帖子。 附件回复可见,pdf,工程,excel,手册都在里面。分不够的留邮箱。 你的回复就是对我的支持。 PS : 论坛是个好地方,大学时候就注册电子发烧友论坛了。后来各种原因进了工控圈转了个转,又转到电子圈。瞎逛荡啊。之前很少发帖,啥也不懂,上论坛就是找东西。现在偶尔有点小心得或工作之余的小作品啥的。挂到论坛上有三个原因,第一方面是加深自己的记忆,因为写成帖子真的就是梳理了一遍思路,也算是把论坛当成网盘存储自己的收获,有过误操作刷机格硬盘的同学肯定有切肤之痛,数月数年的资料啊,都去取经了。第二方面是,如果有需要帮助的同学恰巧看到我的帖子,能获取一点帮助那就太好了。第三方面,混脸熟,哈哈,认识各路豪杰,以后承蒙各路大神多指路,常关照。。。。。。。。。。。。。 幻影刀侠 昭星科技 15-08-27 ` |
|
相关推荐
|
|
谢谢放谢谢放谢谢放谢谢放谢谢放谢谢放
|
|
|
|
|
|
用udl里的字符串信息在局域网内其他电脑连接sql数据库为什么为出现连接失败拒绝访问?
1675 浏览 2 评论
为什么同一个队列引用的全局变量,运行在两个子vi中发现队列数据丢失了
1274 浏览 0 评论
1486 浏览 0 评论
关于labview2024版本的lvanlys.dll出错的问题
2825 浏览 2 评论
1420 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 06:52 , Processed in 0.635908 second(s), Total 52, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号