搜档网
当前位置:搜档网 › PYTHON OS模块中文帮助文档

PYTHON OS模块中文帮助文档

PYTHON OS模块中文帮助文档
PYTHON OS模块中文帮助文档

注此模块中关于unix中的函数大部分都被略过,翻译主要针对WINDOWS,翻译速度很快,其中很多不足之处请多多包涵。

这个模块提供了一个轻便的方法使用要依赖操作系统的功能。如何你只是想读或写文件,请使用open()

,如果你想操作文件路径,请使用os.path模块,如果你想在命令行中,读入所有文件的所有行,请使用

fileinput模块。使用tempfile模块创建临时文件和文件夹,更高级的文件和文件夹处理,请使用shutil模块。

os.error

内建OSError exception的别名。

https://www.sodocs.net/doc/d213718527.html,

导入依赖操作系统模块的名字。下面是目前被注册的名字:'posix','nt','mac','os2','ce','java', 'riscos'.

下面的function和data项是和当前的进程和用户有关

os.environ

一个mapping对象表示环境。例如,environ['HOME'],表示的你自己home文件夹的路径(某些平台支持,windows不支持)

,它与C中的getenv("HOME")一致。

这个mapping对象在os模块第一次导入时被创建,一般在python启动时,作为site.py处理过程的一部分。在这一次之后改变environment不

影响os.environ,除非直接修改os.environ.

注:putenv()不会直接改变os.environ,所以最好是修改os.environ

注:在一些平台上,包括FreeBSD和Mac OS X,修改environ会导致内存泄露。参考putenv()的系统文档。

如果没有提供putenv(),mapping的修改版本传递给合适的创建过程函数,将导致子过程使用一个修改的environment。

如果这个平台支持unsetenv()函数,你可以删除mapping中的项目。当从os.environ使用pop()或clear()删除一个项目时,unsetenv()会自动被调用(版本2.6)。

os.chdir(path)

os.fchdir(fd)

os.getcwd()

这些函数在Files和Directories中。

os.ctermid()

返回进程控制终端的文件名。在unix中有效,请查看相关文档.。

os.getegid()

返回当前进程有效的group的id。对应于当前进程的可执行文件的"set id"的bit位。在unix 中有效,请查看相关文档.。

os.geteuid()

返回当前进程有效的user的id。在unix中有效,请查看相关文档.。

os.getgid()

返回当前进程当前group的id。在unix中有效,请查看相关文档.。

os.getgroups()

返回当前进程支持的groups的id列表。在unix中有效,请查看相关文档.。

os.getlogin()

返回进程控制终端登陆用户的名字。在大多情况下它比使用environment变量LOGNAME来得到用户名,或使用pwd.getpwuid(os.getuid())[0]得到当前有效用户id的登陆名更为有效。在unix中有效,请查看相关文档.。

os.getpgid(pid)

返回pid进程的group id.如果pid为0,返回当前进程的group id。在unix中有效,请查看相关文档.。

os.getpgrp()

返回当前进程组的id.在unix中有效,请查看相关文档.。

os.getpid()

返回当前进程的id.在unix,Windows中有效。

os.getppid()

返回当前父进程的id.在unix中有效,请查看相关文档.。

os.getuid()

返回当前当前进程用户的id.在unix中有效,请查看相关文档.。

os.getenv(varname[,value])

返回environment变量varname的值,如果value不存在,默认为None.在大多版本的unix,Windows中有效。

os.putenv(varname,value)

设置varname环境变量为value值。此改变影响以os.system(),popen()或fork()和execv()启动的子进程。在大多版本的unix,Windows中有效。

当支持putenv()时,在os.environ分配项目时,自动调用合适的putenv()。然而,调用putenv()不会更新os.environ,所以直接设置os.environ的项。

os.setegid(egid)

设置当前进程有效组的id.在unix中有效,请查看相关文档.。

os.seteuid(euid)

设置当前进程有效用户的id.在unix中有效,请查看相关文档.。

os.setgid(gid)

设置当前进程组的id.在unix中有效,请查看相关文档.。

os.setgroups(groups)

设置当前进程支持的groups id列表。groups必须是个列表,每个元素必须是个整数,这个操作只对超级用户有效,在unix中有效,请查看相关文档.。

os.setpgrp()

调用system的setpgrp()或setpgrp(0,0)(),依赖于使用的是哪个版本的system.请查看Unix 手册.在unix中有效,请查看相关文档.。

os.setpgid(pid,pgrp)

调用system的setpgid()设置pid进程group的id为pgrp.请查看Unix手册.在unix中有效,请查看相关文档.。

os.setreuid(ruid,euid)

设置当前process当前和有效的用户id.在unix中有效,请查看相关文档.。

os.setregid(rgid,egid)

设置当前process当前和有效的组id.在unix中有效,请查看相关文档.。

os.getsid(pid)

调用system的getsid().请查看Unix手册.在unix中有效,请查看相关文档.。

os.setsid()

调用system的setsid().请查看Unix手册.在unix中有效,请查看相关文档.。

os.setuid(uid)

设置当前user id.在unix中有效,请查看相关文档.。

os.strerror(code)

返回程序中错误code的错误信息。在某些平台上,当给一个未知的code,strerror()返回NULL,将抛出ValueError。在unix,Windows中有效。

os.umask(mask)

设置当前权限掩码,同时返回先前的权限掩码。在unix,Windows中有效。

os.fdopen(fd[,mode[,bufsize]])

返回一个文件描述符号为fd的打开的文件对象。mode和bufsize参数,和内建的open()函数是同一个意思。在unix,Windows中有效。

mode必须以'r','w',或者'a'开头,否则抛出ValueError.

以'a'开头的mode,文件描述符中O_APPEND位已设置.

os.popen(command[,mode[,bufsize]])

给或从一个command打开一个管理。返回一个打开的连接到管道文件对象,文件对象可以读或写,在于模式是'r'(默认)或'w',bufsize参数,和内建的open()函数是同一个意思。

command返回的状态(在wait()函数中编码)和调用文件对象的close()返回值一样,除非返回值是0(无错误终止),返回None.在unix,Windows中有效。

在 2.6版本中已抛弃.使用subprocess模块.

os.tmpfile()

返回一个打开的模式为(w+b)的文件对象.这文件对象没有文件夹入口,没有文件描述符,将会自动删除.在unix,Windows中有效。

从version2.6起:所有的popen*()函数已抛弃.使用subprocess模块.

os.popen2(cmd[,mode[,bufsize]])

os.popen3(cmd[,mode[,bufsize]])

os.popen4(cmd[,mode[,bufsize]])

16.1.3.文件描述符操作

这些函数操作使用文件描述符引用的I/O stream。

文件描述符是与当前进程打开的文件相对应的一些小整数.例如标准输入的通常文件描述符中0,标准输出是1,标准错误是 2.进程打开的更多文件将被分配为3,4,5,等.这“文件描述符”有一点迷惑性;在Unix平台上,socket和pipe通常也使用文件描述符引用.

os.close(fd)

关闭文件描述符fd.在unix,Windows中有效。

这函数是为低层的I/O服务的,应用在os.open()或pipe()返回的文件描述符上。关闭一个由内建函数open()或popen()或fdopen()打开的文件对象,使用close()方法。

os.closerange(fd_low,fd_high)

关闭从fd_low(包含)到fd_high(不包含)所有的文件描述符,忽略错误。在unix,Windows 中有效。

等同于:

for fd in xrange(fd_low,fd_high):

try:

os.close(fd)

except OSError:

pass

os.dup(fd)

返回文件描述符fd的cope.在unix,Windows中有效。

os.dup2(fd,fd2)

复制文件描述符fd到fd2,如果有需要首先关闭fd2.在unix,Windows中有效。

os.fchmod(fd,mode)

改变文件描述符为fd的文件’mode‘为mode.查看chmod()文档中mode的值.在unix中有效,请查看相关文档.。

version2.6中新增.

os.fchown(fd,uid,gid)

改变文件描述符为fd的文件的所有者和group的id为uid和gid.如果不想它们中的一个,就设置为-1.在unix中有效,请查看相关文档.。

version2.6中新增.

os.fdatasync(fd)

强制将文件描述符为fd的文件写入硬盘.不强制更新metadata.在unix中有效,请查看相关文档.。

注:在MacOS中无效.

os.fpathconf(fd,name)

返回一个打开的文件的系统配置信息。name为检索的系统配置的值,它也许是一个定义系统值的字符串,这些名字在很多标准中指定(POSIX.1,Unix95,Unix98,和其它)。一些平台也定义了一些额外的名字。这些名字在主操作系统上pathconf_names的字典中。对于不在pathconf_names中的配置变量,传递一个数字作为名字,也是可以接受的。在unix中有效,请查看相关文档.。

