一、硬件区别:
(1)最主要地区别就是S7-300更模块化了,S7-200系列是整体式的,CPU模块、I/O模块和电源模块都在一个模块内,称为CPU模块;而S7-300系列的,从电源,I/O,CPU都是单独模块的。但是这么说容易让人误解200系列不能扩展,实际上200系列也可以扩展,只不过买来的CPU模块集成了部分功能,一些小型系统不需要另外定制模块,200系列的模块也有信号、通信、位控等模块。
(2)200系列的对机架没有什么概念,称之为导轨;为了便于分散控制,300系列的模块装在一根导轨上的,称之为一个机架,与中央机架对应的是扩展机架,机架还在软件里反映出来。
(3)200系列的同一机架上的模块之间是通过模块正上方的数据接头联系的;而300则是通过在底部的U型总线连接器连接的。
(4)300系列的I/O输入是接在前连接器上的,前连接器再接在信号模块上,而不是I/O信号直接接在信号模块上,这样可以更换信号模块而不用重新接线。
(5)300系列的部分CPU带有profibus接口。
二、软件区别:
(1)200系列用的STEP7-Micro/WIN32软件;300使用的是STEP7软件,带了Micro和不带的区别是相当的明显啊。
(2)200系列的编程语言有三种--语句表(STL)、梯形图(LAD)、功能块图(FBD);300系列的除了这三种外,还有结构化控制语言(SCL)和图形语言(S7 graph),其中SCL就是一种高级语言,以前用惯了LAD,现在还没有适应,也没有时间来学习。
(3)300软件最大的特点就是提供了一些数据块来对应每一个功能块(Function Block-FB),称之为Instance,nnd,看起来要向C++看齐了。
(4)300再也不能随意的自定义Organization Block、sub-routine和Interrupt routine了,现在OB1惟我独尊了,没事系统只能调用它了,其它的什么东东则变成了FB-Function Block和FC-Function,其它的也是预定义成了系统的了,System的S给它们(SFB、SFC)定义了自己的身份。
(5)300中提供了累加器(ACCU)和状态字寄存器、诊断缓冲区,nnd,这不完全是单片机(MCU)的翻版么;不知道我是否记错,200系列中没有ACCU或者用得很少,状态字和诊断则根本没有