文档库 最新最全的文档下载
当前位置:文档库 › 异常处理

异常处理

异常处理
异常处理

.globl _start

_start:

/* 0 地址*/

b reset /* 复位时,cpu跳到0地址*/

ldr pc, =undefined_instruction /* cpu遇到不能识别的指令时*/

ldr pc, _vector_swi /* 当执行swi指令时, 进入swi模式*/

b halt @ldr pc, _prefetch_abort /* 预取中止异常*/

b halt @ldr pc, _data_abort /* 数据访问异常*/

b halt @ldr pc, _not_used /* 没用到*/

ldr pc, _irq /* 0x18 中断异常*/

b halt @ldr pc, _fiq /* 快中断异常*/

_irq :

.word vector_irq

_vector_swi:

.word vector_swi

vector_swi:

/* 1. 保存现场*/

ldr sp, =0x56000000

stmdb sp!, {r0-r12, lr} /* lr就是swi的下一条指令地址*/

/* 2. 处理异常*/

mrs r0, cpsr

ldr r1, =swi_str

bl print_cpsr

/* 3. 恢复现场*/

ldmia sp!, {r0-r12, pc}^ /* ^表示把spsr恢复到cpsr */

swi_str:

.word 0x00697773 /* swi */

undefined_instruction:

/* 1. 保存现场*/

ldr sp, =0x55000000

stmdb sp!, {r0-r12, lr}

/* 2. 处理异常*/

mrs r0, cpsr

ldr r1, =und_str

/* 3. 恢复现场*/

ldmia sp!, {r0-r12, pc}^ /* ^表示把spsr恢复到cpsr */

und_str:

.word 0x00646e75 /* und */

usr_str:

.word 0x00727375 /* usr */

vector_irq:

/* 1. 保存现场*/

ldr sp, =0x54000000

sub lr, lr, #4

stmdb sp!, {r0-r12, lr} /* lr就是swi的下一条指令地址*/

/* 2. 处理异常*/

/* 2.1 分辨是哪个中断*/

/* 2.2 调用它的处理函数*/

/* 3. 恢复现场*/

ldmia sp!, {r0-r12, pc}^ /* ^表示把spsr恢复到cpsr */

reset:

/* 硬件相关的设置*/

/* Peri port setup */

ldr r0, =0x70000000

orr r0, r0, #0x13

mcr p15,0,r0,c15,c2,4 @ 256M(0x70000000-0x7fffffff)

/* 关看门狗*/

/* 往WTCON(0x7E004000)写0 */

ldr r0, =0x7E004000

mov r1, #0

str r1, [r0]

/* 设置栈*/

ldr sp, =8*1024

/* 设置时钟*/

bl clock_init

bl init_uart

/* 把程序的代码段、数据段复制到它的链接地址去*/ adr r0, _start /* 获得_start指令当前所在的地址: 0*/ ldr r1, =_start /* _start的链接地址0x51000000 */

ldr r2, =bss_start /* bss段的起始链接地址*/

sub r2, r2, r1

cmp r0,r1

beq clean_bss

bl copy2ddr

cmp r0, #0

bne halt

/* 清BSS */

/* 把BSS段对应的内存清零*/

clean_bss:

ldr r0, =bss_start

ldr r1, =bss_end

mov r3, #0

cmp r0, r1

ldreq pc, =on_ddr

clean_loop:

str r3, [r0], #4

cmp r0, r1

bne clean_loop

ldr pc, =on_ddr

on_ddr:

mrs r0, cpsr

bic r0,r0,#0x1f

orr r0,r0,#0x10

msr cpsr,r0 /* 进入user mode */

ldr sp, =0x57000000

ldr r1, =usr_str

bl print_cpsr

swi 0 /*

* cpu进入svc模式

* 把之前的cpsr保存到spsr_svc

* 切换到r13_svc, r14_svc

* 把swi的下一条指令存到r14(lr)_svc

* 跳到地址8

*/

bl hello

undef:

.word 0xff000000 /*

* cpu进入Undefined模式

* 把之前的cpsr保存到spsr_und

* 切换到r13_und, r14_und

* 把下一条指令存到r14(lr)_und

* 跳到地址4

*/

swi_ret:

bl main

halt:

b halt

******************************************************************************* void putchar(char c);

char getchar(void);

void init_uart(void);

******************************************************************************* #ifndef __COMMON_H

#define __COMMON_H

#define vi *( volatile unsigned int * )

#define set_zero( addr, bit ) ( (vi addr) &= ( ~ ( 1 << (bit) ) ) )

#define set_one( addr, bit ) ( (vi addr) |= ( 1 << ( bit ) ) )

#define set_bit( addr, bit, val ) ( (vi addr) = (( vi addr)&=(~(1<<(bit))) ) | ( (val)<<(bit) ) )

#define set_2bit( addr, bit, val ) ( (vi addr) = (( vi addr)&(~(3<<(bit))) ) | ( (val)<<(bit) ) )

#define set_nbit( addr, bit, len, val ) \

( (vi addr) = ((( vi addr)&(~(( ((1<<(len))-1) )<<(bit)))) | ( (val)<<(bit) ) ))

#define get_bit( addr, bit ) ( (( vi addr ) & ( 1 << (bit) )) > 0 )

#define get_val( addr, val ) ( (val) = vi addr )

#define read_val( addr ) ( vi ( addr ) )

#define set_val( addr, val ) ( (vi addr) = (val) )

#define or_val( addr, val ) ( (vi addr) |= (val) )

///////////////////////////////

typedef unsigned char u8;

typedef unsigned short u16;

typedef unsigned int u32;

// function declare

int delay( int );

#endif /* __COMMON_H */

******************************************************************************* #include

#define MEMCCMD 0x7e001004

#define P1REFRESH 0x7e001010

#define P1CASLAT 0x7e001014

#define MEM_SYS_CFG 0x7e00f120

#define P1MEMCFG 0x7e00100c

#define P1T_DQSS 0x7e001018

#define P1T_MRD 0x7e00101c

#define P1T_RAS 0x7e001020

#define P1T_RC 0x7e001024

#define P1T_RCD 0x7e001028

#define P1T_RFC 0x7e00102c

#define P1T_RP 0x7e001030

#define P1T_RRD 0x7e001034

#define P1T_WR 0x7e001038

#define P1T_WTR 0x7e00103c

#define P1T_XP 0x7e001040

#define P1T_XSR 0x7e001044

#define P1T_ESR 0x7e001048

#define P1MEMCFG2 0X7e00104c

#define P1_chip_0_cfg 0x7e001200

#define P1MEMSTAT 0x7e001000

#define P1MEMCCMD 0x7e001004

#define P1DIRECTCMD 0x7e001008

#define HCLK 133000000

#define nstoclk(ns) (ns/( 1000000000/HCLK)+1)

int ddr_init( void )

