西门子华北地区代理商
在STEP7中有项目和库的区分,这个库与TIA博途的相比非常简单,只包含程序块,库中的程序块中包括DB、FC、FB以及SFC和SFB。怎么移植S7-300/400的库到TIA博途中并可供S7-1500使用呢?我们先看一下STEP7项目的移植过程。在不包含硬件的情况下,移植的过程如下:
【二】平台的移植。就是从STEP7移植到TIA博途平台。在TIA博途中点击“项目移植”选项后,再选择STEP7源项目打开就可以了。如图2所示。这个过程程序不会发生任何变化,但是TIA博途平台在打开的时候,后台也在打开STEP7并对项目进行编译,看看是否缺少相应的软件。TIA博途平台对程序的架构和数据类型的检测非常严格,平台移植非常简单,但是保证编译无错不简单,通常都是上百个错误,主要是源程序编写不严谨。如下图所示:
【三】将TIA博途中的S7-300/400程序移植到S7-1500,如图3所示。移植后替换S7-300/400程序中使用的SFC和SFB,因为系统发生变化,系统程序块不一定完全匹配。
上面说了STEP7项目移植过程。如果是一个STEP7的库应该怎么移植呢?我们先看一个实例。
【一】使用STEP7解压缩打开后,库中包含若干个程序块文件夹,如图下图所示:
【二】每一个程序块文件夹就相当于项目中的站,大家这里需要注意,库文件只能在“Libraries”标签中打开,如图下图所示:
【四】TIA博途只能移植项目文件即*.S7P文件,所以必须将库文件转化为项目文件。在STEP7 中创建一个项目,将库文件一个一个地复制到项目中,这样库中所有的程序块就包含在一个项目中,然后就可以对该项目进行移植了。
注意:
源程序是SCL编写的,所以在STEP7中还需要安装SCL。如果没有SCL的源文件,使用TIA 博途打开后,程序块可能将加锁保护,这样就不能移植到S7-1500了。这里可能还需要在STEP7中将程序块中的代码复制过来并放到STL创建的程序块中,然后再执行平台的移植。
(1)错误描述为:“运算符“*” 与“DInt” 和“Real” 的数据类型不兼容。”程序中TIME_TO_DINT(#t)将“t”转化为DINT类型,而“M”是Real类型,这两个类型不能相乘。再看前面是REAL_TO_DINT,所以需要将“t”终转换为Real类型,更改的程序如图8所示,感觉一直再转换。
【六】程序移植成功后,在项目树下是一个一个的S7-1500 的PLC站点。需要将站点中的程序块存放到TIA博途的库中。例如在TIA博途中创建新的库,按照原库中的格式创建文件夹,然后将移植的程序块复制到相应的文件夹中,如下图所示。这样S7-300/400的库移植到S7-1500库的工作就完成了。