当前位置:文档之家› ucosII实验报告

ucosII实验报告

ucosII实验报告
ucosII实验报告

实验1《任务的创建、删除、挂起、恢复》实验学时: 2 实验地点:二综x203 实验日期:2013/12/13

一、实验目的

1.实验环境的建立

2.任务的接口函数的应用

二、实验内容

1.设计一个只有一个任务Task1,当程序运行后任务的工作就是每秒在显示器上显示一个字符“M”。

2.在任务Task1中在创建一个任务Task2 。当程序运行后,任务Task1的工作在显示器上显示一个字符“M”;Task2 则是在显示器上显示字符“Y”。

3. 要求任务Task2运行20次后,挂起任务Task1;任务Task2运行40次后,恢复任务Task1。

4. 当任务Task1运行5次时,用函数OSSchedLock()对调度器进行加锁;而当任务Task1运行到第10次时,再用函数OSSchedUnlock()对调度器进行解锁,并运行该程序。

5. 使任务Task1能删除任务Task2。

三、实验方法

包括实验方法、原理、技术、方案等。

四、实验步骤

1.将BC45文件夹拷贝到C分区根目录下。

2.将software文件夹拷贝到任意分区根目录下。

3. 分别完成实验1、2、3、4、5

五、实验结果

1. DOS窗口每秒显示一个字符“M”。每行显示10个“M”字符,行与行的间隔是一行。按ESC键程序退出

2. DOS窗口交替显示字符"M"和“Y”,每隔一秒显示一次。每行显示10个字符,行与行之间的间隔是一行。

按ESC键程序退出

3.DOS窗口开始交替显示字符"M"和“Y”,显示20次以后,Task1挂起,只显示“Y”,当Task2运行40次以后,Task1恢复,然后开始Task1,Task2交替运行。

4.DOS窗口开始交题显示字符"M"和“Y”,显示5次以后,Task1将任务调度器上锁,此时只有“M”打印,当Task1运行10次后,Task1,Task2开始交替运行。

5.DOS窗口开始交替显示字符“M”和“Y”,显示10次后,只显示“Y”

六、实验结论

对实验数据和结果进行分析描述,给出实验取得的成果和结论。

1.

程序:/********

* Exercise 2 - 1

* author: csu chenan

* time: 2013 - 12 - 12

********/

#include "includes.h"

#define TASK_STK_SIZE 256

OS_STK MyTaskStk[TASK_STK_SIZE];

INT16S key;

INT8U x = 0, y = 0;

void MyTask(void *pdata){

#if OS_CRITICAL_METHOD == 3

OS_CPU_SR c pu_sr;

#endif

pdata = pdata;

OS_ENTER_CRITICAL();

PC_VectSet(0X08, OSTickISR);

PC_SetTickRate(OS_TICKS_PER_SEC);

OS_EXIT_CRITICAL();

OSStatInit();

for(;;){

if(x > 10){

x = 0;

y = y + 2;

}

PC_DispChar(x, y, *(char*)pdata,,DISP_BGND_BLACK + DISP_FGND_WHITE);

x = x + 1;

if(PC_GetKey(&key) == 1){

if(key == 0x1B){

PC_DOSReturn();

}

}

OSTimeDlyHMSM(0,0,1,0);

}

}

void main(void){

char * ch = "M";

OSInit();

PC_DOSSaveReturn();

PC_VectSet(uCOS, OSCtxSw);

PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK);

OSTaskCreate(MyTask, ch, &MyTaskStk[TASK_STK_SIZE-1], 0);

OSStart();

}

2.

程序源代码:

/********

* Exercise 2 - 2

* author: csu chenan

* time: 2013 - 12 - 13

********/

#include "includes.h"

#define My_TASK1_STK_SIZE 256

#define My_TASK2_STK_SIZE 256

OS_STK MyTask1Stk[My_TASK1_STK_SIZE];

OS_STK MyTask2Stk[My_TASK2_STK_SIZE];

INT16S key;

INT8U x = 0, y = 0;

void MyTask2(void *pdata){

#if OS_CRITICAL_METHOD == 3

OS_CPU_SR cpu_sr;

#endif

pdata = pdata;

OS_ENTER_CRITICAL();

PC_VectSet(0x80, OSTickISR);

PC_SetTickRate(OS_TICKS_PER_SEC);

OS_EXIT_CRITICAL();

for(;;){

if(x > 10){

x = 0;

y = y + 2;

}

PC_DispChar(x, y, *(char*)pdata, DISP_BGND_BLACK + DISP_FGND_WHITE);

x = x + 1;

if(PC_GetKey(&key) == 1){

if(key == 0x1B){

PC_DOSReturn();

}

}

OSTimeDlyHMSM(0,0,1,0);

}

}