{

// tell dramc to configure

set_val( MEMCCMD, 0x4 );

// set refresh period

set_val( P1REFRESH, nstoclk(7800) );

// set timing para

set_val( P1CASLAT, ( 3 << 1 ) );

set_val( P1T_DQSS, 0x1 ); // 0.75 - 1.25

set_val( P1T_MRD, 0x2 );

set_val( P1T_RAS, nstoclk(45) );

set_val( P1T_RC, nstoclk(68) );

u32 trcd = nstoclk( 23 );

set_val( P1T_RCD, trcd | (( trcd - 3 ) << 3 ) );

u32 trfc = nstoclk( 80 );

set_val( P1T_RFC, trfc | ( ( trfc-3 ) << 5 ) );

u32 trp = nstoclk( 23 );

set_val( P1T_RP, trp | ( ( trp - 3 ) << 3 ) );

set_val( P1T_RRD, nstoclk(15) );

set_val( P1T_WR, nstoclk(15) );

set_val( P1T_WTR, 0x7 );

set_val( P1T_XP, 0x2 );

set_val( P1T_XSR, nstoclk(120) );

set_val( P1T_ESR, nstoclk(120) );

// set mem cfg

set_nbit( P1MEMCFG, 0, 3, 0x2 ); /* 10 column address */

/* set_nbit: 把从第bit位开始的一共len位消零,然后把这几位设为val */

set_nbit( P1MEMCFG, 3, 3, 0x2 ); /* 13 row address */

set_zero( P1MEMCFG, 6 ); /* A10/AP */

set_nbit( P1MEMCFG, 15, 3, 0x2 ); /* Burst 4 */

set_nbit( P1MEMCFG2, 0, 4, 0x5 );

set_2bit( P1MEMCFG2, 6, 0x1 ); /* 32 bit */

set_nbit( P1MEMCFG2, 8, 3, 0x3 ); /* Mobile DDR SDRAM */

set_2bit( P1MEMCFG2, 11, 0x1 );

set_one( P1_chip_0_cfg, 16 ); /* Bank-Row-Column organization */

// memory init

set_val( P1DIRECTCMD, 0xc0000 ); // NOP

set_val( P1DIRECTCMD, 0x000 ); // precharge

set_val( P1DIRECTCMD, 0x40000 );// auto refresh

set_val( P1DIRECTCMD, 0x40000 );// auto refresh

set_val( P1DIRECTCMD, 0xa0000 ); // EMRS

set_val( P1DIRECTCMD, 0x80032 ); // MRS

set_val( MEM_SYS_CFG, 0x0 );

// set dramc to "go" status

set_val( P1MEMCCMD, 0x000 );

// wait ready

while( !(( read_val( P1MEMSTAT ) & 0x3 ) == 0x1));

}

*******************************************************************************

#define ULCON0 (*((volatile unsigned long *)0x7F005000))

#define UCON0 (*((volatile unsigned long *)0x7F005004))

#define UFCON0 (*((volatile unsigned long *)0x7F005008))

#define UMCON0 (*((volatile unsigned long *)0x7F00500C))

#define UTRSTAT0 (*((volatile unsigned long *)0x7F005010))

#define UFSTAT0 (*((volatile unsigned long *)0x7F005018))

#define UTXH0 (*((volatile unsigned char *)0x7F005020))

#define URXH0 (*((volatile unsigned char *)0x7F005024))

#define UBRDIV0 (*((volatile unsigned short *)0x7F005028))

#define UDIVSLOT0 (*((volatile unsigned short *)0x7F00502C))

#define GPACON (*((volatile unsigned short *)0x7F008000))

void init_uart(void)

{

GPACON &= ~0xff;

GPACON |= 0x22;

/* ULCON0 */

ULCON0 = 0x3; /* 数据位:8, 无较验, 停止位: 1, 8n1 */

UCON0 = 0x5; /* 使能UART发送、接收*/

UFCON0 = 0x01; /* FIFO ENABLE */

UMCON0 = 0;

/* 波特率*/

/* DIV_VAL = (PCLK / (bps x 16 ) ) - 1

* bps = 57600

* DIV_VAL = (66500000 / (115200 x 16 ) ) - 1

* = 35.08

*/

UBRDIV0 = 35;

/* x/16 = 0.08

* x = 1

*/

UDIVSLOT0 = 0x1;

}

unsigned char getc(void)

{

while ((UFSTAT0 & (1<<6)) == 0 && (UFSTAT0 & 0x3f) == 0);

return URXH0;

}

void putc(char c)

{

while (UFSTAT0 & (1<<14));

UTXH0 = c;

}

#define MEM_SYS_CFG (*((volatile unsigned long *)0x7E00F120)) #define NFCONF (*((volatile unsigned long *)0x70200000)) #define NFCONT (*((volatile unsigned long *)0x70200004)) #define NFCMMD (*((volatile unsigned long *)0x70200008)) #define NFADDR (*((volatile unsigned long *)0x7020000C)) #define NFDATA (*((volatile unsigned char *)0x70200010)) #define NFSTAT (*((volatile unsigned long *)0x70200028))

void nand_select(void)

{

NFCONT &= ~(1<<1);

}

void nand_deselect(void)

{

NFCONT |= (1<<1);

}

void nand_cmd(unsigned char cmd)

{

NFCMMD = cmd;

}

void nand_addr(unsigned char addr) {

NFADDR = addr;

}

unsigned char nand_get_data(void)

{

return NFDATA;

}

void nand_send_data(unsigned char data) {

NFDATA = data;

}

void wait_ready(void)

{

while ((NFSTAT & 0x1) == 0);

}

void nand_reset(void)

{

/* 选中*/

nand_select();

/* 发出0xff命令*/

nand_cmd(0xff);

/* 等待就绪*/

wait_ready();

/* 取消选中*/

nand_deselect();

}

void nand_init(void)

{

/* 让xm0csn2用作nand flash cs0 片选引脚*/

MEM_SYS_CFG &= ~(1<<1);

/* 设置时间参数*/

#define TACLS 0

#define TWRPH0 1

#define TWRPH1 0

NFCONF &= ~((1<<30) | (7<<12) | (7<<8) | (7<<4));

NFCONF |= ((TACLS<<12) | (TWRPH0<<8) | (TWRPH1<<4));

/* 使能nand flash controller */

NFCONT |= 1;

NFCONT &= ~(1<<16); /* 森止soft lock */

nand_reset();

}

void nand_send_addr(unsigned int addr)

{

#if 0

unsigned int page = addr / 2048;

/* 这两个地址表示从页内哪里开始*/

nand_addr(addr & 0xff);

nand_addr((addr >> 8) & 0xff);

/* 下面三个地址表示哪一页*/

nand_addr(page & 0xff);

nand_addr((page >> 8) & 0xff);

nand_addr((page >> 16) & 0xff);

#else

nand_addr(addr & 0xff); /* a0~a7 */

nand_addr((addr >> 8) & 0x7); /* 程序的角度: a8~a10 */

nand_addr((addr >> 11) & 0xff); /* 程序的角度: a11~a18 */ nand_addr((addr >> 19) & 0xff); /* 程序的角度: a19~a26 */ nand_addr((addr >> 27) & 0xff); /* 程序的角度: a27~ */

#endif

}

