当前位置:文档之家› ucos-ii中文书(邵贝贝)第1章

ucos-ii中文书(邵贝贝)第1章

ucos-ii中文书(邵贝贝)第1章
ucos-ii中文书(邵贝贝)第1章

第一章:范例

在这一章里将提供三个范例来说明如何使用μC/OS-II。笔者之所以在本书一开始就写这一章是为了让读者尽快开始使用μC/OS-II。在开始讲述这些例子之前,笔者想先说明一些在这本书里的约定。

这些例子曾经用Borland C/C++编译器(V3.1)编译过,用选择项产生Intel/AMD80186处理器(大模式下编译)的代码。这些代码实际上是在Intel Pentium II PC(300MHz)上运行和测试过,Intel Pentium II PC可以看成是特别快的80186。笔者选择PC做为目标系统是由于以下几个原因:首先也是最为重要的,以PC做为目标系统比起以其他嵌入式环境,如评估板,仿真器等,更容易进行代码的测试,不用不断地烧写EPROM,不断地向EPROM仿真器中下载程序等等。用户只需要简单地编译、链接和执行。其次,使用Borland C/C++产生的80186的目标代码(实模式,在大模式下编译)与所有Intel、AMD、Cyrix公司的80x86 CPU兼容。

1.00安装μC/OS-II

本书附带一张软盘包括了所有我们讨论的源代码。是假定读者在80x86,Pentium,或者Pentium-II处理器上运行DOS或Windows95。至少需要5Mb硬盘空间来安装uC/OS-II。

请按照以下步骤安装:

1.进入到DOS(或在Windows95下打开DOS窗口)并且指定C:为默认驱动器。

2.将磁盘插入到A:驱动器。

3.键入A:INSTALL【drive】

注意『drive』是读者想要将μC/OS-II安装的目标磁盘的盘符。

INSTALL.BAT是一个DOS的批处理文件,位于磁盘的根目录下。它会自动在读者指定的目标驱动器中建立\SOFTWARE目录并且将uCOS-II.EXE文件从A:驱动器复制到\SOFTWARE并且运行。μC/OS-II将在\SOFTWARE目录下添加所有的目录和文件。完成之后INSTALL.BAT 将删除uCOS-II.EXE并且将目录改为\SOFTWARE\uCOS-II\EX1_x86L,第一个例子就存放在这里。

在安装之前请一定阅读一下READ.ME文件。当INSTALL.BAT已经完成时,用户的目标目录下应该有一下子目录:

●\SOFTWARE

这是根目录,是所有软件相关的文件都放在这个目录下。

●\SOFTWARE\BLOCKS

子程序模块目录。笔者将例子中μC/OS-II用到的与PC相关的函数模块编译以后放在这个目录下。

●\SOFTWARE\HPLISTC

这个目录中存放的是与范例HPLIST相关的文件(请看附录D,HPLISTC和TO)。HPLIST.C 存放在\SOFTWARE\HPLISTC\SOURCE目录下。DOS下的可执行文件(HPLIST.EXE)存放在\SOFTWARE\TO\EXE中。

●\SOFTWARE\TO

这个目录中存放的是和范例TO相关的文件(请看附录D,HPLISTC和TO)。源文件TO.C 存放在\SOFTWARE\TO\SOURCE中,DOS下的可执行文件(TO.EXE)存放在\SOFTWARE\TO\EXE

中。注意TO需要一个TO.TBL文件,它必须放在根目录下。用户可以在\SOFTWARE\TO\EXE目录下找到TO.TBL文件。如果要运行TO.EXE,必须将TO.TBL复制到根目录下。

●\SOFTWARE\uCOS-II

与μC/OS-II相关的文件都放在这个目录下。

●\SOFTWARE\uCOS-II\EX1_x86L

这个目录里包括例1的源代码(参见 1.07,例1),可以在DOS(或Windows95下的DOS 窗口)下运行。

●\SOFTWARE\uCOS-II\EX2_x86L

这个目录里包括例2的源代码(参见 1.08,例2),可以在DOS(或Windows95下的DOS 窗口)下运行。

●\SOFTWARE\uCOS-II\EX3_x86L

这个目录里包括例3的源代码(参见 1.09,例3),可以在DOS(或Windows95下的DOS 窗口)下运行。

●\SOFTWARE\uCOS-II\Ix86L

这个目录下包括依赖于处理器类型的代码。此时是为在80x86处理器上运行uC/OS-II 而必须的一些代码,实模式,在大模式下编译。

●\SOFTWARE\uCOS-II\SOURCE

这个目录里包括与处理器类型无关的源代码。这些代码完全可移植到其它架构的处理器上。

1.01INCLUDES.H

用户将注意到本书中所有的*.C文件都包括了以下定义:

#include"includes.h"

INCLUDE.H可以使用户不必在工程项目中每个*.C文件中都考虑需要什么样的头文件。换句话说,INCLUDE.H是主头文件。这样做唯一的缺点是INCLUDES.H中许多头文件在一些*.C 文件的编译中是不需要的。这意味着逐个编译这些文件要花费额外的时间。这虽有些不便,但代码的可移植性却增加了。本书中所有的例子使用一个共同的头文件INCLUDES.H,3个副本分别存放在\SOFTWARE\uCOS-II\EX1_x86L,\SOFTWARE\uCOS-II\EX2_x86L,以及\SOFTWARE\uCOS-II\EX3_x86L中。当然可以重新编辑INCLUDES.H以添加用户自己的头文件。

1.02不依赖于编译的数据类型

因为不同的微处理器有不同的字长,μC/OS-II的移植文件包括很多类型定义以确保可移植性(参见\SOFTWARE\uCOS-II\Ix86L\OS_CPU.H,它是针对80x86的实模式,在大模式下编译)。μCOS-II不使用C语言中的short,int,long等数据类型的定义,因为它们与处理器类型有关,隐含着不可移植性。笔者代之以移植性强的整数数据类型,这样,既直观又可移植,如表L1.1所示。为了方便起见,还定义了浮点数数据类型,虽然μC/OS-II中没有使用浮点

数。

程序清单L1.1可移植型数据类型。

Typedef unsigned char BOOLEAN;

Typedef unsigned char INT8U;

Typedef signed char INT8S;

Typedef unsigned int INT16U;

Typedef signed int INT16S;

Typedef unsigned long INT32U;

Typedef signed long INT32S;

Typedef float FP32;

Typedef double FP64;

#define BYTE INT8S

#define UBYTE INT8U

#define WORD INT16S

#define UWORD INT16U

#define LONG INT32S

#define ULONG INT32U

以INT16U数据类型为例,它代表16位无符号整数数据类型。μC/OS-II和用户的应用代码可以定义这种类型的数据,范围从0到65,535。如果将μCO/S-II移植到32位处理器中,那就意味着INT16U不再不是一个无符号整型数据,而是一个无符号短整型数据。然而将无论μC/OS-II用到哪里,都会当作INT16U处理。表1.1是以Borland C/C++编译器为例,为80x86提供的定义语句。为了和μC/OS兼容,还定义了BYTE,WORD,LONG以及相应的无符号变量。这使得用户可以不作任何修改就能将μC/OS的代码移植到μC/OS-II中。之所以这样做是因为笔者觉得这种新的数据类型定义有更多的灵活性,也更加易读易懂。对一些人来说,WORD意味着32位数,而此处却意味着16位数。这些新的数据类型应该能够消除此类含混不请

1.03全局变量

以下是如何定义全局变量。众所周知,全局变量应该是得到内存分配且可以被其他模块通过C语言中extern关键字调用的变量。因此,必须在.C和.H文件中定义。这种重复的定义很容易导致错误。以下讨论的方法只需用在头文件中定义一次。虽然有点不易懂,但用户一旦掌握,使用起来却很灵活。表1.2中的定义出现在定义所有全局变量的.H头文件中。

程序清单L1.2定义全局宏。

#ifdef xxx_GLOBALS

#define xxx_EXT

#else

#define xxx_EXT extern

#endif

.H文件中每个全局变量都加上了xxx_EXT的前缀。xxx代表模块的名字。该模块的.C文件中有以下定义:

#define xxx_GLOBALS

#include"includes.h"

(因为xxx_GLOBALS 当编译器处理.C文件时,它强制xxx_EXT(在相应.H文件中可以找到)为空,

已经定义)。所以编译器给每个全局变量分配内存空间,而当编译器处理其他.C文件时,xxx_GLOBAL没有定义,xxx_EXT被定义为extern,这样用户就可以调用外部全局变量。为了说明这个概念,可以参见uC/OS_II.H,其中包括以下定义:

#ifdef OS_GLOBALS

#define OS_EXT

#else

#define OS_EXT extern

#endif

OS_EXT INT32U OSIdleCtr;

OS_EXT INT32U OSIdleCtrRun;

OS_EXT INT32U OSIdleCtrMax;

同时,uCOS_II.H有中以下定义:

#define OS_GLOBALS

#include“includes.h”

当编译器处理uCOS_II.C时,它使得头文件变成如下所示,因为OS_EXT被设置为空。

INT32U OSIdleCtr;

INT32U OSIdleCtrRun;

INT32U OSIdleCtrMax;

这样编译器就会将这些全局变量分配在内存中。当编译器处理其他.C文件时,头文件变成了如下的样子,因为OS_GLOBAL没有定义,所以OS_EXT被定义为extern。

extern INT32U OSIdleCtr;

extern INT32U OSIdleCtrRun;

extern INT32U OSIdleCtrMax;

在这种情况下,不产生内存分配,而任何.C文件都可以使用这些变量。这样的就只需在.H 文件中定义一次就可以了。

1.04OS_ENTER_CRITICAL()和

OS_EXIT_CRITICAL()

用户会看到,调用OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()两个宏,贯穿本书的所有源代码。OS_ENTER_CRITICAL()关中断;而OS_EXIT_CRITICAL()开中断。关中断和开中断是为了保护临界段代码。这些代码很显然与处理器有关。关于宏的定义可以在OS_CPU.H中找到。9.03.02节详细讨论定义这些宏的两种方法。

程序清单L1.3进入正确部分的宏。

#define OS_CRITICAL_METHOD2

#if OS_CRITICAL_METHOD==1

#define OS_ENTER_CRITICAL()asm CLI

#define OS_EXIT_CRITICAL()asm STI

#endif

#if OS_CRITICAL_METHOD==2

#define OS_ENTER_CRITICAL()asm{PUSHF;CLI}

#define OS_EXIT_CRITICAL()asm POPF

#endif

用户的应用代码可以使用这两个宏来开中断和关中断。很明显,关中断会影响中断延迟,所以要特别小心。用户还可以用信号量来保护林阶段代码。

1.05基于PC的服务

