当前位置:文档之家› 进程控制系统设计说明书

进程控制系统设计说明书

进程控制系统设计说明书
进程控制系统设计说明书

中北大学

课程设计说明书

学院、系:软件学院

专业:软件工程

班级:13140A05

学生姓名:学号:

设计题目:基于Windows的线程控制与同步

起迄日期: 2015年12月28日~2016年1月8日指导教师:

日期: 2015年12月25日

一、设计目的

进程同步是处理机管理中一个重要的概念。本设计要求学生理解和掌握Windows中线程控制与同步机制的相关API函数的功能,能够利用这些函数进行编程。

二、任务概述

(1)实现生产者-消费者问题。

(2)实现读/写者问题。

(3)实现哲学家就餐问题。

三、总体设计

(1)生产者-消费者问题。是一个多线程同步问题的经典案例。该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区中空时消耗数据。

(2)读/写者问题。创建一个控制台程序,此程序包含n个线程。用这n个线程来表示n个读者或写者。每个线程按相应测试数据文件(后面有介绍)的要求进行读写操作。用信号量机制分别实现读者优先或写者优先的读者-写者问题。

(3)实现哲学家就餐问题。用来演示在并行计算中多线程同步(Synchronization)时产生的问题。在1971年,著名的计算机科学家艾兹格·迪科斯彻提出了一个同步问题,即假设有五台计算机都试图访问五份共享的磁带驱动器。稍后,这个问题被托尼·霍尔重新表述为哲学家就餐问题。这个问题可以用来解释死锁和资源耗尽。有服务生解法,资源分级解法,Chandy/Misra解法。

四、详细设计函数

(1)生产者-消费者问题

#include

#include

#include

#include

#define MAX 20 //定义缓冲池的最大容量是20

int count;

void Proclucer()

{

int k,a=0;

while(1)

{

if(count >= MAX)

{

printf("缓冲池已满!等待2 秒!\n");

Sleep(1000);

}

else

{

k=rand();

if(k%2==0)

{

a++;

count++;

printf("生产了一个产品!当前产品的数量是: %d 生产产品总数:%d \n\n",count,a);

}

Sleep(600);

}

}

}

void Consumer()

{

int k,b=0;

while(1)

{

if(count <= 0)

{

printf("缓冲池已空!等待2 秒!\n");

Sleep(1000);

}

else

{

k=rand();

if(k%2!=0)

{

b++;

count--;

printf("取出了一个产品!当前产品的数量是: %d 取出产品总数:%d\n",count,b);

}

Sleep(600);

}

}

}

int tStop() //创建一个停止函数

{

getch();

return 11;

}

void Start()

{

int m;

HANDLE

ahThread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)Proclucer,NULL,0,NULL); HANDLE

bhThread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)Consumer,NULL,0,NULL); HANDLE hThread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)tStop,NULL,0,NULL); m=tStop();

if(m==11)

{

CloseHandle(ahThread);

CloseHandle(bhThread);

CloseHandle(hThread);

printf("\nClose Thread Success!\nh");

}

}

int main()

{

Start();

printf("\n");

}

(2)读/写者问题

#include

#include

#include

//设置控制台输出颜色

BOOL SetConsoleColor(WORD wAttributes)

{

HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

if (hConsole == INV ALID_HANDLE_V ALUE)

return FALSE;

return SetConsoleTextAttribute(hConsole, wAttributes);

}

const int READER_NUM = 5; //读者个数

//关键段和事件

CRITICAL_SECTION g_cs, g_cs_writer_count;

HANDLE g_hEventWriter, g_hEventNoReader;

int g_nReaderCount;

//读者线程输出函数(变参函数的实现)

void ReaderPrintf(char *pszFormat, ...)

{

va_list pArgList;

va_start(pArgList, pszFormat);

EnterCriticalSection(&g_cs);

vfprintf(stdout, pszFormat, pArgList);

LeaveCriticalSection(&g_cs);

va_end(pArgList);

}

//读者线程函数

unsigned int __stdcall ReaderThreadFun(PVOID pM)

{

ReaderPrintf(" 编号为%d的读者进入等待中...\n", GetCurrentThreadId());

//等待写者完成

WaitForSingleObject(g_hEventWriter, INFINITE);

//读者个数增加

EnterCriticalSection(&g_cs_writer_count);

g_nReaderCount++;

if (g_nReaderCount == 1)

ResetEvent(g_hEventNoReader);

LeaveCriticalSection(&g_cs_writer_count);

//读取文件

ReaderPrintf(" 编号为%d的读者开始读取文件...\n", GetCurrentThreadId());

Sleep(rand() % 100);

//结束阅读,读者个数减小,空位增加

ReaderPrintf(" 编号为%d的读者结束读取文件\n", GetCurrentThreadId());

//读者个数减少

EnterCriticalSection(&g_cs_writer_count);

g_nReaderCount--;

if (g_nReaderCount == 0)

SetEvent(g_hEventNoReader);

LeaveCriticalSection(&g_cs_writer_count);

return 0;

}

//写者线程输出函数

void WriterPrintf(char *pszStr)