如果name是一个字符串或者未知的,将抛出ValueError。如果name是一个特别的值,在系统上不支持,即使它包含在pathconf_names中,将会抛出错误数字为errno.EINVAL的OSError。

os.fstat(fd)

返回文件描述符fd的状态,像stat()。在unix,Windows中有效。

os.fstatvfs(fd)

返回包含文件描述符fd的文件的文件系统的信息,像statvfs().在unix中有效,请查看相关文档.。

os.fsync(fd)

强制将文件描述符为fd的文件写入硬盘.在Unix,将调用fsync()函数;在Windows,调用_commit()函数.

如果你准备操作一个Python文件对象f,首先f.flush(),然后os.fsync(f.fileno()),确保与f相关的所有内存都写入了硬盘.在unix,Windows中有效。

os.ftruncate(fd,length)

裁剪文件描述符fd对应的文件,所以它最大不能超过文件大小.在unix中有效,请查看相关文档.。

os.isatty(fd)

如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true,否则False.在unix 中有效,请查看相关文档.。

os.lseek(fd,pos,how)

设置文件描述符fd当前位置为pos,how方式修改:SEEK_SET或者0设置从文件开始的计算的pos;SEEK_CUR或者1则从当前位置计算;os.SEEK_END或者2则从文件尾部开始.在unix,Windows中有效。

os.open(file,flags[,mode])

打开file同时根据flags设置变量flags,如果有mode,则设置它的mode.默认的mode是0777(八进制),当前掩码值是first masked out.返回刚打开的文件描述符.在unix,Windows 中有效。

flag和mode值,请查看C运行时文档;flag常数(像O_RDONLY and O_WRONLY)在这个模块中也定义了(在下面).

注:这函数是打算为低层I/O服务的.正常的使用,使用内建函数open(),返回read()和write()等方法创建的文件对象.包装文件描述符为“文件对象”,使用fdopen().

os.openpty()

在一些Unix平台上有效,请查看相关文档.

os.pipe()

创建一个管道.返回一对文件描述符(r,w)分别为读和写.在unix,Windows中有效。os.read(fd,n)

从文件描述符fd中读取最多n个字节.返回包含读取字节的string.文件描述符fd对应文件已达到结尾,返回一个空string.在unix,Windows中有效。

注:这函数是打算为低层I/O服务的,同时必须应用在os.open()或者pipe()函数返回的文件描述符.读取内建函数open()或者by popen()或者fdopen(),或者sys.stdin返回的一个“文件对象”,使用它的read()或者readline()方法.

os.tcgetpgrp(fd)

在unix中有效,请查看相关文档.。

os.tcsetpgrp(fd,pg)

在unix中有效,请查看相关文档.。

os.ttyname(fd)

在unix中有效,请查看相关文档.。

os.write(fd,str)

写入字符串到文件描述符fd中.返回实际写入的字符串长度.在unix,Windows中有效。

注:这函数是打算为低层I/O服务的,同时必须应用在os.open()或者pipe()函数返回的文件描述符.读取内建函数open()或者by popen()或者fdopen(),或者sys.stdin返回的一个“文件对

象”,使用它的read()或者readline()方法.

下面的常数是open()函数的flags参数选项.它们可以使用bitwise合并或者operator|.它们中的一些常数并不是在所有平台都有效.它们更多使用请查看相关资料,在unix上参考open(2)手册页面,windows上https://www.sodocs.net/doc/d213718527.html,/en-us/library/z0kc8e3z.aspx.

os.O_RDONLY

os.O_WRONLY

os.O_RDWR

os.O_APPEND

os.O_CREAT

os.O_EXCL

os.O_TRUNC

这些常数在Unix and Windows上有效.

os.O_DSYNC

os.O_RSYNC

os.O_SYNC

os.O_NDELAY

os.O_NONBLOCK

os.O_NOCTTY

os.O_SHLOCK

os.O_EXLOCK

这些常数仅在Unix上有效.

os.O_BINARY

os.O_NOINHERIT

os.O_SHORT_LIVED

os.O_TEMPORARY

os.O_RANDOM

os.O_SEQUENTIAL

os.O_TEXT

这些常数仅在Windows上有效.

os.O_ASYNC

os.O_DIRECT

os.O_DIRECTORY

os.O_NOFOLLOW

os.O_NOATIME

这些常数是GNU扩展,如果没有在C库声明刚没有.

os.SEEK_SET

os.SEEK_CUR

os.SEEK_END

lseek()函数的参数.它们的值分别是0,1,和2.在Unix and Windows上有效.

版本2.5新增.

16.1.4.文件和文件夹

os.access(path,mode)

使用现在的uid/gid尝试访问path.注大部分操作使用有效的uid/gid,因此运行环境可以在suid/sgid环境尝试,如果用户有权访问path.mode为F_OK,测试存在的path,或者它可以是包含R_OK,W_OK和X_OK或者R_OK,W_OK和X_OK其中之一或者更多.如果允许访问返回True,否则返回False.查看Unix手册access(2)获取更多信息.在unix,Windows中有效。

注:使用access()去测试用户是否授权.在实际使用open()打开一个文件前测试会创建一个安全漏洞前,因为用户会利用这短暂时间在检测和打开这个文件去修改它.

注:即使access()表明它将succeed,但I/O操作也可能会失败,如网络文件系统.

os.F_OK

作为access()的mode参数,测试path是否存在.

os.R_OK

包含在access()的mode参数中,测试path是否可读.

os.W_OK

包含在access()的mode参数中,测试path是否可写.

os.X_OK

包含在access()的mode参数中,测试path是否可执行..

os.chdir(path)

改变当前工作目录.在unix,Windows中有效。

os.fchdir(fd)

在unix中有效,请查看相关文档.。

os.getcwd()

返回当前工作目录的字符串,在unix,Windows中有效。

os.getcwdu()

返回一个当前工作目录的Unicode对象.在unix,Windows中有效。

os.chflags(path,flags)

在unix中有效,请查看相关文档.。

os.chroot(path)

在unix中有效,请查看相关文档.。

os.chmod(path,mode)

改变path的mode到数字mode.mode为下面中的一个(在stat模块中定义)或者bitwise或者它们的组合:

?stat.S_ISUID

?stat.S_ISGID

?stat.S_ENFMT

?stat.S_ISVTX

?stat.S_IREAD

?stat.S_IWRITE

?stat.S_IEXEC

?stat.S_IRWXU

?stat.S_IRUSR

?stat.S_IWUSR

?stat.S_IXUSR

?stat.S_IRWXG

?stat.S_IRGRP

?stat.S_IWGRP

?stat.S_IXGRP

?stat.S_IRWXO

?stat.S_IROTH

?stat.S_IWOTH

?stat.S_IXOTH

在unix,Windows中有效。

注:尽管Windows支持chmod(),你只可以使用它设置只读flag(通过stat.S_IWRITE和stat.S_IREAD常数或者一个相对应的整数)。所有其它的bits都忽略了.

os.chown(path,uid,gid)

在unix中有效,请查看相关文档.。

os.lchflags(path,flags)

在unix中有效,请查看相关文档.。

新增version2.6.

os.lchmod(path,mode)

在unix中有效,请查看相关文档.。

新增version2.6.

os.lchown(path,uid,gid)

在unix中有效,请查看相关文档.。

新增version2.3.

os.link(source,link_name)

在unix中有效,请查看相关文档.。

os.listdir(path)

返回path指定的文件夹包含的文件或文件夹的名字的列表.这个列表以字母顺序.它不包括'.'和'..'即使它在文件夹中.在unix,Windows中有效。

Changed in version2.3:在Windows NT/2k/XP和Unix,如果文件夹是一个Unicode object,结

果将是Unicode objects列表.不能解码的文件名将仍然作为string objects返回.

os.lstat(path)

像stat(),但是没有符号链接.这是stat()的别名在某些平台上,例如Windows.

os.mkfifo(path[,mode])

在unix中有效,请查看相关文档.。

os.mknod(filename[,mode=0600,device])

创建一个名为filename文件系统节点(文件,设备特别文件或者命名pipe)。mode指定创建或使用节点的权限,组合(或者bitwise)stat.S_IFREG,stat.S_IFCHR,stat.S_IFBLK,和stat.S_IFIFO(这些常数在stat模块).对于stat.S_IFCHR和stat.S_IFBLK,设备定义了最新创建的设备特殊文件(可能使用os.makedev()),其它都将忽略.

新增version2.3.

os.major(device)

从原始的设备号中提取设备major号码(使用stat中的st_dev或者st_rdev field).

新增version2.3.

os.minor(device)

从原始的设备号中提取设备minor号码(使用stat中的st_dev或者st_rdev field).

新增version2.3.

os.makedev(major,minor)

以major和minor设备号组成一个原始设备号.

新增version2.3.

os.mkdir(path[,mode])