PC.C文件和PC.H文件(在\SOFTWARE\BLOCKS\PC\SOURCE目录下)是笔者在范例中使用到的一些基于PC的服务程序。与μC/OS-II以前的版本(即μC/OS)不同,笔者希望集中这些函数以避免在各个例子中都重复定义,也更容易适应不同的编译器。PC.C包括字符显示,时间度量和其他各种服务。所有的函数都以PC_为前缀。

1.05.01字符显示

为了性能更好,显示函数直接向显示内存区中写数据。在VGA显示器中,显示内存从绝

对地址0x000B8000开始(或用段、偏移量表示则为B800:0000)。在单色显示器中,用户可以把#define constant DISP_BASE从0xB800改为0xB000。

PC.C中的显示函数用x和y坐标来直接向显示内存中写ASCII字符。PC的显示可以达到25行80列一共2,000个字符。每个字符需要两个字节来显示。第一个字节是用户想要显示的字符,第二个字节用来确定前景色和背景色。前景色用低四位来表示,背景色用第4位到6位来表示。最高位表示这个字符是否闪烁,(1)表示闪烁,(0)表示不闪烁。用PC.H中#defien constants定义前景和背景色,PC.C包括以下四个函数:

PC_DispClrScr()Clear the screen

PC_DispClrLine()Clear a single row(or line)

PC_DispChar()Display a single ASCII character anywhere on the screen

PC_DispStr()Display an ASCII string anywhere on the screen

1.05.02花费时间的测量

时间测量函数主要用于测试一个函数的运行花了多少时间。测量时间是用PC的82C54定时器2。被测的程序代码是放在函数PC_ElapsedStart()和PC_ElapsedStop()之间来测量的。在用这两个函数之前,应该调用PC_ElapsedInit()来初始化,它主要是计算运行这两个函数本身所附加的的时间。这样,PC_ElapsedStop()函数中返回的数值就是准确的测量结果了。注意,这两个函数都不具备可重入性,所以,必须小心,不要有多个任务同时调用这两个函数。表1.4说明了如何测量PC_DisplayChar()的执行时间。注意,时间是以uS为单位的。

程序清单L1.4测量代码执行时间。

INT16U time;

PC_ElapsedInit();

.

.

PC_ElapsedStart();

PC_DispChar(40,24,‘A’,DISP_FGND_WHITE);

time=PC_ElapsedStop();

1.05.03其他函数

μC/OS-II的应用程序和其他DOS应用程序是一样的,换句话说,用户可以像在DOS下编译其他单线程的程序一样编译和链接用户程序。所生成的.EXE程序可以在DOS下装载和运行,当然应用程序应该从main()函数开始。因为μC/OS-II是多任务,而且为每个任务开辟一个堆栈,所以单线程的DOS环境应该保存,在退出μC/OS-II程序时返回到DOS。调用PC_DOSSaveReturn()可以保存当前DOS环境,而调用PC_DOSReturn()可以返回到DOS。PC.C 中使用ANSI C的setjmp(),longjmp()函数来分别保存和恢复DOS环境。Borland C/C++编译

库提供这些函数,多数其它的编译程序也应有这类函数。

应该注意到无论是应用程序的错误还是只调用exit(0)而没有调用PC_DOSReturn()函数都会使DOS环境被破坏,从而导致DOS或WINDOWS95下的DOS窗口崩溃。

调用PC_GetDateTime()函数可得到PC中的日期和时间,并且以SACII字符串形式返回。格式是MM-DD-YY HH:MM:SS,用户需要19个字符来存放这些数据。该函数使用了Borland C/C++的gettime()和getdate()函数,其它DOS环境下的C编译应该也有类似函数。

PC_GetKey()函数检查是否有按键被按下。如果有按键被按下,函数返回其值。这个函数使用了Borland C/C++的kbhit()和getch()函数,其它DOS环境下的C编译应该也有类似函数。

函数PC_SetTickRate()允许用户为μC/OS-II定义频率,以改变钟节拍的速率。在DOS 下,每秒产生18.20648次时钟节拍,或每隔54.925ms一次。这是因为82C54定时器芯片没有初始化,而使用默认值65,535的结果。如果初始化为58,659,那么时钟节拍的速率就会精确地为20.000Hz。笔者决定将时钟节拍设得更快一些,用的是200Hz(实际是上是199.9966Hz)。注意OS_CPU_A.ASM中的OSTickISR()函数将会每11个时钟节拍调用一次DOS 中的时钟节拍处理,这是为了保证在DOS下时钟的准确性。如果用户希望将时钟节拍的速度设置为20HZ,就必须这样做。在返回DOS以前,要调用PC_SetTickRate(),并设置18为目标频率,PC_SetTickRate()就会知道用户要设置为18.2Hz,并且会正确设置82C54。

PC.C中最后两个函数是得到和设置中断向量,笔者是用Borland C/C++中的库函数来完成的,但是PC_VectGet()和PC_VectSet()很容易改写,以适用于其它编译器。

1.06应用μC/OS-II的范例

本章中的例子都用Borland C/C++编译器编译通过,是在Windows95的DOS窗口下编译的。可执行代码可以在每个范例的OBJ子目录下找到。实际上这些代码是在Borland IDE (Integrated Development Environment)下编译的,编译时的选项如表1.1所示:

表T1.1IDE中编译选项。

Code generation

Model:Large

Options:Treat enum s as int s

Assume SS Equals DS:Default for memory model

Advanced code generation

Floating point:Emulation

Instruction set:80186

Options:Generate underbars

Debug info in OBJs

Fast floating point

Optimizations

Optimizations Global register allocation

Invariant code motion

Induction variables

Loop optimization

Suppress redundant loads

Copy propagation

Dead code elimination

Jump optimization

In-line intrinsic functions

Register variables Automatic

Common subexpressions Optimize globally

Optimize for Speed

笔者的Borland C/C++编译器安装在C:\CPP目录下,如果用户的编译器是在不同的目录下,可以在Options/Directories的提示下改变IDE的路径。

μC/OS-II是一个可裁剪的操作系统,这意味着用户可以去掉不需要的服务。代码的削减可以通过设置OS_CFG.H中的#defines OS_???_EN为0来实现。用户不需要的服务代码就不生成。本章的范例就用这种功能,所以每个例子都定义了不同的OS_???_EN。

1.07例1

第一个范例可以在\SOFTWARE\uCOS_II\EX1_x86L目录下找到,它有13个任务(包括μC/OS-II的空闲任务)。μC/OS-II增加了两个内部任务:空闲任务和一个计算CPU利用率的任务。例1建立了11个其它任务。TaskStart()任务是在函数main()中建立的;它的功能是建立其它任务并且在屏幕上显示如下统计信息:

●每秒钟任务切换次数;

●CPU利用百分率;

●寄存器切换次数;

●目前日期和时间;

●μC/OS-II的版本号;

TaskStart()还检查是否按下ESC键,以决定是否返回到DOS。

其余10个任务基于相同的代码——Task();每个任务在屏幕上随机的位置显示一个0到9的数字。

1.07.01main()

例1基本上和最初μC/OS中的第一个例子做一样的事,但是笔者整理了其中的代码,并且在屏幕上加了彩色显示。同时笔者使用原来的数据类型(UBYTE,UWORD等)来说明μC/OS-II向下兼容。

main()程序从清整个屏幕开始,为的是保证屏幕上不留有以前的DOS下的显示[L1.5(1)]。注意,笔者定义了白色的字符和黑色的背景色。既然要请屏幕,所以可以只定义背景色而不定义前景色,但是这样在退回DOS之后,用户就什么也看不见了。这也是为什么总要定义一个可见的前景色。

μC/OS-II要用户在使用任何服务之前先调用OSInit()[L1.5(2)]。它会建立两个任务:

空闲任务和统计任务,前者在没有其它任务处于就绪态时运行;后者计算CPU的利用率。

程序清单L1.5main().

void main(void)

{

PC_DispClrScr(DISP_FGND_WHITE+DISP_BGND_BLACK);(1)

OSInit();(2)

PC_DOSSaveReturn();(3)

PC_VectSet(uCOS,OSCtxSw);(4)

RandomSem=OSSemCreate(1);(5)

OSTaskCreate(TaskStart,(6)

(void*)0,

(void*)&TaskStartStk[TASK_STK_SIZE-1],

0);

OSStart();(7)

}

当前DOS环境是通过调用PC_DOSSaveReturn()[L1.5(3)]来保存的。这使得用户可以返回到没有运行μC/OS-II以前的DOS环境。跟随清单L1.6中的程序可以看到PC_DOSSaveReturn()做了很多事情。PC_DOSSaveReturn()首先设置PC_ExitFlag为FALSE[L1.6(1)],说明用户不是要返回DOS,然后初始化OSTickDOSCtr为1[L1.6(2)],因为这个变量将在OSTickISR()中递减,而0将使得这个变量在OSTickISR()中减1后变为255。然后,PC_DOSSaveReturn()将DOS的时钟节拍处理(tick handler)存入一个自由向量表入口中[L1.6(3)-(4)],以便为μC/OS-II的时钟节拍处理所调用。接着PC_DOSSaveReturn()调用jmp()[L1.6(5)],它将处理器状态(即所有寄存器的值)存入被称为PC_JumpBuf的结构之中。保存处理器的全部寄存器使得程序返回到PC_DOSSaveReturn()并且在调用setjmp ()之后立即执行。因为PC_ExitFlag被初始化为FALSE[L1.6(1)]。PC_DOSSaveReturn()跳过if状态语句[L1.6(6)–(9)]回到main()函数。如果用户想要返回到DOS,可以调用PC_DOSReturn()(程序清单L 1.7),它设置PC_ExitFlag为TRUE,并且执行longjmp()语句[L1.7(2)],这时处理器将跳回PC_DOSSaveReturn()[在调用setjmp()之后][L1.6(5)],此时PC_ExitFlag为TRUE,故if语句以后的代码将得以执行。PC_DOSSaveReturn()将时钟节拍改为18.2Hz[L1.6(6)],恢复PC时钟节拍中断服务[L1.6(7)],清屏幕[L1.6(8)],通过exit(0)返回DOS[L1.6(9)]。

程序清单L1.6保存DOS环境。.

void PC_DOSSaveReturn(void)

{

PC_ExitFlag=FALSE;(1)

OSTickDOSCtr=8;(2)

PC_TickISR=PC_VectGet(VECT_TICK);(3)

OS_ENTER_CRITICAL();

PC_VectSet(VECT_DOS_CHAIN,PC_TickISR);(4)

OS_EXIT_CRITICAL();

Setjmp(PC_JumpBuf);(5)

if(PC_ExitFlag==TRUE){

OS_ENTER_CRITICAL();

PC_SetTickRate(18);(6)

PC_VectSet(VECT_TICK,PC_TickISR);(7)

OS_EXIT_CRITICAL();

PC_DispClrScr(DISP_FGND_WHITE+DISP_BGND_BLACK);(8)

exit(0);(9) }

}

