太多了,硬件区别
S7-300为了适应大中型控制系统,而设计的更加模块化。S7-200系列是整体式的,CPU模块、I/O模块和电源模块都在一个模块内,称为CPU模块;而S7-300系列的,从电源,I/O,CPU以及导轨都是单独模块。
实际上S7-200系列也是可以扩展的,一些小型系统不需要另外定制模块,S7-200系列的模块也有信号、通信、位控等模块。
S7-200系列的对机架没有什么概念,称之为导轨;为了便于分散控制,S7-300系列的模块装在一根导轨上的,称之为一个机架,与中央机架对应的是扩展机架,机架还在软件里反映出来。
S7-200系列的同一机架上的模块之间是通过模块正上方的数据接头联系的;而S7-300则是通过在底部的U型总线连接器连接的。
S7-300系列的I/O输入是接在前连接器上的,前连接器再接在信号模块上,而不是I/O信号直接接在信号模块上,这样可以更换信号模块而不用重新接线。
S7-300系列2DP的部分CPU带有profibus接口。
S7-300这样模块化的设计在大中型控制系统中极大的方便了系统的维护、设计乃至安装各个环节。
软件区别
S7-200系列用的STEP7-Micro/WIN40sp6软件;S7-300使用的是STEP7软件。
S7-200系列的编程语言有三种:语句表(STL)、梯形图(LAD)、功能块图(FBD);S7-300系列的除了这三种外,还有结构化控制语言(SCL)和图形语言(S7 graph),其中SCL就是一种高级语言,高级语言可以更加方便的解决客户的专有问题,提高了程序执行效率,缩短了程序执行时间。
S7-300软件最大的特点就是提供了一些数据块来对应每一个功能块(Function Block-FB),称之为Instance。
S7-300不能随意的自定义Organization Block、sub-routine和Interrupt routine,系统只能调用它OB1,其它的用FB-Function Block和FC-Function方式编辑,其它的也是预定义成了系统的了,System的S给它们(SFB、SFC)定义了自己的身份。