怀化西门子PLC模块经销总代理商怀化西门子PLC代理,怀化西门子S7-1500代理,西门子PLC代理
S7-200PLC存储区和S7-300PLC存储器
S7-200系列PLC的存储区分为程序存储区、变量存储区和参数存储区。
① 程序存储区
程序存储区主要用于存放用户程序,程序空间容量在不同的CPU中是不同的。另外,CPU的RAM区与内置EPPROM上都有程序存储器,它们互为映像,且空间大小一样。系统程序会进行自动调度,在程序执行时将程序从E?PROM映像到RAM中,以提高运行速度。
硬件组态
怀化西门子PLC模块经销总代理商怀化西门子PLC代理,怀化西门子S7-1500代理,西门子PLC代理
生成一个名为“OB40例程”的项目(见随书光盘中的同名例程),CPU模块的型号为CPU315-2DP。选中SIMATIC管理器左边的300站对象,双击右边窗口的“硬件”图标,打开硬件组态工具HW Config(见图4-47)。将硬件目录中名为“DI4xNAMUR,Ex”的4 点DI模块插入4号槽,16点D0模块插入5号槽。
自动分配的DI模块的字节地址为0。双击该模块,打开它的属性对话框(见图4-47的右图)。用复选框启用硬件中断,设置10.0产生上升沿中断,10.1产生下降沿中断。
2. 编写OB40中的程序
OB40中的程序(见图4-48)判断是哪个模块的哪个点产生的中断,然后执行相应的操作。临时局部变量OB40_MDL_ADDR和OB40_POINT_ADDR分别是产生中断的模块的起始字节地址和模块内的位地址,数据类型分别为WORD和DWORD,这两个变量不能直接用于整数比较指令和双整数比较指令。
双击诊断视图中的 IE/PB link,打开它的模块信息对话框,在“常规”选项卡中,可以看到“模块可用且正常,外部出错”。在“诊断缓冲区”选项卡,可以看到模块被拔出的信息、该模块所在的站地址和模块的诊断地址,以及信息“外部错误,进入的事件”。
(2)拔出ET200SPN电源模块的诊断
运行时拔出ET200SPN插槽1的电源模块,CPU的LED状态不变,CP343-1、IM151-3PN
和有诊断功能的DI、DO模块的SFLED亮,未产生中断。
在诊断视图中,CP343-1和ET200SPN有故障符号。
CP343-1的诊断缓冲区的诊断信息为“外部错误,进入的事件”。
系统程序也存放在程序空间,但对用户是不开放的,即用户不能访问和读写系统程序。
在OB1中调用多重背景功能块
项目“发动机控制”中OB1对FB1的两次调用,被图4-39中OB1对FB10的调用代替。FB10的输出参数“PE_DE_OverSpeed”送给符号名为“两台发动机超速”的共享数据Q5.7。调用FC1的汽油机的风扇控制程序与图4-19中的相同。
FB10的背景数据块 DB10 见图4-40,多重背景的名称“Petrol_Engine”和“Diesel_En-图4-39 OB1中调用多重背景功能块FB10
gine”加在FB1的局部变量之前,例如“Petrol_
Engine.Enging_On”。可以修改柴油机的预置转速“Diesel_Engine.Preset_Speed”的实际值,修改后需要下载到PLC。
使用多重背景时应注意以下问题
S7-300CPU默认的选项是“无OB85调用”,在发生I/O访问错误时不调用OB85,也不会在诊断缓冲区中生成条目,一般采用默认的设置。
S7-400CPU默认的选项是“每单个访问时”,在满足条件时,每个扫描循环周期都要调用一次 OB85 和在诊断缓冲区中生成一个条目,这样会增加扫描周期。建议选用“仅用于进入和离开的错误”,该选项只是在错误刚发生和刚消失时分别调用一次OB85。
在编写OB85的程序时,应根据OB85的启动信息,判定是哪个模块损坏或没有插入。OB85的局部变量OB_85_FLT_ID的错误代码的意义举例如下B#16#B1和B#16#B2分别表示更新过程映像输入、输出表时的I/O访问错误。可以用SFC49“LGC_GADR”查找有关模块所在的机架和槽位,以及模块的用户数据地址区中的偏移量。
1)首先应生成需要多次调用的功能块(例如上例中的FB1)。
2)管理多重背景的功能块(例如上例中的FB10)必须设置为有多重背景功能。3)在管理多重背景的功能块的变量声明表中,为被调用的功能块的每一次调用定义一个静态(STAT)变量作为多重背景,以被调用的功能块的名称(例如FB1)作为该静态变量的数据类型。