程序清单L1.7设置返回DOS。

void PC_DOSReturn(void)

{

PC_ExitFlag=TRUE;(1)

longjmp(PC_JumpBuf,1);(2)

}

现在回到main()这个函数,在程序清单L 1.5中,main()调用PC_VectSet()来设置μCOS-II中的CPU寄存器切换。任务级的CPU寄存器切换由80x86INT指令来分配向量地址。笔者使用向量0x80(即128),因为它未被DOS和BIOS使用。

这里用了一个信号量来保护Borland C/C++库中的产生随机数的函数[L1.5(5)],之所以使用信号量保护一下,是因为笔者不知道这个函数是否具备可重入性,笔者假设其不具备,初始化将信号量设置为1,意思是在某一时刻只有一个任务可以调用随机数产生函数。

在开始多任务之前,笔者建立了一个叫做TaskStart()的任务[L1.5(6)],在启动多任务OSStart()之前用户至少要先建立一个任务,这一点非常重要[L1.5(7)]。不这样做用户的应用程序将会崩溃。实际上,如果用户要计算CPU的利用率时,也需要先建立一个任务。μCOS-II 的统计任务要求在整个一秒钟内没有任何其它任务运行。如果用户在启动多任务之前要建立其它任务,必须保证用户的任务代码监控全局变量OSStatRdy和延时程序[即调用OSTimeDly()]的执行,直到这个变量变成TRUE。这表明μC/OS-II的CPU利用率统计函数已经采集到了数据。

1.07.02TaskStart()

例1中的主要工作由TaskStart()来完成。TaskStart()函数的示意代码如程序清单L 1.8所示。TaskStart()首先在屏幕顶端显示一个标识,说明这是例1[L1.8(1)]。然后关中断,以改变中断向量,让其指向μC/OS-II的时钟节拍处理,而后,改变时钟节拍率,从DOS 的18.2Hz变为200Hz[L1.8(3)]。在处理器改变中断向量时以及系统没有完全初始化前,当然不希望有中断打入!注意main()这个函数(见程序清单L1.5)在系统初始化的时候并没有将中断向量设置成μC/OS-II的时钟节拍处理程序,做嵌入式应用时,用户必须在第一个任务中打开时钟节拍中断。

程序清单L1.8建立其它任务的任务。

void TaskStart(void*data)

{

Prevent compiler warning by assigning‘data’to itself;

Display banner identifying this as EXAMPLE#1;(1)

OS_ENTER_CRITICAL();

PC_VectSet(0x08,OSTickISR);(2)

PC_SetTickRate(200);(3)

OS_EXIT_CRITICAL();

Initialize the statistic task by calling‘OSStatInit()’;(4)

Create10identical tasks;(5)

for(;;){

Display the number of tasks created;

Display the%of CPU used;

Display the number of task switches in1second;

Display uC/OS-II’s version number

If(key was pressed){

if(key pressed was the ESCAPE key){

PC_DOSReturn();

}

}

Delay for1Second;

}

}