int nand_read(unsigned int nand_start, unsigned int ddr_start, unsigned int len) {

unsigned int addr = nand_start;

int i = nand_start % 2048;

int count = 0;

unsigned char *dest = (unsigned char *)ddr_start;

/* 选中芯片*/

nand_select();

while (count < len)

{

/* 发出命令0x00 */

nand_cmd(0x00);

/* 发出地址*/

nand_send_addr(addr);

/* 发出命令0x30 */

nand_cmd(0x30);

/* 等待就绪*/

wait_ready();

/* 读数据*/

for (; i < 2048 && count < len; i++)

{

dest[count++] = nand_get_data();

addr++;

}

i = 0;

}

/* 取消片选*/

nand_deselect();

return 0;

}

int nand_erase_block(unsigned long addr)

{

int page = addr / 2048;

nand_select();

nand_cmd(0x60);

nand_addr(page & 0xff);

nand_addr((page >> 8) & 0xff);

nand_addr((page >> 16) & 0xff);

nand_cmd(0xd0);

wait_ready();

nand_deselect();

}

int nand_write(unsigned int nand_start, unsigned char * buf, unsigned int len) {

unsigned long count = 0;

unsigned long addr = nand_start;

int i = nand_start % 2048;

nand_select();

while (count < len)

{

nand_cmd(0x80);

nand_send_addr(addr);

for (; i < 2048 && count < len; i++)

{

nand_send_data(buf[count++]);

addr++;

}

nand_cmd(0x10);

wait_ready();

i = 0;

}

nand_deselect();

}

int copy2ddr(unsigned int nand_start, unsigned int ddr_start, unsigned int len)

{

int ret;

/* 初始化nand flash controller */

nand_init();

/* 读nand flash */

ret = nand_read(nand_start, ddr_start, len);

return ret;

}

******************************************************************************* #include "uart.h"

char *str = "hello uplooking\n\r";

void hello(void)

{

printf("%s", str);

}

int print_cpsr(unsigned int cpsr, char *why)

{

printf("print_cpsr %s cpsr = 0x%x\n\r", why, cpsr);

}

int main(unsigned int cpsr, char *why)

{

int a, b;

// printf("main %s cpsr = 0x%x\n\r", why, cpsr);

while (1)

{

printf("please enter two number: \n\r");

scanf("%d %d", &a, &b);

printf("\n\r");

printf("the sum of %d + %d is: %d\n\r", a, b, a+b);

}

return 0;

}

工艺异常处理规定

工艺异常处理规定 1.目的 制订本标准的目的是建立生产过程中偏差及异常情况处理规程,在保证产品质量的情况下,对偏差及异常情况做出正确处理。 为建立各相关部门对生产异常的责任制度,以减少效率损失,提高生产力,特制定本规定。 2.范围 本规定适用于生产过程中偏差及异常情况的处理。 3.术语 本规定所指的生产异常,系指造成制造部门停工或生产进度延迟的情形,由此造成之无效工时,亦可称为异常工时。生产异常一般指下列异常: 1) 计划异常 因生产计划临时变更或安排失误等导致的异常。 2) 物料异常 因物料供应不及(断料)、物料品质问题等导致的异常。 3) 设备异常 因设备、工装不足或故障等原因而导致的异常。 4) 品质异常 因制程中出现了品问题而导致的异常,也称制程异常。 5) 产品异常 因产品设计或其他技术问题而导致的异常,或工艺异常。 6) 水电异常 因水、气、电等导致的异常。 4.职责 员工:完成任务,报告问题和异常。 组长:执行更改后的工艺,处理问题。 车间主任:执行更改后的工艺,报告生产,处理问题。 制造中心主任:监督执行,总结计划,公布成果。 现场改善专员:负责导入、组织、实施、推进异常管理。 技术中心:提供技术支持。 评审组:对目视管理做效果评估,确定改善成果,提供综合协调。 供应中心:处理供应商和本身带来的异常问题 质检中心:处理由品质部门带来的异常问题 业务部:处理由业务部带来的异常问题 仓库:处理由仓库带来的异常问题 计划部:处理由计划部门带来的异常问题 5.程序流程 1)异常发生时,发现异常的部门主管应立即通知技术部门或相关责任单位,前来研究对策,加以处理,并报告直属上级。 2)制造中心会同技术中心、责任单位采取异常的临时应急对策并加以执行,以降低异常带来的影响。 3)异常排除后,由生产部门填写《异常报告单》并转给责任单位。 4)责任单位填具异常处理的根本对策,以防止异常的重复发生,并将《异常单》反馈生产部。

数据中异常值的处理方法_总

数据中异常值的检测与处理方法 一、数据中的异常值 各种类型的异常值: 数据输入错误:数据收集,记录或输入过程中出现的人为错误可能导致数据异常。例如:一个客户的年收入是$ 100,000。数据输入运算符偶然会在图中增加一个零。现在收入是100万美元,是现在的10倍。显然,与其他人口相比,这将是异常值。 测量误差:这是最常见的异常值来源。这是在使用的测量仪器出现故障时引起的。例如:有10台称重机。其中9个是正确的,1个是错误的。 有问题的机器上的人测量的重量将比组中其他人的更高/更低。在错误的机器上测量的重量可能导致异常值。 实验错误:异常值的另一个原因是实验错误。举例来说:在七名跑步者的100米短跑中,一名跑步者错过了专注于“出发”的信号,导致他迟到。 因此,这导致跑步者的跑步时间比其他跑步者多。他的总运行时间可能是一个离群值。 故意的异常值:这在涉及敏感数据的自我报告的度量中通常被发现。例如:青少年通常会假报他们消耗的酒精量。只有一小部分会报告实际价值。 这里的实际值可能看起来像异常值,因为其余的青少年正在假报消费量。 数据处理错误:当我们进行数据挖掘时,我们从多个来源提取数据。某些操作或提取错误可能会导致数据集中的异常值。 抽样错误:例如,我们必须测量运动员的身高。错误地,我们在样本中包括一些篮球运动员。这个包含可能会导致数据集中的异常值。 自然异常值:当异常值不是人为的(由于错误),这是一个自然的异常值。例如:保险公司的前50名理财顾问的表现远远高于其他人。令人惊讶的是,这不是由于任何错误。因此,进行任何数据挖掘时,我们会分别处理这个细分的数据。

在以上的异常值类型中,对于房地产数据,可能出现的异常值类型主 要有:(1)数据输入错误,例如房产经纪人在发布房源信息时由于输入错误,而导致房价、面积等相关信息的异常;在数据的提取过程中也可能会出现异常值,比如在提取出售二手房单价时,遇到“1室7800元/m 2”,提取其中的数字结果为“17800”,这样就造成了该条案例的单价远远异常于同一小区的其他房源价格,如果没有去掉这个异常值,将会导致整个小区的房屋单价均值偏高,与实际不符。(2)故意的异常值,可能会存在一些人,为了吸引别人来电询问房源,故意把价格压低,比如房屋单价为1元等等;(3)自然异常值。房价中也会有一些实际就是比普通住宅价格高很多的真实价格,这个就需要根据实际请况进行判断,或在有需求时单独分析。 二、数据中异常值的检测 各种类型的异常值检测: 1、四分位数展布法 方法[1]:大于下四分位数加倍四分位距或小于上四分位数减倍。 把数据按照从小到大排序,其中25%为下四分位用FL 表示,75%处为上四分位用FU 表示。 计算展布为:L U F F F d -=,展布(间距)为上四分位数减去下四分位数。 最小估计值(下截断点):F L d F 5.1- 最大估计值(上截断点):F U d F 5.1+ 数据集中任意数用X 表示,F U F L d F X d F 5.15.1+<<-, 上面的参数不是绝对的,而是根据经验,但是效果很好。计算的是中度异常,参数等于3时,计算的是极度异常。我们把异常值定义为小于下截断点,或者大于上截断点的数据称为异常值。

