全国服务热线:0533-6058678
当前位置: 首页 > 技术文章技术文章

一种原STEP7程序转换为TIA博图的方法-原创

发布时间:2019-04-20 10:27:43点击量:

作者:齐辰科技 张国辉

前言:自西门子推出TIA博图软件以来已有不少年头,随着各种软件硬件的更新,我们不得不接受这样一种我们排斥的平台。然而对于一个工控圈内混了多年的老鬼,谁的程序不是在STEP7平台下码出来的,弃之可惜。官方给出了一种“移植”的方案,但是对于版本等方面要求甚高,差一点都会移植失败。本文将提供一种非官方推荐的程序转换思路,对于不熟悉STL和SCL语言的朋友请自行脑补或者请不要继续观看此文。

大家知道无论是LAD、FBD或者其它的图形语言最终都可以转化为STL。而西门子所用高级语言SCL跟STL都属于文本类语言。因此能不能把我们所写程序全部转化成文本格式然后导出,再导入到博图中转换回去呢?本方案就是基于此种思路。

西门子在STEP7中提供了这样一个功能,即所有的块均可生成源文件,如下图所示:

一种原STEP7程序转换为TIA博图的方法-原创(图1)

打开这个文件通过插入菜单可以选择从块生成源文件,如下图

一种原STEP7程序转换为TIA博图的方法-原创(图2)

这是会有对话框问你是否保留地址符号。经过笔者尝试,还是选择保留为好。因为如果把符号地址去掉以后你转化过去的程序可读性就大大降低了。但是由于博图毕竟和STEP7是不同的平台,有的符号在博图中是保留符号,是禁止使用的,笔者就碰到了此问题(En作为功能块的是能输入是再常见不过的,然而在博图中是不允许使用的,没办法只得手动将所有的En更改为Enable)。再就是对于数据块,STEP7是以符号方式解释数据块的名字,然而在博图中是直接为数据块命名的。另外,博图中没有单独的符号表,对于数据块之外的存储区是需要手动为变量命名的。对于这些都需要你费点功夫手动去做喽!

下图为源文件生成后的样子

一种原STEP7程序转换为TIA博图的方法-原创(图3)

源文件生成后请观察一下其结构,例图是由一个UDT生成的(我说嘛,什么UDT(西门子)、什么用户自定义数据类型(罗克韦尔)、什么PLC数据类型(博图)统统一边站,STRUCT是结构体好不好!)将源文件保存后导出

一种原STEP7程序转换为TIA博图的方法-原创(图4)这个样子一种原STEP7程序转换为TIA博图的方法-原创(图5)

将此文件拷贝到装有博图的电脑,用博图导入外部源文件,再用源文件生成块即可。

一种原STEP7程序转换为TIA博图的方法-原创(图6)

由于源文件不包含块的编号,因此在生成块的时候编号是不对的,建议将源文件命名为原来的块的名字,然后导入生成块以后将块的编号再对应的修改过来。

重复以上步骤即可将原STEP7中的程序全部导入过来。然而对于硬件配置其实西门子也是很头疼的一个问题,要不然在官方的移植方案中就不会有一个“不包含硬件配置”的选项了。同样此方案也需要手动将硬件一个一个的配置。不要嫌麻烦哦(想一想你的整个职业生涯能有几次这样的大平台移植),以后就省事了!

结语:

本方法采用文本作为传输媒介,不对新老软件的版本做任何限制。对于源代码可自行编辑,大大提高了转换的成功率。转换过程中的大量手工调整工作,需要有扎实的基本功,对程序人员有较高的要求。时间仓促,语无伦次,希望本文能帮助大家成功走向新的平台。

  


版权所有,转载请注明出处。

 

 

 


地址:山东省淄博市周村区正阳路  电话:0533-6058678  手机:13953322386
Copyright © 2012-2020 齐辰科技|ChistarTech 版权所有  ICP备案编号:鲁ICP备18034557号