在建立其他任务之前,必须调用OSStatInit()[L1.8(4)]来确定用户的PC有多快,如程序清单L1.9所示。在一开始,OSStatInit()就将自身延时了两个时钟节拍,这样它就可以与时钟节拍中断同步[L1.9(1)]。因此,OSStatInit()必须在时钟节拍启动之后调用;否则,用户的应用程序就会崩溃。当μC/OS-II调用OSStatInit()时,一个32位的计数器OSIdleCtr 被清为0[L1.9(2)],并产生另一个延时,这个延时使OSStatInit()挂起。此时,uCOS-II 没有别的任务可以执行,它只能执行空闲任务(μC/OS-II的内部任务)。空闲任务是一个无线的循环,它不断的递增OSIdleCtr[L1.9(3)]。1秒以后,uCOS-II重新开始OSStatInit(),并且将OSIdleCtr保存在OSIdleMax中[L1.9(4)。所以OSIdleMax是OSIdleCtr所能达到的最大值。而当用户再增加其他应用代码时,空闲任务就不会占用那样多的CPU时间。OSIdleCtr不可能达到那样多的记数,(如果拥护程序每秒复位一次OSIdleCtr)CPU利用率的计算由μC/OS-II中的OSStatTask()函数来完成,这个任务每秒执行一次。而当OSStatRdy 置为TRUE[L1.9(5)],表示μC/OS-II将统计CPU的利用率。

程序清单L1.9测试CPU速度。

void OSStatInit(void)

{

OSTimeDly(2);(1)

OS_ENTER_CRITICAL();

OSIdleCtr=0L;(2)

OS_EXIT_CRITICAL();

OSTimeDly(OS_TICKS_PER_SEC);(3)

OS_ENTER_CRITICAL();

OSIdleCtrMax=OSIdleCtr;(4)

OSStatRdy=TRUE;(5)

OS_EXIT_CRITICAL();

}

1.07.03TaskN()

OSStatInit()将返回到TaskStart()。现在,用户可以建立10个同样的任务(所有任务共享同一段代码)。所有任务都由TaskStart()中建立,由于TaskStart()的优先级为0(最高),新任务建立后不进行任务调度。当所有任务都建立完成后,TaskStart()将进入无限循环之中,在屏幕上显示统计信息,并检测是否有ESC键按下,如果没有按键输入,则延时一秒开始下一次循环;如果在这期间用户按下了ESC键,TaskStart()将调用PC_DOSReturn()返回DOS系统。

程序清单L1.10给出了任务的代码。任务一开始,调用OSSemPend()获取信号量RandomSem [程序清单L1.10(1)](也就是禁止其他任务运行这段代码—译者注),然后调用Borland C/C++

的库函数random()来获得一个随机数[程序清单L1.10(2)],此处设random()函数是不可重入的,所以10个任务将轮流获得信号量,并调用该函数。当计算出x和y坐标后[程序清单L1.10(3)],任务释放信号量。随后任务在计算的坐标处显示其任务号(0-9,任务建立时的标识)[程序清单L1.10(4)]。最后,任务延时一个时钟节拍[程序清单L1.10(5)],等待进入下一次循环。系统中每个任务每秒执行200次,10个任务每秒钟将切换2000次。

程序清单L1.10在屏幕上显示随机位置显示数字的任务。

void Task(void*data)

{

UBYTE x;

UBYTE y;

UBYTE err;

for(;;){

OSSemPend(RandomSem,0,&err);(1)

x=random(80);(2)

y=random(16);

OSSemPost(RandomSem);(3)

PC_DispChar(x,y+5,*(char*)data,DISP_FGND_LIGHT_GRAY);(4)

OSTimeDly(1);(5) }

}

1.08例2

例2使用了带扩展功能的任务建立函数OSTaskCreateExt()和uCOS-II的堆栈检查操作(要使用堆栈检查操作必须用OSTaskCreateExt()建立任务—译者注)。当用户不知道应该给任务分配多少堆栈空间时,堆栈检查功能是很有用的。在这个例子里,先分配足够的堆栈空间给任务,然后用堆栈检查操作看看任务到底需要多少堆栈空间。显然,任务要运行足够长时间,并要考虑各种情况才能得到正确数据。最后决定的堆栈大小还要考虑系统今后的扩展,一般多分配10%,25%或者更多。如果系统对稳定性要求高,则应该多一倍以上。

uCOS-II的堆栈检查功能要求任务建立时堆栈清零。OSTaskCreateExt()可以执行此项操作(设置选项OS_TASK_OPT_STK_CHK和OS_TASK_OPT_STK_CLR打开此项操作)。如果任务运行过程中要进行建立、删除任务的操作,应该设置好上述的选项,确保任务建立后堆栈是清空的。同时要意识到OSTaskCreateExt()进行堆栈清零操作是一项很费时的工作,而且取决于堆栈的大小。执行堆栈检查操作的时候,uCOS-II从栈底向栈顶搜索非0元素(参看图F1.1),

同时用一个计数器记录0元素的个数。

例2的磁盘文件为\SOFTWARE\uCOS-II\EX2_x86L,它包含9个任务。加上uCOS-II本身的两个任务:空闲任务(idle task)和统计任务。与例1一样TaskStart()由main()函数建立,其功能是建立其他任务并在屏幕上显示如下的统计数据:

●每秒种任务切换的次数;

●CPU利用率的百分比;

●当前日期和时间;

●uCOS_II的版本号;

图F1.1μC/OS-II stack checking.

1.08.01main()

例2的main()函数和例1的看起来差不多(参看程序清单L1.11),但是有两处不同。第一,main()函数调用PC_ElapsedInit()[程序清单L1.11(1)]来初始化定时器记录OSTaskStkChk()的执行时间。第二,所有的任务都使用OSTaskCreateExt()函数来建立任务[程序清单L1.11(2)](替代老版本的OSTaskCreate()),这使得每一个任务都可进行堆栈检查。

程序清单L1.11例2中的Main()函数.

void main(void)

{

PC_DispClrScr(DISP_FGND_WHITE+DISP_BGND_BLACK);

OSInit();

PC_DOSSaveReturn();

PC_VectSet(uCOS,OSCtxSw);

PC_ElapsedInit();(1)

OSTaskCreateExt(TaskStart,(2)

(void*)0,

&TaskStartStk[TASK_STK_SIZE-1],

TASK_START_PRIO,

TASK_START_ID,

&TaskStartStk[0],

TASK_STK_SIZE,

(void*)0,

OS_TASK_OPT_STK_CHK|OS_TASK_OPT_STK_CLR);

OSStart();

}

除了OSTaskCreate()函数的四个参数外,OSTaskCreateExt()还需要五个参数(一共9个):任务的ID,一个指向任务堆栈栈底的指针,堆栈的大小(以堆栈单元为单位,80X86中为字),一个指向用户定义的TCB扩展数据结构的指针,和一个用于指定对任务操作的变量。该变量的一个选项就是用来设定uCOS-II堆栈检查是否允许。例2中并没有用到TCB扩展数据结构指针。

1.08.02TaskStart()

程序清单L1.12列出了TaskStart()的伪码。前五项操作和例1中相同。TaskStart()建立了两个邮箱,分别提供给任务4和任务5[程序清单L1.12(1)]。除此之外,还建立了一个专门显示时间和日期的任务。

程序清单L1.12TaskStart()的伪码。.

void TaskStart(void*data)

{

Prevent compiler warning by assigning‘data’to itself;

Display a banner and non-changing text;

Install uC/OS-II’s tick handler;

Change the tick rate to200Hz;

Initialize the statistics task;

Create2mailboxes which are used by Task#4and#5;(1)

Create a task that will display the date and time on the screen;(2)

Create5application tasks;

for(;;){

Display#tasks running;

Display CPU usage in%;

Display#context switches per seconds;

Clear the context switch counter;

Display uC/OS-II’s version;

If(Key was pressed){

if(Key pressed was the ESCAPE key){

Return to DOS;

}

}

Delay for1second;

}

}

1.08.03TaskN()

任务1将检查其他七个任务堆栈的大小,同时记录OSTackStkChk()函数的执行时间[程序清单L1.13(1)–(2)],并与堆栈大小一起显示出来。注意所有堆栈的大小都是以字节为单位的。任务1每秒执行10次[程序清单L1.13(3)](间隔100ms)。

程序清单L1.13例2,任务1

void Task1(void*pdata)

{

INT8U err;

OS_STK_DATA data;

INT16U time;

INT8U i;

char s[80];

pdata=pdata;

for(;;){

for(i=0;i<7;i++){

PC_ElapsedStart();(1)

err=OSTaskStkChk(TASK_START_PRIO+i,&data)

time=PC_ElapsedStop();(2)

if(err==OS_NO_ERR){

sprintf(s,"%3ld%3ld%3ld%5d",

data.OSFree+data.OSUsed,

data.OSFree,

data.OSUsed,

time);

PC_DispStr(19,12+i,s,DISP_FGND_YELLOW);

}

}

OSTimeDlyHMSM(0,0,0,100);(3) }

}

程序清单L1.14所示的任务2在屏幕上显示一个顺时针旋转的指针(用横线,斜线等字符表示—译者注),每200ms旋转一格。

程序清单L1.14任务2

void Task2(void*data)

{

data=data;

for(;;){

PC_DispChar(70,15,'|',DISP_FGND_WHITE+DISP_BGND_RED);

OSTimeDly(10);

PC_DispChar(70,15,'/',DISP_FGND_WHITE+DISP_BGND_RED);

OSTimeDly(10);

PC_DispChar(70,15,'-',DISP_FGND_WHITE+DISP_BGND_RED);

OSTimeDly(10);

PC_DispChar(70,15,'\\',DISP_FGND_WHITE+DISP_BGND_RED);

OSTimeDly(10);

}

}

任务3(程序清单L1.15)也显示了与任务2相同的一个旋转指针,但是旋转的方向不同。任务3在堆栈中分配了一个很大的数组,将堆栈填充掉,使得OSTaskStkChk()只需花费很少的时间来确定堆栈的利用率,尤其是当堆栈已经快满的时候。

程序清单L1.15任务3

void Task3(void*data)

{

char dummy[500];

INT16U i;

data=data;

for(I=0;i<499;i++){

dummy[i]='?';

}

for(;;){

PC_DispChar(70,16,'|',DISP_FGND_WHITE+DISP_BGND_BLUE);

OSTimeDly(20);

PC_DispChar(70,16,'\\',DISP_FGND_WHITE+DISP_BGND_BLUE);

OSTimeDly(20);

PC_DispChar(70,16,'-',DISP_FGND_WHITE+DISP_BGND_BLUE);

OSTimeDly(20);

PC_DispChar(70,16,'/',DISP_FGND_WHITE+DISP_BGND_BLUE);

OSTimeDly(20);

}

}

任务4(程序清单L1.16)向任务5发送消息并等待确认[程序清单L1.16(1)]。发送的消息是一个指向字符的指针。每当任务4从任务5收到确认[程序清单L1.16(2)],就将传递的ASCII码加1再发送[程序清单L1.16(3)],结果是不断的传送“ABCDEFG....”。

程序清单L1.16任务4

void Task4(void*data)

{

char txmsg;

INT8U err;

data=data;

txmsg='A';

for(;;){

while(txmsg<='Z'){

OSMboxPost(TxMbox,(void*)&txmsg);(1)

OSMboxPend(AckMbox,0,&err);(2)

txmsg++;(3) }

txmsg='A';

}

}

当任务5[程序清单L1.17]接收消息后[程序清单L1.17(1)](发送的字符),就将消息显示到屏幕上[程序清单L1.17(2)],然后延时1秒[程序清单L1.17(3)],再向任务4发送确认信息。

程序清单L1.17任务5

void Task5(void*data)

{

char*rxmsg;

INT8U err;

data=data;

for(;;){

rxmsg=(char*)OSMboxPend(TxMbox,0,&err);(1)

PC_DispChar(70,18,*rxmsg,DISP_FGND_YELLOW+DISP_BGND_RED);(2)

OSTimeDlyHMSM(0,0,1,0);(3)

OSMboxPost(AckMbox,(void*)1);(4) }

}

TaskClk()函数[程序清单L1.18]显示当前日期和时间,每秒更新一次。

程序清单L1.18时钟显示任务

void TaskClk(void*data)

{

Struct time now;

Struct date today;

char s[40];

data=data;

for(;;){

PC_GetDateTime(s);

PC_DispStr(0,24,s,DISP_FGND_BLUE+DISP_BGND_CYAN);

OSTimeDly(OS_TICKS_PER_SEC);

}

}

1.09例3

例3中使用了许多uCOS-II提供的附加功能。任务3使用了OSTaskCreateExt()中TCB 的扩展数据结构,用户定义的任务切换对外接口函数(OSTaskSwHook()),用户定义的统计任务(statistic task)的对外接口函数(OSTaskStatHook())以及消息队列。例3的磁盘文件是\SOFTWARE\uCOS-II\EX3_x86L,它包括9个任务。除了空闲任务(idle task)和统计任务(statistic task),还有7个任务。与例1,例2一样,TaskStart()由main()函数建立,其功能是建立其他任务,并显示统计信息。

1.09.01main()

main()函数[程序清单L1.19]和例2中的相不多,不同的是在用户定义的TCB扩展数据结构中可以保存每个任务的名称[程序清单L1.19(1)](扩展结构的声明在INCLUDES.H中定义,也可参看程序清单L1.20)。笔者定义了30个字节来存放任务名(包括空格)[程序清单L1.20(1)]。本例中没有用到堆栈检查操作,TaskStart()中禁止该操作[程序清单L1.19(2)]。

程序清单L1.19例3的main()函数

void main(void)

{

PC_DispClrScr(DISP_FGND_WHITE+DISP_BGND_BLACK);

OSInit();

PC_DOSSaveReturn();

PC_VectSet(uCOS,OSCtxSw);

PC_ElapsedInit();

Strcpy(TaskUserData[TASK_START_ID].TaskName,"StartTask");(1)

OSTaskCreateExt(TaskStart,

(void*)0,

&TaskStartStk[TASK_STK_SIZE-1],

除铁除猛过滤器

除 铁 猛 产 品 说 明 技术手册

除铁锰过滤器 产品概述 一般而言,地表水硬度较低,悬浮物含量大。地下水浊度低,硬度高,且含铁、锰。水中含铁除了在生活上和工业生产中带来危害外,对工业锅炉、印染、化工、制药及水处理的危害也不能低估。 对水处理而言,因为二价铁离子极容易污染交换树脂,造成树脂因铁中毒而影响交换能力。当用含铁水作为锅炉给水时,容易在锅炉受热面结成铁垢,影响传热效果及产生垢下腐蚀。若作为纺织印染给水则影响产品质量,除铁过滤器则是对地下水除铁的专用装置。其方法为射流空气泵或压缩空气对吸水曝气后与罐内锰砂作用除铁;或用莲蓬头高位跌气及制曝气头等装置除铁,效果均佳。 工作原理 二价铁(Fe2+)具有较强的还原性,它容易被氧化剂(如氧气、氯气、等)氧化成三价铁(Fe3+)。Fe3+在水中容易发生水解反应,生成难溶的化合物Fe(OH)3沉淀析出,从而达到除铁目的。以上是曝气法除铁的基理。 锰砂除铁是常用方法。天然锰砂的主要成份是二氧化锰(MnO2),它是二价铁氧化成三价铁的催化剂,由此而生成的Fe3+立即被水分解成絮状氢氧化铁而沉淀,铁被去除。采用曝气加氧与锰砂联合除铁是常用除铁方法。 含铁(锰)的地下水经充气或加入氧化剂后,水中铁(锰)离子开始

氧化,当水流经锰砂滤层时,在滤层中发生接触氧化反应及滤料表面的生物化学作用和物理截留吸附作用,使水中铁(锰)离子沉淀去除。尤其是在处理微污染含锰地下水的过程中,铁细菌不仅能有效地去除铁锰,同时还能以水中氨为营养源,进行新陈代谢,在其他细菌参与下,同时达到去氨氮的效果。 该设备有手动型和自动型两种类型。手动型通过手动控制反洗;自动型通过时间或压差传感器控制反洗 进水浊度≤15mg/L 过滤速度 7~10m3/h(单层)10~12 m3/h(双层)最大不超过15 m3/h 出水浊度≤5mg/L 工作压力≤0.6Mpa 反洗强度 15L/m2·s(单层) 12L/m2·s(双层)工作温度5℃~95℃ 反洗压缩空气量18~25L/m2·s 滤料层高1000~1200mm 系统溶解氧含量≤3mg/L

除铁除锰过滤器参数及应用说明

除铁除锰过滤器参数及应用说明 除铁除锰过滤器规格参数及应用说明 一.产品功能 地下水常含一些溶解性铁盐和锰盐,影响水的色度;此外,管壁和滤料上累积铁、锰沉淀物还可降低输水能力,影响水的处理。 除铁锰过滤器主要用于去除系统中铁锰物资,净化水质;也可用于水的脱色、除臭、除味等。 二.适用范围 主要用于食品,饮料,造纸,酿造业,含铁超标水的处理,地下水,井水作为饮用水除铁,地热工程及游泳池循环水的需要。 三.产品特点 出水水质稳定,除铁、锰效率高,运行维护费用低。与自然氧化除铁法相比,无庞大的反应沉淀构筑物,占地面积小。 四.技术参数 1.处理效果: 含铁量:≤0.3mg/L; 含锰量:≤0.1mg/L;出水浊度:<5mg/L。2.进水水质: 含铁量:≤20mg/L 含锰量:≤3mg/L 进水浊度:<15mg/L碱度:≤2mg/LpH值:>5.5水温:6~10℃工作压力:<0.4Mpa工作温度:常温3.运行参数 过滤速度:7~15m/h 滤料层高度:800-1200mm 压缩空气压力:1-2Kg/cm2 反洗压缩空气量: 18-25L/m2.s 反冲洗时间:5~10分钟反洗强度:15L/m2.s(单层),12L/m2.s(双层)五.工作原理除铁锰过滤器是利用氧化法将水中低价铁离子和低价锰离子氧化成高价铁离子和高价锰离子,再经过吸咐过滤去除,达到降低水中铁锰含量的目地。 我公司生产的除铁锰过滤器采用井泵余压射流抽气,管式混合溶氧,盘式散水脱气,滤床接触氧化过滤等工艺,将传统设备的体外曝气氧化移入设备内部,仅靠井泵余压就能使设备工作,能耗低、工艺简洁、性能稳定、综合投资省等显著优点。其中, 1.暴气法:一方面是增加水中的溶解氧;二是驱除CO2,以提高水的PH值,使二价铁氧化成三价铁沉淀,然而再经过滤。 2.过滤:一方面是除去三价铁形成的絮凝体;二是将大部分尚未氧化的二价铁催化氧化作用和羚基氧化的离子交换作用,以达到除铁的目的。过滤后的铁泥可以回收和利用。 其中,滤料有石英砂和天然锰砂滤料两种,前者使用于含铁量在4mg/L以下,PH值在6.8以上的原水;后者适用于含铁量在20mg/L以下,PH值在6以上的原水。 锰的去除原理同二价铁的去除方法相同。 六.规格型号 1.选型一览表 QC型除铁锰过滤器参数一览表 六.选用说明 1.设备选型 ①根据水质的不同可选择一级或二级处理系统,根据水量选择单台或多台并联系统。

中文Y型过滤器说明书

Y型过滤器 使用说明书 中国·乐山市热工仪表有限公司

一、用途及特点 Y型过滤器是输送介质的管道系统不可缺少的一种过滤装置,Y型过滤器通常安装在减压阀、泄压阀、定水位阀或其它设备的进口端,用来清除介质中的杂质,以保护阀门及设备的正常使用。Y型过滤器具有结构先进,阻力小,排污方便等特点。 二、主要技术参数 公称压力:PN1.6MPa~4.0Mpa 公称通径:DN15~200㎜适用介质:水、油、气体等 过滤精度:通水网为18~30目,通气网为40~100目,通油网为100~480目。 工作温度:≤200℃ 法兰标准:JB、GB、HG 壳体材质:WCB 滤筐、滤网材质:304 密封材质:耐油石棉橡胶、聚四氟乙烯、丁腈橡胶等 执行标准:Q/20696377-7.4-2011 三、安装与维护 1、根据过滤器的使用范围合理地使用。 2、安装前应将管道内的焊渣、杂物清除干净,以免损坏过滤器。 3、安装时应按过滤器的箭头方向进行。 4、过滤器的运行及维护系统最初工作一段时间后(一般不超过一周),应进行清洗, 以清除系统初始运行时积聚在滤网上的杂质污物。在此后,须定期清洗。清洗次数依据工况条件而定。若过滤器不带排污丝堵,则清洗过滤器时要将滤网限位器以及滤网拆下。 警告:每次维护、清洗前,应将过滤器与带压系统隔离。清洗后,重新安装时要使用新的密封垫。 5、过滤器使用中,应定期检查是否工作正常,发现异常情况,应立即消除,以免 造成事故。 6、长期存放时,应置于通风干燥处,并定期检查和保养。 四、定货须知 为了保证提供的产品能满足贵公司(厂)的使用要求,请按以下要求提供必要的参数: 1、产品型号 2、公称压力 3、公称通径 4、工作介质 5、工作温度 6、法兰标准 7、结构长度(有要求时)

氮吹仪使用方法及注意事项

氮吹仪使用方法及注意事项 氮吹仪的使用方法及维护 1、目的 规范氮吹仪操作程序,严谨使用氮吹仪,保证检测工作的进行,操作人员的人身安全和设备安全。 2、适用范围 适用于氮吹仪工作的使用操作。 3、职责 3.1、操作人员按照本规程使用氮吹仪。 3.2、保管人员负责监督使用操作是否符合规程,并定期维护测试。 3.3、科室负责人负责综合管理。 4、操作方法 4.1准备工作。 操作人员使用氮吹仪之前,应当熟悉工程流程和步骤。快速浓缩要求掌握样品量、氮气流速、水浴温度和针位之间的平衡。使用不当,将会事倍功半,甚至污染样品或造成样品损失。同时要注意通风橱内空气的污染程度、氮气纯度、样品运输过程等环境条件。 4.2、水浴操作 4.2.1、打开水浴电源开关。

4.2.2、设定水浴温度。按温度设定显示板上的左边*个键,上排显示“SP”,再按“∧”或“∨”,是下排显示为所需设定的温度值,再但左边*个键返回。通常水浴温度应小于溶剂沸点温度2-3℃。 4.3、氮吹仪操作。 4.3.1、将氮吹仪提升到zui高位置,并锁紧。 4.3.2、将样品试管放置到样品定位架上,用样品定位架弹簧固定试管,试管底部处于支撑托盘上,记录样品所放位置。如果支撑托盘过低,则拧松支撑托盘中心环上的两个定位螺钉。上升支撑托盘,直到试管底部位于托盘上,距定位架不低于15mm。调整支撑托盘,使狭缝对准试管。再次拧紧定位螺钉,固定支撑托盘。 4.3.3、安装不锈钢针头,直接套上即可。 4.3.4、打开氮气瓶,调节流量计为氮吹仪送气。氮气只需开一点点,否则压力过大会把管路冲开。调节流量计至所需压力。 4.3.5、降低针头,直到针头距离溶液表面6mm。调整:拧开配气盘上的锁紧螺母,针阀管便可上下滑动,调整好高度,拧紧锁紧螺母。 4.3.6、打开所用样品位的流量阀。打开流量阀时,逆时针旋转1/8到1/6圈即可,不要旋转幅度过大,以防针阀螺母脱落,安装时,应按顺时针旋转。

多介质过滤器说明书1

多介质过滤器 使 用 说 明 书 筑恒科技

多介质过滤器操作维护手册 1、概述: 多介质过滤器学名:浅层介质过滤器,它是利用石英砂、无烟煤等滤料作为过滤介质,在一定的压力下,把浊度较高的水通过一定厚度的粒状或非粒的石英砂过滤,有效的截留除去水中的悬浮物、有机物、胶质颗粒、微生物、氯、嗅味及部分重金属离子等,最终达到降低水浊度、净化水质效果的一种高效过滤设备。常用滤料有石英砂、活性碳、无烟煤、锰砂等。广泛运用到农业灌溉、化工、石油、冶金、工矿等各行业。 SJL全自动多介质过滤器的特点: (1)多介质过滤的作用 多介质滤器是一种压力式过滤器,利用过滤器所填充的精制石英砂滤料,当进水自上而下流经滤层时,水中的悬浮物及粘胶质颗粒被去除,从而使水的浊度降低。 (2)SJL多介质过滤器的主要特点 ?多介质过滤器设备结构简单、运行可以实现自动控制、处理流量大、反冲次数少、过滤效率高、阻力小、操作维修方便等特点。 ?本产品可分为手动型和全自动型。手动型主要是通过阀门的调节来控制过滤器的运行、正洗、反洗;而全自动型是通过自动头来进行对过滤器运行,正洗、反洗等状态的控制,罐体材质可分为玻璃钢罐、碳钢罐、不锈钢罐,也可根据用户要求制作。 ?结构紧凑:该设备集混凝反应、过滤、连续清洗于一体。简化了水处理工艺流程、占地面积小、结构简单、安装操作灵活方便。降低了原水处理工艺多环节的能耗和人工管理费用,减轻了操作难度 ?混凝反应效果明显:应用混凝反应机理和沉降机理,有效地去除水中的

悬浮物和胶体物质,有利于在砂滤区进一步降胝出水浊度。 ?连续自清洗过滤:过滤介质自动循环,连续清洗,无需停机进行反冲洗?降低原水的悬浮物(SS)含量:配合微絮凝装置,进水最高SS≤mg/L的各种工业用水、城市生活污水、工业用水作为回用水,去除率≥90%,达到完美过滤效果 (3)SJL多介质过滤器工作原理 多介质过滤器是利用一种或几种过滤介质,常温操作、耐酸碱、氧化,PH 适用围为2-13。系统配置完善的保护装置和监测仪表,且具有反冲洗功能,泥垢等污染物很快被冲走,耗水量少,按用户要求可设置全自动功能。在一定的压力下,使原液通过该介质的触絮凝、吸附、截留,去除杂质,从而达到过滤的目的。其装的填料一般为:石英砂、无烟煤、颗粒多孔瓷、锰砂等,用户可根据实际情况选择使用。其过滤精度在0.005-0.01m之间,可有效去除胶体微粒及高分子有机物。 当除多介质过滤器因截留过量的机械杂质而影响其正常工作,则可用反冲洗的方法来进行清洗。利用逆向进水,同时通入压缩空气,进行气水混合擦洗,使过滤器砂滤层松动,可使粘附于石英砂表面的截留物剥离并被反冲水流带走,有利于排除滤层中的沉渣、悬浮物等,并防止滤料板结,使其充分恢复截污能力,从而达到清洗的目的。反洗以进出口压差参数设置来控制反冲洗周期,经验得知一般为一天,具体须视原水浊度而定。 多介质过滤器利用操作阀组,过滤器的启运、正洗、反洗、停机等工序均是手动控制操作。 当除铁锰装置运行至进出口压差为0.07MPa时,必须进行反洗。 2、结构特点 设备本体是带上下椭圆封头的圆柱形钢结构,过滤器材质为玻璃钢,衬PVC 胆体,部在进水口设有布水器,下部设有集水装置,集水装置上填装1000 mm

高效过滤器操作使用维护说明书

高效过滤器操作使用维护说明书 1. 基本参数 1.1 运行滤速:8m/h 1.2 进水浊度: <5mg/L 1.3 出水浊度: <1mg/L 1.4 反洗强度:8L/㎡·S 1.5 气洗强度:12L/㎡·S 1.6 反洗时间:4-6min 1.7 工作温度:5-40℃ 1.8 工作压力:≤0.6MPa 1.9 滤料高度:1200mm 1.10 填料成分:石英砂、无烟煤、鹅卵石 2. 结构及工作原理 原水在管道内加入絮凝剂,絮凝剂在水中发生离子水解和聚合过程,水中胶体粒子对水解及聚集的各种产物进行强烈的吸附,使粒子表面电荷和扩散厚度同时降低,因而粒子间相互排斥能降低,相互接近而凝聚,水解产生的聚合物被两个以上的胶体吸附后,在粒子间产生架桥联接,逐步形成较大的絮凝体,经过高效过滤器时,为滤料载留。 高效过滤器是以成层状的石英砂、无烟煤作为床层.床的顶层由最轻和最粗品级的材料组成,而最重和最细品级的材料放在床的低部。其原理为

按深度过滤--水中较大的颗粒在顶层被去除,较小的颗粒在过滤器介质的较深处被去除。从而使水质达到粗过滤后的标准。多介质过滤器可去除水中水中的悬浮物、有机物、胶质颗粒、微生物、氯、嗅味及部分重金属离子等,并降低水的SDI值,满足深层净化的水质要求。该设备具有造价低廉,运行费用低,操作简单;滤料有石英砂、无烟煤、鹅卵石,经过反洗,可多次使用,滤料使用寿命长等特点。 高效过滤器的吸附是一种物理吸附,按滤料的填装方式大体可分为松散区(粗砂)、紧密区(细砂),悬浮物质在松散区主工通过流动接触产生接触凝聚作用,所以该区域截留较大颗粒的悬浮物质,在紧密区主要是惯性碰撞及悬浮颗粒间的吸附作用,所以该区域是截留较小颗粒的悬浮物质。 当高效过滤器因截留过量的机械杂质而影响其正常工作,则可用反冲洗的方法来进行清洗。利用逆向进水,同时通入压缩空气,进行气水混合擦洗,使过高效过滤器内滤层松动,可使粘附于石英砂表面的截留物剥离并被反冲水流带走,有利于排除滤层中的沉渣、悬浮物等,并防止滤料板结,使其充分恢复截污能力,从而达到清洗的目的。反洗以进出口压差参数设置来控制反冲洗周期,经验得知一般为一天,具体须视原水浊度而定。 高效过滤器采用蝶阀操作阀组,高效过滤器的启运、正洗、反洗、停机等工序均是自动控制进行操作。 当高效过滤器运行至进出口压差为0.07MPa时,必须进行反洗。 3.反洗的必要性 高效过滤器在过滤过程中,原水中的悬浮物等被滤料层截留吸附并不断地在滤料层中积累,于是滤层孔隙逐渐被污物堵塞,在滤层表面形成滤

除铁设备(除铁器)

除铁设备(除铁器)简介 (南京博滤工业设备有限公司) *工业流体过滤与分离 * INDUSTRIAL FLUID FILTRATION & SEPARATION * 摘要:永磁除铁过滤器基于磁力吸附原理,内置有磁棒采用优质不锈钢管和高B值稀土合金钕铁硼、采取特殊制作方法制作而成。用于捕集液体、稀浆流、风送管道输送的粉体、气体等气液相中含有的强磁铁杂、弱磁性的铁质污染物(如铁锈、铁屑)、氧化物以及其它的细小铁磁性杂质等。该产品目前广泛用于电力行业提升水汽品质如疏水除铁、高温凝结水回用除铁用途,以及流体食品灌装线用以细微金属杂质去除确保食品安全。除此之外还多用于造纸行业碎浆机之后或浆泵之前安装,用以捕捉纸浆中的铁丝、铁钉等有害铁质。 关键词:永磁除铁过滤器,除铁设备,除铁过滤器,除铁过滤机,凝结水除铁器,永磁大流量过滤器,永磁过滤器,磁力过滤器,除铁过滤器,磁性过滤器,磁性除铁过滤器,磁性除铁器,除铁设备,疏水除铁器,疏水除铁过滤器。 (小型管道式除铁器结构示意图) 产品特性: ●标准参照:GB/T1576-2008《工业锅炉水质》、GB150~GB150.4-2011《压力容器》●采用SS304/316L纯正不锈钢材质进行制造。 ●表面处理:食品级抛光、镜面抛光、喷砂处理 ●设计压力:0.6MPa,1.0MPa,1.6MPa,以及更高压力的定制。 ●设计温度:80℃、100℃、120℃、150℃、180℃、200℃以及加强型高温定制。 ●连接方式:NPT内螺纹/卫生卡箍/法兰 ●独特优化的磁路设计,用以形成高梯度场强,捕捉力充分,抓牢度强,高效去除气液相中可能含有的细微磁性固形杂质。 ●内置磁体采用稀土永磁材料,表面磁场强度峰值可高于12000高斯,无需其他能耗,亦不产生耗材,运行成本极低。 ●成套设备中无活动部件,易于安装操作和维修。 ●超长使用寿命,极低的磁性消退率,10年磁性衰减约1%。 ●流体与多根磁棒充分接触,形成强磁捕集,强化除铁效果,高效率去除0.5-60μm 细微磁性颗粒杂质。 ●Bolindustry提供保温夹套选配设计。夹套预留口可接入导热油(0.2MPa)、热水 (0.4MPa)或冷却液(0.4MPa),保持过滤介质的温度与输送性能。

氮吹仪使用说明书

一、M TN-2800W氮吹浓缩装置简介 2800W-为水浴型 1.氮吹仪的应用 用于液相、气相及质谱分析中的样品制备。它采用国际认可技术,通过将氮气吹入加热样品的表面进行样品浓缩。该方法具有省时、操作方便、容易控制等特点,可很快得到预期的结果。 2.该技术采用固相萃取前处理技术代替传统的液萃取和层析技术,使样品得到迅速分离、净化。用氮吹代替常用的旋转蒸发仪进行浓缩,使分析时间大为缩短。 3. 我公司生产的MTN-2800氮吹装置采用水作为浴室,其传热性好,传热均匀,有利于快速加热和快速温控。将氮气吹到样品表面,实现液体样品的无氧浓缩。吹管互相独立,不会引起交叉污染。 二、M TN-2800W氮吹浓缩装置特点及规格指标 1. MTN-2800W有多种孔数的恒温水浴室和相应的吹针可选择。 2. MTN-2800W内部专门设计防操作不慎洒出液体的接水盒以免损坏内部电路。 3. 整体温度更均匀准确,温度也将直接被传感器探测。 4. 上限温度自动保护可以防止超温。 5. 可工作于定时恒温或连续恒温两种方式。 6. 四组数码显示分别显示设备的设定温度与实际温度和设定定时及递增减计时。 7. 良好的仪器内部结构设计使得仪器可长时间地工作在较高的恒温温度状态。 8. 有多种孔径可选择 型号 温度调节范围温度调节精度上限温度保护温度偏差保护定时时间加热块孔数 MTN-2800W 室温+5C --100 C 0.1 C ± 100 C 设定温度+5C 10 分钟--200 分钟 6 孔/12 孔/20 孔(standard size) 12 孔/24 孔/40 孔(double size) 加热功率容纳加热数350W 2( Standard Size) 或1(Double Size) 外型尺寸(未包括支杆高度) 240W*130H*215D(MM) 电源电压 三、MTN-2800W 220V/50Hz 氮吹浓缩装置各部分示意图 1. 启动/ 停止按键 2. “定时”或“连续”方式选择键 3. 设定温度显示值 4. 实际温度显示值 5. 实际运行的时间显示 6. 设定运行的时间显示 7. 工作温度和运行时间的设定键

过滤器使用说明

循环水冷却系统 随着城市建设的发展,循环水冷却系统成为不可缺少的部分。系统对应于冷冻设备,有位于裙房屋面的冷却塔、位于地下二层的循环水泵、手动、电动蝶阀,过滤器、电子除垢仪等。冷冻主机位于地下一层,冷却水共用供回水总管。系统最低处设置放空排污阀。考虑到有时裙楼屋面市政水压不够,增设了补水泵供水系统,由冷却塔集水盘内上下水位控制水泵启停。管道在跨越变形缝处增设了伸缩节。穿跃室内处墙板处均设置了刚性防水套管。水泵及冷水机组前后管道上均设置了压力表。为保护冷冻主机,其进水管上设置了水流指示器与主机联锁。 1系统控制与节能 系统中冷却塔、冷冻主机、冷却泵及冷冻泵应是一一对应开启的,应采用电动阀控制水流,不得让水流经过已停机部分的管道,而影响处理效率。开机的顺序是:冷却水泵、电动阀、冷却塔、冷冻主机,停机的顺序则相反,且冷冻机停机要提前半小时。30kW以上冷却水泵应采用软启动,多台并联,最好用变频控制,根据外界环境气候设定调节水泵功率,节能效果更好。冷却塔风机采用双速电机以及酌情适当调整风机叶片角度对于节能降噪有明显效果。 根据是否设置水池设置位置,产生了循环水冷却系统的不同形式。循环水泵扬程的计算很主要,只需考虑沿程阻力、流出水头及冷却塔进出水位差即可,一般取25m左右,而与冷却塔位置的高度关系不大。冷却水泵的扬程H,其计算公式如下:H=k(hf+hd+hm+hs+ho) k为安全系数,取1.1~1.2:h \hd为冷却水管路沿程阻力和局部阻力;h 为冷冻机组内冷凝器的阻力;h为冷却塔进出水位差;h。为喷嘴处的流出水头。 2冷却塔 冷却水量w计算采用公式: 式中Qc为冷却塔排走热量,压缩式制冷机取负荷的1.3倍,吸收式制冷机取负荷的2倍;C为水的比热; t为冷却塔的进出水温差。冷却塔的补给水量Q 计算采用公式:Q =N*k*⊿t/(N 一1) 式中N为浓缩倍数,加药法不高于5,采用电子除垢仪不高于10; K=0.001+0.00002T,T为气温:冷却塔是为冷冻主机服务的,应尽量靠近服务对象,以缩短冷却水管道,应尽可能将冷却塔设置于建筑物主导风向的下风向的较通风处,既要便于操作管理和安装,又要尽可能地少影响环境。冷却塔的噪声主要来自电机、风机、淋水和塔体的震动,要考虑连接塔体管道的橡胶软接头和基础减震。设备湿重大,应提交结构专业设计梁板及设备基础时充分考虑。无风

高速过滤器操作说明书剖析

攀钢动力厂四水站净环水系统改造工程 TGSL-3高速过滤器 操 作 维 护 书 宜兴市华通环保设备有限公司

目录 1、设备概述 (2) 2、技术性能 (2) 3、工艺设计说明 (3) 4、单项设备参数 (4) 5、操作要求 (6) 6、示意图 (7) -1-

TGSL-3高速过滤器操作说明书 一、设备概述 GSL型快速过滤器在原水悬浮物较多的情况下能确保出水水质的高质量,具有过滤速度高、处理水量大、占地面积小等优点。其操作分为人工操作和单台(或多台)程序控制自动操作两种。GSL型快速过滤器不仅适用于过滤悬浮物较多的原水,而且在循环供水系统中使用可改善水质,提高水的循环利用率,节约用水,是当前工业水处理设施中必备的设备。 我公司生产的GSL型快速过滤器由冶金部北京钢铁研究总院设计,经我公司多年的制作经验及不断吸取用户的反馈意见,产品性能得到大大的改进。本产品广泛用于钢铁行业中的净化处理轧钢、连铸的浊水(含有氧化铁皮及油质),以及循环水系统中旁滤处理,取得了十分满意的效果。 二、TGSL-3高速过滤器技术性能 1、设备筒体最大直径:Φ3020 2、底座最大直径:Φ3280 3、设备高度:H7100㎜ 4、滤水面积:7.07㎡ 5、最高滤速:V40m/h -2-

6、最大滤水量:270m3/h 7、最大进水压力:≯3kgf/cm2 8、进水悬浮物含量:≤40mg/l 9、出水悬浮物含量:≤10mg/l 10、过滤器内平均压力损失:~0.5kgf/cm2 11、反洗水强度:40m3/㎡h 12、反洗水压力: 1.5kgf/cm2 13、反洗空气强度:15m3/㎡h 14、反洗空气压力:0.7kgf/cm2 15、设备运行重量:61.8吨 三、工艺设计说明 设备本体材质Q235A,内部用醇酸材料防腐,以卵石为承托,用无烟煤、石英砂作滤层。设备成型体为圆柱体,上部和中间用旋压式封头作耐压体,底部以平面方式和基础接 3.1、进水系统 由于高速过滤器滤速40m/h,如果高流速进水由上而下运行,将导致不能形成滤膜因而影响出水水质,目前高速过滤器设计的进水系统由缓冲带、中央进水管组成,进水方式为逆流进水,滤膜受冲击问题迎刃而解。 -3-

地下水除铁锰过滤器技术

地下水除铁锰过滤器技术 地下水处理主要是除去水中的铁锰离子,水中铁锰离子含量过高,遇到空气水马上变成褐黄色和黄色的, 所帮助。 1、锰砂过滤器的作用原理 锰砂过滤器千万不要经常大反洗,因为锰砂除铁与过滤,一是靠机械吸附,二是更重要的靠表面膜过滤。表面 空气反洗,只要压差不影响出力就行了。当压差大到一定的时候,简单反洗一下,没必要搞空气反洗,因为这破坏了膜,重新建立起来要时间的。安全彻底反洗建议一季度搞一次就足够了。另外,过滤前过度的曝气是有一定影响的,但不是主要的,你主要的问题还是过度反洗,破坏了填料层的排布结构,破坏了膜的形成。 2、锰砂过滤器的锰砂的选择 锰砂滤料是采用国内质量优良、晶粒致密、机械强度大、化学活性强、不易破碎、不溶于水的天然锰矿砂。经水洗打磨除杂、干燥、磁选、筛分、除尘等工艺成砂。再把加工好的锰砂按一定的级配调合而成。它具有水处理滤料最理想的级配比例,使它在单位体积内有最大的比表面积、最强的截污能力、最大的氧化催化作用和最小的反冲洗流失率。锰砂滤料外观粗糙呈褐色或淡灰色,常用于生活饮用水的除铁、除锰 锰砂滤料主要用于降低水中的铁锰铁和锰总含量,根据我国生活饮用水卫生标准规其铁含量≤0.3㎎/L,锰含量≤0.1㎎/L ,长时间饮用含铁含锰量过高的水会严重影响身体健康. 锰砂广泛用于各供水行业,是过滤水使用的一种特殊滤料,除铁性能最佳,外观赤褐色。经机械加工破碎,筛分,产品多棱角,接近球状,锰砂常用于地下水除铁除锰过滤。 4、锰砂过滤器设计参数 1、过滤速度:6-8m3/h 2、工作温度:常温工作压力 3、反洗压缩空气量:18-25L/m2.S 4、滤料层高:1000-1200mm 5、反洗强度:12-15L/m2.S; 反冲洗时间:4-6分钟

(KJ201705)水产品中硝基呋喃类代谢物的快速检测胶体金免疫层析法

附件5 水产品中硝基呋喃类代谢物的快速检测胶体金免疫层析法(KJ201705) 1范围 本方法规定了水产品中硝基呋喃类代谢物快速检测方法。 本方法适用鱼肉、虾肉、蟹肉等水产品中呋喃唑酮代谢物(AOZ)、呋喃它酮代谢物(AMOZ)、呋喃西林代谢物(SEM)、呋喃妥因代谢物(AHD)的快速测定。 2原理 样品中硝基呋喃类代谢物经衍生处理后,其衍生物与胶体金标记的特异性抗体结合,抑制抗体和检测卡/试纸条中检测线(T线)上硝基呋喃类代谢物-BSA偶联物的免疫反应,从而导致检测线颜色深浅的变化。通过检测线与控制线(C线)颜色深浅比较,对样品中硝基呋喃类代谢物进行定性判定。 3试剂和材料 除另有规定外,本方法所用试剂均为分析纯,水为GB/T6682规定的二级水。 3.1试剂 3.1.1盐酸。 3.1.2三水合磷酸氢二钾。 3.1.3氢氧化钠。 3.1.4甲醇。 3.1.5乙醇。 3.1.6乙腈。 3.1.7邻硝基苯甲醛。 3.1.8三羟甲基氨基甲烷。 3.1.9乙酸乙酯。 3.1.10正己烷。 3.1.11邻硝基苯甲醛溶液(10mmol/L):准确称取0.150g邻硝基苯甲醛,用甲醇(3.1.4)溶解并定容至100mL。 3.1.12磷酸氢二钾溶液(0.1mol/L):准确称取22.822g三水合磷酸氢二钾(3.1.2),用水溶解并定容至1000mL。 3.1.13氢氧化钠溶液(1mol/L):准确称39.996g氢氧化钠(3.1.3),用水溶解并稀释至1000mL。 3.1.14盐酸溶液(1mol/L):取10mL盐酸(3.1.1)加入到110mL水中。

3.1.15三羟甲基氨基甲烷溶液(10mmol/L):准确称取1.211g三羟甲基氨基甲烷(3.1.8),溶于80mL水中,加入盐酸(约42mL)调pH至8.0后用水定容至1L。 3.2参考物质 3.2.1硝基呋喃类代谢物参考物质的中文名称、英文名称、CAS登录号、分子式、相对分子量见表1,纯度≥99%。 表1硝基呋喃类代谢物参考物质的中文名称、英文名称、CAS登录号、分子式、相对分子量 注:或等同可溯源物质。 3.3标准溶液的配制 3.3.1标准储备液:分别准确称取适量参考物质(精确至0.0001g),用乙腈溶解,配制成100mg/L 的标准储备液。-20℃冷冻避光保存,有效期12个月。 3.3.2混合中间标准溶液:准确移取标准储备液(3.3.1)各1mL于100mL容量瓶中,用乙腈定容至刻度,配制成浓度为1mg/L的混合中间标准溶液。4℃冷藏避光保存,有效期3个月。 3.3.3混合标准工作溶液:准确移取0.1mL混合中间标准溶液(3.3.2)于10mL容量瓶中,用乙腈定容至刻度,配制成浓度为0.01mg/L的混合标准工作溶液。4℃冷藏避光保存,有效期1个月。 3.4材料 3.4.1AOZ试剂盒(含胶体金试纸条或检测卡及配套的试剂)。 3.4.2AMOZ试剂盒(含胶体金试纸条或检测卡及配套的试剂)。 3.4.3SEM试剂盒(含胶体金试纸条或检测卡及配套的试剂)。 3.4.4AHD试剂盒(含胶体金试纸条或检测卡及配套的试剂)。 3.4.5固相萃取柱(强阴离子交换型):规格1mL,填装量为60mg。 4仪器和设备 4.1电子天平:感量分别为0.1g和0.0001g。 4.2均质器。

过滤器使用说明书

水介质反冲洗过滤器使用说明书 型号:ZBG3-3-40/630 北京中矿兴宝环保科技有限公司

使用说明书 1简介 本产品适用于公称压力≤4.0MPa的水及液压油为介质的管路中,用于滤除介质中的固体颗粒状污染物,以保护其它运动件不受磨损或减轻磨损,以及细小孔元件减缓堵塞或不被堵塞,从而保证其系统正常工作而减少维修次数。 本产品具有反冲洗功能,利用系统自身压力和介质源,通过换向阀使介质反向流动,冲洗滤芯进液表面的污染物,可延长滤芯使用寿命,减少更换次数,降低劳动强度,降低使用成本。 本产品设有旁通阀,当操作者长时间没有进行反冲洗而引起滤芯堵塞,供水不足时,旁通阀会自动打开,保证系统在短时间内仍能正常工作。 2技术参数 公称压力:4.0MPa 公称流量:630L/min 公称通径:80mm 过滤精度:25、40、60、80、100、130、160、180、200……μm 3安装 将本产品进、出液口分别接到系统泵右边出液管路中即可(安装尺寸见附图)。4使用 4.1 正常使用(即过滤) 本产品设有四个阀门,件号分别为:4(过滤进液阀);5(反冲洗进液阀);1(过滤出液阀);6(反冲洗出液阀)。详见附图。 过滤时4号、1号阀开启,手柄与管路平行,5号、6号阀关闭,手柄与管路

压力表3显示进液压力,压力表2显示出液压力,两表之差表示进、出液压差,当压差<0.35MPa时,为正常工作状态。 4.2 反冲洗 当进、出液压差≥0.35MPa时,说明滤芯已堵塞严重,需对滤芯进行冲洗,步骤如下: 1)打开阀门6、5; 2)关闭阀门4、1; 建议:每班工作完毕停机之前应进行反冲洗,冲洗至清洁液体从反冲洗出口流出,反冲洗完毕将阀门手柄调至过滤位置,观察表2、表3之差是否<0.35MPa,若在范围内则可继续工作,此时再关机为好。 当反冲洗完毕恢复正常工作状态后,进出液压差仍≥0.35MPa时,应更换滤芯,步骤如下: 1)关闭系统总阀门,使产品处于停止工作状态; 2)关闭进、出液阀门4、1; 3)打开排污阀6,排污卸压; 4)松开法兰螺栓,拆去法兰盖,取出滤芯; 5)换上原厂生产的同型号滤芯,装好法兰盖,关闭排污阀6,打开进、出液阀门4、1,打开总阀门。