以数字mode的mode创建一个名为path的文件夹.默认的mode是0777(八进制).在有些平台上,mode是忽略的.当使用时。这当前的掩码值是first masked out.在unix,Windows 中有效。

也可以创建临时文件夹;查看tempfile模块tempfile.mkdtemp()函数.

os.makedirs(path[,mode])

递归文件夹创建函数。像mkdir(),但创建的所有intermediate-level文件夹需要包含子文件夹.抛出一个error exception如果子文件夹已经存在或者不能创建.默认的mode是0777(八进制).在有些平台上,mode是忽略的.当使用时。这当前的掩码值是first masked out。

注:

makedirs()变得迷惑如果路径元素包含os.pardir.

现在可以正确处理UNC路径.

os.pathconf(path,name)

在unix中有效,请查看相关文档.。

os.pathconf_names

在unix中有效,请查看相关文档.。

os.readlink(path)

在unix中有效,请查看相关文档.。

os.remove(path)

删除路径为path的文件.如果path是一个文件夹,将抛出OSError;查看下面的rmdir()删除一个directory.这和下面的unlink()函数文档是一样的.在Windows,尝试删除一个正在使用的文件将抛出一个exception;在Unix,directory入口会被删除,但分配给文件的存储是无效的,直到原来的文件不再使用.在unix,Windows中有效。

os.removedirs(path)

递归删除directorie.像rmdir(),如果子文件夹成功删除,removedirs()才尝试它们的父文件夹,直到抛出一个error(它基本上被忽略,因为它一般意味着你文件夹不为空).例如, os.removedirs('foo/bar/baz')将首先删除'foo/bar/baz',然后删除'foo/bar'和'foo'如果它们是空的.如果子文件夹不能被成功删除,将抛出OSError.

新增version1.5.2.

os.rename(src,dst)

重命名file或者directory src到dst.如果dst是一个存在的directory,将抛出OSError.在Unix,如果dst在存且是一个file,如果用户有权限的话,它将被安静的替换.操作将会失败在某些Unix中如果src和dst在不同的文件系统中.如果成功,这命名操作将会是一个原子操作(这是POSIX需要).在Windows上,如果dst已经存在,将抛出OSError,即使它是一个文件.在unix,Windows中有效。

os.renames(old,new)

递归重命名文件夹或者文件。像rename()

新增version1.5.2.

os.rmdir(path)

删除path文件夹.仅当这文件夹是空的才可以,否则,抛出OSError.要删除整个文件夹树,可以使用shutil.rmtree().在unix,Windows中有效。

os.stat(path)

执行一个stat()系统调用在给定的path上.返回值是一个对象,属性与stat结构成员有关: st_mode(保护位),st_ino(inode number),st_dev(device),st_nlink(number of hard links),st_uid (所有用户的id),st_gid(所有者group id),st_size(文件大小,以位为单位),st_atime(最近访问

的时间),st_mtime(最近修改的时间),st_ctime(依赖于平台;在Unix上是metadata最近改变的时间,或者在Windows上是创建时间):

>>>import os

>>>statinfo=os.stat('somefile.txt')

>>>statinfo

(33188,422511L,769L,1,1032,100,926L,1105022698,1105022732,1105022732)

>>>statinfo.st_size

926L

>>>

如果stat_float_times()返回True,time值是floats,以second进行计算.一秒的小数部分也会显示出来,如果系统支持.在Mac OS,时间常常是floats.查看stat_float_times()获取更多信息.

在一些Unix系统上(例如Linux),下面的属性也许是有效的:st_blocks(为文件分配了多少块), st_blksize(文件系统blocksize),st_rdev(设备型号如果是一个inode设备).st_flags(用户为文件定义的flags).

在unix,Windows中有效。

os.stat_float_times([newvalue])

决定stat_result是否以float对象显示时间戳.

os.statvfs(path)

在unix中有效,请查看相关文档.。

os.symlink(source,link_name)

在unix中有效,请查看相关文档.。

os.tempnam([dir[,prefix]])

为创建一个临时文件返回一个唯一的path。在Windows使用TMP.依赖于使用的C库;

警告:

使用tempnam()对于symlink攻击是一个漏洞;考虑使用tmpfile()代替.

在unix,Windows中有效。

os.tmpnam()

为创建一个临时文件返回一个唯一的path.

Warning:

使用tempnam()对于symlink攻击是一个漏洞;考虑使用tmpfile()代替.

在unix,Windows中有效。

os.TMP_MAX

tmpnam()将产生唯一名字的最大数值.

os.unlink(path)

删除file路径.与remove()相同;在unix,Windows中有效。

os.utime(path,times)

返回指定的path文件的访问和修改的时间。如果时间是None,则文件的访问和修改设为当前时间。否则,时间是一个2-tuple数字,(atime,mtime)用来分别作为访问和修改的时间.在unix,Windows中有效。

os.walk(top[,topdown=True[,onerror=None[,followlinks=False]]])

输出在文件夹中的文件名通过在树中游走,向上或者向下.在根目录下的每一个文件夹(包含它自己),产生3-tuple(dirpath,dirnames,filenames)【文件夹路径,文件夹名字,文件名】.

dirpath是一个字符串,directory的路径.dirnames在dirpath中子文件夹的列表(不包括'.''..'). filenames文件是在dirpath不包含子文件夹的文件名的列表.注:列表中的names不包含path.为获得dirpath中的一个文件或者文件夹的完整路径(以顶目录开始)或者,操作os.path.join(dirpath,name).

如果optional参数topdown为True或者not指定,一个directory的3-tuple将比它的任何子文件夹的3-tuple先产生(directories自上而下).如果topdown为False,一个directory的3-tuple将比它的任何子文件夹的3-tuple后产生(directories自下而上)。

当topdown为True,调用者可以修改列表中列出的文件夹名字(也可以使用del或者slice), walk()仅仅递归每一个包含在dirnames中的子文件夹;可以减少查询,利用访问的特殊顺序,或者甚至告诉walk()关于文件夹的创建者或者重命名在它重新walk()之前.修改文件名当topdown为False时是无效的,因为在bottom-up模式中在dirnames中的directories比dirpath 它自己先产生.

默认listdir()的errors将被忽略.如果optional参数onerror被指定,它应该是一个函数;它调用时有一个参数,一个OSError实例.报告这错误后,继续walk,或者抛出exception终止walk.注意filename是可用的的,exception对象的filename属性.

默认,walk()不会进入符号链接.

新增version2.6:

注:如果你传入一个相对的pathname,不要在walk()执行过程中改变当前文件夹.walk()不会改变改前文件夹,同时确保它的调用者也不会改变.

import os

from os.path import join,getsize

for root,dirs,files in os.walk('python/Lib/email'):

print root,"consumes",

print sum(getsize(join(root,name))for name in files),

print"bytes in",len(files),"non-directory files"

if'CVS'in dirs:

dirs.remove('CVS')#don't visit CVS directories

#Delete everything reachable from the directory named in"top",

#assuming there are no symbolic links.

#CAUTION:This is dangerous!For example,if top=='/',it

#could delete all your disk files.

import os

for root,dirs,files in os.walk(top,topdown=False):

for name in files:

os.remove(os.path.join(root,name))

for name in dirs:

os.rmdir(os.path.join(root,name))

新增version2.3.

使用函数来创建和管理进程。

使用exec*()函数使用arguments列表来载入新程序.在每个例子,一个用户敲入一个命令行中的第一个参数传递给程序作为它自己的名字而不是作为参数.对于C程序员来说,它是传递给main()的argv[0].例如,os.execv('/bin/echo',['foo','bar'])将仅仅在标准输出上打印bar;foo将被忽略.

os.abort()

产生一个SIGABRT标识到当前的进程.在Unix,这默认的行为是产生一个主要的dump;在Windows,这进程立即返回退出以一个状态码为3.程序使用signal.signal()来注册一个SIGABRT将导致不同的行为.在unix,Windows中有效。

os.execl(path,arg0,arg1,...)

os.execle(path,arg0,arg1,...,env)

os.execlp(file,arg0,arg1,...)

os.execlpe(file,arg0,arg1,...,env)

os.execv(path,args)

os.execve(path,args,env)

os.execvp(file,args)

os.execvpe(file,args,env)

这些函数将执行一个新程序,替换当前进程;他们没有返回.在Unix,新的执行体载入到当前的进程,同时将和当前的调用者有相同的id.将报告Errors当抛出OSError时.

当前的进程立即被替代.打开文件对象和描述符不会被刷新,如果在这些打开的文件中有数据缓冲区,应该在调用exec*()函数之前,使用sys.stdout.flush()或者os.fsync()flush它们.

在unix,Windows中有效。

os._exit(n)

使用状态n退出系统,没有调用清理函数,刷新缓冲区。在unix,Windows中有效。

