宿迁西门子(中国)模块授权代理商
S7-300 PLC的存储区可以划分为四个区域:装载存储器(Load Memory)、工作存储器(Work Memory)、 系统存储器(System Memory)和保持存储区(Non-Volatile memory),具体如图7-1
图7-1
1. 系统存储器:
系统存储器用于存放输入输出过程映像区(PII,PIQ)、位存储器(M)、定时器(T)和计数器(C))、块堆栈和中断堆栈以及临时存储器(本地数据堆栈)。
2. 工作存储器:
工作存储器仅包含运行时使用的程序和数据。RAM 工作存储器集成在CPU中, RAM中的内容通过电源模块供电或后备电池保持。除了S7 417-4 CPU可以通过插入的存储卡来扩展工作存储器外,其他PLC的工作存储器都无法扩展。
3. 装载存储器:
装载存储器是用于存放不包含符号地址分配或注释(这些保留在编程设备的存储器中)的用户程序。装载存储器可以是存储器卡、内部集成的RAM或内部集成的EPROM.
4. 保持存储器:
保持存储器是非易失性的RAM,通过组态可以在PLC掉电后即使没有安装后备电池的情况下,保存一部分位存储器(M)、定时器(T)、计数器(C)和数据块(DB)。在设置CPU参数时一定要要保持的区域。(注意:由于S7-400 PLC没有非易失性RAM,即使组态了保持区域,再掉电时若没有后备电池,也将丢失所有数据。这是S7-300 PLC 与S7-400 PLC 的重要区别)
1) 当在step7 中执行下装(download)时,会把编程设备中的用户程序下装到CPU的装载存储区,同时会把运行时使用的程序和数据写入工作存储区(如OB1和数据块)。
2) 若CPU没有后备电池,当系统断电时,在工作存储器中定义了保持特性的数据块会把数据写入保持存储器中,上电后保持存储器会把断电时的数据写入到工作存储区, 保证了运行数据断电不丢失(过程如图7-1中与箭头所示)。
3) 若CPU没有后备电池,当系统断电时,系统存储区中定义n的保持位存储器(M)、定时器(T)和计数器(C))断电时也会写入保持存储器,恢复上电时断电时的数据重新写入,保证了运行数据断电不丢失(如图7-1中与箭头所示)。
按照CPU 的装载存储器来分类:新型S7-300 CPU、标准型S7-300 CPU、带内置EPROM 的S7300 CPU,具体描述如下:
新型S7-300 CPU是指使用MMC卡作为其装载存储器的CPU,此类CPU不用安装后备电池,免维护。由于新型S7300-CPU它不含内置的装载存储器,因此必须使用MMC卡。新型的S7-300 CPU包括紧凑型 (即CPU31xC系列)和由标准型更新的新型CPU。任何程序的下载方式都直接保存到卡中, 没有MMC卡,是无法把程序下载到CPU中的。
注意:在西门子的CPU上必须使用西门子的MMC卡,不能使用数码相机、或PDA等数码产品使用的通用型MMC卡。目前应用于以下几种PLC产品
宿迁西门子(中国)模块授权代理商
在某些情况下,已经创建并下载到 CPU 中的 STEP 7 项目的版本,与安装在 PG/PC 中的软件版本是不相同的。如果想继续处理或者保存 STEP 7 项目,需要使用“在线”菜单中的功能。在不同版本的 STEP 7 之间,此功能只有很小的差别。
操作:
在项目树中点击相应的控制器(控制器必须被选择)。
点击“在线”菜单。
在条目“从设备中上传(软件)”中点击所需的菜单命令(参看表 01)。
图 01
表 01 中给出了在条目“从设备中上传(软件)”中哪些在线功能可用。
Key | 动作 | 步 骤 | 菜单命令 |
C | 期望将“在线访问”的“程序 块”文件 夹拷贝到离线“项目”程序块文件夹。 | 首先需要在项目文件夹中创建与实际设备相同的设备组态。 打开在线访问中相应的控制器。 从“在线访问”文件夹推拽程序块文件夹至离线项目文件夹中(这会覆盖原有的程序块文件夹)。 | 拖拽操作(没有菜单命令 |
N | 期 望从设备中拷贝硬件组态和软件程序到离线项目中。 | 在拓扑视图确认不同的站名被定义(参看图 02),以防在项目里已经有一个站具有相同的站。 选择菜单命令“将设备作为新站上传”,然后依据菜单提示操作。 更多信息可参考在线帮助“将设备作为新站上传”。 | 将 设备作为新站上传(硬件和软件)... |
S | 期望从设备中备份硬件组态和 软件到离 线项目中。 | 需要在项目中创建与实际设备相同的设备组态。 选择菜单命令“从在线设备备份”,然后依据菜单提示操作。 更多信息请参考在线帮助“从在线设备备份”。 选中的站点(软件和硬件)生成 1:1 的拷贝并传输到 PG/PC 中,包括日期和时间。可以实现多个备份,但不能编辑备份。可以传输备份到设备中以恢复生成备份时的状态。 | 从在线设备中备份 |
O | 期望在项目中读出一个设备的 状态信 息 | 选择菜单命令“在线”然后依据菜单提示操作。 包含如下功能: 在线工具 在线/离线块比较 诊断 其它在线功能 更多信息参考在线帮助“在线和离线”。 | 在线 |
表 01
图 02
如果当前编程器中的 STEP 7 版本,与已经编译和下载到 CPU 中的程序时所用的 STEP 7 版本不一致时,这种情况下,下表给出了可以采取的方法,可以哪些在线功能是可以使用的,在表 02 中的描述与表 01 中的说明是相对应的。
设备中已装载的项目(版本) | 在 PG/PC 中安装的 STEP 7 (TIA 博途) 的版本 | ||
V11 | V12 | V13 | |
STEP 7 V5.5 | C, O | S, O | S, O |
STEP 7 (TIA 博途) V11 | C, O | S, O | S, O |
STEP 7 (TIA 博途) V12 | C, O | S, O | S, O |
STEP 7 (TIA 博途) V13 | O | S, O | S, O, N |
表02
在TIA Portal中,S7-300/S7-400的用户程序中的AG_SEND/AG_LSEND指令被移植到S7-1500时应注意哪些问题。
如果使用相同的连接号(ID)多次调用AG_SEND/AG_LSEND指令,移植将通过调用TSEND以及为每个TSEND分配不同的背景数据块来替换每一个AG_SEND/AG_LSEND指令。此时,必须为每个TSEND的背景数据块分配相同的连接号。
在OB1中,如果一个功能块(FB)被多次调用,而在该FB中,顺序调用了AG_SEND/AG_LSEND。该FB有一个输入参数是 关于连接号的(ID),该FB将该输入参数传递到AG_SEND/AG_LSEND指令中。而当OB1每次调用FB时,都带有不同的连接号(ID)。如果 在同一程序中多次调用AG_SEND/AG_LSEND指令时使用不同的连接号(ID),则移植时将通过调用带有背景数据的TSEND来替换每个带有不同 连接号(ID)的AG_SEND/AG_LSEND指令。为了保证通讯良好的工作,应该保证当前的TSEND完成后再触发另外一个带有新连接号(ID) 的TSEND。直到通过 DONE, NDR 或 ERROR 参数标识出数据传输已完成并且该任务结束后,ID, LADDR, DATA 以及 LEN 等参数才能被修改,
在含有CPU 317-2PN/DP的S7-300上,如何编程可加载通讯功能块FB14("GET")和FB15("PUT")用于数据交换?
为了通过一个S7连接在使用CPU 317-2PN/DP的两个S7-300工作站之间进行数据交换,其中该S7连接是使用NetPro组态的, 在S7通信中,必须调用通讯功能块。模块FB14("GET") 用于从远程CPU取出数据,模块FB15("PUT")用于将数据写入远程CPU。 功能块包含在STEP 7 V5.3的标准库中。 < CPU 317-2PN/DP的通讯模块FB14("GET")和FB15("PUT")的属性 :
FB14和FB15是异步通讯功能。 这些模块的运行可能跨越多个OB1循环。 通过输入参数REQ激活FB14或FB15。 DONE、NDR或ERROR表明作业结束。PUT和GET可以同时通过连接进行通信。 注意:不能将库SIMATIC_NET_CP中的通讯块用于CPU317-2PN/DP
对于紧凑CPU 313C-2 PtP和CPU 314-2 PtP作业同步处理需要注意什么? 在用户程序中,不可以同时编程SEND作业和FETCH作业。
即: 只要SEND作业(SFB 63)没有完全终止(DONE或ERROR),就不能调用FETCH作业(SFB 64)(甚至在REQ=0的时候)。只要FETCH作业(SFB 64)没有完全终止(DONE或ERROR),就不能调用SEND作业(SFB 63)(甚至在REQ=0的时候)。在处理一个主动作业(SEND作业、SFB 63或FETCH作业、SFB 64)时,同时可以处理一个被动作业(SERVE作业、SFB 65)。
对于单向基本通信,使用系统功能 SFC67 (X_GET)从一个被动站读取数据,使用系统功能SFC68(X_PUT)将数据写入一个被动站(服务器)。这些块只有在主动站中才调用。对于一个双向基本通信,调用站中的系统功能SFC65 (X_SEND),在该站中想将数据发送到另一个主动站。在同样为主动的主动接收站中,数据将通过系统功能SFC66 (X_RCV)记录。
两种类型的基本通信中,每次块调用可以处理多 76 字节的用户数据。对于S7-300 CPU,数据传送的数据一致性是 8 个字节,对于S7-400 CPU则是全长。 如果连接到S7-200,必须考虑到S7-200只能用作一个被动站。