1.应用的基本信息
一开始用300做项目比较多,后来用1500做项目比较多。所以不止是程序更多的是我的编程思路由S7-300/400移植到了S7-1200/1500。总体来说1500还是方便不少,就不一一讲了挑一个不起眼的并且300、1500各有千秋的一个小变化讲一讲。
2.问题描述
两个结构作比较,如果结构中任意一个变量不相同输出一个结果。结构中包含多种数据类型且变量个数较多。所以思路上选择用绝对地址作比较。
移植问题示例:
300:
300支持SCL中用 DB.Type(#偏移量)的方式寻址,还是蛮方便的。DBD0,4,8,12……用绝对地址依次比较,如果不相等就输出结果。
而1500中不支持这样的寻址方式。
功能替代示例:
1500的变量间接寻址的替代方案是POKE和PEEK。
4.经验总结
4.3 对S7-1500新功能或者更新替代的方式和方法的一些看法和建议(例如是否节省时间、功能是否友好,维护和编程更易于管理等)
1500对比300的改进大部分都让变成更方便了,比如DB没有大小限制了,硬件标识符系统分配不可更改,背景数据可以放到InOut里……等等。但是SCL中变量的间接寻址这个功能我觉得还是300的好用,地址拼出来就直接用。而1500里分成了POKE写,PEEK读两条指令。我想这样的初衷应该是节约系统的运算资源吧。