注:标准退出的方法是sys.exit(n)._exit()一般使用于fork()产生的子进程中.

os.EX_OK

在unix中有效,请查看相关文档.。

新增version2.3.

os.EX_USAGE

在unix中有效,请查看相关文档.。

新增version2.3.

os.EX_DATAERR

在unix中有效,请查看相关文档.。

新增version2.3.

os.EX_NOINPUT

在unix中有效,请查看相关文档.。

新增version2.3.

os.EX_NOUSER

在unix中有效,请查看相关文档.。

新增version2.3.

os.EX_NOHOST

在unix中有效,请查看相关文档.。

新增version2.3.

os.EX_UNAVAILABLE

在unix中有效,请查看相关文档.。

新增version2.3.

os.EX_SOFTWARE

在unix中有效,请查看相关文档.。新增version2.3.

os.EX_OSERR

在unix中有效,请查看相关文档.。新增version2.3.

os.EX_OSFILE

在unix中有效,请查看相关文档.。新增version2.3.

os.EX_CANTCREAT

在unix中有效,请查看相关文档.。新增version2.3.

os.EX_IOERR

在unix中有效,请查看相关文档.。新增version2.3.

os.EX_TEMPFAIL

在unix中有效,请查看相关文档.。新增version2.3.

os.EX_PROTOCOL

在unix中有效,请查看相关文档.。新增version2.3.

os.EX_NOPERM

在unix中有效,请查看相关文档.。新增version2.3.

os.EX_CONFIG

在unix中有效,请查看相关文档.。

新增version2.3.

os.EX_NOTFOUND

在unix中有效,请查看相关文档.。

新增version2.3.

os.fork()

在unix中有效,请查看相关文档.。

os.forkpty()

在一些unix中有效,请查看相关文档

os.kill(pid,sig)

在unix中有效,请查看相关文档.。

os.killpg(pgid,sig)

在unix中有效,请查看相关文档.。

新增version2.3.

os.nice(increment)

在unix中有效,请查看相关文档.。

os.plock(op)

在unix中有效,请查看相关文档.。

os.popen(...)

os.popen2(...)

os.popen3(...)

os.popen4(...)

运行子进程,返回交流的打开的管道.这些函数在前面创建文件对象时介绍过.

os.spawnl(mode,path,...)

os.spawnle(mode,path,...,env)

os.spawnlp(mode,file,...)

os.spawnlpe(mode,file,...,env)

os.spawnv(mode,path,args)

os.spawnve(mode,path,args,env)

os.spawnvp(mode,file,args)

os.spawnvpe(mode,file,args,env)

在新进程中执行程序path

(请使用subprocess模块)

如果模式是P_NOWAIT,返回新进程的id;如果模式是P_WAIT,返回进程退出时的状态码。如果正常退出,或者-signal,当signal是killed.在Windows,进程id实际上是process的handle,所它可以使用于waitpid()函数.

import os

os.spawnlp(os.P_WAIT,'cp','cp','index.html','/dev/null')

L=['cp','index.html','/dev/null']

os.spawnvpe(os.P_WAIT,'cp',L,os.environ)

在unix,Windows中有效。

新增version1.6.

os.P_NOWAIT

os.P_NOWAITO

spawn*()族函数参数mode的可选值.如果给出其中任一个值,新进程一创建完成,spawn*()函数将立即返回,返回进程id的值.在unix,Windows中有效。

新增version1.6.

os.P_WAIT

spawn*()族函数参数mode的可能值.如果将它赋值给mode,spawn*()函数不返回,直接运行结束以及如果运行成功,将返回进程的退出码,或者如果signal杀掉了这个进程,将返回-signal.在unix,Windows中有效。

新增version1.6.

os.P_DETACH

os.P_OVERLAY

spawn*()族函数参数mode的可选值。P_DETACH和P_NOWAIT很相似,但是新进程依附在调用进程的console上。如果使用了P_OVERLAY,当前进程将被替换,spawn*()函数将无返回。在Windows上有效。

新增version1.6.

os.startfile(path[,operation])

以相关的程序打开文件.

当operation没有指定或者'open',这操作就像在Windows Explorer双击文件,或者将这个文件作为交互命令行中start命令的参数:与文件扩展相关的程序打开文件。

当指定另外操作时,它必须是“command verb”它指定应该对文件做什么.像Microsoft的'print''edit'(作用在文件上)'explore'and'find'(作用在文件夹上).

startfile()只要相关的应该程序一启动就返回。没有选项等待应用程序关闭,没有方法接收应用程序退出的状态.path参数与当前directory相关.如果你想使用一个绝对路径,确保第一个字符不是('/')。使用os.path.normpath()函数确保路径对于win32来说是正确的.在Windows上有效.

新增version2.0.

新增version2.5:The operation parameter.

os.system(command)

在shell中执行string命令.这是使用标准C函数system(),有同样的限制.例如改变sys.stdin,不影响命令执行环境.

在Unix,请查看相当文档.

在Windows,返回值是在shell运行命令的返回值。

在unix,Windows中有效。

subprocess模块提供了一个更强大的功能产生新进程和接收它们的结果;

os.times()

返回一个5-tuple的浮点数字,表示(处理器或者其它)累积时间,以秒为单位.items为:用户时间,系统time,子用户time,子系统time,和从过去一个固定的点真实流逝的时间.在unix,Windows中有效。在Windows,仅仅填充开始两项,其它都为0.

os.wait()

在unix中有效,请查看相关文档.。

os.waitpid(pid,options)

Unix:等待一个指定的pid的子进程完成,返回一个tuple返回它的进程id和退出状态.一般情况下option设为0.

更强细请查看相关文档

在Windows:等待一个指定的pid的进程完成,返回一个tuple返回它的进程id和退出状态向左移动了8位。如果pid小于或等于0没有特别的意思,将抛出exception.integer options 没有任何影响.pid可以指向任何进程的id,不一定是子进程的id.

os.wait3([options])

在unix中有效,请查看相关文档.。

新增version2.5.

os.wait4(pid,options)

在unix中有效,请查看相关文档.。

新增version2.5.

os.WNOHANG

在unix中有效,请查看相关文档.。os.WCONTINUED

在某些unix中有效,请查看相关文档.。新增version2.3.

os.WUNTRACED

在unix中有效,请查看相关文档.。

os.WCOREDUMP(status)

在unix中有效,请查看相关文档.。

新增version2.3.

os.WIFCONTINUED(status)

在unix中有效,请查看相关文档.。

新增version2.3.

os.WIFSTOPPED(status)

在unix中有效,请查看相关文档.。os.WIFSIGNALED(status)

在unix中有效,请查看相关文档.。os.WIFEXITED(status)

在unix中有效,请查看相关文档.。os.WEXITSTATUS(status)

在unix中有效,请查看相关文档.。os.WSTOPSIG(status)

在unix中有效,请查看相关文档.。os.WTERMSIG(status)

在unix中有效,请查看相关文档.。16.1.6.Miscellaneous System Information os.confstr(name)

在unix中有效,请查看相关文档.。

os.confstr_names

在unix中有效,请查看相关文档.。os.getloadavg()

在unix中有效,请查看相关文档.。

新增version2.3.

网格划分主要软件

网格划分主要软件 网格划分——连续空间的离散化。 主要软件: ICEM-CFD(Ansys Inc): 最NB的网格划分软件,主要四个模块:Tetra(水平最高)、Hexa(用起来方便)、Global(难得的笛卡尔网格划分软件)、AutoHexa(算是垃圾,有那幺一点点用处)。接口贼多,几乎支持所有流行的CFD软件!!!使用方便,一个月内可以学会,两个月就可以针对课题努力了。这个软件还有后处理模块Visual3,但是目前说来还没有听过哪个兄弟用过,我也没用过。 Gridgen(Poinwise Inc): 你要学习网格理论,用它比较好,你要和它一起来完成网格,不能靠它自动给你个复杂网格。结构网格划分很好。帮助文档有些标新立异了,很多术语就是难为大家这些入门级别的,实体不叫实体,它非得说是Database,何必呢! Gambit(Fluent Inc): 好学、好用。就是要拖着一个Exceed当靠山,功能强大。但是占用内存比较多,常常会跑死机(不是个别的问题)。 CFX-build(Ansys Inc): 基于Patran的非结构网格划分软件,会Patran就会它!功能自不用说,Patran有多猛,搞FEA/CAE的兄弟都知道。 CFD-Geom(CFDRC Inc): 好学,不过有些概念要仔细领会,最好是对拓扑与网格结构、类型比较熟悉。 Patran(Msc Inc)、Hypermesh(Altair Inc): 这两个不说了FEA方面的猛将,CFD也可以借鉴。 以上按功能和在CFD领域的适用范围分类。 TrueGrid六面体网格划分工具 TrueGrid六面体网格划分工具 中文名称:TrueGrid六面体网格划分工具 英文名称:Scientific.Truegrid

