[西门子] 基于博途的IO监控状态生成

[复制链接]
查看41568 | 回复0 | 2024-3-11 16:30:16 | 显示全部楼层 |阅读模式
由于偷懒,又很久没写公众号了。。。上一次写还是在上一次呢。。。

前几天,刚好有个朋友在问关于IO监控的问题。IO监控,配合HMI的文本列表,再搭配Excel,确实是绝杀。然后我突发奇想了一下,我能不能直接从PLC生成呢,这样我就不需要在HMI上继续做工作。

想好这个问题之后,问了另一个朋友,问的问题就是:博途能不能直接把变量的名称读取出来。得到回复说能,但是他也不知道指令,我就跑去博途翻了一圈,发现有一个指令,可以读取i和q的符号名字。然后就开始做了。最后结果就是失败了,因为这个指令,并不能用循环。也不能用peek。所以是失败的。

过了几天,我又在想,那我不能用循环,那我把它得到的结果拿来循环,想到这里之后,就开始着手做这个程序了。最终虽然做出来了,但是我感觉应该是更没人用了。因为太浪费存储器空间了。

这里写一下思路

    给这个程序定几个参数,因为1500的plc的i和q可以玩到30000这么高的数字,所以我创建一个字符串,里面用来填充这些“i30000.0”的数据。依次填充进去。

    最后一个数字,采用循环计数器,计数器范围0-7,那么刚好对应8个位。

    然后字符串拆分成字符,对空字符进行删除。

    最后再次使用合并字符串,将获取到的i变量名称和q变量名称进行组合,形成一个新的字符串,这个最终的字符串,就是用来显示在HMI上的字符串了。


因为我用的不多,我也不知道是否能带来效率,所以你们自行决定了。我只是做了个测试,感觉有点好玩而已。

下面是PLC的使用量,你们可以根据自己的情况自行优化程序。



下面是视频


video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3033137067746279428
需要程序的朋友,关注公众号并回复“IO监控”即可获取程序。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则