` 点击学习>>《龙哥手把手教你学LabVIEW视觉设计》视频教程
基于labview的电子元器件矩阵储物盒仓库进销存管理系统
这是好早之前搞的一个东西,当时单位不太忙,纯属自己没事找事。我们科室有个20*10的元器件储物盒矩阵。有个同事对元器件很熟悉,分分钟找全需要的东西。而我呢,不太熟悉,每次挨着看挨着翻。于是笨人有笨招。借助强大的labview搞一个查询系统,如何?当时很水,前后搞了一周,杀青收尾,后期看来,效果还不错,至少我这么认为,再也不用担心如何找元器件了。大家先看帖子,然后我把源码供出来。写出来,在我这放着也是放着,你需要你就拿去就是了。不过整体结构比较low,只能说功能实现了。结构根本没去考虑,当时就是想起啥来填啥,最后臃肿了,也懒得改了。没有做好构思,吃亏了。就当抛砖引玉吧。希望对同学们有所帮助。
好的,先放出几张图片来吧,各位同学请接招。
图 1 俺们用滴就是这种东东
图 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
`
30
|
|
|
|
谢谢楼主的热情,感觉EXCEL还是不如数据库,非常不错的!
|
|
|
|
|