numeca 的中文帮助文件帮助文档

numeca 的中文帮助文件帮助文档2-5 FINE求解 2-5.1 工程控制台 Project Management 78. In the FINE, interface project parameters, select the item Project Management/Project Settings (default). 在Import a grid file 中输入刚刚保存过的*.igg格式的文件。 79. 在主菜单Mesh中选择Properties.设定度量单位。 80. In the Project units section, choose meters as the rotor37.geomTurbo file contained the geometry in meters (default) 81. In the Computations area, rename "computation_1" in "coarse_choked" yh-1在左边列表框中,选择/Parameters/Configuration/ /Fluid Model 选取流体类型,如:理想气体,真实气体,水,等~ /Flow Model 选择流动模型,定常或非定常流动,1)欧拉方程或NS方程2; 2)湍流模型(NS);3)是否考虑重力作用。 /Rotating Machinery 设置旋转参数,如转速等~ 2-5.2 步长和时间步设置 82. 时间步长设置。选择Configuration / space & time 83. 时间选取定常解模式。 84. 选择3D流动 85. 定义这个例子为内流,采用圆柱坐标系统。 86. 激活IGG/Autogrid网格

基于单片机的压力控制模块设计

学号 毕业论文(设计) 课题基于单片机的压力控制模块设计 学生姓名 系别 专业班级 指导教师

基于单片机的智能压力检测系统的设计 摘要 压力是工业生产过程中的重要参数之一。压力的检测或控制是保证生产和设备安全运行必不可少的条件。实现智能化压力检测系统对工业过程的控制具有非常重要的意义。本设计主要通过单片机及专用芯片对传感器所测得的模拟信号进行处理,使其完成智能化功能。介绍了智能压力传感器外围电路的硬件设计,并根据硬件进行了软件编程。 本次设计是基于AT89C51单片机的测量与显示。是通过压力传感器将压力转换成电信号,再经过运算放大器进行信号放大,送至8位A/D转换器,然后将模拟信号转换成单片机可以识别的数字信号,再经单片机转换成LED显示器可以识别的信息,最后显示输出。而在显示的过程中通过键盘,向计算机系统输入各种数据和命令,让单片机系统处于预定的功能状态,显示需要的值。 本设计的最终结果是,将软件下载到硬件上调试出来了需要显示的数据,当输入的模拟信号发生变化的时候,通过A/D转换后,LED将显示不同的数值。 关键词:压力;AT89C51单片机;压力传感器;A/D转换器;LED显示;

Design of pressure detecting system based on single-chip Abstract Pressure is one of the important parameters in the process of industrial production. Pressure detection or control is an essential condition to ensure production and the equipment to safely operating, which is of great significance. The single-chip is infiltrating into all fields of our lives, so it is very difficult to find the area in which there is no traces of single-chip microcomputer. In this graduation design, primarily through by using single-chip and dedicated chip, handling of analog signal measured by the sensor to complete intelligent function. This design illustrates external hardware circuit design of intelligent pressure sensor, and conduct software development to the hardware. The design is based on measurement and display of AT89C51 single-chip. This is the pressure sensors will convert the pressure into electrical signals. After using operational amplifier, the signal is amplified, and transferred to the 8-bit A/D converter. Then the analog signal is converted into digital signals which can be identified by single-chip and then converted by single-chip into the information which can be displayed on LED monitor, and finally display output. In the course of show, through the keyboard to input all kinds of data and commands into the computer, the single-chip will locate in a predetermined function step to display required values. The end result of this design is that by downloading software to the hardware, it will get the data which is required to display by debugging. When the input analog signals change, the LED monitor will display different values through the A/D converting. Key words:pressure; AT89C51 single-chip; pressure sensor; A/D converter; LED monitor;

阀门电动执行器控制模块设计

阀门电动执行器控制模块设计 一、设计目的和要求 电气控制技术综合实践是电气工程及其自动化专业学生在所有专业课结束时进行的一次课程设计,是一个综合运用专业知识的过程。其目的在于全面检验学生对专业基础课和专业课知识的掌握情况,提高知识综合运用能力和动手实践能力。设计包括确定控制任务、系统总体方案设计、硬件系统设计、控制软件的设计、系统调试、性能测试等方面的要求,以便使学生掌握电气控制系统设计的总体思路和方法。 二、设计内容及步骤 1 任务提出 电动执行器是工业过程控制中的重要设备,它接收来自调节器的模拟信号(一般是4~20mA 电流信号)或上位机的数字信号, 将其转换为电动执行器相对应的机械位移(转角、直线或多转)并自动改变操作变量(调节阀、风门、挡板开度等),以达到对被调参数(温度、压力、流量、液位等)进行自动调节的目的,使生产过程按预定要求进行。 本课题要求设计一个阀门电动执行器控制模块。 1.1 对象参数: (1)电动机为单相异步电动机,额定功率10W,额定电流0.16A,外接电容CBB61、1.5uF500V。 (2)电源:220V±10%,50Hz。 (3)环境温度:-25~80℃。 (4)环境湿度:≤95%RH。 1.2 基本功能要求: (1)输入4~20mA或1~5V控制信号,相应阀门开度在0~100%之间变化。 (2)输入信号失效,位置保持原位。 (3)可就地手动操作。 (4)死区可以调整。 1.3 扩展功能要求(选做) (1)过力矩保护。 (2)行程限位保护。 (3)定位误差:≤1%。 (4)灵敏度:0.025%(1/4096)。

三、阀门电动执行器控制模块工作原理 电动执行器主要由控制器、电机和减速器三部分组成,由上位调节装置给出的1~5V电压信号Us,减速器输出的直线位移信号x(或角位移信号θ)经位置检测装置后形成位置反馈信号Uf,这两个信号经比较和放大后控制电机的运转,电机带动减速机构产生相应的直线位移或转角位移。 四、硬件原理图 电路总原理图 1 系统总体方案 将给定的1V~5V直流信号与模拟阀门位置的电位器分压得到的电压进行比差动放大,根据差动放大结果分别接通PNP或者NPN两个不同的三极管,三极管接通后光耦得电,触点接通,220V电机驱动电路分别得电,使电机实现正转或者反转。 为了判断给定信号是否小于1V,无法判定是线路断掉还是刚上电时信号还没给上,所以我们设定,当输入端的信号小于1V时,让比较器的输出端驱动光耦接

numeca 的中文帮助文件帮助文档(三)

numeca 的中文帮助文件帮助文档(三)Tutorial 2: rotor 37 (例题2,动叶37) 2-1.1 technical aspects (步骤) *概述 -对象管理 -开始/退出 FINE,IGG/Autogrid,CFView *IGG/Autogrid -输入geometry(*.geomturbo)文件 -3D网格自动生成 -检查网格质量 *FINE -3D涡轮定常流结构 -涡轮边界条件设置 -完整的多网格设置 -使用收敛判定工具 *CFView -通用视图 -叶片-叶片视图 -侧型面 -云图 and 等值线 -矢量图 and 流线 -清理求解方案(sweep the solution) -叶片表面压力分布 -打印视图

2-1.2 理论 这是一个典型的例子 2-2 例题描述 (case description) *亚音速,可压缩,轴向流动 *流体:空气 *工作转速:17188rpm 2-3 FINE求解方案 1. 运行FINE,必须有下列条件;在Unix系统下 , type fine(FINE类型,) , 单击(Return),在PC/NT , 双击FINE图标 2. 在FINE菜单中新建一个(project), [Project/New] 3. 输入新项目的名字(rotor37.iec) 此时FINE会自动在当前目录下创建一个 文件夹,文件夹名为刚输入的名字(rotor37) 4. 单击创建网格,程序自动转到IGG,在IGG中,[选择Modules/AutoGrid] 2-4 IGG/Autogrid几何结构和网格创建 2-4.1 第一步:几何和网格创建 5. 单击图标,弹出[Set-Up And Check]对话框 2.4.1.1 几何 对话框具有如下图的形式

智能化配电系统控制模块的设计 马东升

