作者 | 主题 |
---|---|
空果仁 侠圣 经验值: 4925 发帖数: 210 精华帖: 47 |
楼主 2022-02-25 09:58:34
主题:怎样将S7-300/400的库移植到S7-1500 在STEP7中有项目和库的区分,这个库与TIA博途的相比非常简单,只包含程序块,库中的程序块中包括DB、FC、FB以及SFC和SFB。怎么移植S7-300/400的库到TIA博途中并可供S7-1500使用呢?我们先看一下STEP7项目的移植过程。 在不包含硬件的情况下,移植的过程如下: 1) 对原有STEP7项目进行一致性检查,更正程序中不一致的块,例如调用FC后,再次修改FC的接口参数,这样将造成程序不一致,导致时间冲突。操作如图1所示。 2) 平台的移植。就是从STEP7移植到TIA博途平台。在TIA博途中点击“项目移植”选项后,再选择STEP7源项目打开就可以了。如图2所示。这个过程程序不会发生任何变化,但是TIA博途平台在打开的时候,后台也在打开STEP7并对项目进行编译,看看是否缺少相应的软件。TIA博途平台对程序的架构和数据类型的检测非常严格,平台移植非常简单,但是保证编译无错不简单,通常都是上百个错误,主要是源程序编写不严谨。 3)将TIA博途中的S7-300/400程序移植到S7-1500,如图3所示。移植后替换S7-300/400程序中使用的SFC和SFB,因为系统发生变化,系统程序块不一定完全匹配。 简单的说,移植过程就是这三步了。如果是一个STEP7的库应该怎么移植呢?我们先看一个实例。使用STEP7解压缩打开后,库中包含若干个程序块文件夹,如图4所示。 每一个程序块文件夹就相当于项目中的站,大家这里需要注意,库文件只能在“Libraries”标签中打开,如图5所示。 库文件的存储文件后缀是*.S7L,而项目文件是*.S7P,如图6所示。 TIA博途只能移植项目文件即*.S7P文件,所以必须将库文件转化为项目文件。在STEP7 中创建一个项目,将库文件一个一个地复制到项目中,这样库中所有的程序块就包含在一个项目中,然后就可以对该项目进行移植了。这里注意,源程序是SCL编写的,所以在STEP7中还需要安装SCL。 注意: 如果没有SCL的源文件,使用TIA 博途打开后,程序块可能将加锁保护,这样就不能移植到S7-1500了。这里可能还需要在STEP7中将程序块中的代码复制过来并放到STL创建的程序块中,然后再执行平台的移植。 后续的过程就是前面介绍的移植3步了,希望第二部编译没有问题,但是概率比较小。其实大部分问题就是数据类型的不匹配。在S7-300/400中使用STL编程从来不需要考虑数据类型的匹配问题,这可能就是问题的根源。但是在S7-1500中增强了数据类型的安全性,所以检查严格了,原来这样的编程不允许了。参考图7数据类型不匹配的问题。 错误描述为:“运算符“*” 与“DInt” 和“Real” 的数据类型不兼容。”程序中TIME_TO_DINT(#t)将“t”转化为DINT类型,而“M”是Real类型,这两个类型不能相乘。再看前面是REAL_TO_DINT,所以需要将“t”最终转换为Real类型,更改的程序如图8所示,感觉一直再转换。 还有一类错误是程序框架错误,如图9所示。 明明返回值“OVERRIDE”赋值了,怎么报无返回值呢?查看程序发现,返回值的赋值都是有条件的,如果条件都不成立怎么办?可能是一个随机值。再前面加一个初始化就可以了,如图10所示。 程序移植成功后,在项目树下是一个一个的S7-1500 的PLC站点。需要将站点中的程序块存放到TIA博途的库中。例如在TIA博途中创建新的库,按照原库中的格式创建文件夹,然后将移植的程序块复制到相应的文件夹中,如图11所示。这样S7-300/400的库移植到S7-1500库的工作就完成了。
来自西门工业子技术支持 高级专家
|
yzm_cumt 至圣 经验值: 18166 发帖数: 2649 精华帖: 14 |
1楼 2022-02-25 10:24:44
主题:回复:怎样将S7-300/400的库移植到S7-1500 确实是必须严格按照步骤执行,否则都是错误
sometimes you have to be your own hero!
|
黑猫警长W 至圣 经验值: 18274 发帖数: 2391 精华帖: 1 |
2楼 2022-02-25 11:17:02
主题:回复:怎样将S7-300/400的库移植到S7-1500 |
华山松柏 奇侠 经验值: 5622 发帖数: 541 精华帖: 3 |
3楼 2022-02-25 16:15:20
主题:回复:怎样将S7-300/400的库移植到S7-1500 学习了,谢谢楼主分享。
学无止境
|
工控女将 侠圣 经验值: 4232 发帖数: 344 精华帖: 1 |
4楼 2022-02-27 08:14:33
主题:回复:怎样将S7-300/400的库移植到S7-1500 这个是好东西,立马来把实操
理想很丰满,现实很骨感
|
yecao2006 至圣 经验值: 17879 发帖数: 1522 精华帖: 2 |
5楼 2022-02-28 08:29:24
主题:回复:怎样将S7-300/400的库移植到S7-1500 非常实用,马上操作一次。
我回来了!继续努力!
|
sansan33 侠士 经验值: 1781 发帖数: 310 精华帖: 0 |
6楼 2022-02-28 18:05:53
主题:回复:怎样将S7-300/400的库移植到S7-1500 程序中只要有稍微复杂一点的算法 基本没有一个块是可以完全顺畅移植的 最终都要去手动处理 从之前的S5转换成S7 到现在的S7转换成PORTAL 都是这样 不过,没所谓 就是要花点时间 |
payne.wu 侠圣 经验值: 3163 发帖数: 164 精华帖: 0 |
7楼 2022-03-01 08:32:01
主题:回复:怎样将S7-300/400的库移植到S7-1500 学习了,感谢楼主! |
zhcwos 侠圣 经验值: 3103 发帖数: 440 精华帖: 0 |
8楼 2022-03-03 09:35:03
主题:回复:怎样将S7-300/400的库移植到S7-1500 学习了,感谢
云淡风轻
|
新兴电工 至圣 经验值: 12783 发帖数: 1212 精华帖: 2 |
9楼 2022-03-05 06:54:03
主题:回复:怎样将S7-300/400的库移植到S7-1500 谢谢 感谢楼主分享
革命尚未成功,同志仍需努力.
|
和光同尘 奇侠 经验值: 6694 发帖数: 1090 精华帖: 1 |
10楼 2022-03-05 18:24:01
主题:回复:怎样将S7-300/400的库移植到S7-1500 学习了,谢谢楼主分享。 |
alexma1975 奇侠 经验值: 9848 发帖数: 460 精华帖: 2 |
11楼 2022-03-05 22:42:11
主题:回复:怎样将S7-300/400的库移植到S7-1500 不错的分享,很有借鉴意义。 |
启善 奇侠 经验值: 7452 发帖数: 628 精华帖: 1 |
12楼 2022-03-06 08:45:55
主题:回复:怎样将S7-300/400的库移植到S7-1500 学习了,谢谢楼主分享。 |
ifang 奇侠 经验值: 8528 发帖数: 1816 精华帖: 4 |
14楼 2022-04-05 16:21:08
主题:回复:怎样将S7-300/400的库移植到S7-1500 把库放到项目里面,移植项目之后再从项目中放到库中,属于借壳移植了。哈哈。
学无止境
|
ImHNker 侠客 经验值: 675 发帖数: 24 精华帖: 0 |
15楼 2022-04-20 10:38:14
主题:回复:怎样将S7-300/400的库移植到S7-1500 好文章很是精彩值得学习,给楼主点赞! |