{

EnterCriticalSection(&g_cs);

SetConsoleColor(FOREGROUND_RED);

printf(" %s\n", pszStr);

SetConsoleColor(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

LeaveCriticalSection(&g_cs);

}

//写者线程函数

unsigned int __stdcall WriterThreadFun(PVOID pM)

{

WriterPrintf(" ┍------------------┑\n 写者线程进入等待中\n ┕------------------┙");

//等待读文件的读者为零

WaitForSingleObject(g_hEventNoReader, INFINITE);

//标记写者正在写文件

ResetEvent(g_hEventWriter);

//写文件

WriterPrintf(" ┍------------------┑\n 写者开始写文件\n ┕------------------┙");

Sleep(rand() % 100);

WriterPrintf(" ┍------------------┑\n 写者结束写文件\n ┕------------------┙");

//标记写者结束写文件

SetEvent(g_hEventWriter);

return 0;

}

int main()

{

printf("-------------------读者写者问题------------------>>13140A05班12组<<-------------\n");

//初始化事件和信号量

InitializeCriticalSection(&g_cs);

InitializeCriticalSection(&g_cs_writer_count);

//手动置位,初始已触发

g_hEventWriter = CreateEvent(NULL, TRUE, TRUE, NULL);

g_hEventNoReader = CreateEvent(NULL, FALSE, TRUE, NULL);

g_nReaderCount = 0;

int i;

HANDLE hThread[READER_NUM + 1];

//先启动二个读者线程

for (i = 1; i <= 2; i++)

hThread[i] = (HANDLE)_beginthreadex(NULL, 0, ReaderThreadFun, NULL, 0, NULL);

//启动写者线程

hThread[0] = (HANDLE)_beginthreadex(NULL, 0, WriterThreadFun, NULL, 0, NULL);

Sleep(50);

//最后启动其它读者结程

for ( ; i <= READER_NUM; i++)

hThread[i] = (HANDLE)_beginthreadex(NULL, 0, ReaderThreadFun, NULL, 0, NULL);

WaitForMultipleObjects(READER_NUM + 1, hThread, TRUE, INFINITE);

for (i = 0; i < READER_NUM + 1; i++)

CloseHandle(hThread[i]);

//销毁事件和信号量

CloseHandle(g_hEventWriter);

CloseHandle(g_hEventNoReader);

DeleteCriticalSection(&g_cs);

DeleteCriticalSection(&g_cs_writer_count);

//return 0;

system("pause");

}

(3)实现哲学家就餐问题

#define WIN32_LEAN_AND_MEAN

#include

#include

#include

DWORD WINAPI PhilosoperThreadFunc(LPVOID);

#define PHILOSOPERS 5//定义5个哲学家

HANDLE chop_sticks[PHILOSOPERS];

HANDLE threads[PHILOSOPERS];

int main(int argc, char** argv)

{

for (int i = 0; i

chop_sticks[i] = CreateMutex(

NULL, //缺省安全性

FALSE, //初始时拥有,此时互斥体为无信号状态

NULL //匿名的

);//创建互斥体

for (int i = 0; i

threads[i] = CreateThread(NULL,0,PhilosoperThreadFunc,(PVOID)i,0,NULL);//创建线程WaitForMultipleObjects(PHILOSOPERS, threads, TRUE, INFINITE);//等待FHILOSOPERS终止

return EXIT_SUCCESS;

}

DWORD WINAPI PhilosoperThreadFunc(LPVOID n)

{

int i = (int)n;

HANDLE my_chop_sticks[2];

my_chop_sticks[0] = chop_sticks[i];

my_chop_sticks[1] = chop_sticks[(i - 1>0) ? i - 1 : PHILOSOPERS];

srand(GetTickCount());//调用随机数

while (1){

Sleep((rand() % 8) * 500 + 500);//随机等待几秒钟

printf("哲学家%d 想吃饭\n", i);

WaitForMultipleObjects(2, my_chop_sticks, TRUE, 0);//等待两个线程的终止

自动控制系统课程设计说明书

H a r b i n I n s t i t u t e o f T e c h n o l o g y 课程设计说明书(论文) 课程名称:自动控制理论课程设计 设计题目:直线一级倒立摆控制器设计 院系:电气学院电气工程系 班级: 设计者: 学号: 指导教师: 设计时间:2016.6.6-2016.6.19 手机: 工业大学教务处

*注:此任务书由课程设计指导教师填写。

直线一级倒立摆控制器设计 摘要:采用牛顿—欧拉方法建立了直线一级倒立摆系统的数学模型。采用MATLAB 分析了系统开环时倒立摆的不稳定性,运用根轨迹法设计了控制器,增加了系统的零极点以保证系统稳定。采用固高科技所提供的控制器程序在MATLAB中进行仿真分析,将电脑与倒立摆连接进行实时控制。在MATLAB中分析了系统的动态响应与稳态指标,检验了自动控制理论的正确性和实用性。 0.引言 摆是进行控制理论研究的典型实验平台,可以分为倒立摆和顺摆。许多抽象的控制理论概念如系统稳定性、可控性和系统抗干扰能力等,都可以通过倒立摆系统实验直观的表现出来,通过倒立摆系统实验来验证我们所学的控制理论和算法,非常的直观、简便,在轻松的实验中对所学课程加深了理解。由于倒立摆系统本身所具有的高阶次、不稳定、多变量、非线性和强耦合特性,许多现代控制理论的研究人员一直将它视为典型的研究对象,不断从中发掘出新的控制策略和控制方法。 本次课程设计中以一阶倒立摆为被控对象,了解了用古典控制理论设计控制器(如PID控制器)的设计方法和用现代控制理论设计控制器(极点配置)的设计方法,掌握MATLAB仿真软件的使用方法及控制系统的调试方法。 1.系统建模 一级倒立摆系统结构示意图和系统框图如下。其基本的工作过程是光电码盘1采集伺服小车的速度、位移信号并反馈给伺服和运动控制卡,光电码盘2采集摆杆的角度、角速度信号并反馈给运动控制卡,计算机从运动控制卡中读取实时数据,确定控制决策(小车运动方向、移动速度、加速度等),并由运动控制卡来实现该控制决策,产生相应的控制量,使电机转动,通过皮带带动小车运动从而保持摆杆平衡。

火灾自动报警及消防联动控制系统设计说明

火灾自动报警及消防联动控制系统设计说明 1、系统构成: (1)火灾自动报警系统 (2)消防联动控制 (3)火灾应急广播系统 (4)消防直通对讲电话系统 (5)漏电火灾报警系统 (6)大空间智能型灭火装置集中控制系统(消防水炮控制系统) (7)智能消防应急疏散照明指示灯系统 2.系统概况: (1)本工程为一类防火建筑.火灾自动报警的保护等级按特级设置.设控制中心报警系统和消防联动控制系统。 (2).系统组成:火灾自动报警系统;消防联动控制系统;火灾应急广播系统;消防直通电话对讲系统;漏电火灾报警系统;大空间智能型灭火装置集中控制系统(消防水炮控制系统);智能消防应急疏散照明指示灯系统。 3.消防控制室: (1)本工程的消防控制室设置在一层西侧,负责本工程全部火灾报警及联动控制系统,设有直接通室外的出口. (2)消防控制室可联动所有与消防有关的设备。 (3)消防控制室的报警联动设备由火灾报警控制主机、联动控制台、CRT显示器、打印机、广播设备、消防直通对讲电话设备、电源设备等组成。 (4)消防控制室可接收感烟、感温、可燃气体等探测器的火灾报警信号及水流指示器、检修阀、压力报警阀、手动报警按钮、消火栓按钮以及消防水炮的动作信号。 (5)消防控制室可显示消防水池、消防水箱水位,显示消防水泵等的电源及运行情况。 4.火灾自动报警系统: (1)本工程采用消防控制室报警控制系统,火灾自动报警系统按四总线设计。 (2)探测器:柴油发电机房、厨房、车库等处设置感温探测器,直燃机房设防爆型可燃气体探测器,其他场所设置感烟探测器。 (3)探测器安装:探测器与灯具的水平净距应大于0.2m;至墙边、梁边或其他遮挡物

过程控制系统课程设计报告报告实验报告

成都理工大学工程技术学院《过程控制系统课程设计实验报告》 名称:单容水箱液位过程控制 班级:2011级自动化过程控制方向 姓名: 学号:

目录 前言 一.过程控制概述 (2) 二.THJ-2型高级过程控制实验装置 (3) 三.系统组成与工作原理 (5) (一)外部组成 (5) (二)输入模块ICP-7033和ICP-7024模块 (5) (三)其它模块和功能 (8) 四.调试过程 (9) (一)P调节 (9) (二)PI调节 (10) (三)PID调节 (11) 五.心得体会 (13)

前言 现代高等教育对高校大学生的实际动手能力、创新能力以及专业技能等方面提出了很高的要求,工程实训中心的建设应紧紧围绕这一思想进行。 首先工程实训首先应面向学生主体群,建设一个有较宽适应面的基础训练基地。通过对基础训练设施的 集中投入,面向全校相关专业,形成一定的规模优势,建立科学规范的训练和管理方法,使训练对象获得机械、 电子基本生产过程和生产工艺的认识,并具备一定的实践动手能力。 其次,工程实训的内容应一定程度地体现技术发展的时代特征。为了适应现代化工业技术综合性和多学科交叉的特点,工程实训的内容应充分体现机与电结合、技术与非技术因素结合,贯穿计算机技术应用,以适应科学技术高速发展的要求。应以一定的专项投入,建设多层次的综合训练基地,使不同的训练对象在获得对现代工业生产方式认识的同时,熟悉综合技术内容,初步建立起“大工程”的意识,受到工业工程和环境保护方面的训练,并具备一定的实用技能。 第三,以创新训练计划为主线,依靠必要的软硬件环境,建设创新教育基地。以产品的设计、制造、控制乃至管理为载体,把对学生的创新意识和创新能力的培养,贯穿于问题的观测和判断、创造和评价、建模和设计、仿真和建造的整个过程中。

系统概要设计说明书规范

KTV点歌系统概要设计说明书

1. 引言 1.1目的 选歌系统是为某KTV唱吧开发的视频歌曲点唱软件。该软件能方便顾客进行选歌,帮助系统管理员管理歌曲的播放,提高KTV歌曲点唱的效率和准确率。 本文档为该系统的概要设计说明书,详细阐述了对用户所提出需求的设计方案,对系统中的各项功能需求、技术需求、实现环境及所使用的实现技术进行了明确定义。同时,对软件应具有的功能和性能及其他有效性需求也进行了定义。 1.2项目背景 ●系统名称:选歌系统 ●项目提出者:某KTV唱吧 ●项目开发者: ●项目管理者: ●最终用户:某KTV唱吧 1.3术语定义 实现环境:系统运行的目标软件、硬件环境。 实现技术:系统所采用的软件技术或体系结构。 实现语言或工具:实现系统最终采用的编程语言或工具包,如Delphi、VB、PB、Java、Ada等。 参考资料 1)新余电视点播系统; 2)某KTV唱吧《视频点歌系统计划任务书》; 本项目所参照的文件有: 3)康博工作室,《Visual Basic 新起点》,机械工业出版社,2000

2. 系统概述 2.1系统需求 2.1.1系统目标 本软件是为某KTV唱吧开发的视频点歌系统软件。该软件用于提高点歌系统的工作效率。随着人们业余生活的丰富,休闲活动的多种多样,人们更多的喜欢选择KTV这种形式的娱乐方式。且随着计算机普及,点歌系统越来越智能化,人性化;一个好的音乐唱吧必须要拥有一个方便、快捷、准确的点歌系统,因此,急需一个软件系统解决这些问题。本软件应能结合当前选歌播放手工操作的流程以及将来业务发展的需要,对视频点歌系统中歌曲信息、歌手信息、最新排行榜等等的查询、更新提供完全的计算机管理。 2.1.2性能需求 数据精确度 数量值:精确到小数后一位; 时间值:精确到日,并以yyyy/mm/dd的形式表示; 价格值:精确到分,并以.XX的形式表示。 时间特性 页面响应时间:不超过10秒 更新处理时间:不超过15秒 数据转换与传输时间:不超过30秒。 适应性 1) 开发基于的平台要考虑向上兼容性,如操作系统,数据库等要考虑更高版本的兼容 性。 2) 当需求发生变化时系统应具有一定的适应能力,要求系统能够为将来的变更提供以 下支持:能够在系统变更用户界面和数据库设计,甚至在更换新的DBMS后,系统的现有设计和编码能够最大程度的重用,以保护现阶段的投资和保证软件系统能够在较少后续投入的情况下适应系统的扩展和更新。在设计中最好列出针对变更所需要重新设计的模块部分