智能化配电系统控制模块的设计马东升 发表时间:2017-10-20T17:39:59.153Z 来源:《电力设备》2017年第15期作者:马东升 [导读] 摘要:近些年来,随着我国科学技术水平的不断提升,配电系统控制技术日益成熟,其在保证了供电质量的同时也促进了电力行业的持续发展。 (国网内蒙古东部电力有限公司喀喇沁旗供电分公司内蒙古赤峰市 024400) 摘要:近些年来,随着我国科学技术水平的不断提升,配电系统控制技术日益成熟,其在保证了供电质量的同时也促进了电力行业的持续发展。文章研究分析了PLC在配电系统中的应用设计分析。 关键词:智能变电;智能配电;应用设计 1前言 在具体应用实践过程中,电力供配电系统自动化控制受配电终端可靠性不高、蓄电池使用时效有限以及设备出场质量检查力度不够等因素的影响,这就严重影响了电力供配电系统的作用稳定性。为此,相关建设人员应从自动化控制系统建设现状入手,来找出具体优化方法以及未来发展方向的实现途径。 2电力供配电系统自动化控制技术的作用原理 电力供配电系统在自动化控制实践应用过程中被划分为四个方面,及用户、馈线、变电站以及管理。由于电力供配电系统自动化控制的线路设置复杂,这就要求人员要从用户需求的角度出发。为此,电力供配电系统自动化控制技术的作用原理可从两方面进行分析研究,一方面,自动化控制变电站的监测和运行是通过自动装置以及计算机来实现控制,这就在很大程度上节省了人力资源的应用成本。当将获取的信号数字化后,计算机就能对信号进行处理和再传输,从而简化了人工的操作步骤。这是改良传统变电站设备运行方式的同时,使变电站的监控更为精确。另一方面,电力供配电系统的自动化控制管理,是利用计算机将采集到的信息一级一级管理起来的。值得注意的是,电力供配电系统对自动化控制技术的要求极高,为此,相关研究人员应不断更新现有控制技术,以满足市场环境对其的需求。 3配电系统中PLC技术简介 所谓PLC技术,是建立在计算机技术基础上的智能化程序控制技术,其核心为单片机,该技术的应用实现了对工业生产过程的自动化控制。PLC技术集成了电气、仪表和控制等多项技术设备,可依据电力系统建设规模等实际情况进行组合,满足工业控制需求。PLC技术的主要作用体现在:第一,高速指令处理。PLC技术的出现开辟出了新的应用领域,在对性能要求较低的情况下也可以将指令的处理周期缩短到最小;第二,浮点数运算。便于用户调整参数,及时在运算量增加的情况下也能实现高效、复杂的运算,保证运算结果的准确;第三,优化人机交互。通过人机界面优化,可以集成多种功能,降低了人机对话编程的难度;第四,口令保护。其加密了数据,并设置了权限访问,避免了数据的非法删改。 4 PLC在配电系统中的应用设计 4.1设备层功能及控制策略 (1)设备层功能及控制策略 在设备层,一般需要通过智能化传感器实现对信息的识别以及传送工作,并将其转为可识别信号,保证通信信号的有效传输与交互。在执行器中,可以使用中央处理器向计算机发出信号,从而实现控制器的管控功能。在设备层,一般会采用分布控制技术,通过设立多个控制器组建设备层,每个控制器可独立工作,不相互影响,但控制器之间形成了一个数据通道,和计算机之间也建立一个信息互通渠道。 (2)网络层功能及控制策略 网络是配电系统的重要组成部分,网络可将分散的配电设备连接在一起成为一个有机整体,并通过监控中心的服务器进行信息交互,在网络层可通过现场总线技术保证网络层功能的有效发挥。 (3)管理层功能及控制技术 管理层中工作人员可通过计算机设备实现对设备运行状况的实时观测,管理层通过系统集成技术将计算机网络中的子系统连接在一起,通过子系统之间的信息交换实现子系统工作的协调,建立一个完善的信息控制机制。 4.2远程监控系统 当配电系统设备运行出现故障,对电能传输、变换等造成影响,通过PLC监控系统可及时发现故障并发送故障警报信号,对设备隐患进行排查,缩短了检修周期,提高了检修效率。 (1)PLC远程监控的原理 对配电系统电气设备的运行状态进行评价,可将其分为三个等级,如正常运行状态、异常运行状态和故障状态。作为正常状态就是设备运行过程中不存在缺陷或存在缺陷,但是不会影响设备的正常运行;所谓异常状态就是指存在一定缺陷,且对设备的运行状态造成较大影响,经检查发现电气设备存在不同程度的问题,不利于配电系统供电质量的提高;所谓异常状态是指电气设备缺陷发展到一定程度,对配电系统运行产生了负面影响,电气设备也出现了较为严重的损坏,但是可继续运行,这时需要注重设备性能观测,并立即进行维护检修;故障状态是指设备性能指标不符合生产要求且设备不能投入生产。PLC远程监控系统可以对配电保护系统的总受柜、1#变压器配出柜及2#变压器配出柜的三相电压是否欠压和三相电流是否过流等进行监测。当配电系统出现非正常运行状态,则立即发出报警信号或画面,运行人员在接收到报警信号后可迅速确定故障的发生位置,并派遣检修人员赶赴现场进行检查和维修。PLC通过对配电继电保护系统设备的采样,实现了运行数据分析。 (2)远程监控系统的设计。 配电继电保护系统中设有远程监控工作室,采用PLC控制系统对配电系统中各继电保护设备的运行进行监测,采集运行参数,若监测设备连续变化,只要输入信号物理量,如电压以及电流,便可通过2路的模拟量输入通道的S7-200PLC模拟量输入模块,即可实现信息的采集、筛选以及转换功能,最后得到量化后的信号,再通过电压模拟量变成软件进行信号处理,编程软件先输入“AIWO”,电流模拟量输入的编程元件为“AIW2”。当断路器为合闸状态,则可以采用开关SA1、SA3以及SA5对总受柜、1#变压器配出室和2#变压器配出室的开进行调控,该系统在采集到总受室、1#变压器配出室和2#变压器配出室的U、V、W三相电压和电流信息后,若出现了欠压或者是过流问题,则会立即发出警报信号,必要时也可手动控制。PLC系统的运行实现了定向数据的采集,同时具备实时监测以及远程遥控的功能,有利于配电

NUMECA中文帮助(4)

