登录
首页 » Others » ADAMS在机械设计中的应用

ADAMS在机械设计中的应用

于 2020-06-27 发布
0 397
下载积分: 1 下载次数: 4

代码说明:

ADAMS在机械设计中的应用,清晰完整版分享一下,感谢支持前言为什么要写这本书呢?主要出于以下几个原因。第一个原因,是笔者在近十年给机械学院的研究生上“虚拟样机技术及其应用”这门课程的过程中,一直没有找到自己想要的教材。“虚拟样机技术及其应用”这门课,就其传统意义而言,就是谈 Adams应用的。但是 Adams在许多学科中都有应用,那么在选择教材的内容时,应该选择哪些方面的应用呢?是谈机械振动方面的应用,还是刚柔耦合方面的应用?是汽车设计方面的应用,还是试验设计方面的应用?当然这些知识都是有用的,但是对于学生而言,他们是否会觉得谈这种应用很突然呢?就教学规律本身而言,它讲究知识的前后衔接,要求能够给学生一个合理的符合逻辑体系的知识架构,而不是突然从天而降一个空中楼阁,让人不可拾级而上。所有机械专业的学生都学习过理论力学、机械原理和机械设计,而 Adams对这三个方面均提供了大量的支持,如果从这三门课程开始接着谈 Adams,他们会觉得熟悉而亲切,也便于迅速了解 Adams。可惜的是,笔者没有发现这样的书籍。所以很早,笔者就想从这三门课程着手,来谈 Adams对于这些学科的支持,从而为机械专业的硏究生们接触 Adams提供一个合适的切入点。第二个原因,来自于笔者给机械学院的本科生上“理论力学”和“机械原理”这两门课程中所遇到的困惑。理论力学这门课,逻辑严密,题目千变万化,很多动力学的问题,即便像笔者这样教学多年的人,初次遇见时仍旧感到束手无策。所以教学这么多年以来,笔者一直致力于寻求通用解法,希望使用这种通用解法,能够求解一切理论力学的问题。2003年笔者读博士时,偶然接触到计算多体动力学理论,此时突然发现,笔者所苦苦寻找的通用解法,实际上就是计算多体动力学所采用的基本方法。而基于这种计算多体动力学理论,已经出现了几款专门的仿真软件, Adams就是其中之一。所以笔者迅速转人到 Adams,并开始利用它来求解理论力学的各种问题,结果发现它异常好用。无论多么复杂的动力学问题,只要正确建模, Adams都可以给出相当精确的答案。这一发现让笔者如获至宝,所以在近几年给学生上理论力学这门课时,已经开始有意地在上课期间向学生推荐这款软件,也开始在机械创新设计这门机械学院的选修课中向本科生们讲解这款软件的人门知识。此外,在笔者教授机械原理这门课的过程中,更深刻地感受到该软件对于“机械原理”的重要性。机械原理主要讲机构的设计与分析,但是如果学生对于机构的动作并无感性认识,那么无论是分析还是设计都感到困难。而使用 Adams,可以迅速地对机构进行建模、仿真,之后就可以浏览动画,从而对于机构有非常直观的感性认识。除了做动画以外, Adams对于凸轮机构的设计也很有用处。鉴于以上原因,笔者以为, Adams软件并不需要等到研究生阶段才对学生介绍,而是应该在本科阶段就引入。第三个原因,来自笔者带学生参加全国机械创新设计比赛中的体会。在连续三届带领学生参加全国机械创新设计比赛的过程中,笔者深切地感受到学生们在做设计时的那种无助与茫然。他们不知道方案设计从哪里开始,如何给出一个可行的方案,也不明白所给出的方案到底有没有用,无法对方案进行正确的评估,甚至连选择电机的功率都觉得很费劲。而当好不容易给出一个方案以后,他们也不明白结构设计该如何进行。他们所设计的轴和齿轮,基本上没有经过严格的力学计算。这并非他们不想进行计算,而是因为一旦机构复杂化后,几乎无法进行力学计算。我们在学习“理论力学”的静力学部分时,较为复杂的问题也只有四五根杆件,而且还只是平面结构。而对于我们设计的机械产品,一条传动链上可能就有十几个构件,而且还是空间结构。如何根据执行端的受力,正确推算出传动链上各个构件的受力,这是一个艰巨的任务。此时,所谓的解题技巧已经完全没有用处,而只能使用通用解法,也就是一个物体列出6个方程。如果传动链上有10个物体,这就需要列出60个方程。即便我们正确地列出了60个方程,那么该如何求解这60个方程呢?难道准备用手工计算吗?这令人望而生畏。这还仅仅是静力学问题,对于动力学问题该如何处理呢?难道对每个物体列出刚体平面运动微分方程后,再追加加速度关系吗?这更令人不寒而栗。因此许多学生放弃了计算这条途径,而只能随便给一个数据。对于所给定的这个数据,他们心中一点底都没有。到产品设计、加工、装配出来以后,一旦进行加载试验,才发现作品千疮百孔,到处都是问题,似乎每个地方都可能会发生断裂或者变形过大,学生们对自己的作品毫无信心。笔者在连续经过三次这样的比赛以后,深感计算的重要性,也深感我们的确需要一些称手的工具来帮助我们计算,而非手工计算。所以,像 Adams这种进行机构力学计算的软件几乎变得必不可少。所以,笔者深感在机械专业的高等教育中引人像 Adams这样的仿真软件,已经不仅仅是种时髦,也不是一种噱头。对于机械设计而言,他们就如同空气对于人类一样的重要。传统的手工计算方法无法求解复杂机构,对于复杂机构,几乎只有借助专业软件这一条道路。如果不使用专业软件,我们在大学所学习的许多课程,在实践中将会显得毫无用处。笔者以为,这也是为什么我们所培养的学生,在工作过程中觉得大学课程没有用处的一个重要原因。许多课程,对于所研究的对象做了大幅简化,为了能够给岀解析解,使学生可以做课后作业、进行考试,这些课程只能做一些简单的习题。但是实际问题是复杂的、变化万千的,教材所给出的方法很难在实践中得到应用,这就导致了理论与实践的严重脱节,导致了“读书无用论”的泛滥。鉴于此,笔者感到很有必要写一本关于 Adams的书。在这本书中,谈论如何用它对机械专业基础课程中的问题进行求解,使学生在本科或者研究生学习阶段,就能领会这种方法,从而在日后的工作中,能够有意识地使用专业软件来辅助自己的设计,使自己所学习的知识没有白费,这就是笔者写这本书的主要原因。鉴于以上原因,笔者在本书中主要谈了 Adams在理论力学、机械原理和机械设计这三门课程中的应用。在谈这些应用的时候,笔者以例题为主线来展开讨论,这些例题,绝大部分都来自于上课时使用的教材。这样做的目的,是想告诉学生, Adams就是为解决这种问题服务的。除了谈 Adams在这三门课程中的应用外,为了解决更复杂的问题,笔者也专门开辟出两章,一章谈 Adams对于三维的复杂机构是如何进行仿真的,另一章谈如何进行编程。在机械设计过程中,我们经常需要在三维建模软件中做出装配体,然后导入 Adams中进行动力学分析,以考察结构的受力和运动。笔者发现,许多学生对于这种方式很陌生,在进行模型转换时没有使用正确的方法,结果在把模型导亼 Adams后,发现构件数目众多,给建模和调试带来了相当的困扰。笔者在多年的模型转化过程中,找到了一些经验,希望能够分享这种经验,让学生们或者机械工程师们在遇到这种问题时少走弯路。这就是笔者开辟一章谈Ad-ams对于三维复杂机构进行仿真的原因所在。至于编程那一章,来自于笔者在与许多CAE爱好者交流时他们所提出的困惑。他们发现,有时需要对 adams进行二次开发,但是市面上关于 Adams的书籍,谈 Adams二次开发的不多,有的谈到了,但是并没有给出一道完整的例题。这使得他们必须自己一点点摸索、研究、调试,而在遇到问题以后也没有人讨论,觉得自学起来十分费劲,急需得到有效的指导。此外,笔者也发现,很多CAE爱好者,虽然大学时学习过某种编程语言,但是他们实际上并没有编制过多少实用的程序,所以对于如何编程,本身就很模糊。有鉴于此,笔者专门开辟出一章,以一个折叠机构为例,非常详细地说明了如何用 Adams对之进行编程,并伃细阐释了编程中的几乎所有细节问题,包括变量的定义,编程思路的形成,等等。这是一道十分完整的例题,它来自于笔者带领学生做创新设计比赛时遇到的一个实际问题,笔者希望这种详细的讲解能够让大家进入 Adams编程的大门。因此,这应该是一本密切联系实际的书,它的目的是希望学生在学会书中的知识以后,能够在实际设计中,能在 Adams的帮助下使用自己在大学阶段所学到的专业知识;这是一本充满例题的书:第Ⅰ章就有1道单摆的入门例题,理论力学部分有l道例题,机械原理部分有10道例题,机械设计部分有6道例题,编程部分是1道完整的例题,复杂机构部分有3道例题。希望读者在学习这些例题以后,能够触类旁通,举一反三。这也是一本讲解细致的书,对于所有的例题,我们都做了相当详尽的讲解,包括在建模前的理论分析,建模中的详细说明,以及建模后的讨论与小结,等等。我们这样做的目的,是希望读者不仅仅会操作,而且能深刻理解这种操作的由来,并及时总结经验,从而能够非常清晰地理解知识和软件本身。所以,理论联系实际、大量列举例题、详细说明原理,是本书的三大特色。就总体编排而言,本书分为7章。其中,第3章、第4章和第5章,分别讨论 Adams在理论力学、机械原理和机械设计中的应用,这是本书的核心部分;第6章和第7章,分别谈论 Adams的编程以及它对于复杂机构的仿真,这算是扩展部分;第1章是对于 Adams的入门介绍,它简要地介绍了 Adams的两个核心模块: Adams/View和 Adams/ Post processor的最重要功能及一般使用过程,并以一个单摆为例说明如何使用这两个模块;第2章谈的是 Adams,/View的10种基本使用技术。因为这些技术在后面几章的建模和仿真中使用的频率相当高,为了节省全书篇幅,就在该章中对这些常用技术进行了集中讲解,而到后面几章中用到这些技术时,一带而过,所以这两章是基础。因此,本书是由基础篇(第1,2章)、核心篇(第3,4,5章)和扩展篇(第6,7章)组成的。本书的绝大部分内容由宋少云写作,由尹芳反复修改后最终定稿。在本书的写作过程中,我们得到了许多在校学生以及CAE网友的大力支持,尤其是得到了笔者所带的研究生张凤姣、李小力、侯晶晶、李祖吉、满续文的大力帮助,他们提出了很多建设性的建议和意见,并为本书的校稿付出了很多心血,在此一并感谢。本书中的模型文件,读者可以在国防工业出版社网站(htp:w.ndip.cn)“资源下载”栏目下载。由于时间紧张,本书在撰写过程中难免会有一些错误,读者若有意见和建议,请在百度中搜索“宋博士的博客”(htt://blog.sina.com.cn/doctorsongshaoyun),给我留言。目录2.3.8移动构件………………34第1章绪论2.3.9小结…341.1 Adams软件简介12.4如何建模坐标点……………341.2 Adams/View人门…………2.4.1创建单个的坐标点……341.2.1界面介绍2.4.2创建一批坐标点………351.2.2一般使用方法52.4.3小结……………………361.3 Adams/ Post Processor入门……102.5如何创建转动副和移动副…361.3.1界面介绍……2.5.1创建转动副…361.3.2一般使用方法2.5.2创建移动副371.4实例:单摆…………………142.5.3小结…………………384.1问题描述…142.6如何创建驱动381.4.2理论分析………142.6.1施加常数类型的旋转1.4.3建模……………………14驱动…………………381.4.4仿真………………182.6.2施加函数类型的旋转1.4.5后处理18驱动…381.4.6讨论242.7如何施加力…………422.7.1任务描述………………42第2章使用 Adams/view的十种基本2.7.2操作技术262.8如何使用仿真控制对话框432.1如何建模实体262.9如何创建测量………………452.1.1创建连杆………262.9.1观察结果的四种方法…452.1.2创建凸轮2.9.2测量的种类452.1.3小结2929.3创建对象测量的方法…462.2如何观察模型………302.10如何使用文本框…………482.3如何修改实体312.3.1了解构件的内部表示…31第3章 Adams在理论力学中的应用…512.3.2修改构件的名称……323.1引言…512.3.3修改构件的颜色,,323.2静力学分析………………522.3.4修改构件的可见性………323.2.1简支梁的平衡计算……522.3.5修改构件的透明度333.2.2外伸梁的平衡计算582.3.6激活/休眠构件………333.2.3平面桁架内力的计算…652.3.7删除构件343.2.4空间结构的内力计算…74Ⅶ3.3运动学分析805.2齿轮机构的建模与分析……1863.3.1牛头刨床的运动分析…805.2.1概述………………………1863.3.2凸轮机构的加速度5.2.2斜齿圆柱齿轮机构的建模分析……89与分析…883.3.3纯滚动的建模与仿真…975.2.3直齿锥齿轮机构的建模3.4动力学分析104与分析……………1963.4.1质点系动力学………1045.2.4复合轮系的建模与3.4.2三棱柱的滑动…………111仿真…1993.4.3板上有滚子的动力学5.3链传动的建模与分析205问题…………………1205.3.1概述………………………2053.4.4滑轮组的动力学1275.3.2滚子链传动的运动学建模与仿真207第4章 Adams在机械原理中的5.4带传动的建模与分析213应用1335.4.1概述…………………2134.1引言…………………1335.4.2V带传动的建模与4.2核心机构的建模……………134仿真………2154.2.1四杆机构的建模与5.5滚动轴承的建模与分析225仿真………1345.5.1概述2254.2.2六杆机构的建模与5.5.2滚轴轴承的建模与仿真……………………139仿真2264.2.3小结…………………143第6章 Adams编程入门…………2364.2.4尖底推杆盘形凸轮机构的建模436.1引言……………2364.2.5外啮合圆柱齿轮机构的6.2主要建模命令分析237建模……………1486.2.1任务分析………………2374.2.6齿轮齿条机构的6.2.2主要建模命令237建模……1536.3 Adams/view的逻辑控制语句…2464.3高级建模技术…1576.3.1如何使用循环语句……2464.3.1棘轮机构的建模……1576.3.2如何使用条件语句……2484.3.2槽轮机构的建模……1646.4程序片段的编制……2494.3.3凸轮机构的设计……1676.4.1创建关键点的算法……2494.3.4复杂机构的建模与6.4.2创建连杆的算法………252仿真………………1736.4.3创建滑块的算法…2554.3.5大型模型合并技术……1766.4.4创建转动副的算法……2566.4.5创建移动副的算法……260第5章 Adams在机械设计中的应用6.4.6创建集中力的算法…1846.4.7施加速度驱动的5.1引言…184算法…2616.5创建宏………………2627.2凸轮演示机构的运动学仿真…2756.5.1概述2627.2.1问题描述……………2756.5.2创建折叠机构的宏2627.2.2建模分析………2766.6对话框2647.2.3仿真过程2776.6.1概述2647.3单缸发动机的动力学仿真……2886.6.2创建折叠机构的7.3.1问题描述……………288对话框………………2657.3.2建模分析2896.7定义菜单2707.3.3仿真过程2806.7.1概述…2707.3.4讨论3036.7.2创建折叠机构的7.3.5小结303菜单项…殳计2717.4飞剪机的优化设…………3046.8程序的应用……………………2737.4.1问题描述3047.4.2建模分析305第7章 Adams在机械设计中的综合使用7.4.3仿真过程306275参考文献……3227.1引言…………………………275Ⅸ第1章绪论1.1 Adams软件简介Adams的英文全称是 Automatic Dynamic Analysis of Mechanical System,其对应的中文翻译是“机械系统的自动动力学分析”。从该名称可以看出,该软件用于对机械系统进行动力学分析,而机械系统正是机械专业学生进行设计、分析和制造的对象,所以 Adams主要是为机械类学生服务的一款专业软件。Adams是对机械系统进行动力学分析的,这就意味着它与 AutoCAD,Po/ Engineer,Solid Works等软件的设计目的是不一样的。这些软件的主要目的是为机械设计及机械制造服务的,虽然它们也含有分析功能,但 Adams是专门为动力学分析服务的,其动力学分析功能更全面而强大。所谓动力学分析,是指对于某一个系统,当在它上面加上力和或运动后,经过计算,我们可以得到其上任何一个构件或者某个点的位移、速度、加速度,以及在运动副处(如果有的话)的受力情况。这样,对 Adams而言,它输入的是机械系统,输出的主要是位移,速度,加速度和力四种力学量我们知道,动力学分析是诸如理论力学课程所解决的问题。理论力学中已经花费了大量的篇幅谈论如何用动量定理、动量矩定理、动能定理、达朗贝尔原理以及拉格朗日方程来求解动力学问题,为什么还需要用软件来对动力学问题进行分析呢?实际上,仔细研究理论力学中的问题就可以发现,理论力学所提出的解法看似很完美,但只要机构稍微复杂一点(例如有3~5个构件),手工求解就十分麻烦。而在实际工程中我们面对的构件数目成百上千,手工计算其工作量不可思议。工作量大还只是一个方面,更麻烦的在于有些问题从数学上根本就不可能得到解析解,而只能得到所谓的数值解。在这种情况下,对机械系统进行手工动力学分析就成为一件几乎不可能完成的任务。为了解决这个难题,研究人员提出用计算机求解机械系统的动力学问题,并相应地开发出一些动力学分析软件,比较著名的如 Adams, Recurdyn, Simpack, Nucars, Samcef等。Adams只是其中之一,但也是非常重要的一款,它发展到至今也不过30多年,其创始人是美国的 Michael E. Korybalski1973年, Michael E. Korybalski在美国密西根大学安娜堡分校( University of Michigan,AnArbor)获得机械工程硕士学位后,进入福特汽车公司工作,担任产品工程师。四年后,他与人合作在密执安州安娜堡镇创立了MDI公司( Mechanical Dynamics Inc),到1980年开发出第套3D机构运动分析系统商品化软件,称为 Adams。2002年,MDI公司被 MSC Software公司收购,这样 Adams成为MSC产品线的一个组成部分,更名为MSC. Adams。经过多年的发展,如今 Adams发展成为 Adams2013版,这也是本书所使用的版本。Adams发展至今,其包含的内容已经相当广阔,在其内部包含了很多模块,可以求解的问题也超越了单个学科的范围,而成为一个多学科的仿真软件。下面以 Adams2013为例,对其组成做一个简要介绍。Adams2013中包含一系列模块,按照功能总体上可以分为四类:●基础类。包含4个模块: Adams/view主要用于建模,它是本书中使用最多的一个模块Adams/Solver用于计算,初级用户很少会直接使用它,而是在 Adams/vew中通过一个按钮间接调用该模块; Adams/ Post processor用于进行后处理,本书也会经常使用它; Adams/Insight是专门用于做虚拟试验的一个模块,本书不会涉及它●高级类。包含六个模块: Adams/Controls用于机械一控制系统的联合仿真;Adams/ Durability用于耐久性仿真; Adams/Flex用于创建柔性体; Adams/ Mechatronics用于机电一体化系统的仿真; Adams/Vibration用于振动系统的仿真;Ⅴ iew Flex用于创建柔性体●汽车类。包含七个模块: Adams/Car(汽车模块); Adams/Car Ride(平顺性分析模块);Adams/Car Truck(卡车模块); Adams/(has专业底盘模块); Adams/ riverine(传动系统模块);Adams /SmartDriver(高级驾驶员模块); Adams/ire(轮胎模块)。这些模块主要用于汽车设计中。●机械类。 Adams^. Machinery(机械模块),里面包含了对齿轮机构、带传动、链传动、轴承的建模和仿真,这主要是为通用机械设计而提供的一个模块。本书会专门开辟一章介绍其中的内容。下面将主要介绍 Adams的基础类中的两个模块: Adams/View和 Adams/ PostProcessor,它们是我们在实际仿真中用的最多的两个模块,本书的绝大部分任务都是在这两个模块中解决的。12 Adams/view入门Adams/view是 Adams系列产品的核心模块之一,主要用于机械系统的建模。本节介绍两个内容: Adams /view的界面以及 Adams/View的一般使用方法。1.21界面介绍从 Windows的【启动菜单】→【所有程序】→【 MSC Software】【 Adams2013】→【view】→【 Adams-view】进入 Adams/view的欢迎界面(图1-1)。可以看到,该欢迎界面有三个选项● New model(新模型):用于创建一个新的模型。● Existing Model(现存的模型):用于打开一个现有的模型。Exit(退出):退出 Adams/view。这里选择 New Model创建一个新模型,接着弹出了一个 Create New Model(创建新模型)的对话框(图1-2)。该对话框主要用于确定新模型的最基本属性。① Model namer(模型名)。指定该新模型的名称,请使用英文或者汉语拼音,而不要使用中文字符。② Gravity(重力)。用于指定是否需要考虑重力,以及重力的方向。运动学分析不需要考虑重力;动力学分析一般需要考虑重力;而对于静力学分析,基于问题的性质,会有选择性的考虑是否需要重力。对于该项,也可以在进入 Adams,/vew的主界面后再通过主菜单进行设置。③ Units(单位)。主要用于确定模型的长度、质量、力、时间、角度的单位。对于机械产品而言,长度通常为mm,有时候为m。对于该项,同样也可以在进入 Adams/View的主界面后,通过主菜单进行设置。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 自动避障与自主航路规划文章及代码合集
    动态规划 自主避障 航路规划 A*算法 蚁群规划都有,这里面是很难找到的论文资源,值得下载,附带了一份可以直接使用的MATLAB仿真代码,用于自动规划无人机或者舰船等巡航规划的最短距离代码,可以直接使用。
    2020-11-28下载
    积分:1
  • 最小二乘法倾斜校正
    该程序用最小二乘法实现倾斜校正,校正效果好,程序简单易懂
    2020-12-09下载
    积分:1
  • 基于图像块的运动估计matlab代码
    基于图像块的运动估计matlab代码
    2021-05-06下载
    积分:1
  • 求两幅图像间的-相关系数-matlab-M文件
    求两幅图像间的相关系数matlab的M文件---CorrelationCoefficient.m---;很简单的东东,但可以为你省些时间。共享改变未来!
    2020-12-07下载
    积分:1
  • 合成孔径雷达成像算法与实现
    合成孔径雷达成像算法与实现,系统讲述合成孔径雷达成像原理及相关算法,SAR学习经典书籍
    2021-05-06下载
    积分:1
  • 内存乒乓缓存机制和消息分发机制的C代码实现
    用C代码实现乒乓内存缓冲机制,具体实用价值,帮助您提高内存响应速度与及时数据的处理。unsigned long writeunsigned long greadunsigned long overflowST TWTMSG QUEUE:/ Helper macros for accessing Msg queues. *#define tWt QUEUE EMPty(a)(((g->write==(q)->gread)? 1: 0)#define twt_ QUeUe full(a)(((((q)->qwrite +1% TIMEWEIGHT TASKQUEUE SIZED)==(q)->gread)?1: 0)米 generate a Msg entity*正常返回消息体的指针,异常返回NULLT TWTMSG* generateMsg(tT-TWTMSG* pmSg=nULL,if(NULL =-(ptMsg malloc(sizeof(T TWTMSG)))return NULL;memset(ptMsg, 0, sizeof(T TWTMSG)return pmSg;destroy a Msgvoid destroy Msg(t TWTMSG ptMsgif(NULL ptMsg->pfDestroyMsg)pt Msg->pfDestroy Msg(ptMsg->pvMsg)if (NULL != pt Msg)free(pmSgfree a Msg Queuevoid freeTWTMsg Que(T TWTMSG QUEUE* ptMsgQif(NULL =ptMsg Afree(ptMsg Q);Init a Msg QT TWTMSG QUEUE* initTWTMsg QueoT TWTMSG QUEUE pmSg Q= NULlif (NULL ==(ptMsgQ malloc(sizeof(T_ TWTMSG QUeue)goto ErrRetmemset(ptMsgQ, 0, sizeof(T TWTMSG QUEUE))return pmSg Q;Errretprintf( initTWTMsg Que Fail! ")freeTWTMsgQue(ptMsg Q)return nullPop a pvMsg packet from a msg packet queues param g is the packet queue from which to pop the pbuf@return pointer to pvMsg packet if available, NULl otherwiseT TWTMSG* TWTMsg Get(T_ TWTMSG QUEUE aT TWTMSG*//*加锁if(TWT_ QUEUE_ EMPTY(a))iReturn a NUll pointer if the queue is emptypmSg=NULL;else is The queue is not empty so return the next frame from itand adjust the read pointer accordinglypmSg=g->pvMsglq >greadg->gread =((q->gread +1)% TIMEWEIGHT_TASKQUEUE_ SIZE)/*解锁return(pmSg);Push a pmSg packet onto a pvMsg packet queue@param p is the pmsg to push onto the packet queue@param g is the packet queue.W @return 0 if successful, -1 if q is fullnt TWTMsg Send(T tWTMSg*p, T TWTMSG QUEUE *qint ret/if(!TWT_ QUEUE FULL(al)iThe queue isn t full so we add the new frame at the currentw write position and move the write pointer.g->pvMsgla->write]=pg- >write =((q->qwrite+1)% TIMEWEIGHT TASKQUEUE SIZE;ret =oThe stack is full so we are throwing away this value. Keep trackof the number of times this happensg->overflow++ret =-1://*解锁return(ret)**米**米来米***来米*半米*米*半米*米求***半*米米求半**米求半**半求半和*米*//消息分发机制//*算法是//*正常返回0,出错返回-1水米米******水*米*水**米*半*水米米冰半**水水*水米米半米冰水*米水水*水*米水水extern int RecToFile MsgProc(T_ MSG_ REC2 FILE* ptMsg);int DispatchMsg(T TWTMSG *ptMsgitif(NULl = ptMsg goto ErrRet/*dispatch msg*/switch(ptMsg->en Msg Type)case TWT PINgPoNgBuff recRecTo File Msg Procl(TMSG_REC2FE) (pmSg->pMsg);/*处理消息*/destroy Msg( pmSg;/*消毁消息breakdefault.printf("Dispatch Msg Msgtype Error! n")break.return 0ErrRetprintf("Dispatch Msg Fail! ";return-1./*buff size*/#defineP| NGPONG_ BUFF BSIZE0X20000//10*1024*1024/*10M*/*ping pong buff*///chargacPINGBUFF[PINGPONG BUFF BSIZE]; /* Ping Buff*///chargacPONGBUFF[PINGPONG_ BUFF BSIZE] *Pong Buff*/水米米*********米*水**米*半*水米米水**冰水*水米米半半水半米冰水*米水水*水*米米//*释放 ping pong buff/必然成功//*无返回木***木*水****本**水*水水*水****本水**水水****水水***本***米*水void Destroy Ping Pong Butt(T PINGPONGBUFF USE DES ptPing Pong Butt)nLoopif (NULL = pt Ping pong buffreturnfor (nLoop=0; nLooptIng BuffUse[nLoop]. pcHeadAddr)free(ptPing Pong ->t Ping BuffUse[nLoop]. pcHeadAddr)free(pt Ping pong Buff)/初始化 ping pong buff返回 pign pong buff的描述指针//*正常返回0,出错返回-1水水水水水水水水水木水木水水水水水木水木水水水水水水水水本水水水水水水水水水本水水水水水水水水水水水水水T PINGPONGBUFF USE DES InitPing Pong Buff(unsigned int n BuffSizeT PINGPONGBUFF USE DES* ptBuffDes=NULLintnLoop/*获取buf描述*if NULL==(ptBuffDes=malloc(sizeof(T PINGPONGBUFF USE DES))))goto ErrRetmemset(pt BuffDes, 0, sizeof(T_PINGPONGBUFF USE_ DES));/*分别初始化ping和pong*/for(nLoop=0; nLooptIng BuffUsenLoop pcHeadAddr =malloc n BuffSize))goto Err Ret;ptBuffDes->tIng BuffUselnLoop] nBuffSize nBuffsizeptBuffDes->tPing BuffUse[nLoop]. oFfsetptBuffDes->tPing BuffUsenLoop) eUseStatus-=BUFF WRITEABLE;pt BuffDes->eCurUseIDBUFF PINGreturn pt BuffDesErrretprintf("lnitPing Pong Buff Fail!");DestroyIng Pong Buff(pt BuffDes)turn null平**米**米*米***来米米*米*米*半米*米米米来*半米平**米米求*来*半求半来*米求*和*米*/*Reset ping pong buff//*正常返回0,出错返回-1米米米米水冰米*米米水**米米冰*米水米米米米水米水*水米米来米米x米来米米水冰来来宋来水米来米来冰#define ResetBuffUse(ptBuffuse)pt BuffUse->oFfset0pt BuffUse->eUseStatus BUFF WRITEABLEgenerate a file rec msg*正常返回消息体的指针,异常返回NULLT_MSG_REC2lGK SenFRMSB(T_BUFF_USE_DES *ptBuffUse, REC_FILE_DESLIST *ptFileListRT MSG REC2FILE KE* ptRFMsg= NULL;if(NULL ==(ptRFMsg malloc(sizeof(T_ MSG REC2 FILE)return nUllptRFMsg- >pt BuffUse pt BuffUseptRFMsg->pt Filelist ptFilelist;return ptRFMsg
    2020-12-03下载
    积分:1
  • VMware-ESXi-6.7.0-8169922增加RealTek8168网卡驱动(2-1)
    自己制作的VMware ESXi 6.7.0-8169922 版本ISO,增加了RealTek 8168网卡驱动,适合网卡是RealTek的服务器或者台式机安装ESXi,实测可用. 实测可用硬件环境如下: Dell OptiPlex 3060台式机 CPU: i7-8700 内存:16G 网卡: RealTek 8168解压缩密码 : you_can_do_it
    2020-12-06下载
    积分:1
  • 交通灯设计.ms14
    利用multisim 14.1搭建的交通灯仿真电路
    2020-12-09下载
    积分:1
  • Rohde&Schwarz 频谱仪操作手册(英文)
    Rohde&Schwarz 频谱仪操作手册(英文) 1145.5850系列全英文,详细的操作方式,各类使用技巧R&S FSHContentsContentsSpecificationsSafety InstructionsCertificate of qualitEC-Certificate of conformitySupport Center AddressList of R&S RepresentativesPutting into OperationFront view1.1Putting into Operation1.2Unpacking the Instrument1.2Setting up the InstrumentSwitching on the Spectrum Analyzer1.4Spectrum Analyzer Connectors1.5Screen SettingsQCountry-Specific Settings1.10Setting the Date and TimeSetting the date.1.11Setting the time1.1Charging the Battery......1.12Selecting the Instrument Default Setup1.13External Reference /External Trigger Switchover1.14Controlling the rF Attenuator1.15Using a Preamplifier…1.15PIN Entr1.17Connecting Printers.1.19Setting the Baud rate for Remote Control1.21Enabling Options1.21Checking the Installed options1.221145.5973.12E-15ContentsR&S FSH2 Getting Started2.Measurements on cw signals2.1Level measurement2Setting the Reference Level量‘面2.2Frequency Measurements2.3Harmonic Measurements of a sinewave Signal面面2.4Power Measurements Using the Power Sensor2.5Power and return loss measurements with the r&s FsH-z14 or the r&s FSH-Z444427Two-Port Transmission measurements2.9Measurement of return loss2.11Performing Distance-To-Fault Measurements...2.14Operation in Receiver Mode2.20Measuring the carrier-to-Noise power ratio2.Determining the Reference2.26Sts…2.26Selecting the reference channel2.27Entering the channel bandwidth of the reference channel2.27Selecting the unit for the reference...2.27Manually entering the reference2.27Automatic level adjustment2.27Measuring the Noise Power and Calculating Carrier Power /Noise Power.........2.28Selecting the result display2.28Frequency setting of the noise channel..2.28Setting the noise channel measurement bandwidth2.29Setting the C/N channel bandwidth2.29Automatic level adjustment2.29Correcting the displayed average noise level2.30Hiding the result display2.30Saving and Recalling Settings and Test Results2.31Saving Measurement Results2.31Saving Calibration Data2.32Recalling measurement results2.33Printing Out Measurement Results……2.341145.5973.122E-15R&S FSHContents3 Operation3.Screen LayoutScreen layout for spectrum-mode measurements without markers3.1Screen layout when the marker mode is selected3.2Entering Measurement ParametersEntering values and texts3.3Entering units3.4Menu overview.3.5Frequency entryFrequency span...Level setting…3.5Bandwidth settingTrace setting3.6Measurement functions3.7Marke3.10Save and print menu3.12Instrument setup3.12Status display3.12Menus in the Receiver Mode(option R&S FSH-K3)3.13Menu for 3GPP BTS Code domain Power Measurement (Option R&S FSH-K4)3.16Menu for Vector Voltmeter(Option R&S FSH-K2)3.161145.5973.12E-15ContentsR&S FSH4 Instrument functions4Instrument Default Setup4.1Status Display..................4.1Setting the Frequency4.2Entering the center frequency..4.2Setting a frequency offset4.2Entering the center-frequency step size4.3Entering the start and stop frequency4.4Working with channel tablesSetting the Span1面4.6Setting the Amplitude Parameters4.7Setting the reference levelEntering the display range94.9Entering the display unit4.9Entering the reference offset4.10Entering the input impedance.…………4.10Setting the Bandwidths4.11Resolution bandwidth4.11Video bandwidth4.13Setting the Sweep4.14Sweep time.4.15Sweep mode.4.15Trigger4.16Trace Settings4.19Trace mode∴4.19Detector4.20Trace memory…4.22Trace mathematics4.23Using the Markers4.24Automatic marker positioning .......4.25Using more than one marker at a time(multimarker mode).........,4.27Marker functions4.30Measuring the noise power density4.30Measuring the frequency4.31Measuring the filter bandwidth or the signal bandwidth4.32aF demodulation4.331145.5973.12E-15R&S FSHContentsUsing the dis play line…….….….….….….….….….…..….….……….…..34Setting and Using the Measurement Functions4.35Measuring the channel power of continuously modulated signals………………4.35Selecting the standard4.36Setting the reference level4.38Setting the channel bandwidth4.38Changing the spaPower displaPower measurements on TDMA signals4.42Selecting a standard∴4.42Setting the measurement time4.44Optimizing the reference level ..4.44Power readout4.45Setting the trigger4.45Measuring the occupied bandwidth4.46Selecting a standard4.47Setting the reference level4.48Setting the channel bandwidth4.49Entering the power percent to determine the occupied bandwidth4.50Displaying thupied bandwidth4.50Changing the spai1145.5973.12E-15ContentsR&S FSHMeasuring the Carrier-to-Noise Ratio.......4.52Determining the reference4.53Setting the reference channel4.53Setting the reference channel bandwidth……4.53Setting the analyzer reference level for the reference channel measurement4.54Manual reference mode4.54Inserting the c/N referenceUnits of the c/n reference4.55StandardsUSER Standard4.56User-specific standards4.56Predefined user-specific standards4.59Predefined user-specific standard Digital TX4.59Predefined user-specific standard ANalog tv mode4.60Predefined user-specific standard ctx4.60Measuring the noise channel power and calculating the carrier power/noise power.4.62Frequency setting of the noise channel………4.63Setting the noise channel bandwidth4.64Setting the C/N ratio channel bandwidth4.64Setting the reference level during noise channel measurement.4.65Selecting the c/ N result display..…,…4.65C/N measurement result display4.66Changing the span4.66Correction of inherent noise power4.67Using the R&S FSH in receiver mode4.68Setting the frequencySetting the reference level,,,。.。4.71Setting the bandwidth4.72Setting the detector4.73Setting the measurement time4.73Measurement on multiple frequencies or channels(scan)4.74Measurements using the power sensor4.76Connecting the power sensor……4.76Zeroing the power sensor.4.78Selecting the unit for the power readout4.79Setting the averaging time.……4.80Taking additional loss or gain into account4.81Measuring forward and reflected power∴4.82Zeroing the power sensor4.84Setting the power measurement weighting4.85Selecting the unit for the power readout4.86Taking additional attenuation into account4.881145.5973.126E-15R&S FSHContentsTwo-port measurements with the tracking generator489Measuring the transmission of two-ports4.91Vector transmission measurement494Measuring the transmission magnitude........4.96Measuring the transmission phase4.96Measuring the electrical length when measuring transmission面B国4.99Measuring the group delay when measuring transmission4.100Transmission measurement using the connected VSWR Bridge R&S FSH-Z3.. 4.102Sppectrum measurements with the VsWR Bridge R&s FSH-Z3 or R&S FSH-Z2connectedSetting for detecting the R&S FSH-Z3 in the transm. and spectr. measurement .. 4.104Supplying DC voltage to active DUTs4.105Reflection measurements4.105Scalar measurement of reflection4.106Vector measurement of reflection4.108Measuring the reflection magnitude4.111Measuring the reflection phase.……4.111Measuring the electrical length when measuring reflection4.112Displaying the reflection in the Smith chart4.113Measuring the group delay when measuring reflection4.118Selecting the calibration standards4.120Spectrum measurements with the vswr Bridge r&s FSH-Z3 or R&S FSH-z2connected4.121Settings for detection of the R&SFSH-z2andR&SFSH-Z3………4.122One-Port measurement of cable loss4.123Vector voltmeter.4.124Reflection measurements(S11)4.125Measuring transmission coefficients(S21)4.128Cable measurements4.134Cable selection∴4.135Selecting the frequency range…4.138Calibrating the test setupa.::::::.“14.139Locating cable faults by means of the marker function4.142Measuring spectrum and reflection4.145Further information∴4.146Setting the span4.146Selecting the center frequency.........∴4.147Measurement4.148Length measurement accuracy4.148Using limit Lines∴4.149Measurements with limit lines国面面4.151Definition range of limit lines4.152Data sets containing limit lines...4.1521145.5973.127ContentsR&S FSHMeasuring with Transducer Factors.4.153Unit for measurements with transducers4.156Reference level settings for measurements with transducers4.156Frequency range of transducer………4.156Data sets containing transducer factors4.156Field-Strength Measurement with Isotropic Antenna∴4.157Connecting the antenna to the R&S FSH4.157Measurement of the resultant field strength in a transm. channel with large bandwidth .......4.159Code Domain Power Measurement on 3GPP FDD Signals.4.166Saving and Loading Instrument Settings and Measurement Results4.173Saving results4.174Entering a data set name4.175Loading measurement results.4.175Deleting saved data sets4.176Deleting all data sets4.177Printing out Measurement Results4.178Measurements4.179How a spectrum analyzer operates…4.1791145.5973.12E-15
    2020-12-10下载
    积分:1
  • WM8731寄存器I2C配置模块
    I2C通信模块 时钟模块 寄存器配置模块,代码有本人的详细注释,看一篇就懂,可以灵活修改
    2020-12-05下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载