PLC控制系统的设计说明书

课程设计(论文) 题目:抢答器PLC控制系统设计 学院:机电工程学院 专业班级:09级机械工程及自动化03班 指导教师:肖渊职称:副教授 学生姓名:王帅 学号: 40902010317

目录 第1章概述 (1) 1.1 PLC的发展 (1) 1.2 PLC的应用 (2) 第2章抢答器系统的总体设计 (3) 2.1 抢答器电气控制系统设计要求 (3) 2.2 抢答器系统组成 (3) 2.3抢答器的流程图 (4) 第3章硬件系统设计 (5) 3.1 硬件接线图 (5) 3.2 I/O端子分配表 (6) 3.3 七段显示管的设计 (6) 第4章软件系统的设计 (8) 4.1 程序指令 (8) 4.2 工作过程分析 (11) 第5章总结 (13) 参考文献 (14) 附录一 (14)

第1章概述 可编程控制器(PLC)是一种新型的通用自动化控制装置,它将传统的继电器控制技术、计算机技术和通讯技术融为一体,具有控制功能强,可靠性高,使用灵活方便,易于扩展等优点而应用越来越广泛。可编程控制器(Programmable Logic Controller)即PLC。现已广泛应用于工业控制的各个领域。他以微处理为核心,用编写的程序不仅可以进行逻辑控制,还可以定时,计数和算术运算等,并通过数字量和模拟量的输入/输出来控制机械设备或生产过程。美国电气制造商协会经过4年调查,与1980年将其正式命名为可编程控制器(Programmable Controller),简写为PC。后来由于PC这个名称常常被用来称呼个人电脑(Personal Computer),为了区别,现在也把可编程控制器称为PLC。 1.1 PLC的发展 20世纪70年代初出现了微处理器。人们很快将其引入可编程逻辑控制器,使可编程逻辑控制器增加了运算、数据传送及处理等功能,完成了真正具有计算机特征的工业控制装置。此时的可编程逻辑控制器为微机技术和继电器常规控制概念相结合的产物。个人计算机发展起来后,为了方便和反映可编程控制器的功能特点,可编程逻辑控制器定名为Programmable Logic Controller(PLC)。 20世纪70年代中末期,可编程逻辑控制器进入实用化发展阶段,计算机技术已全面引入可编程控制器中,使其功能发生了飞跃。更高的运算速度、超小型体积、更可靠的工业抗干扰设计、模拟量运算、PID功能及极高的性价比奠定了它在现代工业中的地位。 20世纪80年代初,可编程逻辑控制器在先进工业国家中已获得广泛应用。世界上生产可编程控制器的国家日益增多,产量日益上升。这标志着可编程控制器已步入成熟阶段。 20世纪80年代至90年代中期,是可编程逻辑控制器发展最快的时期,年增长率一直保持为30~40%。在这时期,PLC在处理模拟量能力、数字运算能力、人机接口能力和网络能力得到大幅度提高,可编程逻辑控制器逐渐进入过程控制领域,在某些应用上取代了在过程控制领域处于统治地位的DCS系统。 20世纪末期,可编程逻辑控制器的发展特点是更加适应于现代工业的需要。这个时期诞生了各种各样的特殊功能单元、生产了各种人机界面单元、通信单元,使应用可编程逻辑控制器的工业控制设备的配套更加容易。