void MyTask1(void *pdata){

#if OS_CRITICAL_METHOD == 3

OS_CPU_SR c pu_sr;

#endif

char *ch = "Y";

pdata = pdata;

OS_ENTER_CRITICAL();

PC_VectSet(0X08, OSTickISR);

PC_SetTickRate(OS_TICKS_PER_SEC);

OS_EXIT_CRITICAL();

OSStatInit();

OSTaskCreate(MyTask2, ch, &MyTask2Stk[My_TASK2_STK_SIZE - 1], 1);

for(;;){

if(x > 10){

x = 0;

y = y + 2;

}

PC_DispChar(x, y, *(char*)pdata, DISP_BGND_BLACK + DISP_FGND_WHITE);

x = x + 1;

if(PC_GetKey(&key) == 1){

if(key == 0x1B){

PC_DOSReturn();

}

}

OSTimeDlyHMSM(0,0,1,0);

}

}

void main(void){

char * ch = "M";

OSInit();

PC_DOSSaveReturn();

PC_VectSet(uCOS, OSCtxSw);

PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK);

OSTaskCreate(MyTask1, ch, &MyTask1Stk[My_TASK1_STK_SIZE-1], 0);

OSStart();

}

3.

程序:

/********

* Exercise 2 - 3

* author: csu chenan

* time: 2013 - 12 - 13

********/

#include "includes.h"

#define My_TASK1_STK_SIZE 256

#define My_TASK2_STK_SIZE 256

OS_STK MyTask1Stk[My_TASK1_STK_SIZE];

OS_STK MyTask2Stk[My_TASK2_STK_SIZE];

INT16S key;

INT8U x = 0, y = 0;

INT16U cnt = 0;

void MyTask2(void *pdata){

#if OS_CRITICAL_METHOD == 3

OS_CPU_SR cpu_sr;

#endif

pdata = pdata;

for(;;){

cnt += 1;

if(cnt == 20){

OSTaskSuspend(0);

}

if(cnt == 40){

OSTaskResume(0);

}

if(x > 10){

x = 0;

y = y + 2;

}

PC_DispChar(x, y, *(char*)pdata, DISP_BGND_BLACK + DISP_FGND_WHITE);

x = x + 1;

if(PC_GetKey(&key) == 1){

if(key == 0x1B){

PC_DOSReturn();

}

}

OSTimeDlyHMSM(0,0,1,0);

}

}

void MyTask1(void *pdata){

char * ch2 = "Y";

#if OS_CRITICAL_METHOD == 3

OS_CPU_SR c pu_sr;

#endif

pdata = pdata;

OS_ENTER_CRITICAL();

PC_VectSet(0X08, OSTickISR);

PC_SetTickRate(OS_TICKS_PER_SEC);

OS_EXIT_CRITICAL();

OSStatInit();

OSTaskCreate(MyTask2, ch2, &MyTask2Stk[My_TASK2_STK_SIZE-1], 1);

for(;;){

if(x > 10){

x = 0;

y = y + 2;

}

PC_DispChar(x, y, *(char*)pdata, DISP_BGND_BLACK + DISP_FGND_WHITE);

x = x + 1;

if(PC_GetKey(&key) == 1){

if(key == 0x1B){

PC_DOSReturn();

}

}

cnt ++;

OSTimeDlyHMSM(0,0,1,0);

}

}

void main(void){

char * ch = "M";

OSInit();

PC_DOSSaveReturn();

PC_VectSet(uCOS, OSCtxSw);

PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK);

OSTaskCreate(MyTask1, ch, &MyTask1Stk[My_TASK1_STK_SIZE-1], 0);

OSStart();

}

4.

程序:

/********

* Exercise 2 - 3

* author: csu chenan

* time: 2013 - 12 - 13

********/

#include "includes.h"

#define My_TASK1_STK_SIZE 256

#define My_TASK2_STK_SIZE 256

OS_STK MyTask1Stk[My_TASK1_STK_SIZE];

OS_STK MyTask2Stk[My_TASK2_STK_SIZE];

INT16S key;

INT8U x = 0, y = 0;

INT16U cnt = 0;

void MyTask2(void *pdata){

#if OS_CRITICAL_METHOD == 3

OS_CPU_SR cpu_sr;

#endif

pdata = pdata;

for(;;){

if(x > 10){

x = 0;

y = y + 2;

}

PC_DispChar(x, y, *(char*)pdata, DISP_BGND_BLACK + DISP_FGND_WHITE);

x = x + 1;

if(PC_GetKey(&key) == 1){

if(key == 0x1B){

PC_DOSReturn();

}

}

OSTimeDlyHMSM(0,0,1,0);

}

}

