工程框架
四、存储方面的区别。S7-300和S7-1200的程序存储器和数据存储器的大小都是浮动的。S7-1200 CPU的符号表和注释可以保存在CPU中,可在线获取。在S7-1200中利用符号化存取,可以zui优化分配数据块所占的存储区。在保持存储区方面,S7-1200多可以设置2048个字节的保持区,可以对数据块中的离散变量设置保持性。而S7-300是以字节为单位进行保持性设置的。在存储容量方面,S7-1200的存储卡大可到24兆字节,对于S7-1200存储卡是可选项,而S7-300的存储卡是必选的。S7-300的存储卡无法存放配方和数据记录等。另外S7-1200的存储卡还将用来实现存储区扩展,程序分配及固件升级等功能。
存储的区别
五,程序结构的不同。S7-1200和S7-300一样,有OB块、FB块、FC块及数据块等,程序结构高度模块化,并且可以重复利用,大嵌套深度为16。S7-1200和S7-300类似,都是通过组织块来分配事件的。
程序结构的区别
六、数据类型的不同。S7-1200中的新数据类型使应用更加灵活。例如用于日期和时间时,S7-300通过调用系统功能块SFC读取日期时间数据,而S7-1200可以通过符号名访问DTL结构的所有组成部分。
数据类型的区别
七、计数器指令的区别。S7-300中的计数器在计数值大于零时,计数器输出置位,而S7-1200中的计数器,在计数值大于等于设定值时,输出置位。S7-300 S5计数器的计数范围是0到999,而S7-1200的计数范围是可调的。
定时器指令的区别
九、工艺功能。S7-1200和S7-300类似,都是通过调用相应的块来实现不同的工艺功能。
西门子S7-300/400PLC OB-FB-FC-DB块介绍
西门子S7-300/400的PLC用户程序结构与S7-200有明显的不同,可以使用线性化结构以及功能调用式结构与结构化编程。
采用调用式结构与结构化编程时,程序以组织块(OB)、程序块(FC)、功能块(FB)、系统程序块(SFC)、系统功能块(SFB)、数据块(DB)等形式出现,其中,组织块(OB)、程序块(FC)、功能块(FB)统称为“逻辑块(Logic Block)”;系统程序块(SFC)、系统功能块(SFB)统称为“系统块”。
1、组织块(OB)
组织块(OrganizationBlocks,简称OB)提供了PLC内部CPU操作系统与用户程序间的接口,它是由CPU操作系统直接进行调用的逻辑块,用来管理PLC程序中各组成部分的调用和执行中断。OB决定了PLC用户程序的结构与块的调用顺序,起到了“管理”用户程序的作用。
S7-300/400不同的CPU类型,可以选择、支持不同的OB块,但OB1是所有PLC用户程序的循环控制块,它是运行PLC用户程序的前提条件,因此,任何PLC程序、任何CPU都不可以缺少OB1。
OB块的调用条件被称为“触发事件”,根据“触发事件”的不同,OB块可以分为若干级别,各个级别有不同的优先级,高优先级的OB可以中断低优先级OB的执行。如果需要,S7系列PLC除OB1外,还可以使用多个OB块。
2、程序块(FC)
程序块(Function,简称FC)是由用户编写的、不需要专门数据块的常用逻辑块。
FC块在程序中一般不可以重复调用,在大多数场合,FC块应直接使用PLC的“绝对地址”或“符号地址”进行编程,但根据需要,可以定义部分程序变量。
与S7-200-样,FC块的“临时变量”同样存储在局部变量数据堆栈(L)中,这一区域为全部程序块所公用,只可以用于FC块内部使用的中间运算结果寄存(这些中间运算结果不可以用于FC块外部);程序块执行完成后,局部变量数据堆栈内的数据将被其他块所需要的内容所替代。如果需要保存可以用于其他逻辑块的状态,应使用PLC的内部标志寄存器M或使用“数据块DB”。
在程序块FC中,有部分为PLC生产厂家所提供的、集成在S7CPU操作系统中的逻辑块,称为系统程序块(SystemFunction,简称SFC)。系统程序块SFC属于PLC内部操作系统的一部分,用户不需要编写,也不可以对其进行编辑,但可以根据需要直接调用。
3、功能块(FB)
功能块(FunctionBlocks,简称FB块)是由用户编写的、需要专用数据块(InstanceDataBlocks,称为“即时数据块”或“背景数据块”,简称DI)支持的常用逻辑块。
FB块与FC块的作用基本相同,但FB中除可以使用“绝对地址”或“符号地址”进行编程外,在结构化编程时必须使用“程序变量”进行编程,因此,FB必须配套的、独立的数据存储区域——“即时数据块DI”。DI-方面可以为调用FB提供执行程序所需要的“程序变量”赋值与其他数据,另一方面,功能块FB也能通过DI给调用它的逻辑块返回所需要的数据。
与功能调用块FC-样,功能块FB中也有部分为PLC生产厂家所提供的、集成在S7CPU操作系统中的功能块,称为系统功能块(SystemFunctionBlocks,简称SFB)。系统功能块SFB同样属于PLC内部操作系统的一部分,用户不需要编写,也不可以对其进行编辑,但可以根据需要直接调用。
4、数据块(DB)
数据块(DataBlocks,简称DB)是用来存放执行用户程序时所需的数据与存储程序执行结果的数据存储区,其作用与标志寄存器类似,但数量更多。数据块DB按不同的用途可以分为即时数据块(InstanceDataBlocks,又称背景数据块,简称DI)和通用数据块(DataBlocks,又称共享数据块,简称DB)两类。
即时数据块(DI)用于传递功能块的参数,功能块FB访问。调用功能块FB时,必须同时用于该功能块的即时数据块DI,即时数据块内的数据可以自动生成,它们可以是FB变量声明表中的数据(不含临时变量)。
通用数据块(DB)用于存储PLC的全局数据,所有的FB、FC或OB都可以对通用数据块进行读写操作,因此,又被称为共享数据块。通用数据块内的数据不会因用户程序的结束而删除。
西门子PLC S7-300存储卡使用方法
MMC卡插在CPU上
西门子PLC使用存储卡来保存用户的程序和数据,例如:在西门子PLC S7-300系列中,通常使用MMC卡,用户把程序的逻辑和数据保存在MMC卡中。在由西门子PLCS7-300系列组成的控制系统中,必须使用存储卡MMC来使得西门子PLC正常运行。在使用过程中,用户需要将编程软件组态好的逻辑写入到存储卡中,从而保证系统的正常运行。将程序写入存储卡的方式有多种,本文下面就来介绍一下这些方法,供用户在调试过程中参考使用。
西门子PLC存储卡写入程序方法
在西门子PLC S7-300系列中,用户可以使用MMC卡进行程序的下载操作,有以下几种方式可供选择:
1. 直接下载
用户在西门子PLC S7-300的编程软件STEP7中,使用快捷栏中的下载按钮直接下载,或者使用STEP7菜单中的“PLC->下载”命令下载程序;
2. 菜单指令下载
用户在西门子PLC S7-300的编程软件STEP7中,在菜单栏中,选择“PLC->下载用户程序到存储卡”的菜单命令,将整个程序下载,注意在使用这个指令时,不能对部分程序进行下载,只能将程序整体下载,同时覆盖存储卡中原有的内容;
3. 拷贝程序
用户在西门子PLC S7-300的编程软件STEP7中,使用菜单指令“PLC->拷贝RAM到ROM”指令,可以把工作存储器中的内容拷贝到存储卡中,同时会清除原来存储卡中的信息,并且这项操作只能在CPU的STOP状态下进行;
4. 保存程序
用户在西门子PLC S7-300的编程软件STEP7中,使用菜单指令“文件->S7存储卡->打开”指令,然后再使用“PLC->保存到存储卡”,可以将文件写入到存储卡中;
5. 编程保存
用户在西门子PLC S7-300的编程软件STEP7中,通过调用系统功能SFC84-向装载存储器写数据块,可以将工作存储器中的数据块写入到存储卡中。
西门子PLC S7-300的MMC存储卡通常用来存储程序和数据,它是PLC正常运行时的部件。用户可以通过多种方式将编写好的程序逻辑保存下载到存储卡中,从而确保控制系统的正常运行,在下载时,用户可以按照本文提供的方式进行操作。