C650普通车床电气控制系统设计说明-书

目录 第1章引言·1 1.1 可编程控制器的简单介绍··1 1.2 西门子S7-200 的简单介绍··4 1.3 C650卧式车床简述··5 第2章继电接触器控制系统设计·7 2.1 C650卧式车床的控制要求··7 2.2 电气控制线路分析··7 2.3 C650卧式车床电气控制线路的特点··9 第3章C65O普通车床的PLC 设计过程·10 3.1 控制要求··10 3.2 方案说明··10 3.3 确定I/O信号数量,选择PLC的类型··10 3.4 C650普通车床PLC控制系统I/O地址分配表··11 3.5 控制电路设计··11 3.6 PLC控制程序设计··13 3.7 C650普通车床控制系统PLC控制程序语句表··15 3.8 系统调试··18 结论·19

设计总结·20谢辞·21 参考文献·22

第1章引言 本设计主要针对C650普通车床进行电气控制系统硬件电路设计,包括主电路、控制电路及PLC硬件配置电路。 1.1 可编程控制器的简单介绍 1.1.1 PLC的工作原理 PLC 英文全称Programmable Logic Controller ,中文全称为可编程逻辑控制器,定义是:一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种机械或生产过程。 PLC采用循环扫描的工作方式,即顺序扫描,不断循环这种工作方式是在系统软件控制下进行的。当PLC运行时,CPU根据用户按控制要求编写好并存于用户存储器中的程序,按序号作周期性的程序循环扫描,程序从第一条指令开始,逐条顺序执行用户的程序直到程序结束。然后重新返回第一条指令,再开始下一次扫描;如此周而复始。实际上,PLC扫描工作除了执行用户程序外,还要完成其他工作,整个工作过程分为自 诊 断、通讯服务、输入处理、输出处理、程序执行五个阶段。 1.1.2 可编程序控制器的组成 可编程序控制器硬件由中央处理器、电源、输出组件、输入组件、输入输出、编程器六部分构成: 中央处理器(Central Processor Unit 简称CPU):它是可编程序控制器的心脏部分。CPU 由微处理器(Microproce-ssor)存储实际控制逻辑的程序存储器和存储数据、变量的数据储器构成。 电源(Power Supply):给中央处理器提供必需的工作电源。 输入组件(Inputs):输入组件的功能是将操作开关和现场信号送给中央处理器。现场信号可能是开关量、模拟量或针对某一特定目的使用的特殊变量。 输出组件(Outputs):输出组件接收CPU 的控制信号,并把它转换成电压或电流等现场执行机构所能接收的信号后,传送控制命令给现场设备的执行器。 输入输出(简称I/O)是可编程序控制器的“手”和“脚”或者叫作系统的“眼睛”