void MyTask1(void *pdata){

char * ch2 = "Y";

#if OS_CRITICAL_METHOD == 3

OS_CPU_SR cpu_sr;

#endif

pdata = pdata;

OS_ENTER_CRITICAL();

PC_VectSet(0X08, OSTickISR);

PC_SetTickRate(OS_TICKS_PER_SEC);

OS_EXIT_CRITICAL();

OSStatInit();

OSTaskCreate(MyTask2, ch2, &MyTask2Stk[My_TASK2_STK_SIZE-1], 1);

for(;;){

cnt = cnt + 1;

if(cnt == 5){

OSSchedLock();

}

else if(cnt==10){

OSSchedUnlock();

}

if(x > 10){

x = 0;

y = y + 2;

}

PC_DispChar(x, y, *(char*)pdata, DISP_BGND_BLACK + DISP_FGND_WHITE);

x = x + 1;

if(PC_GetKey(&key) == 1){

if(key == 0x1B){

PC_DOSReturn();

}

}

OSTimeDlyHMSM(0,0,1,0);

}

}

void main(void){

char * ch = "M";

OSInit();

PC_DOSSaveReturn();

PC_VectSet(uCOS, OSCtxSw);

PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK);

OSTaskCreate(MyTask1, ch, &MyTask1Stk[My_TASK1_STK_SIZE-1], 0);

OSStart();

}

5.

程序代码如下:

/********

* Exercise 2 - 3

* author: csu chenan

* time: 2013 - 12 - 13

********/

#include "includes.h"

#define My_TASK1_STK_SIZE 256

#define My_TASK2_STK_SIZE 256

OS_STK MyTask1Stk[My_TASK1_STK_SIZE];

OS_STK MyTask2Stk[My_TASK2_STK_SIZE];

INT16S key;

INT8U x = 0, y = 0;

INT16U cnt = 0;

void MyTask2(void *pdata){

#if OS_CRITICAL_METHOD == 3

OS_CPU_SR cpu_sr;

#endif

pdata = pdata;

for(;;){

if(OSTaskDelReq(OS_PRIO_SELF) == OS_TASK_DEL_REQ){ OSTaskDel(OS_PRIO_SELF);

break;

}

if(x > 10){

x = 0;

y = y + 2;

}

PC_DispChar(x, y, *(char*)pdata, DISP_BGND_BLACK + DISP_FGND_WHITE);

x = x + 1;

if(PC_GetKey(&key) == 1){

if(key == 0x1B){

PC_DOSReturn();

}

}

OSTimeDlyHMSM(0,0,1,0);

}

}

void MyTask1(void *pdata){

char * ch2 = "Y";

#if OS_CRITICAL_METHOD == 3

OS_CPU_SR cpu_sr;

#endif

pdata = pdata;

OS_ENTER_CRITICAL();

PC_VectSet(0X08, OSTickISR);

PC_SetTickRate(OS_TICKS_PER_SEC);

OS_EXIT_CRITICAL();

OSStatInit();

OSTaskCreate(MyTask2, ch2, &MyTask2Stk[My_TASK2_STK_SIZE-1], 1);

for(;;){

cnt = cnt + 1;

if(cnt == 10){

while(OSTaskDelReq(0) != OS_TASK_NOT_EXIST){

OSTimeDly(1);

}

}

if(x > 10){

x = 0;

y = y + 2;

}

PC_DispChar(x, y, *(char*)pdata, DISP_BGND_BLACK + DISP_FGND_WHITE);

x = x + 1;

if(PC_GetKey(&key) == 1){

if(key == 0x1B){

PC_DOSReturn();

}

}

OSTimeDlyHMSM(0,0,1,0);

}

}

void main(void){

char * ch = "M";

OSInit();

PC_DOSSaveReturn();

PC_VectSet(uCOS, OSCtxSw);

PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK);

OSTaskCreate(MyTask1, ch, &MyTask1Stk[My_TASK1_STK_SIZE-1], 0);

OSStart();

}

注:有程序的要求附上程序源代码,有图表的要有截图并有相应的文字说明和分析七、实验小结

给出本次实验的体会,如学会了什么,遇到哪些问题,如何解决这些问题,存在哪些有待改进的地方。

实验2《时钟节拍及时间管理函数》

实验学时: 2 实验地点:综合实验楼x201 实验日期:2013/12/15

一、实验目的

1.实验环境的建立

2.多任务环境下中断机制及时间API的应用

二、实验内容

1.在OS_CPU_C.C文件中按如下代码定义函数OSTimeTickHook(),然后运行并查看运行结果。实现显示系统在每发生500次时钟中断期间,调度器进行任务调度的次数。

2.设计一个有3个任务的应用程序。这3个任务分别是:MyTask、YouTask、和InterTask。其中任务InterTask是在时钟节拍中断服务程序中用钩子函数OSTimeTickHook()中断了10000次时使用一个信号变量InterKey激活的。运行并分析由中断服务程序激活任务的工作特点。