除铁除锰过滤器使用说明书

除铁除锰过滤器使用说明书 我国有很多地区的地下水中,铁和锰的含量较高,超过或大大超过了生活饮用水卫生标准和工业用水标准。含铁、锰水有铁腥味,使用中能在各种家用器具上产生棕色锈斑,洗涤衣服会染成黄色或棕黄色污渍、沉淀在管道内壁的铁质可使铁菌生长,使水龙头放出“红水”;含铁(锰)水用于造纸、纺织、软片制造或制革等,可使产品产生污点,无法提高产品质量。 有的学者认为某些地方病与常年饮用含锰水有关。新近研究发现,过量的铁、锰还会损伤动脉内壁和心肌,形成动脉粥样斑块,造成冠状动脉狭窄而导致冠心病。同时,铁、锰的异味特大,而且污染生活用具,使人们难以忍受。水中的铁锰对工业是有百害而无一益的,任何情况下都希望越少越好。要解决这些问题,只能使用除铁除锰过滤器。 地下水中常含有过量的铁和锰,而长期饮用含铁、含锰高的水对人体不利。水中含铁较高时,水有铁腥味,影响水的口味,作为造纸、纺织、印染、化工和皮革等生产用水,会降低产品质量;洗涤衣物会出现黄色或棕黄色斑渍;铁质沉淀物会滋长铁细菌,阻塞管道,有时会出现红水。而含锰量较高的水所发生的问题与含铁量较高的情况相类似,并且在工业领域中,水中的铁、锰含量过高对设备具有一定的腐蚀从而缩短设备的使用寿命。