求各种numeca资料(renmu@https://www.sodocs.net/doc/d213718527.html,)thx 2-5 FINE求解 2-5.1 工程控制台Project Management 78. In the FINE interface project parameters, select the item Project Management/Project Settings (default). 在Import a grid file 中输入刚刚保存过的*.igg格式的文件。 79.在主菜单Mesh中选择Properties.设定度量单位。 80.In the Project units section, choose meters as the rotor37.geomTurbo file contained the geometry in meters (default) 81.In the Computations area, rename "computation_1" in "coarse_choked" yh-1在左边列表框中,选择/Parameters/Configuration/ /Fluid Model选取流体类型,如:理想气体,真实气体,水,等! /Flow Model选择流动模型,定常或非定常流动,1)欧拉方程或NS 方程2;2)湍流模型(NS);3)是否考虑重力作用。 /Rotating Machinery 设置旋转参数,如转速等! 2-5.2 步长和时间步设置 82.时间步长设置。选择Configuration / space & time 83.时间选取定常解模式。 84.选择3D流动 85.定义这个例子为内流,采用圆柱坐标系统。 86.激活IGG/Autogrid网格 87.设置旋转速度。-17188RPM 80-87这几步在6.0以上版本中方法不同,不必激活IGG。参考上面yh-1 2-5.3 在FINE查看网格

毕业设计58VGA显示控制模块硬件及软件设计

目录 摘要 (1) Abstract (2) 前言 (3) 第1章绪论 (4) 第1.1节应用背景 (4) 第1.2节设计思路 (4) 第1.3节设计工作 (5) 第2章硬件电路设计 (6) 第2.1节系统总体结构框架 (6) 第2.2节主控制器硬件模块 (7) 第2.3节电源模块 (10) 第2.4节D/A转换电路模块 (10) 第2.5节VGA显示模块 (14) 第2.6节本章小结 (16) 第3章软件设计 (17) 第3.1节Quartus II及VHDL语言介绍 (17) 第3.2节程序设计 (18) 第3.3节本章小结 (22) 第4章软件调试 (23) 第4.1节编译仿真 (23) 第4.2节配置加载 (23) 第4.3节实验结果 (24) 第5章结论与展望 (25) 参考文献 (26) 致谢 (27) 附录 (28)

摘要 本文设计了一个基于VHDL的VGA显示控制模块,通过FPGA控制图像信号与时序信号,软件的开发环境是ALTERA公司的Quartus II 6.0。设计运用VHDL语言编程,配置加载FPGA芯片,经FPGA处理,信号通过D/A转换器(电阻分压与ADV7123视频D/A转换两套方案),由VGA接口输出。设计的主控制器采用ALTERA公司的ACEX EP1K30TC144-3芯片,通过GW48系列SOPC/EDA实验箱调试,完成整个系统实验。 关键词:FPGA;VHDL;VGA

Abstract This paper describes the design of VGA display and control module which based on VHDL. Image signal and schedule signal were controlled by FPGA. Software development environment is Altera's Quartus II 6.0. This design using VHDL language programming, loading FPGA configuration, the FPGA, signal through D/A Converter (resistance pressure and ADV7123 video DAC two options), then output from the VGA interface. ACEX EP1K30TC144-3 chip of ALTERA Company has been adapted in the design of the main controller. Debugging program through GW48 Series SOPC/EDA Experiment Box, the whole system will be completed experiment. . Keywords:FPGA;VHDL;VGA

继电器控制电路模块设计及原理图

继电器控制电路模块设计及原理图 能直接带动继电器工作的CMOS集成块电路 在电子爱好者认识电路知识的的习惯中,总认为CMOS集成块本身不能直接带动继电器工作,但实际上,部分CMOS集成块不仅能直接带动继电器工作,而且工作还非常稳定可靠。本实验中所用继电器的型号为JRC5M-DC12V微型密封的继电器(其线圈电阻为750Ω)。现将CD4066 CMOS集成块带动继电器的工作原理分析如下: CD4066是一个四双向模拟开关,集成块SCR1~SCR4为控制端,用于控制四双向模拟开关的通断。当SCR1接高电平时,集成块①、②脚导通,+12V→K1→集成块①、②脚→电源负极使K1吸合;反之当SCR1输入低电平时,集成块①、②脚开路,K1失电释放,SCR2~SCR4输入高电平或低电平时状态与SCR1相同。 本电路中,继电器线圈的两端均反相并联了一只二极管,它是用来保护集成电路本身的,千万不可省去,否则在继电器由吸合状态转为释放时,由于电感的作用线圈上将产生较高的反电动势,极容易导致集成块击穿。并联了二极管后,在继电器由吸合变为释放的瞬间,线圈将通过二极管形成短时间的续流回路,使线圈中的电流不致突变,从而避免了线圈中反电动势的产生,确保了集成块的安全。 低电压下继电器的吸合措施 常常因为电源电压低于继电器的吸合电压而使其不能正常工作,事实上,继电器一旦吸合,便可在额定电压的一半左右可靠地工作。因此,可以在开始时给继电器一个启动电压使其吸合,然后再让其在较低的电源电压下工作,如图所示的电路便可实现此目的。 工作原理:

如图所示。V1为单结晶体管BT33C,它与R1、R2、R3和C1组成一个张弛式振荡器,SCR 为单向可控硅,按下启动按钮AN1后,电路通电,因为SCR无触发电压,所以不导通,继电器J不动作,电源通过R4和VD1给电容C2迅速充电至接近电源电压(Vcc-VD1压降)。同时,电源经R1给电容C1充电。数秒后,C1上电压充到V1的触发电压,C1立即通过V1放电,在R3上形成一个正脉冲,该脉冲一路加到V2基极,使V2迅速饱和导通,V2集电极也即电容C2正极近于接地。由于此时C2上充有上正下负的正极性电压,所以C2负极也即J 线圈一端呈负电位。R3上的正脉冲另一路经VD2、C3去触发可控硅导通,SCR阴极也即J 线圈另一端接近电源电压。这时,J线圈实际上承受约两倍的电源电压,所以J1-1闭合,松开AN1后,J1-1自保。J1-2将V1、V2供电切断,继电器在接近电源电压下工作。图中,AN2为停止按钮,按下AN2,J失电释放,J1-1断开,整个控制电路失电。 制作本电路时,一般可取继电器的额定电压为电源电压的1.5倍左右,一般情况下,任何型号的单向可控硅(或双向可控硅)皆可满足本电路需要。V2、C1、C3的耐压视电源电压的高低选取。C2耐压最好不低于电源电压的两倍。 继电器的三种附加电路 继电器是电子电路中常用的一种元件,一般由晶体管、继电器等元器件组成的电子开关驱动电路中,往往还要加上一些附加电路以改变继电器的工作特性或起保护作用。继电器的附加电路主要有如下三种形式: 1.继电器串联RC电路: 电路形式如图1,这种形式主要应用于继电器的额定工作电压低于电源电压的电路中。当电路闭合时,继电器线圈由于自感现象会产生电动势阻碍线圈中电流的增大,从而延长了吸合时间,串联上RC电路后则可以缩短吸合时间。原理是电路闭合的瞬间,电容C两端电压不能突变可视为短路,这样就将比继电器线圈额定工作电压高的电源电压加到线圈上,从而加快了线圈中电流增大的速度,使继电器迅速吸合。电源稳定之后电容C不起作用,电阻R起限流作用。 2.继电器并联RC电路: 电路形式见图2,电路闭合后,当电流稳定时RC电路不起作用,断开电路时,继电器线圈由于自感而产生感应电动势,经RC电路放电,使线圈中电流衰减放慢,从而延长了继电器衔铁释放时间,起到延时作用。 3.继电器并联二极管电路: 电路形式见图3,主要是为了保护晶体管等驱动元器件。当图中晶体管VT由导通变为截止时,流经继电器线圈的电流将迅速减小,这时线圈会产生很高的自感电动势与电源电压叠加后加在VT的c、e两极间,会使晶体管击穿,并联上二极管后,即可将线圈的自感电动势钳位于二极管的正向导通电压,此值硅管约0.7V,锗管约0.2V,从而避免击穿晶体管等

NUMECA帮助文档(六)

第十二章跨叶片截面模块 12.1绪言 本章针对透平机械讲述快速三维跨叶片截面模块的分析过程。这个模块是全自动完成的并且利用一些NUMECA工具。 此外,附加模块FINE?/Design2D这些工具联系起来,可以进行叶片重新设计,改善叶片表面压力分布,关于这些详见第13章。 这个模块假设流动是轴对称的,并且流面形状和厚度也由用户提供或由参数自动生成(利用根部和顶部边界)。 几何输入数据必须由用户提供: 1、流面及叶片这个流面上的截面或 2、完整的叶片轮廓及端壁 本模块由网格自动生成与NS湍流方程组成。 在下一节讲述这个跨叶片截面模块的界面及对用户的建议。12-4节讲述自动生成网格的理论和求解方程。12-5节讲述几何数据和输出结果。12-6讲述实例。 12-2跨叶片截面模块的界面 在FINE?/Design2D界面之下运行跨叶片截面模块,这些可以高速,简单,交互式求解。所有参数可以在用户界面中选取,并自动创建输入文件及求解。监视工具,MonitorTurbo,可以在计算中和计算后检查收敛情况及结果。它可以实时查看叶片表面压力分布的收敛过程及叶片几何形状。 结果分析利用NUMECA CFViwe?后处理工具进行,自动进入跨叶片截面模式。 几何数据以ASCII输入文件列出,但是求解参数定义及边界条件在这个界面

中列出。 这个截面的描述由FINE?/Design2D界面中的菜单创建。更详细的说明见12-5. 12.2.1开始新的或打开现存S1面计算 在开始界面下,Project Selection窗口允许创建新工程或打开现存工程。对于创建新的跨叶片截面工程,按如下操作: 1、单击按扭Create a New Project 2、选取工程保存路径及输入文件名 3、关闭Grid File Selection窗口,Design 2D不需要输入网格文件 4、进入S1流面模块,菜单Modules/Design 2D 如果要打开现存工程,在Project Selection窗口中单击Open an Existing Project 按扭,并在File chooser窗口中选取一个文件。最近使用过的文件在最近工程列表中列出。如果所选取的文件是以Design2D模式保存的,则FINE?界面自动转到这个相应的模块,显示界面如图12.2.1-1所示。 FINE?/Design2D界面如同FINE?/Trubo界面一样,包括菜单,工具栏,计算设置与参数区域。在菜单中同样也有一个Modules项,可以快速转到其它模块。Design2D模块的图标栏仅包括2D计算内容。界面左侧的参数列表也是与2D计算一致的。这一项的大多数内容与FINE?/Turbo工程是相似的。之间的差别仅在于: ●在Flow Model页:Design2D模块不能进行非定常计算。 ●Boundary Conditions页的说明见12-2.3 ●Blade-to-blade data页的说明见12-2.2 ●Initial Solution页的说明见12-2.5

相机控制模块设计

相机控制模块设计 1、硬件框架 在相机的使用中,需要对相机进行参数设置等操作,所以在异纤硬件板卡中添加相机控制模块。在本设计中控制模块通过两种方式实现: (a) PC机通过板上RS232通讯模块直接控制相机,进行相关参数设置。 (b) PC机通过千兆网RJ45经过FPGA间接控制相机,进行相关参数设置。 两种方式实现了电平转换及串行通讯功能。模块的硬件框图如下所示: 由于控制模块为控制两个相机的,所以采用了MAX3232的两路通道。 2、芯片选型 DS90LV047A:四通道CMOS/TTL信号转换为LVDS差分信号的芯片,采用3.3V直流供电,数据传输速率达400 Mbps。DS90LV047作为图像采集卡向相机发送外同步触发信号和数据,满足设计要求。芯片引脚及功能说明见表1。 DS90LV048A:四通道LVDS差分信号转换为CMOS信号的驱动器,采用3.3V直流供电,数据传输速率达400 Mbps。DS90LV048芯片作为相机数据的接收器,满足设计要求。芯片引脚及功能说明见表1。 MAX3232C: 两路RS232串行数据收发器。采用3.3V直流供电,数据传输速率达250Kbps。支持两路相机的串行通讯,满足设计要求。芯片引脚及功能说明见表1。

表1

MAX3232C 10 T2_IN CMOS/TTL通道2 输入CMOS/TTL输入2 11 T1_IN CMOS/TTL通道1 输入CMOS/TTL输入1 12 R1_OUT CMOS/TTL通道1 输出CMOS/TTL输出1 13 R1_IN RS232通道1 输入RS232接收器1输入 14 T1_OUT RS232通道1 输出RS232发送器1输出 15 GND 地输入 3.3V-5.5V地 16 VCC 电源输入 3.3V-5.5V电源 3、设计说明 本设计方案中采用两种方式控制相机。由千兆网RJ45连接FPGA间接控制相机的RJ45—FPGA接口详见“千兆网接口设计方案”,本方案不做详细说明。其中FPGA接电平转换芯片接口如图2所示。其中RXD1、RXD2、TXD1、TXD2、EXSYNC1、EXSYNC2接FPGA普通IO口即可,输出外同步触发信号EXSYNC1、EXSYNC2加测试点,差分信号端接机械CAMERA LINK端子,接口如图3,采用两路MDR-26。图2、3中网标后缀1代表控制相机1的信号连线,后缀2代表控制相机2的信号连线。 图 2

基于C51的嵌入式实时控制模块的设计与实现

基于C51的嵌入式实时控制模块的设计与实现 随着现代通信技术的发展,通信测试仪器不断推陈出新。各种新型设备对系统的实时响应能力的要求越来越高,一种通信测试仪器的实时响应性能,就成为系统设计能否成功的关键因素之一。笔者曾在多个通信测试仪器项目中,成功地应用ARM处理器、C51单片机等为主控芯片的嵌入式系统,实现了对仪器相关模块的实时控制功能。因此提出一种在某通信测试仪器中使用C51单片机来实现实时控制的设计方案。 1 硬件设计与实现1.1 总体方案设计 在该通信测试仪器中,实时控制模块主要实现对射频接收频综、射频发生频综、滤波器组件、射频输入模块、射频输出模块等实时控制作用。对射频检波信号进行A/D转换以获取数据。与上位计算机进行通信等功能。 根据待实现的系统功能要求,综合考虑系统资源,及芯片性价比等因素,确定采用以C51单片机为主控芯片的嵌入式系统方案,芯片为Silicon Labs的C8051F120,具有128 kB片内Flash存储器、81 024+256 Byte的片内RAM,可寻址64 kB地址空间的外部数据存储器接口、SPI、UART、定时器、时钟振荡器、PLL等,片上外设资源丰富、控制方便。系统资源分配:射频接收、发射频综模块,内含DDS,PLL等,外部控制接口是微控制接口,因此直接用单片机的地址、数据、控制三总线实施控制。滤波组件、射频输入/输出模块等的工作状态与接口上信号电平高低有关,因此用GPIO的方式进行控制。A/D转换控制使用串行外围设备接口SPI.与上位机的通信使用RS-232串口。总体设计框图如图1所示。 1.2 总线及I/O控制的设计 对于射频接收频综、射频发射频综模块,直接采用总线控制,为避免不同的模块控制时相互干扰,用3-8译码器对总线地址译码,产生不同模块的片选信号。同时数据线通过总线收发器以提高带负载能力。对于滤波组件、射频输入/输出等用I/O控制的模块,并未直接使用51芯片的GPIO引脚,则是将数据总线经锁存后模拟GPIO信号供相关模块使用,

numeca帮助文档(三)

Tutorial 2: rotor 37 (例题2,动叶37) 2-1.1 technical aspects (步骤) *概述 -对象管理 -开始/退出FINE,IGG/Autogrid,CFView *IGG/Autogrid -输入geometry(*.geomturbo)文件 -3D网格自动生成 -检查网格质量 *FINE -3D涡轮定常流结构 -涡轮边界条件设置 -完整的多网格设置 -使用收敛判定工具 *CFView -通用视图 -叶片-叶片视图 -侧型面 -云图and 等值线 -矢量图and 流线 -清理求解方案(sweep the solution) -叶片表面压力分布 -打印视图

2-1.2 理论 这是一个典型的例子 2-2 例题描述(case description) *亚音速,可压缩,轴向流动 *流体:空气 *工作转速:17188rpm 2-3 FINE求解方案 1.运行FINE,必须有下列条件;在Unix系统下 ●type fine(FINE类型?) ●单击(Return),在PC/NT ●双击FINE图标 2. 在FINE菜单中新建一个(project),[Project/New] 3.输入新项目的名字(rotor37.iec) 此时FINE会自动在当前目录下创建一个文件夹,文件夹名为刚输入的名字(rotor37) 4.单击创建网格,程序自动转到IGG,在IGG中,[选择Modules/AutoGrid] 2-4 IGG/Autogrid几何结构和网格创建 2-4.1 第一步:几何和网格创建 5.单击图标,弹出[Set-Up And Check]对话框 2.4.1.1 几何 对话框具有如下图的形式

numeca帮助文档(五)

2-7 Monitoring 查看求解过程 当计算进行时,可以通过两种方法查看收敛参数。 ·在文本窗口 ·以残差曲线的方式 2-7.1任务管理器 139.在左侧控制面板,打开任务管理器(Task Manager)下面的收敛过程菜单(Convergence History)。如下图(1) 如上图中(2)(3),你可以选择想要查看的用以判定收敛的参数 140.在FINE菜单中选择Monitor 141.设置Residual File项下的Block值为2.如下图(A)所示。

142.查看残差收敛图形,判定收敛标准还是以自已的经验为主,本文中的质量误差小于1%,等等只是作为参考,初学NUMECA可以此为据。 2-8 Suspend the calculation 暂停求解 143.在进行在约350步的计算后,单击Solver/Suspend,并退出监视图形。 2-9 Results analysis with CFView 用CFView分析结果144.开始CFView,在FINE菜单中下选择,并在弹出对话框中选择确定145.将计算结果文件读入CFView 2-9.1 Colour contours and Isolines 云图和等值线

146.在菜单Geometry下选择Select Surface….这一项,弹出对话框,这个对话框共有三项,选取第一项。 147.选取总压在菜单Quantity/Field Data/Basic Quantities 中 148.选取Smooth项,在CFView菜单Representation/Colour contour 149.选取Range Set项Representation/Scalar Range 150. 在消息区输入90.000-220.000,并单击鼠标右键,退出 151.选择Relative Mach(马赫数)(Quantity/Field Data/Basic Quantities) 152.选择Isolines…(Representation/Isolines/Isolines…) 153.输入:如下图 ? 15 isolines (default); ? Range = 0 to 1.5; ? Uniform (i.e. Black and White); ? Click on the Apply button.

基于电源控制的独立模块设计

龙源期刊网 https://www.sodocs.net/doc/d213718527.html, 基于电源控制的独立模块设计 作者:张凯 来源:《现代电子技术》2014年第23期 摘 ;要:该设计通过独立模块的应用,以实现电源独立控制为目的,进而在电源设备工作期间,从人工干预、运行成本、工作效率三方面进行改善。其工作方式分本控和远控两种:在本控方式下,电源控制模块向站控计算机发送电路分机的工作状态;在远控方式下,电源控制模块除向站控计算机发送电路分机的工作状态外,还接收并执行站控计算机送来的各种命令、引导信息,根据信息对电源工作状态经行调整,实现无人工干预的独立电源。 关键词:独立模块;电源控制;控制电路;引导信息 中图分类号: TN86?34; TM910 ; ; ; ; ; ; ; 文献标识码: A ; ; ; ; ; ; ; ; ; ; ; ;文章编号:1004?373X(2014)23?0152?03 Design of independent module for power supply control ZHANG Kai (Shaanxi Industrial Vocational College, Xianyang 712000, China) Abstract: The purpose of this design is to realize independent control of the power supply. In the local control mode, the power control module transmits the working status of the circuit extension to the station control computer. In the remote control mode, in addition to the function mentioned above, the power control module also receives and executes the commands and digital guidance information from the station control computer, and adjust the working state of the power supply according to the feedback information to realize the independent power supply without manual intervention. With the above method, artificial intervention, operation cost and working efficiency of the power unit are significantly improved. Keywords: ;independent module; power supply control; control circuit; guidance information 1 ;控制模块的主要任务 对于电路控制系统来说,控制模块的主要任务是根据指令稳定可靠地控制电源运行。此外,控制模块担负着供电、监控和实时统计任务。电源控制系统连接如图1所示。 <;E:\2014年23期\2014年23期\Image\31t1.tif>;

相关主题