3. 设计一个应用,在任务MyTask中调用函数OSTimeDlyResume()取消任务YouTask的延时。为了观察任务YouTask的延时时间的变化,在钩子函数OSTimeTickHook()输出了任务YouTask在延时时间到时的时钟节拍数。

4. 设计一个应用程序,在任务中调用OSTimeGet()函数获得并显示系统的时钟节拍数OSTime。当任务运行10s时,调用函数OSTimeSet()将OSTime的值设为10。

5. 在KEIL模拟开发环境下,将顺序执行的程序改为多任务运行,并跟踪程序或设置断点观察多任务系统执行流程。

三、实验方法

包括实验方法、原理、技术、方案等。

四、实验步骤

1.将BC45文件夹拷贝到C分区根目录下。

2.将software文件夹拷贝到任意分区根目录下。

3. 安装KEIL2集成开发环境。

4. 分别完成实验1、2、3、4、5

五、实验结果

记录实验输出数据和结果。

1.

2.

3.

4.

5.

六、实验结论

对实验数据和结果进行分析描述,给出实验取得的成果和结论。

1.

OS_CPU_C.c

#if OS_CPU_HOOKS_EN > 0

INT16U d=0;

INT16U d1=0;

void OSTimeTickHook (void)

{

char* s0 = "500";

char* s1 = "Per";

char* s2 = "Times Interrupt Attemper Times";

char s[8];

if(d == 500)

{

PC_DispStr(14,4,s1,DISP_BGND_BLACK+DISP_FGND_WHITE);

PC_DispStr(18,4,s0,DISP_BGND_BLACK+DISP_FGND_WHITE);

PC_DispStr(22,4,s2,DISP_BGND_BLACK+DISP_FGND_WHITE);

sprintf(s,"%d",OSCtxSwCtr);

PC_DispStr(31,d1+5,s,DISP_BGND_BLACK+DISP_FGND_WHITE);

d = 0;

d1 += 1;

}

d += 1;

}

#endif

#include "includes.h"

#define TASK_STK_SIZE 512

OS_STK MyTaskStk[TASK_STK_SIZE];

INT16S key;

INT8U x=0,y=0;

void MyTask(void *data);

void main (void)

{

char* s_M="M";

OSInit(); /* Initialize uC/OS-II */

PC_DOSSaveReturn(); /* Save environment to return to DOS */

PC_VectSet(uCOS, OSCtxSw); /* Install uC/OS-II's context switch vector */

PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK);

OSTaskCreate(MyTask,s_M, &MyTaskStk[TASK_STK_SIZE - 1], 0);

OSStart(); /* Start multitasking */

}

void MyTask(void *pdata)

{

#if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */

OS_CPU_SR cpu_sr;

#endif

pdata = pdata; /* Prevent compiler warning */

OS_ENTER_CRITICAL();

PC_VectSet(0x08, OSTickISR);

PC_SetTickRate(OS_TICKS_PER_SEC);

OS_EXIT_CRITICAL();

OSStatInit();

for (;;)

{

if(x>10)

{

x=0;

y+=2;

}

PC_DispChar(x,y,*(char*)pdata,DISP_BGND_BLACK+DISP_FGND_WHITE);

x+=1;

if(PC_GetKey(&key) == 1)

{

if(key == 0x1B)

{

PC_DOSReturn();

}

}

OSTimeDlyHMSM(0,0,1,0);

}

}

2.程序:OS_COPU_C.c

#if OS_CPU_HOOKS_EN > 0

extern BOOLEAN InterKey;

INT16U InterCtr = 0;

void OSTimeTickHook (void)

if(InterCtr == 10000)

{

InterKey = 1;

}

InterCtr++;

}

#endif

Test.c

#include "includes.h"

#define TASK_STK_SIZE 512 //任务堆栈长度

OS_STK MyTaskStk[TASK_STK_SIZE]; //定义任务堆栈区OS_STK YouTaskStk[TASK_STK_SIZE]; //定义任务堆栈区OS_STK InterTaskStk[TASK_STK_SIZE]; //定义任务堆栈区INT16S key; //用于退出uCOS_II的键

INT8U x=0,y=0; //字符显示位置

BOOLEAN InterKey=FALSE;

void MyTask(void *data); //声明任务

void YouTask(void *data); //声明任务

void InterTask(void *data); //声明任务

void main (void)

{

char* s_M="M"; //定义要显示的字符

OSInit( ); //初始化uCOS_II

PC_DOSSaveReturn( ); //保存Dos环境

PC_VectSet(uCOS, OSCtxSw); //安装uCOS_II中断

PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK);