数据库异常处理答案

. 一、 一、实验/实习过程 实验题1在程序中产生一个ArithmeticException类型被0除的异常,并用catch 语句捕获这个异常。最后通过ArithmeticException类的对象e 的方法getMessage给出异常的具体类型并显示出来。 package Package1; public class除数0 { public static void main(String args[]){ try{ int a=10; int b=0; System.out.println("输出结果为:"+a/b); } catch(ArithmeticException e){ System.out.println("除数不能为0"+e.getMessage()); } } } 实验题2在一个类的静态方法methodOne()方法内使用throw 产生

ArithmeticException异常,使用throws子句抛出methodOne()的异常,在main方法中捕获处理ArithmeticException异常。 package Package1; public class抛出异常 { static void methodOne() throws ArithmeticException{ System.out.println("在methodOne中"); throw new ArithmeticException("除数为0"); } public static void main(String args[]){ try{ int a=10; int b=0; int c=1; System.out.println("输出结果为:"+a/b); } catch(ArithmeticException e){ System.out.println("除数不能为0"+e.getMessage()); } } }

品质异常处理流程98703

品质异常处理流程 (公开文件,共4页) 一、目的: 规范品质异常处理流程,提高品质异常处理的时效性,确保来料质量及生产的正常运转,同时满足顾客的质量要求。 二、范围: 适用于本公司来料、制程、出货品质异常的处理。 三、定义: 3.1 来料品质异常: a、不符合相关检验标准要求,且不良率超过质量目标时; b、合格物料制程中发现重点物料不合格时; c、有经过改善且有效果确认,但又重复发生品质异常时。 3.2 制程品质异常: a、使用不合格的原料或材料; b、同一缺陷连续发生; c、不遵守作业标准或不遵守工艺要求; d、机械发生故障或精度磨损; e、其他情形影响到产品质量时。 3.3 出货品质异常: a、客户投诉或抱怨; 四、职责 4.1 来料品质异常: 品质:a.负责填写《品质异常联络单》“异常描述”部分; b.负责将《来料检验报告》、《品质异常联络单》发送于采购,抄送工程、生产; c负责品质异常改善结果确认。 采购:负责将《来料检验报告》、《品质异常联络单》发送给供应商并及时与供应商联系跟踪供应商及时回复“原因分析”“纠正与预防措施”并将结果回复品质部. 4.2 制程品质异常: 品质部: a,负责品质异常之最终判定; b,负责确认品质异常责任部门; c,负责主导品质异常案例的处理过程; d,负责对责任单位的改善结果进行追踪确认

异常责任单位: a负责品质异常的原因分析,提出临时措施及长期改善对策并执行。 生产部: a负责品质异常的改善和预防措施的实施及验证改善措施的有效性; 其它相关单位: a在需要时进行异常改善的配合 4.3 出货品质异常: 品质部: a负责将品质异常通知各部门及确定责任部门; b负责异常改善后的跟踪确认; c负责处理客户抱怨 异常责任单位: a负责品质异常的原因分析,提出临时措施及长期改善对策并执行。 生产部: a负责品质异常的改善和预防措施的实施及验证改善措施的有效性; 营业部: a负责将客户抱怨反馈给相关部门。 其它相关单位: a在需要时进行异常改善的配合 五、工作程序: 5.1 进料品质异常: 5.1.1 依相关检验标准判定不合格,针对不合格物料标示“不合格”,并立即移至不良品区域。 5.1.2 异常成立4小时内开立《品质异常联络单》通知采购。 5.1.3 采购接《品质异常联络单》后4小时内转责任供应商。 5.1.4 供应商需于1个工作日内针对异常物料提出临时对策,如对异常内容有疑问,需在4 小时与品质相关人员确认清楚。 5.1.5 供应商必须在《品质异常联络单》要求的期限前(如无明确要求,默认为《品质异常联络单》发出后2个工作日内)回复完整的改善方案。 5.1.6 品质部对供应商回复内容进行确认,针对改善措施不合格部分予以退件,要求供应商重新回复。改善措施合格,则报告予以归档,跟踪后续进料品质状况,依5.1.7执行。 5.1.7 针对供应商改善后产品加严检验,连续追踪3批无异常予以结案,转正常检验;连续追踪3批中途发现不良现象仍存在,则重复5.1.2-5.1.7。 5.1.8 如供应商改善措施回复后连续2个月无进料,则强制结案,后续进料依正常检验执行。 5.1.9

数据库异常处理答案

