quote:以下是引用划痕在2011-11-16 19:36:22的发言:
A侠,你好!现做如下解答,请你指正,谢谢!
2、适用于CPU314以上的CPU;
出处:在张工编写的《西门子STEP7编程语言与使用技巧》一书中,第六章(Page100)“6.2.1 S7-GRAPH简介”中提到的,原句子“适用于 SIMATIC S7-300(推荐用于CPU314以上的CPU)、S7-400、C7 和 WinAC”。
个人分析:考虑到使用S7-GRAPH编写程序(最终编译为FB)时,占用系统内存较多(步数为20时,占用内存约10K左右),而CPU314(6ES7 314-1AG13-0AB0)的工作内存为96KB,系统中若存在几个顺序或者再使用几个PID回路,CPU的内存将不够用,故不建议将S7-GRAPH应用与CPU314及其以下CPU。
<此处为个人分析,请指正——此处参考《西门子STEP7编程语言与使用技巧》一书中Page132页,关于常见问题“S7-GRAPH程序占用多大CPU内存”的解答>
1、《西门子STEP7编程语言与使用技巧》一书我也看过,张工之所以推荐用于CPU314以上的CPU,这是一个经验之谈,是从预留系统内存足够富余量考虑的。
2、尽管SIEMENS官方的技术手册写明可使用在S7-300以上CPU中使用S7-GRAPH工具,然而事实上CPU312这类CPU连DP通讯端口都没有了,仅有MPI口,是S7-300中最低端的CPU了,所以工作内存非常有限。例如:6ES7 312-1AE14-0AB0工作内存仅32KB,但新版的高端CPU313C(6ES7 313-6CG04-0AB0)工作内存有128KB,就基本可以胜任使用S7-GRAPH工具了。
3、不过,使用S7-GRAPH工具后占用系统内存较多是事实,如果项目中还有不少的数学运算程序,又将占用较多的系统内存,从而会导致CPU模块工作内存不足。因此,推荐用于CPU314以上的CPU,这是一个经验之谈,值得借鉴的。
4、关于低端的CPU312模块我有一个使用经历供分享:用S7-SCL的“FOR TO DO”语句写了一个三层循环的算法程序,编译下装(Compile and Download)后都正常,但就是程序执行结果异常,CPU模块始终亮SF灯故障,诊断缓冲区也提示有“FOR TO DO”语句的FB块I/O访问错误?
5、结果折腾了将近一天时间,将“FOR TO DO”语句三层循环减少为两层循环就好了!说明低端的CPU312模块内存缓冲区太小,无法进行复杂数学运算。
6、由此提醒大家:SIEMENS的编程工具确实丰富,但工具的选用与CPU模块和存储卡一定要注意匹配。否则,将出现意想不到的问题!
管理员注:本帖已被纳入此次探讨发帖整理,请
点此详阅。