OSTaskCreate(

MyTask, //创建任务MyTask

s_M, //给任务传递参数

&MyTaskStk[TASK_STK_SIZE - 1], //设置任务堆栈栈顶指针

0 //任务的优先级别为0

);

OSStart( ); //启动多任务管理

}

void MyTask (void *pdata)

柏拉图(Pareto Chart)

柏拉圖(Pareto Chart)是品管工具裡不可或缺的工具之一,它利用80/20的趨勢原則幫助工程師們歸納出較重大的要因,然後讓工程師可以只針對少數的及個要因,集中火力並對症下藥,以收事半功倍之效。但好像沒有幾個人可以使用Excel 畫出正確的柏拉圖。 如果你還不瞭解何謂柏拉圖(Pareto Chart),就參考這裡吧: 柏拉圖分析(Pareto Chart)介紹 本文就暫時跳開所有的工程問題,單純的只討論如何利用Excel2007來製作出完整的柏拉圖(Pareto chart),我知所以強調完整,是因為很多人做出來的柏拉圖都有點似是而非,比較一下上面兩張柏拉圖的畫法,右邊的圖只要稍有Excel 經驗的人,應該很簡單就可以畫出來,左圖才是比較正去的柏拉圖的畫法,要畫出這樣的圖可得有點技巧。 心動了嗎?現在就來看看如何利用Excel2007畫出這樣的柏拉圖效果,不過得先說聲對不起,因為我只有英文版的Excel2007,所以解說中的指令也都是英文,可能得麻煩自己對照一下中文了。 Step 1. 輸入數據並將數據由大到小排列。 1. 如下圖輸入A1~D1標題及A3~B6的「現象」及「數量」。 2. 將D2~D6的各式設為「百分比」。 3. 在C3的地方輸入公式【=B3】,在C4的地方輸入公式【=C3+B3】,其餘的 C5~C6用複製貼上就可以,或者用拖拉的方式複製也可以。 4. 在D2的地方輸入【0%】,這是一定要的,因為柏拉圖都是從0%開始的。 5. 在D3的地方輸入【=C3/$C$6】,其他的D4~D6用複製貼上就可以,或者用拖拉的方式複製也可以。小撇步:當你要輸入【$C$6】時,其實可以把滑鼠點到 C6的欄位再按鍵,就會自動切換成絕對位址了。 6. 請檢查D6的地方,也就是百分比的累加最終一定要是100%。

整理成为柏拉图的数据

整理成为柏拉图的数据 1.品质方面 (1)不合格品数、损失金额,可依不合格项目别、发生场所别、发生过程别、机械别、操作者别、原料别、作业方法别…等结果或要因区分出[重要的少数,琐细的多数]情形。 (2)消费者的抱怨项目、抱怨件数、修理件数…等。 2.时间方面—效率 (1)操作的效率—过程别、单位作业别…等。 (2)故障率、修理时间—机械别、设备别…等。 2.成本方面 (1)原料、材料别的单价。 (2)规格别、商品别的单价。 (3)质量成本—预防成本、鉴定成本、内外部失败成本。 3.营业方面 销货金额别、营业所别、商品销售别、业务员别。 4.交通方面 (1)交通事故肇事率、违规案件类别、车种别、地区别(国家别)。 (2)高速公路超速原因别、肇事死亡原因别…….等。 5.安全方面 灾害的件数—场所别、职务别、人体部位别。 6.选举方面 (1)票源区域。 (2)调查活动区人数分配。 8.治安方面 (1)少年犯罪率、件数、年龄别。 (2)缉捕要犯件数、人数、地区别、分局别、时间别。 9.医学方面 (1)十大病因别、年龄别、糖尿病要因别、职业病患别。 (2)门诊病患类别、门诊科别…….等。 八.范例 1.客户抱怨件数分析 前三项,抱怨原因占70.1%,针对前三项问题, 加以层别找出真正原因,则可消除大部份的问题。 造成报废的前三项即占了71.8%,如能针对操作方法机械浮动及原料方面,重新分析层别,并采取对策即可解决大部份问题。 28 14 12 8 5 10 77 件数 100% 70%

2.生产线报废原因分析 3.交通肇事死亡原因分析 4.83年死亡原因调查 九.实例研讨 例1:某公司83年度的行政后勤费用,经统计后如附表,请把它作成柏拉图, 以了解哪项支出占第一位,以及那些项目占较大比例,并试着提出改善方案。 解:(1)作统计表 08 11 35 26 23 14 金额 100% 71.8% 89 56 458 413 253 101 1370 件 数 100% 82.0% 人数 恶 脑 意 心 糖 其 性 血 外 脏 尿 肿 管 事 病 病 他 瘤 意 故 外 38651 300 200 100 16.92% 15.49% 16.81%

第3章 柏拉图(Pareto Diagram)范文