、实验/实习过程 实验题 1在程序中产生一个ArithmeticException 类型被0除的异常, 并用catch 语句捕获这个异常。最后通过 ArithmeticException 类的对象 e 的方法getMessage 给出异常的具体类型并显示出来 [j'.除数U j av?風 package Package1; public? class 除数匚i { puljJ.ic static: void tnain (Str args [ ] ) { try : int 3=10; int b=D; System- on t . pr intln ( n 输出结果肯:fr 4-a/b); System- t . pr ("除數不能为□**+&. gets Message ; E Console X 事氏囲 ^t^rminated)-際數。[java A.ppli csiti on J C : S.Pr ograim F i 1 e E V J avaSt j ireB \b i IL \ J avaw . es:e ?C13-10-25 package Packagel; catch (ArithmetlcExcEption e)( 除数不能为叩 by sexo public class 除数0 { public static void mai n(Stri ng args[]){ try { int a=10; int b=0; System. out .println( } catch (ArithmeticException e){ System. out .println( } } 输岀结果为:"+a/b); "除数不能为 0" +e.getMessage()); }

产品质量异常处理流程

供应商来料异常管理流程 1. 目的: 规范来料产品的异常处理流程控制,提高来料合格率。 2. 范围: 本规范适用于所有外购零部件及外包加工件。 3. 职责与权限: 3.1生技部:负责检测治具的制作。 3.2质量中心:负责来料异常的提出、分析、处理。 3.3生产部:负责来料异常协助处理。 3.4研发部:负责来料异常的分析、处理。 3.5生管部:负责确认来料品上线使用时间。 3.6采购部:负责来料异常与供应商的纠通取得异常的处理。 4. 名词定义: 4.1不合格:未满足产品的质量要求。 4.2 A类:单位产品的极重要质量特性不符合规定,或者单位产品的质量特性极严重不符合规定。 4.3 B类:单位产品的重要质量特性不符合规定,或者单位产品的质量特性严重不符合规定。 4.4 C类:单位产品的一般质量特性不符合规定,或者单位产品的质量特性轻微不符合规定。 5、异常处理流程控制 5.1 IQC依据检验指导书、封样、评估报告等资料检验,发现来料品不满足质量要求。 5.2 IQC将自已判定为不合格的产品经工程师、部门主管核对确实为不合格品。 5.3 IQC 立即填写《供应商异常矫正单》进行处理。 5.4 质量中心主管主导组织针对异常讨论,参与人员:采购、PIE、质量中心经理、研发工程师、研发总监、厂部厂长及其相关人员。 6、异常分类: 6.1 外观不良:表面有划痕、水印、字体不清、表面气泡、砂眼、黑点、缺料、油污、毛刺、变形、色差、氧化及电镀层脱落、标识规格错误、无料号贴纸、无出厂检验报告等。 6.2性能不良:尺寸与图纸不符、适配过大,过小、色温,波长,亮度不符、电压,电流不符等。 7、异常处理方式 7.1将不良品返回供应商进行返工、返修、报废等。 7.2将不良品需进行特采使用才能满足产品的质量。 8、特采分类 8.1需进行挑选使用时。 8.2需增加零部件才能满足产品的最终使用功能时。 8.3需增加工艺进行满足产品的最终使用功能时。 8.4降低产品的质量要求,特采条件接收使用时。 8.5需要机加工才能满足产品的最终使用功能时。 9、扣款规定 9.1特采使用需扣除工时费用20元/H。

SMT工艺异常处理流程

SMT工艺异常处理流程 目的 为了有效追踪工艺异常问题的根本原因,明确各关联部门的权责,提高异常事故处理效率,减少投诉; 适用范围 本流程适用于龙旗科技有限公司所有主板项目; 定义 SMT(Surface Mounting Technology):表面贴装技术; SMT工艺异常:因SMT设备(程序)参数的技术性缺失、原材料(主料、辅料)不良、设计错误等因素影响,导致工艺控制失效使得生产效率无法达到预定目标,使产品品质超出IPC允收标准的所有事件均称之为SMT工艺异常; 职责 工程部:分析工艺异常原因,判定异常事故的性质,提供改善建议; 研发事业部:解释设计原则,修正设计方案; 质量保证部:提供质量数据报告,反馈投诉处理意见,划分责任归属; 质量策划部:跟踪各阶段问题的及时关闭和阶段控制,对于工艺问题,结合工程分析和风险评估,协助推动研发改善; 售后服务部:反馈客户信息,调查、追踪客户端产品状态; 项目管理部:总体协调和督促项目组成员推动问题点的解决,保障项目进度; 内容 1.可制造性设计导致工艺异常的处理流程 1.1.如发现可制造性设计导致的工艺异常,由外协厂汇总问题点并输出试产报告,由驻厂NPI将试产报告发给项目组。针对《试产报告》中反馈的可制造性设计问题,由工程确认是否改版并提供分析评估意见给研发; 1.1.1.若研发对工程的分析意见无异议,则由研发执行改版,质量策划跟踪改版进度,工程负责改版确认; 1.1. 2.若工程的分析意见与研发设计要求有争议,则由项目经理和质量策划评估、解决; 2.生产过程中工艺异常处理流程

2.1.当生产中发现工艺异常时,需龙旗驻厂NPI及时进行产线状态确认,驻厂PQE及时提供《外协厂异常问题反馈单》,工程根据《外协厂异常问题反馈单》负责判断、确认并提供改善建议,PQE根据异常风险等级决定是否维持生产或停线; 2.2.生产过程中的工艺异常分类及处理 2.2.1.来料不良导致工艺异常的处理 2.2.1.1.来料不良信息反馈 2.2.1.1.1.来料不良导致的工艺异常事故,由龙旗驻厂PQE负责来料异常的信息反馈,并通知SQE联系供应商至产线配合改善; 2.2.1.2.来料不良原因分析 2.2.1.2.1.驻厂PQE主导外协厂、供应商至产线分析,并提供分析结果; 2.2.1.2.1.1.若外协厂与供应商意见一致,确认了双方认可的分析结果,再由工程根据双方的分析结果给出风险评估意见,并提供给PQE参考,由PQE决定是否换料或克服生产; 2.2.1.2.1.2.若外协厂与供应商意见分歧,未达成双方认可的分析结果,则由工程根据异常反馈信息作出判断分析,并将分析意见提供给PQE参考,由PQE协调SQE解决; 2.2.2.加工技术资料缺失导致工艺异常的处理 2.2.2.1.Gerber资料内容缺失的处理 2.2.2.1.1.驻厂NPI以邮件形式通知项目组,SMT工艺工程师进行确认,若情况属实,由研发负责文件升级并给到外协厂,NPI负责跟踪直至问题关闭; 2.2.2.2.《工艺控制事项》内容缺失的处理 2.2.2.2.1.由上海NPI负责文件升级并给到外协厂,驻厂NPI督导外协厂根据升级文件调整工艺维持生产; 2.2. 3.SMT设备(程序)问题导致工艺异常的处理 2.2. 3.1.设备性能衰减导致工艺异常的处理 2.2. 3.1.1.当外协厂SMT设备在固定周期内未进行充分的保养、升级换代等原因使性能衰减,导致工艺异常事故,则需工程介入对设备性能进行评估,并责成外协厂按照设备出厂的固有参数进行改造,再进行设备性能指标(CPK)确认,以满足龙旗产品的工艺能力为前提条件; 2.2. 3.2.设备突发性故障导致工艺异常的处理 2.2. 3.2.1.生产过程中设备突发性故障造成的工艺异常,由外协厂内部控制; 2.2. 3.3.贴片程序错误导致工艺异常的处理

数据库异常处理答案

一、实验/实习过程 实验题1在程序中产生一个ArithmeticException类型被0除的异常,并用catch 语句捕获这个异常。最后通过ArithmeticException类的对象e 的方法getMessage给出异常的具体类型并显示出来。 package Package1; public class除数0 { public static void main(String args[]){ try{ int a=10; int b=0; System.out.println("输出结果为:"+a/b); } catch(ArithmeticException e){ System.out.println("除数不能为0"+e.getMessage()); } } } 实验题2在一个类的静态方法methodOne()方法内使用throw 产生ArithmeticException异常,使用throws子句抛出methodOne()的异常,

在main方法中捕获处理ArithmeticException异常。 package Package1; public class抛出异常 { static void methodOne() throws ArithmeticException{ System.out.println("在methodOne中"); throw new ArithmeticException("除数为0"); } public static void main(String args[]){ try{ int a=10; int b=0; int c=1; System.out.println("输出结果为:"+a/b); } catch(ArithmeticException e){ System.out.println("除数不能为0"+e.getMessage()); } } }

Retrofit响应数据及异常处理策略

今天我们来谈谈客户端对通讯协议的处理,主要分为三部分:约定响应数据格式,响应数据的自动映射以及错误处理三部分。由于数据协议采用json的居多,因此我们在此基础上进行说明。 约定响应数据格式 协议格式 通常来说,你拿到的设计文档中会存在通信协议的说明,对于客户端来说,一个良好的通信协议需要能描述操作状态(操作码+操作提示)以操作结果,因此,常见的响应数据的格式如下: { "code": 0, "msg": "正常", "data": { "id": 1, "account": "121313", "accountName": "alipay", "income": "" } } code定义 code为我们自定义的操作状态码,首先来看我们常用的定义: msg定义 msg为服务器端返回的操作信息。 无论操作成功与否,客户端都应该根据业务给出准确的提示,客户端则根据实际情况选择展示与否。 data 定义 data则是请求返回的具体内容,通常data根据请求接口的不同最终会被解析成不同的实体类。 示例 下面我们以获取消息列表和消息详情两个接口返回的响应数据作为示例: 消息列表: {

"code": 0, "data": { "list": [ { "content": "你参加的活动已经开始了...", "createtime": "2016-09-23 16:44:02", "id": "4480", "status": 0, "title": "活动开始", "type": "1" }, { "content": "你参加的活动已经结束...", "createtime": "2016-09-19 14:30:02", "id": "4444", "status": 0, "title": "活动结束", "type": "1" } ], "total": 2 }, "msg": "正常" } 消息详情 { "code": 0, "data": { "detail": { "content": "你参加的活动已经开始了,请准时到你的活动中去执行", "createtime": "2016-09-23 16:44:02", "id": "4480", "status": 0, "title": "活动开始", "type": "1" }, }, "msg": "正常" }

工艺异常处理

1.9月1号扩散炉不稳定,有个角的方块电阻在36-37之间,偏低,经过调试已经稳定。对于绒面出现的花片问题,由于出现的是少数片为花片,因此做继续传下道的处理。 2.9月3号,白班留下10单功率较低难烧的片子,在旧烧结炉上寻找最佳条件进行烧结,以使功率较好。对于换了加热管的绒面槽造成做片发白,处理意见是暂时停止该槽做绒面,只做加热水用加热。 3.9月6号PE3号管氨气流量在做淀积时异常,立刻把工艺步骤跳到抽空,该管片子颜色不正常,后调到手动模式,发现压力正常,判断为机器问题,同时将该管做出颜色不正常的片子继续补做剩余时间,出来后效果良好。 4.9月7号,阳森德的片子出现倒角不齐的情况,经检查可以把同一角度的片子放一起,再调节网版相关系数,这样可以保证较快的印刷完这单片子。当晚出现停电现象,造成PE 做工艺时氨气被停,该管片子无法补做,返回清洗处洗掉薄膜。 5.9月8号,2号刻蚀机不稳定,辉光颜色黯淡,已经交给晚班陈煜辉处理。夜班出现频繁损坏印刷栅线网版,原因正在调查。凯盛的片子有几片出现边角上做不处绒面,判断为是片源问题,交由质检部处理,建议退回仓库。 6.9月8号,扩散炉方块电阻不太均与,经调试,基本在38-42之间。PE出现压力异常,换成手动模式后正常,可以继续做

片子,怀疑是机器问题。 7.9月10号,对于8号网版损坏频繁,经调节,将高度降到最低后回复正常水平。PE出现白膜(非应力片),已经传给清洗处洗掉薄膜重做PE。对于当天出现的凯盛的片源出现烧结的功率不稳定现象,经过与质检部了解,判断是片源问题。 8.刻蚀机石英罩清洗后做工艺时已经正常,同时扩散炉经过这段时间的调节已经稳定。清洗绒面处有少量的轻微发白片和花片,由于显微镜已坏,无法判断具体原因,只能继续传下道工序。 9.9月11号,PE1号管原来是做工艺必须抽到1时才能正常工艺,而今天出现了真空抽到1后做淀积时压力异常,机器问题。另外PE1号管经统计做出的功率要比其他的管子要低,因此正在调试和统计,并且以警方暂时的停了下来。 10.9月15号白班留下5单功率异常,难烧的片子,在旧烧结炉上已经寻找最佳条件烧结完毕。晚班烧结出来的功率不稳定,经检验,扩散刻蚀均正常。PE1号管仍在调试。 11.9月16号,应力片做完PE后出现色重,重洗重做后,挑选较好的留下道,其余的建议退仓库。换了加热管绒面做出的有发白情况,用碱水煮过绒面槽后再做绒面已正常。另外换过片源后出现了花片,而且出现了手指印,正在调查原因。 12.9月17号,PE一单应力片有13张颜色异常,因为边缘翘起无法镀膜造成颜色异常,建议退仓库。下午做出的片子有

试验数据异常值的检验及剔除方法

目录 摘要......................................................................... I 关键词...................................................................... I 1引言 (1) 2异常值的判别方法 (1) 检验(3S)准则 (1) 狄克松(Dixon)准则 (2) 格拉布斯(Grubbs)准则 (2) 指数分布时异常值检验 (3) 莱茵达准则(PanTa) (3) 肖维勒准则(Chauvenet) (4) 3 实验异常数据的处理 (4) 4 结束语 (5) 参考文献 (6)

试验数据异常值的检验及剔除方法 摘要:在实验中不可避免会存在一些异常数据,而异常数据的存在会掩盖研究对象的变化规律和对分析结果产生重要的影响,异常值的检验与正确处理是保证原始数据可靠性、平均值与标准差计算准确性的前提.本文简述判别测量值异常的几种统计学方法,并利用DPS软件检验及剔除实验数据中异常值,此方法简单、直观、快捷,适合实验者用于实验的数据处理和分析. 关键词:异常值检验;异常值剔除;DPS;测量数据

1 引言 在实验中,由于测量产生误差,从而导致个别数据出现异常,往往导致结果产生较大的误差,即出现数据的异常.而异常数据的出现会掩盖实验数据的变化规律,以致使研究对象变化规律异常,得出错误结论.因此,正确分析并剔除异常值有助于提高实验精度. 判别实验数据中异常值的步骤是先要检验和分析原始数据的记录、操作方法、实验条件等过程,找出异常值出现的原因并予以剔除. 利用计算机剔除异常值的方法许多专家做了详细的文献[1] 报告.如王鑫,吴先球,用Origin 剔除线形拟合中实验数据的异常值;严昌顺.用计算机快速剔除含粗大误差的“环值”;运用了统计学中各种判别异常值的准则,各种准则的优劣程度将体现在下文. 2 异常值的判别方法 判别异常值的准则很多,常用的有t 检验(3S )准则、狄克松(Dixon )准则、格拉布斯(Grubbs )准则等准则.下面将一一简要介绍. 2.1 检验(3S )准则 t 检验准则又称罗曼诺夫斯基准则,它是按t 分布的实际误差分布范围来判别异常值,对重复测量次数较少的情况比较合理. 基本思想:首先剔除一个可疑值,然后安t 分布来检验被剔除的值是否为异常值. 设样本数据为123,,n x x x x ,若认j x 为可疑值.计算余下1n -个数据平均值 1n x -及标准差1n s - ,即2 111,1,1n n i n i i j x x s n --=≠=-∑. 然后,按t 分布来判别被剔除的值j x 是否为异常值. 若1(,)n j x x kn a -->,则j x 为异常值,应予剔除,否则为正常值,应予以保留.其中:a 为显著水平;n 数据个数;(,)k n a 为检验系数,可通过查表得到.

异常数据的处理(标准格式处理)

异常数据的处理 在使用“税务稽查查账软件”的过程中,其前提工作就是“企业数据采集”。通常可以使用奇星查账软件的“数据采集软件”完成企业电子账务数据的采集工作。但实际工作中,由于企业相关人员对“采集行为”的不理解、目前相关政策法规的不明确、企业服务器放在异地等情况,会造成无法通过“数据采集软件”完成正常的数据采集。这就需要通过一些技术手段,人工处理了。 通常对于无法正常采集的企业数据,我们采用下述三个环节进行处理: 一、要求企业从财务软件中,导出“余额表”及“序时账簿” 二、对企业提供的两个电子表进行格式化处理 三、将格式化处理的电子表利用查账软件中的“万能数据导入”还原到查账软件中,生 成电子账簿

出的格式会存在差异,我们对企业给出了规范性要求: 其一:余额表必须是对应数据年度的“一月份期初余额表”,表中所涉的会计科目应该“包含所有科目”,且所涉的会计科目级次应该是从“一级”到“最深科目级次”。并以Excel格式保存。 其二:序时账簿要求企业查询全年凭证,并根据数据量不同,按年、按季或分月导出为Excel。

需要进行处理后,才可使用 (一)处理“余额表” 企业提供的“余额表”中,应该含有科目代码、科目名称、借方余额、贷方余 额,如下图所示: 1、根据“查账软件”万能数据导入功能的要求,“科目名称”中不能含有科目代码信息,可通过Excel的替换功能,进行如下图所示操作,将类似“1002.01/”的信息清除掉

结果如下图所示 2、根据“查账软件”万能数据导入功能的要求,需要手工定义“科目性质”,即“资产”、“负债”、“所有者权益”等,在会计制度科目体系下,分别用“1——5”表示,在新准则下,分别用“1——6”表示 处理方法,通过Excel 的LEFT函数,取科目代码的“第一位”作为科目性质代码,如下图所示

品质异常处理流程及方法

品质异常处理流程及方法Last revision on 21 December 2020

品质异常处理流程及方法 摘要:品质人员的工作职责之一就是要及时发现反馈生产中的品质异常状况,并督促现场执行改善措施、追踪其改善效果,保证只有合格的产品才能转入下一道工序,生产出高质量的产品. 品质人员的工作职责 1、熟悉所控制范围的工艺流程 2、来料确认 3、按照作业指导书规定进行检验(首检、巡检) 4、作相关的质量记录 5、及时发现反馈生产中的品质异常状况,并督促现场执行改善措施、追踪其改善效果 6、特殊产品的跟踪及质量记录 7、及时提醒现场对各物料及成品明显标识,以免混淆 8、及时纠正作业员的违规操作,督促其按作业指导书作业 9、对转下工序的产品进行质量及标识进行确认 品质异常可能发生的原因 生产现场的品质异常主要指的是在生产过程中发现来料、自制件批量不合格或有批量不合格的趋势。品质异常的原因通常有: A. 来料不合格包括上工序、车间的来料不合格 B. 员工操作不规范,不按作业指导书进行、新员工未经培训或未达到要求就上岗 C. 工装夹具定位不准 D. 设备故障 E. 由于标识不清造成混料 F. 图纸、工艺技术文件错误。

品质异常一般处理流程 1、判断异常的严重程度(要用数据说话) 2、及时反馈品质组长及生产拉长并一起分析异常原因(不良率高时应立即开出停线通知单) 3、查出异常原因后将异常反馈给相关的部门 (1)来料原因反馈上工序改善 (2)人为操作因素反馈生产部改善 (3)机器原因反馈设备部 (4)工艺原因反馈工程部 (5)测量误差反馈计量工程师 (6)原因不明的反馈工程部 4、各相关部门提出改善措施,IPQC督促执行 5、跟踪其改善效果,改善OK,此异常则结案,改善没有效果则继续反馈 怎样做才能尽可能的预防品质异常 是一款专门分析品质异常的工具,它主要是应用统计分析技术对项目过程进行实时监控,区分出过程中的随机波动与异常波动,了解每个工序有可能出现的品质异常、了解哪些工位容易出品质异常,从而对过程的异常趋势提出预警,以便及时采取措施,消除异常,恢复稳定,从而达到稳定过程,提高和控制质量的目的.

数据预处理之剔除异常值及平滑处理

数据预处理——剔除异常值及平滑处理 测量数据在其采集与传输过程中,由于环境干扰或人为因素有可能造成个别数据不切合实际或丢失,这种数据称为异常值。为了恢复数据的客观真实性以便将来得到更好的分析结果,有必要先对原始数据剔除异常值。 另外,无论是人工观测的数据还是由数据采集系统获取的数据,都不可避免叠加上“噪声”干扰(反映在曲线图形上就是一些“毛刺和尖峰”)。为了提高数据的质量,必须对数据进行平滑处理(去噪声干扰)。 (一)剔除异常值。 注:若是有空缺值,或导入Matlab 数据显示为“NaN ”(非数),需要忽略整条空缺值数据,或者填上空缺值。 填空缺值的方法,通常有两种:A. 使用样本平均值填充;B. 使用判定树或贝叶斯分类等方法推导最可能的值填充(略)。 一、基本思想: 规定一个置信水平,确定一个置信限度,凡是超过该限度的误差,就认为它是异常值,从而予以剔除。 二、常用方法:拉依达方法、肖维勒方法、一阶差分法。 注意:这些方法都是假设数据依正态分布为前提的。 1. 拉依达方法(非等置信概率) 如果某测量值与平均值之差大于标准偏差的三倍,则予以剔除。 3x i x x S ->

其中,11 n i i x x n ==∑为样本均值,1 2 211()1n x i i S x x n =?? ??? =--∑为样本的标准偏差。 注:适合大样本数据,建议测量次数≥50次。 代码实例(略)。 2. 肖维勒方法(等置信概率) 在 n 次测量结果中,如果某误差可能出现的次数小于半次时,就予以剔除。 这实质上是规定了置信概率为1-1/2n ,根据这一置信概率,可计算出肖维勒系数,也可从表中查出,当要求不很严格时,还可按下列近似公式计算: 10.4ln()n n ω=+ Tab1. 肖维勒系数表 如果某测量值与平均值之差的绝对值大于标准偏差与肖维勒系数之积,则该测量值被剔除。 n x i x x S ω-> 例1. 利用肖维勒方法对下列数据的异常值(2.5000)进行剔除: 1.5034 1.5062 1.5034 1.5024 1.4985 2.5000 1.5007

重力勘探—重力异常的数据处理

第四章重力异常的数据处理 布格重力异常反映了地壳内部物质密度的不均匀性,即从地表到地下几十公里的地壳深部,只要物质密度横向发生变化,在地下不同的空间和范田内形成剩余质量,就可以引起地表的重力异常。定性解释侧重于判断引起异常的地质原因,并粗略估计产生异常的地质体的形状、产状及埋深等。 定量解释则是通过理论计算.对地质体的规模、形状、产状及埋深等作出具体解答。 重力异常的推断解释的步骤: ①阐明引起异常的地质因素具体地说,就是确定异常是浅部因素还是深部因 素引起,是矿体还是构造或其它密度不均匀体(岩性变化、侵入体等)的反映。——定性解释 ②划分和处理实测异常重力异常图往往是地表到地球深处所有密度不均匀体 产生的异常的叠加图象。为了获取探测对象产生的异常,需要将它们进行划分。不同的研究目的提取的异常信息不同,例如,矿产调查要提取队是矿体或没部构造产生的局部异常;而深部重力研究的目标正好相反,需要划分出的是反映地壳深部及上地幔的区域异常。 ③确定地质体或地质构造的赋存形态一是根据已知地质体或地质构造的 形状、产状及埋深等.研究它们引起的异常的特征,包括异常的形状、幅度、梯度及变化规律等。二是根据异常的形态及变化规律等,确定地质体或地质构造的形状、产状、埋深及规模等。前者足由源求场,称为止(演)问题;后者是由场求源,称为反(演)问题。正问题是反问题的基础,而求解反问题则是定量解择的最终目的。 §4.1 重力异常的主要地质原因 一.地壳深部因素

莫霍洛维奇面:地壳与上地馒之间存在着一个界西 地壳厚度各地不同,大陆平原地区大约20~30km,高山区为40~60km,西藏高原达60km以上,海洋区为10~20km,最薄处仅数公里。这一界面上下物质密度差达0.3g/cm3以上,界面以上的硅镁层密度为 2.8~3.0g/cm3,硅侣层为2.5~2.7g/cm3,界面以下物质密度为3.3~3.4g/cm3。 该界面的起伏引起地表重力变化的特点是导常分布植围广,幅度变化大。地形海拔越高,地壳越厚,布格重力异常就越低,而海洋地区一般显示重力异常高。 地壳厚度变化与布格力异常存在近似的线性关系。内比可见,地壳深部对重力异常的影响主要来源于莫氏界面的起伏。重力异常形态与地形起伏呈镜像关系。

质量异常处理单

填写部门:质量部填写人:日期:2014.3.19 物料代码:R15052071名称/型号/规格:木箱/EXP182A1/康开当批总数:1 发生环节:■进料检查□生产过程□出货检查□客服现场□客户发现□其它不良数/检查总数:1/1 A:问题描述(发生时间、地点、人员、过程、现象、程度、频次、数量、比率) 木箱上无丝印LOGO标识,我司要求丝印蓝色OTIS 。 B:紧急处理 B1:质量部初步分析/责任判定: 签名/日期:万建明 责任部门:■供应商_康开□客户□生产□SMT □质量□研发□技术□工艺□物流□营销□合同□其他_____ B2:不合格品处理■返工□退货□报废□筛选□降级使用□特准质量部审核 B3:处理措施级别□无需□ C 短期措施■ C&D短期和长期措施孙青 B4:责任部门签收及处理意见 签名/日期: 特准签批特准理由:申请部门:申请人:□研发部□技术部□工艺部□生产部□SMT □同意□不同意□同意□不同意□同意□不同意□同意□不同意□同意□不同意 □合同部□物流部□营销中心□质量部(副)总裁/总经理□同意□不同意□同意□不同意□同意□不同意□同意□不同意□同意□不同意 C:直接原因分析及短期措施(包括原材料、半成品、成品、在制品、库存品、已出货品的处置方案,可附页) 直接原因分析:1、3月16日星期天,为了17日能及时发货给客户,我司安排相关人员来加班。包装组有两个新入职的员工,不熟悉该产品的包装要求,也不会看发货信息的备注项。并且打包好以后就入库。装车时没有通知发货审核人员来检查。2、出货审核人员没有在场进行监督,没有对产品在发货之前做检测,失职导致产品漏检。短期措施:针对此次出现的问题,我司安排人员于3月21日带印有蓝色OTIS的木箱到上海新时达调换无LOGO 标识的木箱。 签名韦竟杰日期2014-03-21 D:根源分析及长期措施(必要时填写,可附页) 根源分析:新员工入职培训不够完善,不了解发货信息关于产品包装要求是导致错误的主要原因。出货检验员没有在场进行检验,并未交接给别人代理检验。 长期措施:1、给包装人员培训,每次有发货时下发发货信息单,了解产品的包装要求按发货信息上的要求进行包装。2、出货审核人员每次出货审核时要认真对照发货信息审核产品,包括箱子里边的变压器和箱外的唛头标签等有没有错误,审核无误后方可签字放行。 签名韦竟杰日期2014-03-21 E:结果验证及结案批准 E1:结果验证 签名日期

大数据库异常处理问题详解

一、 一、实验/实习过程 实验题1在程序中产生一个ArithmeticException类型被0除的异常,并用catch 语句捕获这个异常。最后通过ArithmeticException类的对象e 的方法getMessage给出异常的具体类型并显示出来。 package Package1; public class除数0 { public static void main(String args[]){ try{ int a=10; int b=0; System.out.println("输出结果为:"+a/b); } catch(ArithmeticException e){ System.out.println("除数不能为0"+e.getMessage()); } } } 实验题2在一个类的静态方法methodOne()方法使用throw 产生ArithmeticException异常,使用throws子句抛出methodOne()的异常,

在main方法中捕获处理ArithmeticException异常。 package Package1; public class抛出异常 { static void methodOne() throws ArithmeticException{ System.out.println("在methodOne中"); throw new ArithmeticException("除数为0"); } public static void main(String args[]){ try{ int a=10; int b=0; int c=1; System.out.println("输出结果为:"+a/b); } catch(ArithmeticException e){ System.out.println("除数不能为0"+e.getMessage()); } } }

品质异常报告格式

品质异常报告格式 品质异常报告格式 篇一: 品质部品质异常检讨报告 品质部品质异常检讨报告 事件问题描述如下: 在6-1至6-3号生产的T8椭圆12平钩26*2 9.5和T8 12斜钩V字型直径26的产品,现这两款产品在生产至出货过程中混料包装出货到客户那里,导致影响客户的出货交期,有损客户对我司的印象,并造成公司物力资源的重大损失。 产品工序责任人如下:开机技术员: 蔡灿军、赖虔洲 品质IPQC: 廖仲坤、赖惠兰 点数贴标签: 廖凤凤、罗贞凤、吕明 裁管: 廖国林 出货检验: 易浩 品质部经查证对此事做原因分析如下: 1、商务部的制令单上的图纸没更新只是文字描述。

2、针对产品规格和形状差不多的产品,且在同一台机器上生产,生产一款产品订单时更换模具生产下一款时,技术员未跟品质或点数工序沟通说下。 3、产品点数贴标签的时候标签贴错了,但当班的IPQC盖章时没检查到位发现问题。 4、裁管工序裁切时也没核对制令单来做,裁管员在裁管时没主动把首件拿给OQC检验确认。 5、生产出来的产品没有明确区分标识并分开放置,导致裁切、包装容易出错。 6、出货检查时OQC检验没及时发现问题杜绝流入客户那里。 7、新来员工及临时工未做相关岗前作业培训,容易放错误。 永久改善纠正措施如下: 1、通知此事件相关负责人,然后召开品质异常检讨会。 2、商务部发出的制令单产品资料要及时更新。 3、新来员工及临时工应做相关的产品品质与作业规模培训再上岗。 4、品质部加强对品质检验员的培训与督导,特别是出货检查要把关到位。 5、生产车间5S要做好,如产品要准确标识区分,对于类似的产品要做明显标识并分开放置。 6、各部门的岗位职责说明书的制定落实。让工作流程化,制度化。这样大家工作更顺心。 7、各部门的管理制度撰写制定出来,并落实执行到位。

相关文档