技术论坛

 让你的Excel“小刀切黄油”(2):一点改进

返回主题列表
作者 主题
'Razor
至圣

经验值: 20094
发帖数: 2767
精华帖: 23
楼主    2020-10-21 21:34:29
主题:让你的Excel“小刀切黄油”(2):一点改进

前段时间发了个小帖子让你的Excel“小刀切黄油”,因为只能闲暇时间搞,考虑得不周详,再加上对VBA功能的不熟悉,一切都是现学现卖,便做得太糙,使用上不够灵活,近来做了部分更改,使用体验上有了些许的提高,内心有一丝的小欢喜,再发帖子记录一下。

改进的小功能如下:

1、Excel中模仿TIA Portal的硬件组态

    1)、首先针对各品牌、各系列的硬件准备硬件模块清单表格

        表格中列出了诸如型号、订货号、DI、DO、AI、AO数量等参数信息

    2)、仿真TIA Portal环境下“机架式”的硬件组态

        在行11中,通过下拉清单选择具体的模块型号,清单中的值来自上图中的模块型号“序列”,紧随行11之后的行12(订货号),13(DI点数),14(DO点数),15(AI点数),16(AO点数)的内容,将通过公式根据行11单元格的设定值自动引用上图工作表中对应的值。如E12=IFERROR(VLOOKUP(Hardware_Type_CPU,CPU,2,FALSE),""),具体函数的意义请自行查阅,不作赘述。

        下图中余下的行,分别对应配置DIDOAIAO模块时设定的起始地址和结束地址,结合XX_sum(类型点数),将在功能2中,使用VBA+物理地址编址进制格式实现物理地址的计算并插入物理地址。

        



2、借助Excel VBA实现变量符号、变量物理地址的自动插入、自动计算插入


    部分代码如下


3、借助Excel VBA生成适用于TIA Portal环境的DB源文件

    流程简单地说就是:

    1)、导出单元格区域为.csv文件

    2)、将上述.csv文件另存为.prn文件

    3)、将上述.prn文件重命名为.db文件(DB源文件格式)

    操作过程:

    1)、首先在DB源文件框架表的单元格L6中输入DB名称,图中示例DB名称为“source_test",L7的内容将自动刷新;

    2)、选择红色矩形框单元格区域,点击按钮“3、生成源文件”(上一个帖子里将”导出csv文件“、”另存为prn文件“、”重命名为db文件“三个步骤使用了三个按钮实现,本帖仅使用一个按钮),在生成期间会弹出两个窗口,一个是导出csv文件提示窗口(此消息弹窗可在VBA代码中去掉),点击“确定”按钮,一个是将csv文件另存为.prn文件提示窗口,点击“保存”按钮,分别见下图,同样,在VBA代码中可以添加DB源文件生成成功后的提示弹窗。

最后在设定的文件目录下,将会出现和DB同名的两个文件,后缀分别是.csv和.db。



    部分VBA代码如下


后记:

    说实话,如果是小项目(日常主要工作),有弄这些麻烦事的时间,通过简单的单元格拖拽方法+细小的修改,工作可能就已经做完了,费这个功夫干啥?

    论坛里有大伽好像提过关于符号表,当SM模块间配置的地址不连续时,在使用单元格拖拽方法编辑物理地址时可能就有点不方便,上文中使用的VBA代码方法可能就有那么一点点优势了,当然如果是面对使用Excel手速快的人,这一点点优势也没了。再有就是物理地址编址方式bit的问题,常用的有八进制0~7、十进制、十六进制0~15等,美系、欧系、日系略有不同,这一点可以做成可选择的配置式,以适应不同品牌的PLC。

    针对多重背景实例DB源文件的生成,暂时还没进行到这一步,坛内大伽也给出了通过txt文本批量实现的方法,当然也值得借鉴。还有不同体系PLC的DB块的”语法格式“也不尽相同,也可以尽量做成配置式,以适应不同硬件平台。

    暂时想到的功能算是勉强实现了,当然还有很多没有考虑到的细节问题,如上文中导出文件的保存目录是固定的,应当把它设置成动态变量,给予使用者自由发挥的空间。道路很漫长,其它功能,等想到的时候再说吧。

    思一毫,是一毫的天地;

    进一寸,有一寸的欢喜;

    得一分,成一分的造化。

备注:文中DB源文件格式仅适用TIA Portal 下S7-1200,其它未经验证。


参考:(刚搜到,还没看)






Less is more……
渔明鱼工
至圣

经验值: 23897
发帖数: 2059
精华帖: 78
1楼    2020-10-22 08:55:31
主题:回复:让你的Excel“小刀切黄油”(2):一点改进

唐工辛苦啦!写这么多,必须给你点赞。

网鱼能够改善伙食,还能释放工作中的压力。
三石兄ql
游侠

经验值: 582
发帖数: 17
精华帖: 0
2楼    2020-10-22 13:24:53
主题:回复:让你的Excel“小刀切黄油”(2):一点改进

给大佬顶一个

hyl001
侠士

经验值: 1547
发帖数: 90
精华帖: 0
3楼    2020-10-22 22:11:28
主题:回复:让你的Excel“小刀切黄油”(2):一点改进

感谢楼主分享,赞

RENHQ
至圣

经验值: 68883
发帖数: 12216
精华帖: 59
4楼    2020-10-26 15:58:24
主题:回复:让你的Excel“小刀切黄油”(2):一点改进

EXCEL功能很强大,不管什么学好了,都可以是自己的一大助力啊

可惜不是做设计调试的,体会不到这种功能的强大呢

或者楼主能不能把文件分享一下使用呢?

Q群:https://jq.qq.com/?k=9BDuEgf6
黑猫警长W
至圣

经验值: 18375
发帖数: 2408
精华帖: 1
5楼    2020-10-27 10:49:51
主题:回复:让你的Excel“小刀切黄油”(2):一点改进

大开眼界,感谢高手分享

sueyishui
奇侠

经验值: 5109
发帖数: 789
精华帖: 1
6楼    2020-10-27 11:40:15
主题:回复:让你的Excel“小刀切黄油”(2):一点改进


第一次知道还可以这么操作了,最近在培训MINTAB,也是学不进去了。。。。

1234567,7654321,9898567
天芯
至圣

经验值: 18783
发帖数: 2104
精华帖: 0
7楼    2020-10-27 13:11:07
主题:回复:让你的Excel“小刀切黄油”(2):一点改进

学到的太多了

WOWUWUWU
至圣

经验值: 10367
发帖数: 1793
精华帖: 0
9楼    2020-10-30 18:10:21
主题:回复:让你的Excel“小刀切黄油”(2):一点改进


必须点赞。

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。