第3章柏拉图(Pareto Diagram) 一.前言 由生产现场所收集到的数据,必须有效的加以分析、运用,才能成为有价值的数据。而将此数据加以分类、整理,并作成图表,充份的掌握问题点及重要原因,则是时下不可或缺的管理工具。而最为现场人员广泛使用于数据管理的图表为柏拉图。 二.柏拉图的由来 意大利经济学家V.Parelo(1848-1923)于1897年分析社会经济结构时,赫然发现国民所得的大部份均集中于少数人身上,于是将所得大小与拥有所得的关系加以整理,发现有一定的方程式可以表示,称为“柏拉图法则。” 1907年叛国经济学者M.Oloren使用累积分配曲线来描绘“柏拉图法则”,也就是经济学所构的劳伦兹曲线。 美国品管专家J.M.Juran(朱兰博士)将劳伦兹曲线应用于品管上,同时创出“Vital Few Trivial Many”(重要的少数,琐碎的多数)的见解,并借用Parelo的名字,将此现象定为“柏拉图原理”。 “柏拉图”方法,由品管圈(QCC)创始人日本石川磬博士介绍到品管圈活动中使用,而成为品管七大手法之一。 三.柏拉图的定义 1.根据所搜集的数据按不良原因、不良状况、不良项目、不良发生的位置等不同区分标准而加以整理、分类、藉以寻求占最大比率之原因、状况 或位置,按其大小顺序排列,再加上累积值的图形。 2.从柏拉图可看出那一项目有问题,其影响度如何,以判断问题之癌结所在,并针对问题点采取改善措施,故又称为ABC图。(所谓ABC分析的 重点是强调对于一切事务,依其价值的大小而付出不同的努力,以获致 效果;亦即柏拉图分析前面2-3项重要项目之控制)。 3.又因图的排列系依大小顺序为这,故又可称为排列图。 四.柏拉图的制作说明 1.柏拉图的制作方法 步骤1:决定数据的分类项目 分类的方式有: A.结果的分类包括不良项目别、场所别、时间别、工程别。 B.原因的分类包括材料别(厂商、成份等)。方式别(作业条件、程序、方法、环境等)、人(年龄、熟练度、经验等)、设备别(机械、工具

柏拉图理想国读书笔记范文

柏拉图理想国读书笔记范文 《理想国》在讨论到城邦的建设的时候,首先说的就是人的正义问题,在柏拉图的理解中,他认为我们如何去理解正义首先需要理解的是一个城邦的正义,如果我们理解了城邦的正义那么也就理解了个人的正义。下面是xx整理的理想国读书笔记,希望大家喜欢。 柏拉图理想国读书笔记1 今年的上课老师让读柏拉图《理想国》,对于这样的有着几千年的历史的名著,似乎在我们今天的人看来是不怎么样的,因为在我们今天的理解中我们看到书中的一些对话是十分的荒唐甚至是幼稚的,但是其实在这样的理解中我们有一个先入为主的视角,我们忽视了我们应该关注的东西,我们只是知道在我们今天看来这样的东西或许是不怎么样的,在我的老师组织的课堂的讨论上边,很多人都在从这样的理解上误解柏拉图的著作思想,所以在我自己的理解中或许在我们阅读的首先应该更加的关注柏拉图的写作才背景和他自己的很多的背景,这样的理解是十分的必要的,我们必须在理解著作的首先知道了作者的自己的背景,或许我们的了解会更加的宽容一点,我们或许在我们理解中更加的清楚如何来面对自己的阅读的困难。

我们知道,柏拉图的《理想国》写作于古希腊的时代,这样的时代的背景让我们知道柏拉图的思想是属于那个时代的,当然我这样说的目的不是说他的思想不可以启迪我们今天的人们,相反的是,柏拉图的著作启发了后世的很多的思想家去开发他们自己的思想的领地,柏拉图的《理想国》在古希腊的文字的理解中是“政治学”的意思,这和柏拉图的学生亚里士多德的著作《政治学》是一个名字,在某一种程度上也是说的一个内容,在后来人们的翻译的过程中西方人将希腊文翻译为拉丁文时是翻译为了今天的英文“The Republic”拉丁文词根,所以英文的翻译自然就是“The Republic”,我们的国人在翻译英文的时候翻译为了"共和国","国家篇"或者是我们今天在理解的过程中展现出来的一种关于自己的制度的建设的一种期待,你是否理解这样的目的,就是说我们在阅读或者理解那样的文本的知识的时候我们无法回避的想到我们自己的环境和我们自己的制度是否可以适合于我们自己的生存,于是我们翻译的理想国也就在这样的了解中定了下来,其实在我自己的理解中柏拉图的是一个十分的现实的政治的东西,所以我们看到的是一个在理想的环境中想象的东西,可是我们曲解了柏拉图的理解,从题目的翻译上我们就可以看的出来,所以我们更多的是相信理想国是空想的,却不知道那是一个经过当时现实的思考而做出的一个高于我们的实际的制度建制的一个政治的东

案例分析

奥迪四环认知:从产品价值到品牌精神内涵 很难想象,就在上世纪八十年代,中国的千人汽车保有量仅为0.7辆,对于当时的人们来说,大众的桑塔纳已经是可望而不可及的奢侈物件,更别说只有省部级领导才能坐上的奥迪100。二十多年来,在政府示范作用的带动下,奥迪所代表的社会地位、事业成就以及低调内敛的形象被社会所接受,一句流传至今的民谚“大小是个官,都坐四个圈”,形象而生动地刻画了中国社会对于这种主流形象的追捧。 这是种种历史的偶然和必然选择下的结果,奥迪虽然因此在中国市场立稳脚跟,却深知“官车”只是奥迪品牌文化与中国文化相融合的表象结果,它不仅不是奥迪品牌形象的概括,更不能代表奥迪真正的内在精神。对此,一汽-大众奥迪销售事业部执行副总经理张晓军曾经说过:“最初的一段时间,奥迪在中国的确经历了一段有产品无品牌的阶段,因为当时中国没有汽车品牌营销的经验可以让我们借鉴。但很快,我们明确了做品牌的思路,这个思路就是让中国消费者先认识到奥迪四环的价值,再感受奥迪四环中蕴含的精神。” 从1999年奥迪A6(C5)国产以来,奥迪用了近10年的时间只做了一件事,就是让奥迪品牌在中国实现价值回归、形象回归。在奥迪“突破科技启迪未来”一以贯之的品牌理念之下,奥迪用独特创新的方式诠释了其“进取、尊贵、动感”的品牌内涵,令中国消费者深刻印象。现在,人们一提到奥迪,除了“官车”,还能想到它的科技、品质、动感和尊贵。如今,在国内奥迪客户比例中,公务用车购买比例只有不到20%,超过80%的用户来自个人消费。 “进取”是奥迪品牌最鲜明的个性 营销之道,攻心为上。也就是说,只有牢牢俘获了消费者的心,才能让消费者与品牌产生强烈的情感关联,也不难理解为什么消费者会对某些品牌会产生宗教般的热情。而豪华汽车的消费者已经不单单需要安全可靠的汽车产品,他们更需要通过汽车来彰显一种自我实现的情感诉求。所以,如何满足消费者对品牌更高的情感需求成为汽车营销考虑的首要问题。 摆在奥迪营销团队面前的下一个问题接踵而至,奥迪与用户的情感连接点在哪里?一汽-大众奥迪销售事业部执行副总经理张晓军回答了这个问题:“经过长期的摸索和探讨,我们最终达成共识——‘进取’是奥迪品牌最鲜明的个性,这使它区别于任何一个竞争对手,将进取作为情感连接点要从两个角度来看:一个是品牌的角度,奥迪品牌的核心理念‘突破科技启迪未来’当中恰恰体现的是永不满足,不断创新的进取精神;一个是社会的角度,如果说当初奥迪品牌迎合了中国社会低调沉稳、不事张扬的主流文化心理,那么在当今复杂的社会环境下,进取则无疑是社会精英阶层的成功法则。”

柏拉图

(二)柏拉图的哲学 1.理念论产生 亚里士多德在《形而上学》中指出:“在所说的各派哲学之后,柏拉图的方案出现了,它在许多方面追随着这些哲学,但也有和意大利派哲学不同的自己的特点。在青年时代,柏拉图开始是克拉底鲁的同路人,也赞同赫拉克利特的意见。一切可感觉的东西不断流变,关于它们,知识是不存在的,他在晚年仍然持这样的观点。苏格拉底致力于伦理学,对整个自然则不过问。并且在这些问题中寻求普遍,他第一个集中注意于定义。柏拉图接受了这种观点,不过他认为定义是关于非感性事物的,而不是那些感性事物的。正是由于感性事物不断变化,所以不能有一个共同定义。他一方面把这些非感性的东西称为理念,另一方面感性的东西全都处于它们之外,并用它们来说明。’’ 2.理念论内容 在柏拉图的哲学中,“理念"既具有本质的意义,同时又有“种”和“类”的含义。柏拉图把理智的对象称作理念,所谓“理念",柏拉图使用的原文是idea和eidos,它们均出自动词idein(看),愿意是“看到的东西’’,柏拉图把其意义转义为“灵魂所见的东西"。在柏拉图看来,理念或形式是共同名字(普通名词)表述和界定的不可被人感到但可被人知道的共相事物,是若干或许多个体事物共同分享或分有的一个实体事物。可知的理念是可感的事物的根据和原因,可感的事物是可知的理念的派生物。一类事物有一个理念,各式各样的事物有各式各样的理念。不同的事物组成了事物的世界,而由它们的理念所组成的总体就是柏拉图所谓的理念世界。在他看来,前者是可感世界,后者是可知世界。他认为这两个世界的关系是原本和摹本的关系,理念世界是原本、模型,现象世界是理念世界的影子或摹本。柏拉图曾经通过一系列的比喻来论证两个世界的学说,其中最著名的是洞喻。“洞喻"即洞穴之喻。一群人犹如囚徒世代居住在洞穴里,由于被锁住而不能走动、回头和环顾左右,只能直视洞壁的情景。他们身后有一堆火在燃烧,火与人之间有一堵矮墙,墙后有人举着雕像走过,火光将雕像投影在他们面对的洞壁上,形成了变动的影像。由于他们长期看着这些影像,便以为是真实的事物。但是如果有一个囚徒挣脱锁链,回头第一次见到火光,虽然一时会刺眼眩目,但经适应后他就会分清影像与雕像,并明白雕像比影像更真实。如果他被人拉出洞外,第一次看到太阳下的真实事物,也会再次眼花缭乱,先见到阴影,再看水中映象,进而看事物,最后抬头望天,直接见到太阳,这才知道太阳是万物的主宰。柏拉图明确指出,这个比喻“可以整个地应用到以前的论证上,将囚徒们居住的洞穴比作可见世界,里面的火光比作太阳。如果你把上升的途径及对上方万物的静观比作是灵魂上升到可知世界,就没有误解我的意思"。在这是一个关于人从黑暗走向光明,从无知走向有知的神话。“太阳"是理念论的终极实在,即为善。善是神的化身,善是知识和真理的源泉,又高于一切的知识与真理。这样,善的理念成为理念中最高的理念。通过善的理念,柏拉图最终确立起了他的哲学王国。 3.理念论反思 在《巴门尼德》篇前半部分里柏拉图通过对理念论的反思,打着批判“少年苏格拉底"的旗号,以分有说为批判对象反思了自己早期和中期的一些基本论点。 第一、关于理念的普遍性问题。柏拉图的理念论具有浓厚的价值含义,所以对树、火、人等自然物是否存在理念的问题,却犹疑不决;对头发、污泥、秽物等低下事物, 更是决口否认有同名的理念存在。这样必将否认任何事物都因理念而存在的理论前提。 于是,柏拉图“恐怕陷入无底的谬说泥坑中而殄灭。” 第二、关于理念的被分有问题。柏拉图承认,事物对同名理念的分有只能有两种方式,即或是整体分有或是部分分有。但这两种方式都有困难,因为理念的首要特性是单 一完整性。如果一个理念整个地被许多同名事物分有,那就等于说一个理念同时整个地 存在于许多个别事物中,这样就导致了理念同其自身的分裂,破坏了自身单一性。如果

排列图(柏拉图)

柏拉图(Pareto Diagram) [ 意义与功能 | 绘制方法 | 评核 ] 意义与功能 1897年意大利的Viltredo Pareto由所得曲线发现,少数人拥有社会大部分的财富,他认为只要控制那些少数财主,即可控制该社会财富,此种重点控制的方法,称为「柏拉图原则」。我们可以将此原理应用在现场改善上,先将关键不良因素假以解决,可以降低大部分的不良品。 因此,所谓「柏拉图原则」就是利用重要的少数项目控制不重要的多数项目,物料管理所使用的「ABC分析法」,即为该法则之一例。在生产现场,柏拉图分析之应用范围很广,特别是涉及因素非常广的情况,各个因素所占影响之比例不同,使用柏拉图找出重点因素,进而针对重点因素加以解决,则问题已解决一大半。 绘制方法 一般柏拉图分析图如下所示: 其绘制步骤如下:

1.坐标取法 A.横轴:用以代表材料别、机器别、缺点种类或其它分析的原因。 B.纵轴:不良百分率、故障次数、损失金额或其它因分析原因所造成的结果。 2.搜集资料 依据既定所要分析的原因种别,搜集这些原因所造成的结果,通常是损失金额、损失时间等,这些数据有赖平常的纪录语汇整,并需要得到经营管理阶层与有关部门支持与提供情报,方能顺利达成目标。 3.制作柏拉图分析图 A.按照横轴各可能原因所造成之影响大小,绘成直方图。 B.画出累积百方率曲线。 C.将改善目标值,以虚线画在图上,作为改进之准则。 D.将上期造成之影响总量标于图上,做为参考。 E.以一个月做为柏拉图分析的期间。 F.纵轴最好以损失金额取代不良品个数或其它非金额的影响,目的是使所有人均能 一目了然。 G.精密机械加工业之柏拉图分析图范例,如下图所示:

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