一直没能抽出些时间聊一聊我的新工作
我目前从事的是逆变器系统架构,还是在新能源汽车领域
虽然表面上看还是系统工程,但工作内容上绝大部分都是硬件方面,基本已经脱离软件了
这和我入职前的想象简直千差万别,MATLAB没被审批通过也就一点都不意外了
有段时间这让我非常抓狂,我一个机械毕业的,半路出家改做仿真、软件和系统,唯独没接触过硬件,唯一和硬件相关的也就本科一门微机原理课
没办法,最后也只能硬着头皮上,每天晚上等小打睡了,拿着硬件原理图一顿暴看
说到硬件原理图,作为曾经Simulink的用户,我有一个不成熟的小建议
硬件原理图的pdf文件里有个很人性化的功能,点击一个模块,JavaScript会通过push schematic自动跳转到相应的模块页面,原理图的可读性提升非常高
但是,不知道是不是我读书少的原因,我一直没能找到怎么返回上一个层级的办法,每一次都只能返回到第一页,再按原路径点击一遍
这实在太难受了,一份硬件原理图好几十页好多层级,看个图,一半的时间拿来返回上个层级,这可还得了…
作为MATLAB搞事情博主,我必须得给硬件组展示下系统组搞事情的能力,于是我用MATLAB写了个工具…
工具的名字叫HaoReadHw,为了更好的阅读硬件原理图
先用一个动图展示一下整体效果,因为手头上没有硬件原理图的案例文件,只能用一个普通的pdf文件作为功能演示
工具的界面做的非常小,并固定在屏幕边缘,为了不影响当前的工作
一共就四个按钮,加载文件,标定位置,返回和恢复
返回和恢复很好理解,就像动图中演示的,返回上一层级,如果返多了,可以点击恢复按钮
层级跳转的原理其实很简单,根据当前页数计算目标层级的页数,然后输入到页数框中进行跳转,用的还是鼠标键盘模拟的方法,不得不说,这招真的是傻瓜又好使
然后"位置"按钮就很好解释了,标定一下页数框的位置
其实整个工具开发的难点在于,如何获取层级信息,也就是在任意子层级中,如果确定上一层级在哪个页面
我用txt格式打开硬件原理图琢磨了办法,突然发现,原来JavaScript的跳转逻辑就在里面
每个模块都定义相应的id,Title,所在页面的页数,上一层级的id,接下来只需要处理不同层级id之间的关系,然后和页数进行匹配就完成了
整个功能实现起来其实一点也不难,考虑到平时大家应该不怎么接触硬件原理图,而且这个工具写的也挺糙的,就不上线这个工具了,有兴趣的朋友可以自己复现一下这个工具
以上就是最近一段时间用MATLAB搞事情的分享
最后祝大家,工作学习顺利!