风力摆控制系统设计报告

大学生电子设计竞赛 风力摆控制系统 学院: 计算机学院 项目:风力摆控制系统 负责人:王贤朝 指导老师:张保定 时间: 2017年5月20日

摘要 本系统采用K60开发板作为控制中心,与万向节、摆杆、直流风机(无刷 电机+扇叶)、激光头、反馈装置一起构成摆杆运动状态与风机速度分配的双闭 环调速系统。单片机输出可变的PWM波给电机调速器,控制4个方向上风机的风速,从而产生大小不同的力。利用加速度计模块MPU6050,准确测出摆杆移动的位置与中心点位置之间的关系,采样后反馈给单片机,使风机及时矫正,防止脱离运动轨迹。使用指南针模块判别方向,控制系统向指定方向偏移。控制方式采用PID算法,比例环节进行快速响应,积分环节实现无静差,微分环节减小超调,加快动态响应。从而使该系统具有良好的性能,能很好地实现自由摆运动、快速制动静止、画圆、指定方向偏移,具有很好地稳定性。 关键词:K60、空心杯电机、MPU6050、PID、无线蓝牙 目录 一、系统方案.............................................. 1.1 系统基本方案...................................... 1.1.1 控制方案设计................................ 1.1.2 机械结构方案设计............................ 1.2 各部分方案选择与论证 (1) 1.2.1电机选择 (1) 1.2.2 电机驱动的选择.............................. 1.2.3 摆杆与横杆的连接选择........................

在线交易二手市场系统概要设计说明书

在线交易二手市场系统概要设计说明书概要设计说明书 信息与电气工程学院 软工1401 ** 201422******

1.引言 1.1编写目的 此概要设计说明书实现一个简易的基于校园网在线交易二手市场系统,对交易管理系统的总体设计、接口设计、界面总体设计、系统出错处理设计以及系统安全数据进行了说明,在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。 1.2背景 A.待开发软件系统名称为: 在线交易二手市场; B.任务提出者:** 开发者:** C.使用用户能在校园网上进行交易的系统。 D. 按照《在线交易二手市场系统需求分析说明书》为基础来具体细化系统所具备的所有功能及功能的实现方法和接口。 1.3 开发环境 Visual Studio 2010 Mircosoft sql server 2008 Express

PowerDesigner 15.1 1.4定义 本系统:基于校园网的在线交易二手市场系统设计与实现 1.5参考资料 《基于校园网在线交易二手市场需求分析说明书》 《项目计划表》 《校园网在线交易二手市场系统_数据库模型》 2.总体设计 2.1设计目标 基于校园网的在线交易二手市场主要实现以下目标: ⑴为师生提供展示商品及表现学校形象的平台。 ⑵为用户提供商品信息查看、在线商品订购、商品浏览等功能。 ⑶采用动态网页技术,使页面中展示的商品信息更具时效性、先进性。 ⑷提供客户互评及客户给商品评论功能,收集用户对商品的意见及看法。 ⑸提供后台管理页面,简化了用户信息、商品信息、订单信息等系统数据的维护操作。 2.2运行环境

课程设计说明书 温度控制系统的设计与实现

课程设计说明书 课程设计说明书题目:温度控制系统的设计与实现

摘要 温度控制系统是一种典型的过程控制系统,在工业生产中具有极其广泛的应用。温度控制系统的对象存在滞后,它对阶跃信号的响应会推迟一些时间,对自动控制产生不利的影响,因此对温度准确的测量和有效的控制是此类工业控制系统中的重要指标。温度是一个重要的物理量,也是工业生产过程中的主要工艺参数之一,物体的许多性质和特性都与温度有关,很多重要的过程只有在一定温度范围内才能有效的进行,因此,对温度的精确测量和可靠控制,在工业生产和科学研究中就具有很重要的意义。 本文阐述了过程控制系统的概念,介绍了一种温度控制系统建模与控制,以电热水壶为被控对象,通过实验的方法建立温度控制系统的数学模型,采用了PID算法进行系统的设计,达到了比较好的控制目的。 关键词:温度控制;建模;自动控制;过程控制;PID

Abstract In industrial production with extremely extensive application, temperature control system is a typical process control system.Temperature control system has the larger inertia. It is the response signal to step off some of time.And it produces the adverse effect to the temperature measurement. The control system is the important industrial control index. Temperature is an important parameters in the process of industrial production. Also it is one of the main parameters of objects, many properties and characteristics of temperature, many important process only under certain temperature range can efficiently work. Therefore, the precise measurement of temperature control, reliable industrial production and scientific research has very important significance. This paper discusses the concept of process control system and introduces a kind of temperature control system .The electric kettle is the controlled object, PID algorithm is used for system design,through experience method to get the model of temperature control system and we can get the controlied response well. Keywords:Temperature control; Mathematical modeling; Automatic control; Process control; PID

