SIEMENS湛江市西门子(授权)中国总代理-西门子华南区一级总代理商

供应商
广东湘恒智能科技有限公司
认证
变频器
西门子代理商
触摸屏
西门子一级代理
伺服电机
西门子一级总代理
联系电话
18126392341
手机号
15267534595
联系人
梁涛
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)(注册地址)
更新时间
2024-05-23 09:10

详细介绍

step7项目移植方法

在step7中有项目和库的区分,这个库与tia博途的相比非常简单,只包含程序块,库中的程序块中包括db、fc、fb以及sfc和sfb。怎么移植s7-300/400的库到tia博途中并可供s7-1500使用呢?我们先看一下step7项目的移植过程。在不包含硬件的情况下,移植的过程如下:

【一】对原有step7项目进行一致性检查,更正程序中不一致的块,例如调用fc后,再次修改fc的接口参数,这样将造成程序不一致,导致时间冲突。操作如下图所示:

【二】平台的移植。就是从step7移植到tia博途平台。在tia博途中点击“项目移植”选项后,再选择step7源项目打开就可以了。如图2所示。这个过程程序不会发生任何变化,但是tia博途平台在打开的时候,后台也在打开step7并对项目进行编译,看看是否缺少相应的软件。tia博途平台对程序的架构和数据类型的检测非常严格,平台移植非常简单,但是保证编译无错不简单,通常都是上百个错误,主要是源程序编写不严谨。如下图所示:

【三】将tia博途中的s7-300/400程序移植到s7-1500,如图3所示。移植后替换s7-300/400程序中使用的sfc和sfb,因为系统发生变化,系统程序块不一定完全匹配。

step7库移植方法

上面说了step7项目移植过程。如果是一个step7的库应该怎么移植呢?我们先看一个实例。【一】使用step7解压缩打开后,库中包含若干个程序块文件夹,如图下图所示:

【二】每一个程序块文件夹就相当于项目中的站,大家这里需要注意,库文件只能在“libraries”标签中打开,如图下图所示:

【三】库文件的存储文件后缀是*.s7l,而项目文件是*.s7p,如下图所示:

【四】tia博途只能移植项目文件即*.s7p文件,所以必须将库文件转化为项目文件。在step7中创建一个项目,将库文件一个一个地复制到项目中,这样库中所有的程序块就包含在一个项目中,然后就可以对该项目进行移植了。注意:源程序是scl编写的,所以在step7中还需要安装scl。如果没有scl的源文件,使用tia博途打开后,程序块可能将加锁保护,这样就不能移植到s7-1500了。这里可能还需要在step7中将程序块中的代码复制过来并放到stl创建的程序块中,然后再执行平台的移植。

【五】后续的过程就是前面介绍的移植3步了,希望第二部编译没有问题,但是概率比较小。其实大部分问题就是数据类型的不匹配。在s7-300/400中使用stl编程从来不需要考虑数据类型的匹配问题,这可能就是问题的根源。但是在s7-1500中增强了数据类型的安全性,所以检查严格了,原来这样的编程不允许了。参考下图数据类型不匹配的问题。

(1)错误描述为:“运算符“*” 与“dint” 和“real”的数据类型不兼容。”程序中time_to_dint(#t)将“t”转化为dint类型,而“m”是real类型,这两个类型不能相乘。再看前面是real_to_dint,所以需要将“t”终转换为real类型,更改的程序如图8所示,感觉一直再转换。

(2)还有一类错误是程序框架错误,如下图所示:

(3)明明返回值“override”赋值了,怎么报无返回值呢?查看程序发现,返回值的赋值都是有条件的,如果条件都不成立怎么办?可能是一个随机值。再前面加一个初始化就可以了,下图所示:

【六】程序移植成功后,在项目树下是一个一个的s7-1500的plc站点。需要将站点中的程序块存放到tia博途的库中。例如在tia博途中创建新的库,按照原库中的格式创建文件夹,然后将移植的程序块复制到相应的文件夹中,如下图所示。这样s7-300/400的库移植到s7-1500库的工作就完成了。


西门子一级总代理,代理商,变频器,伺服电机,PLC

展开全文

我们其他产品
我们的新闻
咨询 在线询价 拨打电话