根据我国生活饮用水质标准规定,凡是生活饮用水中铁含量大于0.3毫克/升,锰含量大于0.1毫克/升的必须进行净化处理。除铁除锰设备主要应用于地下水高铁,高锰地区经处理后的水符合国家饮用水标准。 除铁除锰净水设备可根据用户的需求采用碳钢、玻璃钢、不锈钢等材质,以天然的锰砂、石英砂为过滤介质使地下原水经处理后完全达到了国家的饮用水标准,该设备是具有工艺简单、操作方便、工作效率高、净水效果好等优点,并且在抽水净化和使用中全部采用了自动控制。广泛应用于医药行业、电子行业、工矿企业等以地下水为水源的生活用水和工业用水处理。 除铁除锰设备工作原理: 本设备采用天然锰砂为过滤介质。除铁原理为地下水中二价铁离子,经曝气后,流经滤层过滤时,被覆盖在滤料表面的生物膜吸附,并在催化的作用下被溶解氧所氧化,并吸附在滤料上,氧化生成的三价铁的氧化物,作为新的滤膜参与新的催化反应,待产水运行一个周期反洗将过剩的氧化物冲掉。除锰原理同上。滤层由于离子选择吸收原理,先除铁后除锰。在PH值等于 6.8- 7.2条件下,Fe (OH)3呈胶体凝聚沉淀,用过滤的方法即可除去。