过程控制系统综合设计报告

过程控制系统综合设计报告 班级: 姓名: 学号: 学期:

一、实验目的与要求 1.掌握DDC控制特点; 2.熟悉CS4100实验装置,掌握液位控制系统和温度控制系统构成; 3.熟悉智能仪表参数调整方法及各参数含义; 4.掌握由CS4100实验装置设计流量比值控制、液位串接控制、液位前馈反馈控制及四水箱解耦控制等设计方法; 5.掌握实验测定法建模,并以纯滞后水箱温度控制系统作为工程案例,掌握纯滞后水箱温度控制系统的建模,并用DDC控制方案完成控制算法的设计及系统调试。 以水箱流量比值控制、水箱液位串接控制、水箱液位前馈反馈控制及四水箱解耦控制为被被控对象,完成系统管路设计、电气线路设计、控制方案确定、系统调试、调试结果分析等过程的训练。以纯滞后水箱作为被控对象,以第二个水箱长滞后温度作为被控量,完成从实验测定法模型建立、管路设计、线路设计、控制方案确定、系统调试、结果分析等过程的训练。 具体要求为: 1)检索资料,熟悉传感器、执行器机械结构及工作原理。 2)熟悉CS4100过控实验装置的机械结构,进行管路设计及硬件接线; 3)掌握纯滞后水箱温度控制系统数学模型的建立方法,并建立数学模型; 4)掌握智能仪表参数调节方法; 5)进行控制方案设计,结合具体数学模型,计算系统所能达到性能指标,并通过仿真掌握控制参数的整定方法; 6)掌握系统联调的步骤方法,调试参数的记录方法,动态曲线的测定记录方法。记录实验数据,采用数值处理方法和相关软件对实验数据进行处理并加以分析,记录实验曲线,与理论分析结果对比,得出有意义的结论。 7)撰写实验设计报告、实验报告,具体要求见:(五)实践报告的内容与要求。 二、实验仪器设备与器件 1.CS4100过程控制实验装置 2.PC机(组态软件) 3.P909智能仪表若干

进程控制系统设计说明书

中北大学 课程设计说明书 学院、系:软件学院 专业:软件工程 班级:13140A05 学生姓名:学号: 设计题目:基于Windows的线程控制与同步 起迄日期: 2015年12月28日~2016年1月8日指导教师: 日期: 2015年12月25日

一、设计目的 进程同步是处理机管理中一个重要的概念。本设计要求学生理解和掌握Windows中线程控制与同步机制的相关API函数的功能,能够利用这些函数进行编程。 二、任务概述 (1)实现生产者-消费者问题。 (2)实现读/写者问题。 (3)实现哲学家就餐问题。 三、总体设计 (1)生产者-消费者问题。是一个多线程同步问题的经典案例。该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区中空时消耗数据。 (2)读/写者问题。创建一个控制台程序,此程序包含n个线程。用这n个线程来表示n个读者或写者。每个线程按相应测试数据文件(后面有介绍)的要求进行读写操作。用信号量机制分别实现读者优先或写者优先的读者-写者问题。 (3)实现哲学家就餐问题。用来演示在并行计算中多线程同步(Synchronization)时产生的问题。在1971年,著名的计算机科学家艾兹格·迪科斯彻提出了一个同步问题,即假设有五台计算机都试图访问五份共享的磁带驱动器。稍后,这个问题被托尼·霍尔重新表述为哲学家就餐问题。这个问题可以用来解释死锁和资源耗尽。有服务生解法,资源分级解法,Chandy/Misra解法。 四、详细设计函数 (1)生产者-消费者问题 #include

电梯控制系统设计设计说明

电梯控制系统设计设计说明

第 1 页共 3 页 编号: 毕业设计说明书 题目:电梯控制系统设计 院(系):电子工程与自动化学院 专业:电子信息科学与技术专业 学生姓名: 学号:0900840218 指导教师:李莉 职称:讲师 题目类型:理论研究实验研究工程设计√软件开发 2013年5月20日

第 3 页共 39 页 摘要 本设计主要利用AT89S52单片机,实现电梯控制系统的设计。单片机与电机驱动电路的结合完成了电梯基本的升降、楼层停靠、方向选择、时间控制等基本功能,研究并实现了在上位机的模式下通过LABVIEW的远程监测的方法,完成了系统样机的设计与制作。 本设计参照了通用电梯的设计标准,有良好的操作界面和通用的外部接口,具有人性化设计,实现较好的外设兼容性。同时在系统样机中完成的其它设计研究还包括,利用LED和蜂鸣器组成的简单电路实现电梯意外声光报警、利用数码管实现电梯楼层显示,利用4x4矩阵键盘实现电梯楼层按键选择,利用LED实现目的楼层的指示,利用MAX232串口电路实现串口通信,来监测电梯实时状态。样机使用的主要器件包括低功耗、高性能的AT89S52单片机,低功耗、低成本、低电压的MAX232,双全桥电机专用驱动芯片L298,共阴极八段数码管,4x4矩阵键盘等,通过比较合理的设计使样机系统基本达到了任务要求,并具有很高的性价比,硬件设计简单可靠。软件部分使用keil软件进行C语言程序编写,用proteus 7软件进行仿真调试。本设计中综合使用了数字电路、模拟电路、高频电路、单片机及编程、硬件逻辑描述、LABVIEW及其应用以及计算机辅助设计(CAD)等多方面的知识,软硬件结合,很好地完成了本科毕业设计任务要求并取得了良好的学习效果。 关键词:AT89C52;单片机;电梯控制系统; C语言

系统概要设计说明书(数据库设计书)