依诺沙星ENX含量测试盒说明书HPLC法50管48样

依诺沙星(ENX)含量测试盒说明书 HPLC法50管/48样请客户正式实验前做预实验确定样本稀释倍数!注意事项必读! 测定意义: 依诺沙星(Enoxacia,ENX)是第三代的氟喹诺酮类抗生素,具有广谱、强效杀菌作用,广泛应用于养殖、临床等各个领域。ENX作为人畜公用药,药物残留危害极大。 测定原理: 依诺沙星在特定波长下可受激发而发射荧光,可以利用高效液相色谱法测定其含量。 需自备的实验用品: 高效液相色谱仪(荧光检测器)、低速离心机、氮吹仪、涡旋震荡器、溶剂抽滤装置、针头式过滤器(有机系,50个,0.22μm)、滤膜(水系和有机系各1个,0.45μm)、C18柱(4.6 ×250 mm)、可调式移液器、样品瓶(50个,2mL)、内衬管(50个,放置在样品瓶内用于微量样品进样)、乙腈(色谱级,200 mL)和超纯水。 试剂的组成和配制: 试剂一:液体一支,4 ℃保存; 试剂二:液体一支,4 ℃保存; 试剂三:依诺沙星标准品0.5 mg×1支,-20℃保存。 实验前的准备工作: 1、将超纯水900 mL和乙腈200 mL用0.45 μm的滤膜抽滤,以除去溶剂中的杂质,防止堵塞色谱柱。(注:蒸馏水用水系滤膜抽滤,甲醇用有机系滤膜抽滤)。 2、流动相的配制:量取870 mL过滤后的超纯水,加入444 uL试剂一,混匀,再加入130 mL 过滤后的乙腈。 3、将配好的流动相超声30分钟,以脱去溶剂中的气泡,防止堵塞色谱柱。 依诺沙星的提取: 1.组织样品(鸡肉,鱼肉,虾肉,猪肉):称取组织1g(鱼虾去皮取肉),加入1 mL 水, 冰浴匀浆。8000 g/min,4℃离心10分钟,收集上清,待测。 2.水质样品:8000 g/min,4℃离心10分钟,收集上清,直接检测。 3.血清:血液室温自然凝固90分钟,4℃离心10分钟(8000 g/min),收集上清,保存过 程中如出现沉淀,应再次离心。每次实验前,样品使用10倍体积的甲醇沉淀蛋白,8000 g/min,4℃离心10分钟,取上清,氮气吹干。加入200 μL 试剂二,涡旋震荡溶解,用针头式过滤器过滤后待测。 4.血浆:应根据标本的要求选择EDTA、柠檬酸钠或肝素作为抗凝剂,混合10-20分钟后, 4℃离心10分钟(8000 g/min)。仔细收集上清,保存过程中如有沉淀形成,应该再次离心。每次实验前,样品使用10倍体积的甲醇沉淀蛋白,8000 g/min,4℃离心10分钟,取上清,氮气吹干。加入200 μL 试剂二,涡旋震荡溶解,用针头式过滤器过滤后待测。