[招生管理系统] 概要设计说明书 [V1.0(版本号)] 拟制人______________________ 审核人______________________ 批准人______________________ [二零零八年十月二十二日]

概要设计说明书 1.引言 1.1编写目的 本说明书交给各个被调研单位审核,并经领导层讨论通过后,软件开发小组成员将以这本说明书为框架开发新的系统。 1.2背景 a.待开发软件系统的名称: 基于XML的网上招生管理系统 b.本项目的任务提出者: 石河子大学 c.本项目开发者 d.本项目用户 石河子大学招生办 1.3定义 [列出本文件中用到的专门术语的定义和外文首字母组词的原词组。] 1.4参考资料 《软件工程》 2.总体设计 2.1需求规定 2.1.1功能规定

2.1.2系统功能 能对各招生子单位进行管理 能添加、修改、删除、考生信息 能对考生进行分类管理 能将考生信息导出至网上信息发布子系统 能根据各分类统计考生信息 能添加新的管理员 能修改管理员的密码 2.1.2.1精度 由于采用数据库技术并且用户的应用领域对数据精确度的要求不高,所以这点在系统中表现得比较少,但是用户数据的安全性与正确性是完全保证的,所以对用户的使用没有多大的障碍。 2.1.2.2时间特性要求 本系统的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的。而且也正由于数据量相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。 2.1.2.4可靠性 由于系统较小只保留一定程度上的可靠性。 2.1.2.5灵活性 由于系统较小只保留一定程度的灵活性。 2.1.3输入输出要求 2.1.4数据管理能力要求

自动洗车机电气控制系统设计说明书

word 完美格式 题目:自动洗车机电气控制系统设计 专业班级: 姓名: 学号: 指导教师: 评语: 成绩: 指导老师签名: 目录 日期:

1系统概述 . (3) 1.1应用背景及意义 (3) 1.2系统描述及设计要求 (3) 2方案论证 . (4) 3硬件设计 . (6) 3.1系统原理方框图 (6) 3.2系统主电路原理图 (6) 3.3 I/O 分配 (7) 3.4 PLC 选择 (8) 3.5 PLC 控制原理图 (9) 3.6 PLC 控制接线图 (10) 3.7元器件选型 (12) 4软件设计 . (13) 4.1主流程图 (13) 4.2梯形图 (13) 5系统调试 . (18) 设计心得. (20) 参考文献. (20)

1系统概述 1.1 应用背景及意义 汽车行业随着科学技术的发展有了质的飞跃。随着时代发展,人们生活水平提高,人们对汽车的需求逐渐增加,随之而来的便是汽车的保养。其中汽车清洗 便是不可或缺的一项内容。当今社会,高科技的发展实现了各行业的自动化控制, 但是在汽车清洗行业,大部分仍是人工完成。传统洗车业利用人力,对汽车涂抹 泡沫,然后利用水泵对汽车进行冲洗,再在自然光及风等条件下,使清洗后的汽 车进行自然风干。虽然实现汽车清洗,但过分依赖人力,操作时间长,浪费大量 水资源,经济性差,不利于洗车业的发展。目前比较大型的汽车美容公司,虽然 实现了汽车的清洗、打蜡、喷漆等的自动化,但成本高,其自动控制系统不适合 小型的、专门的汽车清洗行业。因此,对于中小型城市,汽车清洗业有着巨大的 发展潜力。如何实现高效、高质量并且适用于小型汽车的自动清洗,就成了汽车 清洗行业发展的必然要求。本次设计采用 PLC控制,通过线路的通断来实现汽车 自动清洗。它可以节省人力、物力资源,高效、准确的完成洗车任务,为客户提 供便利,而且极大的节约水资源,符合建设节约型社会的时代需要。这套汽车自 动清洗系统结构简单,成本低,适合不同场合的需求,尤其是中小型公司。 1.2 系统描述及设计要求 自动洗车机由门式框架组成,门式框架有一台三相异步电机拖动,4KW 380V 50HZ,在车头和车尾处分别设置有一个行程开关,门式框架上安装有 3 个刷子(上、左、右各 1 个),分别有 1 台单相电机拖动, 1.5KW 220V 50HZ,同时门式框架上安装有 3 组喷水喷头(上、左、右各 1 个),由一台水泵电机拖动 1KW220V 50HZ,喷头由电磁阀控制 DC24V 5W。洗车机外部框架结构示意图如图 1.2.1 所示。

液位控制系统设计说明

目录 第1章绪论............................................................................................... - 1 - 第2章设计方案........................................................................................ - 2 - 2.1 方案举例......................................................................................... - 2 - 2.2 方案比较......................................................................................... - 3 - 2.3 方案确定......................................................................................... - 3 - 第3章硬件设计........................................................................................ - 4 - 3.1 控制系统......................................................................................... - 4 - 3.1.1 AT89C51单片机 ..................................................................... - 4 - 3.1.2 AT89C51的信号引脚............................................................... - 6 - 3.1.3 单片机最小系统 ....................................................................... - 7 - 3.2 感应系统......................................................................................... - 8 - 3.3 指示系统......................................................................................... - 9 - 3.4 液位控制系统................................................................................. - 10 - 3.5 电机与报警系统.............................................................................. - 11 - 第4章软件设计...................................................................................... - 14 - 4.1 延时子程序.................................................................................... - 14 - 4.2 感应系统程序................................................................................. - 14 - 4.3 指示系统程序................................................................................. - 15 - 4.4 电机和警报系统程序 ....................................................................... - 16 - 4.5 液位预选系统程序 .......................................................................... - 16 - 4.6 系统主流程图................................................................................. - 19 - 第5章系统测试...................................................................................... - 21 - 5.1 仿真测试过程................................................................................. - 22 - 5.2 仿真结果....................................................................................... - 24 -总结...................................................................................................... - 25 - 致谢...................................................................................................... - 26 - 参考文献................................................................................................... - 25 -附录1 系统仿真电路 ................................................................................ - 28 - 附录2 源程序.......................................................................................... - 29 -

风力摆控制系统设计报告

2015 全国大学生电子设计竞赛 风力摆控制系统(B题) 【本科组】 2015年8月15日

摘要:本设计是基于STM32F103VE单片机为核心的简易风力摆控制系统,该系统由电源供电模块,直流风机及驱动模块、角度检测模块、信息处理模块、继电器及驱动模块、蜂鸣指示模块和液晶显示模块构成。STM32F103VE通过改变PWM占空比来实现对直流风机速度及方向的控制,该风力摆控制系统能够实现题目要求,简单做直线运动、复杂做圆周运动。 关键字:风力摆角度传感器单片机自动控制系统 一.方案论证: 1.系统结构 1)机械结构如图1所示。 一长约67cm的吸管上端用万向节固定在支架上,下方悬挂4只直流风机,中间安装陀螺仪,构成一风力摆。风力摆下安装一向下的激光笔,静止时,激光笔下端距离地面18cm。 图 1 2)测控电路结构 测控电路结构如图2所示。 编码器按键

图2 2.方案比较与选择 其实整体电路架构上图已经给定,主要是几个关键部分————直流风机选型及架构、直流风机驱动电路、传感器、主控芯片选择,我们分析如下: 1)直流风机的选型 方案一:采样大电流成品直流风机,虽然风力够大,但驱动多个风机所需电流过大,单个电源难以满足要求,而且比较重,多个电机使得惯性过大难以控制。鉴于以上两点,弃用。 方案二:采用小型高速电机加螺旋桨自制直流风机,风力大,体积小,质量轻,而且性价比高。 风力摆控制系统风机质量轻,减小惯性,容易起摆;风力大,风速控制范围大,摆动角度大;体积小,减少外部的干扰;鉴于以上几点,本设计采用方案二。 STM32微处理器 角度传感器 直流风机 电机驱动电路 风机供电 OLED 液晶显示 蜂鸣器

进程的控制系统设计说明书

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2012年秋季学期 操作系统原理课程设计 题目:进程的控制系统 专业班级:软件工程(1)班 姓名:锋 学号:10240506 指导教师:朱红蕾 成绩:

目录 摘要 (1) 正文 (2) 1. 设计思想 (2) 2. 相关的各模块的伪码算法 (2) 3. 函数的调用关系 (8) 4. 测试结果 (9) 总结 (12) 参考文献 (13) 致谢 (14)

摘要 进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行分配和保护的基本单位。进程的组成之一是PCB,它是进程控制块,是系统为描述进程而设计的一种数据结构。 进程由创建而产生,由调度而执行,由撤销而消亡的生命周期,因此操作系统要有对进程生命周期的各个环节进行控制的的功能,所谓进程控制,是指系统使用一些具有特定功能的程序段来创建进程、撤销进程以及完成进程各状态间的转换。 进程的控制包括:创建进程、撤销进程、阻塞进程、唤醒进程、激活进程等,这些控制和管理功能是由操作系统中的原语来实现的,而进程控制原语是对进程生命周期控制和进程状态转换的原语,基于进程的基本状态,他们是创建进程原语、撤销进程原语、阻塞进程原语和唤醒进程原语。原语是在管态下执行、完成系统特定功能的过程。系统对进程的控制若不使用原语,就会造成其状态的不确定性,从而达不到进程控制目的。原语的一种实现方法是系统调用方式,采用访管指令实现,原语在使用中不可中断。 现在操作系统设计中,操作系统内核是基于硬件的第一次软件扩充,它为操作系统的进程控制及管理提供了良好环境,而进程的控制及调度体现了操作系统的运行速度及运行频率,所以说进程控制在靠近硬件的软件层次中占据着重要地位。 关键词: 进程、控制、原语

过程控制系统课程设计报告

过程控制系统课程设计报告 题目:温度控制系统设计 姓名: 学号: 班级: 指导教师:

温度控制系统设计 一、设计任务 设计电热水壶度控制系统方案,使系统满足85度至95度热饮需要。 二、预期实现目标 通过按键设定温度,使系统水温最终稳定在设定温度,达到控制目标。 三、设计方案 (一)系统数学模型的建立 要分析一个系统的动态特性,首要的工作就是建立合理、适用的数学模型,这也是控制系统分析过程中最为重要的内容。数学模型时所研究系统的动态特性的数学表达式,或者更具体的说,是系统输入作用与输出作用之间的数学关系。 在本系统中,被控量是温度。被控对象是由不锈钢水壶、2Kw电加热丝组成的电热壶。在实验室,给水壶注入一定量的水,将温度传感器放入水中,以最大功率加热水壶,每隔30s采样一次系统温度,记录温度值。在整个实验过程中,水量是不变的。 经过试验,得到下表所示的时间-温度表: 表1 采样时间和对应的温度值

以采样时间和对应的温度值在坐标轴上绘制时间-温度曲线,得到图1所示的曲线: 图1 时间-温度曲线 采用实验法——阶跃响应曲线法对温箱系统进行建模。将被控过程的输入量作一阶跃变化,同时记录其输出量随时间而变化的曲线,称为阶跃响应曲线。 从上图可以看出输出温度值的变化规律与带延迟的一阶惯性环节的阶跃曲线相似。因此我们选用 ()1s ke G s Ts τ-= + (式中:k 为放大系数;T 为过程时间常数;τ为纯滞后时间)作为内胆温度系统的数学模型结构。 (1)k 的求法:k 可以用下式求得: ()(0) y y k x ∞-= (x :输入的阶跃信号幅值)

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