活性炭过滤器操作说明书

活性炭过滤器操作说明书 The Standardization Office was revised on the afternoon of December 13, 2020

某某发电有限责任公司 厂区外排废水达标排放工程废水收集及 处理设备 活性炭过滤器 操作维护手册 编制: 审核: 批准: 第一章设备介绍 1.工艺原理及工艺参数: 工艺原理: 活性炭吸附器的使用:由于活性炭具有吸附性和比表面积非常大的特性,活性炭广泛运用于各个领域。水处理可用于去除水中的有机物和游离氯以保护后续设施。 活性炭过滤主要时去除水中的有机物和游离氯,防止水中游离氯对反渗透膜的氧化性破坏。研究表明,用活性炭过滤法除去水中游离氯能进行的很彻底。活性炭脱氧并不是单纯的物理吸附作用,而是在其表面发生了催化作用,促使游离氯通过活性炭虑层时,很快水解。活性炭能吸附水中的余氯有机物等,对某些阳离子也有一定的吸附作用,当过滤达到一定时间或活性炭过滤器进水压力的差值大于时,需进行反洗;当吸附量达到吸附容量时,活性炭就需要更换。按理论估算,吸附塔中活性炭可以使用2年以上,其实际使用寿命取决于进水水质和使用条件。

主要技术参数: 1.2.1型式与型号①型号:DN3200 ②型式:垂直圆筒 1.2.2数量: 6台 1.. 每台设备出力①正常出力 80T/h ②最大出力 96T/h 1.2.4 运行流速①正常流速: 10m/h ②最大流速 12m/h 1.2.5 设备直径/壁厚 3224/12 mm ①直径:Φ3200mm(内径) ②直筒壁厚:12mm ③封头厚度: 14 mm ④直边高度: 3500mm ⑤总高度: 5877 mm 1.2.6 设计压力:水压试验压力: 1.2.7 反洗膨胀高度: 1000 mm 1.2.8 运行压差①正常出力压差:②最大出力压差: MPa 1.2.9 设备荷重①空载荷重: 9000kg ②运行荷重: 52000kg 1.2.10本体(包括封头)材质:Q235-B 器外管系、管件:20#钢 1.2.11 衬里(防腐) ①衬里(防腐)材料: 半硬耐酸橡胶②衬里(防腐)层数: 2 ③衬里厚度: 3+2mm 1.2.12 内部装置 ①上部进水配水型式型式/材质:母支管结构/316不锈钢 ②下部出水配水型式型式/材质:穹型覆盖式多孔板/钢衬胶 孔板型式:直流多孔板 石英砂/卵石垫层

过滤器说明书-英文

SLAF Series Compressed-air Secondary Filter Operation Manual HANGZHOU SHANLI PURIFY EQUIPMENT CORPORATION

Contents I. Product Profile ...................................................................................................................... 错误!未定义书签。 1. Product Overview ........................................................................................................... 错误!未定义书签。 2. Structure and Working Principle..................................................................................... 错误!未定义书签。II. Configuration and Installation ........................................................................................... 错误!未定义书签。 1. Standard Pipeline for the Filters ..................................................................................... 错误!未定义书签。 2. Basic Configuration/Installation Pattern of the Filter..................................................... 错误!未定义书签。 3. Other Configuration/Installation Patterns of the Filters.................................................. 错误!未定义书签。III. Selection and Maintenance Requirements....................................................................... 错误!未定义书签。IV. Troubleshooting................................................................................................................... 错误!未定义书签。Appendix: Chemical Corrosion Resistance Performance of the Filter Series..................... 错误!未定义书签。 Prior to startup, please read this manual carefully

全自动除铁锰过滤器工艺原理

全自动除铁锰过滤器工艺原理 辽京制造公司多年来一直致力于水处理技术与设备的研制、设计、生产。尤其是在高效过滤器、橡胶防腐衬里、碳钢衬胶罐工程方面取得了丰硕的成果。通过对国外先进技术消化吸收并针对国内不同行业用水状况与特点,开发出了三大类,七大系列,四十多个型号的标准化、系列化产品,产品已广泛应用于钢铁、电力、化工、造纸、制药、水处理、园林与农业灌溉、市政、食品等行业。 一、全自动除铁锰过滤器概述 我国许多城镇和工矿企业都以地下水为水源。但是在不少地区的地下水中含有过量的铁,其含量一般在2—16mq/L范围。”自动除铁

锰过滤器”克服了由于人为操作,反冲洗等引起的各种问题,更好地发挥了全自动工作的特长,因而具有其它除铁装置无可比拟的优越性,经处理后的地下水含铁量≤0.3mg/L,符合国家GB5749—85生活饮用水质标准。 水中除铁除锰必须曝气,将空气中的氧使二价铁,二价锰氧化,生成Fe(OH)3,MnO2,根据水中铁锰含量高低,选用射流曝气或空心多面球曝气。采用一级或多级锰砂过滤器过滤,即可满足处理要求,出水含铁量0.3mg/L,含锰量0.1m/l,符合国家生活饮用水标准。 二、城镇全自动除铁锰过滤器设计参数 1、适用进水含铁量:①≤8mg/L,②>8mg/L~≤16mg/L

2、出水含铁量:≤0.3mg/L符合国家GB5749-85生活饮用水质标准 3、表面负荷:8-9M3/H·M2 4、冲洗强度:14-16L/S·M2 5、冲洗历时:4-6mim(可调) 6、进水压力:0.05MPa 7、滤料:精致除铁锰专用锰砂0.5~2mm粒径 8、工作温度:5℃~40℃(特殊温度可定做) 9、单机流量:0.5m3/h-80m3/h 11、过滤速度:5m/h-12m/h 12、筒体材质:304、316L、Q235衬胶或涂环氧

相关主题
文本预览
相关文档 最新文档