




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章 Simulink仿真环境,5.1 Simulink的概述 5.2 Simulink的工作环境 5.3建立模型 5.4 Simulink的应用实例 5.5 模型的调试 5.6子系统与封装 5.7 S函数的设计与应用,5.1 Simulink的概述,1. Simulink的特点 (1)设计简单,系统结构使用方框图绘制,以绘制模型化的图形代替程序输入,以鼠标操作代替编程; (2)分析直观,用户不需要考虑系统模块内部,只要考虑系统中各模块的输入输出; (3)仿真快速、准确,智能化地建立各环节的方程,自动地在给定精度要求下以最快速度仿真,还可以交互式地进行仿真。,5.2 Simulink的工作环境,启动Simulink,通常有两种方法: (1)在MATLAB的命令窗口输入“simulink”; (2)单击工具栏中的图标,就可以打开Simulink模块库浏览器(Simulink Library Browser)窗口。,图7.1 启动Simulink,这样就可打开了Simulink的Simulink Library Brower(库模块浏览器),如图5.2所示。在菜单栏中执行File/New/Model命令,就建立了一个名为untitled的模型窗口,如图5.3所示。在建立了空的模块窗口后,用户可以在此窗口中创建自己需要的Simulink模型。,图5.2库模块浏览器,图5.3 新建的空白模块窗口,在MATLAB命令窗口中输入simulink3 结果是在桌面上出现一个用图标形式显示的Library :simulink3的Simulink模块库窗口。 两种模块库窗口界面只是不同的显示形式,用户可以根据各人喜好进行选用,一般说来第二种窗口直观、形象,易于初学者,但使用时会打开太多的子窗口。,5.2.1 一个简单的Simulink实例,例5-1 将一个阶跃输入信号送到积分环节,并将积分后的信号送到示波器显示。 1. 创建空白模型 2. 添加模块 3. 添加连接 4. 仿真 5. 保存模型,5.2.2 Simulink的模型窗口,Simulink模型的创建和仿真都是在模型窗口中进行的,模型窗口包括菜单、工具栏、模型设计区和状态栏。 模型窗口中的模型设计区用来创建和修改模型。,5.2.3 Simulink的工作原理,仿真包括以下几个步骤。 (1)模型编译 (2)连接 (3)仿真执行 一般仿真模型都采用数值积分来仿真的,相邻两个时间点的长度为步长,步长的大小取决于求解器的类型。,Simulink仿真模块 通常,Simulink仿真系统包括输入(Input)、状态(states)和输出(Output)三个部分。,输入模块:即信号源模块,包括常数字信号源和用户自定义信号; 状态模块:即被模拟的系统模块,是系统建模的核心和主要部分; 输出模块:即信号显示模块,它能够以图形方式、文件格式进行显示。,注意:在设计一个模型时,必须先确定这三个部分的意义,以及它们之间的联系;Simulink的仿真模型并非一定要完全包括这三个部分,它可以缺少其中一个或者两个; Simulink的状态模块可以是连续的、离散的,或者它们二者的结合。,Simulink仿真过程 1初始化阶段 对模型的参数进行估计,得到它们实际计算的值。 展开模型的各个层次; 按照更新的次序对模型进行排序; 确定那些显式化的信号属性,并检查每个模块是否能够接受连接它们输入端的信号; 确定所有非显式的信号采样时间模块的采样时间; 分配和初始化存储空间,以便存储每个模块的状态和当前值的输出。,2模型执行阶段 模型仿真是通过数值积分来进行完成的,计算数值积分可以采用以下两步来进行: 按照秩序计算每个模块的积分; 根据当前输入和状态来决定状态的微分,得到微分矢量,然后把它返回给解法器,以计算下一个采样点的状态矢量。在每一个时间步中,Simulink依次解决下列问题: 按照秩序更新模块的输出; 按照秩序更新模块的状态; 检查模块连续状态的不连续点; 计算下一个仿真时间步的时间。,5.2.4 Simulink的模块库,Simulink的模块库浏览器提供了各种基本模块,并将它们按照应用领域和功能进行分类以方便用户查找。,5.2.4.1 连续模块库(Continuous) 在连续模块(Continuous)库中包括了常见的连续模块,这些模块如图所示。,1. 积分模块(Integrator): 功能:对输入变量进行积分。说明:模块的输入可以是标量,也可以是矢量;输入信号的维数必须与输入信号保持一致。 2. 微分模块(Derivative) 功能:通过计算差分u/ t近似计算输入变量的微分。 3. 线性状态空间模块(State-Space) 功能:用于实现以下数学方程描述的系统:,4. 传递函数模块(Transfer Fcn) 功能:用执行一个线性传递函数。 5. 零极点传递函数模块(Zero-Pole) 功能:用于建立一个预先指定的零点、极点,并用延迟算子s表示的连续。 6存储器模块(Memory) 功能:保持输出前一步的输入值。 7传输延迟模块(Transport Delay) 功能:用于将输入端的信号延迟指定的时间后再传输给输出信号。 8可变传输延迟模块(Variable Transport Delay) 功能:用于将输入端的信号进行可变时间的延迟。,5.2.4.2 离散模块库(Discrete) 离散模块库(Discrete)主要用于建立离散采样的系统模型,包括的主要模块,如图所示。,1零阶保持器模块(Zero-Order-Hold) 功能:在一个步长内将输出的值保持在同一个值上。,2单位延迟模块(Unit Delay) 功能:将输入信号作单位延迟,并且保持一个采样周期相当于时间算子z-1 。 3离散时间积分模块(Discrete Time Integrator) 功能:在构造完全离散的系统时,代替连续积分的功能。使用的积分方法有:向前欧拉法、向后欧拉法、梯形法。 4离散状态空间模块(Discrete State Space) 功能:用于实现如下数学方程描述的系统:,5离散滤波器模块(Discrete Filter) 功能:用于实现无限脉冲响应(IIR)和有限脉冲响应(FIR)的数字滤波器。 6离散传递函数模块(Discrete Transfer Fcn) 功能:用于执行一个离散传递函数。 7离散零极点传递函数模块(Discrete Zero-Pole) 功能:用于建立一个预先指定的零点、极点,并用延迟算子z-1表示的离散系统。 8一阶保持器模块(First Order Hold) 功能:在一定时间间隔内保持一阶采样。,5.2.4.3 函数与表格模块库(Function & Table) 函数与表格模块库(Function & Table)主要实现各种一维、二维或者更高维函数的查表,另外用户还可以根据自己需要创建更复杂的函数。该模块库包括多个主要模块、如图5.7所示。,1. 一维查表模块(Look-Up Table) 一维查表模块(Look-Up Table)实现对单路输入信号的查表和线性插值。 2二维查表模块(Look-Up Table 2-D) 功能:根据给定的二维平面网格上的高度值,把输入的两个变量经过查表、插值,计算出模块的输出值,并返回这个值。 说明:对二维输入信号进行分段线性变换。,3自定义函数模块(Fcn) 功能:用于将输入信号进行指定的函数运算,最后计算出模块的输出值。 说明:输入的数学表达式应符合C语言编程规范;与MATLAB中的表达式有所不同,不能完成矩阵运算。 4MATLAB函数模块(MATLAB Fcn) 功能:对输入信号进行MATLAB函数及表达式的处理。 说明:模块为单输入模块;能够完成矩阵运算。 注意:从运算速度角度,Math function模块要比Fcn模块慢。当需要提高速度时,可以考虑采用Fcn 或者S函数模块。 5S-函数模块(S-Function) 功能:按照Simulink标准,编写用户自己的Simulink函数。它能够将MATLAB语句、C语言等编写的函数放在Simulink模块中运行,最后计算模块的输出值。,5.2.4.4 数学模块库(Math) 数学模块库(Math)包括多个数学运算模块,如图5.8所示。,3. 矢量的点乘模块(Dot Product) 功能:矢量的点乘模块(Dot Product)用于实现输入信号的点积运算。 4. 增益模块(Gain) 功能:增益模块(Gain)的作用是把输入信号乘以一个指定的增益因子,使输入产生增益。,1. 求和模块(Sum) 功能:求和模块(Sum)用于对多路输入信号进行求和运算,并输出结果。 2. 乘法模块(Product) 功能:乘法模块(Product)用于实现对多路输入的乘积、商、矩阵乘法或者模块的转置等。,5. 常用数学函数模块(Math Function) 功能:用于执行多个通用数学函数,其中包含exp、log、log10、square、sqrt、pow、reciprocal、hypot、rem、mod等。,6. 三角函数模块(Trigonometric Function) 功能:用于对输入信号进行三角函数运算,共有10种三角函数供选择。 7. 特殊数学模块 特殊数学模块中包括求最大最小值模块(MinMax)、取绝对值模块(Abs)、符号函数模块(Sign)、取整数函数模块(Rounding Function)等。 8. 数字逻辑函数模块 数字逻辑函数模块包括复合逻辑模块(Combinational Logic)、逻辑运算符模块(Logical Operator)、位逻辑运算符模块(Bitwise Logical Operator)等。 9. 关系运算模块(Relational Operator) 关系符号包括:=(等于)、(不等于)、(大于)、=(大于等于)等。,10. 复数运算模块 复数运算模块包括计算复数的模与幅角(Complex to Magnitude-Angle)、由模和幅角计算复数(Magnitude-Angle to Complex)、提取复数实部与虚部模块(Complex to Real and Image)、由复数实部和虚部计算复数(Real and Image to Complex)。,5.2.4.5非线性模块(Nonlinear) 非线性模块(Nonlinear)中包括一些常用的非线性模块,如图5.9所示。,1. 比率限幅模块(Rate Limiter) 功能:用于限制输入信号的一阶导数,使得信号的变化率不超过规定的限制值。 2饱和度模块(Saturation) 功能:用于设置输入信号的上下饱和度,即上下限的值,来约束输出值。 3量化模块(Quantizer) 功能:用于把输入信号由平滑状态变成台阶状态。,4死区输出模块(Dead Zone) 功能:在规定的区内没有输出值。 5继电模块(Relay) 功能:继电模块(Relay)用于实现在两个不同常数值之间进行切换。 6选择开关模块(Switch) 功能:根据设置的门限来确定系统的输出。,5.2.4.6 信号与系统模块库(signals &Systems) 信号与系统模块库(signals &Systems)包括的主要模块如图5.10所示。,1. Bus 信号选择模块(Bus Selector) 功能:用于得到从Mux模块或其它模块引入的Bus信号。 2. 混路器模块(Mux) 功能:把多路信号组成一个矢量信号或者Bus信号。 3.分路器模块(Demux) 功能:把混路器组成的信号按照原来的构成方法分解成多路信号。 4. 信号合成模块(Merge) 功能:把多路信号进行合成一个单一的信号。 5. 接收/传输信号模块(From/Goto) 功能:接收/传输信号模块(From/Goto)常常配合使用, From模块用于从一个Goto模块中接收一个输入信号,Goto模块用于把输入信号传递给From模块。 6初始值设定模块(IC) 功能:初始值设定模块(IC)用于设定与输出端口连接的模块的初始值。,5.2.4.7 信号输出模块(Sinks) 信号输出模块(Sinks)包括的主要模块如图5.11所示。,1. 示波器模块(Scope) 功能:显示在仿真过程中产生的输出信号,用于在示波器中显示输入信号与仿真时间的关系曲线,仿真时间为x轴。 2. 二维信号显示模块(XY Graph) 功能:在MATLAB的图形窗口中显示一个二维信号图,并将两路信号分别作为示波器坐标的x轴与y 轴,同时把它们之间的关系图形显示出来。 3. 显示模块(Display) 功能:按照一定的格式显示输入信号的值。可供选择的输出格式包括:short、long、short_e、long_e、bank等。,4. 输出到文件模块(To File) 功能:按照矩阵的形式把输入信号保存到一个指定的MAT文件。第一行为仿真时间,余下的行则是输入数据,一个数据点是输入矢量的一个分量。 5. 输出到工作空间模块(To Workspace) 功能:把信号保存到MATLAB的当前工作空间,是另一种输出方式。 6. 终止信号模块(Terminator) 功能:中断一个未连接的信号输出端口。 7. 结束仿真模块(Stop simulation) 功能:停止仿真过程。当输入为非零时,停止系统仿真。,5.2.4.8 信号源模块库(Sources) 信号源模块库(Sources)包括的主要模块如图5.12所示。,1输入常数模块(Constant) 功能:产生一个常数。该常数可以是实数,也可以是复数。 2信号源发生器模块(Signal Generator) 功能:产生不同的信号,其中包括:正弦波、方波、锯齿波信号。 3从文件读取信号模块(From File) 功能:从一个MAT文件中读取信号,读取的信号为一个矩阵,其矩阵的格式与To File模块中介绍的矩阵格式相同。如果矩阵在同一采样时间有两个或者更多的列,则数据点的输出应该是首次出现的列。,4从工作空间读取信号模块(From Workspace) 功能:从MATLAB工作空间读取信号作为当前的输入信号。 5随机数模块(Random Number) 功能:产生正态分布的随机数,默认的随机数是期望为0,方差为1的标准正态分布量。 6带宽限制白噪声模块(Band Limited White Noise) 功能:实现对连续或者混杂系统的白噪声输入。 7其它模块 除以上介绍的常用模块外,还包括其模块。各模块功能可通过以下方法查看:先进入Simulink工作窗口,在菜单中执行Help/Simulink Help命令,这时就会弹出Help界面。然后用鼠标展开Using SimulinkBlock ReferenceSimulink BlockLibraries就可以看到Simulink的所有模块。,5.3建立模型 5.3.1 创建模型,1. 模块的操作 (1)改变大小 (2)移动 (3)复制 (4)模块的翻转 (5)修改模块名 (7)模块名的翻转 (6)模块名的显示和隐藏,1)模块选择 模块选定操作是许多其它操作(如复制、移动、删除)的前导操作。被选定的模块四个角处出现小黑块,这种小黑块称为柄(handle)。 选定单个模块的操作方法:用鼠标指向待选模块,点击鼠标左键即可。 选定多个模块的操作方法: 方法一:按下【Shift】键,依次为击所需选定的模块; 方法二:按住鼠标任一键,拉出矩形虚线框,将所有待选取模块包在其中,然后松开按键,于是矩形里所有模块(包括与连接模块的信号线)均被选中 。如图5-13所示。,图5-13用矩形框同时选中多个对像,2)模块的复制 如果需要几个同样的模块,可以使用鼠标右键单击并拖动基本模块进行拷贝。也可以在选中所需的模块后,使用【Edit】菜单上的【Copy】和【Paste】或使用热键【Ctrl+C】和【Ctrl+V】完成同样的功能。它又分两种不同情形。 不同模型窗(包括库窗口在内)之间的模块复制 ; 同一模型窗内的模块复制 。 3)模块的移动 方法:选取中需移动模块,按上鼠标左键将模块拖到合适的地方即可。 4)模块的删除 在选中待删除模块后,按键盘上的【Delete】键可以完成。 5)模块的插入 插入一个模块,只需将这个模块移到线上就可以自动连接。注意这个功能只支持单输入单输出模块。对于其他的模块,只能先删除连线,放置块,然后再重新连线。具体操作如图5-14所示。,图5-14 系统模块的插入,6)模块大小的改变 为改变模块大小,首先选中该模块,待模块柄出现之后,将光标指向适当的柄,按下鼠标并拖动,然后释放。 7)模块的旋转 缺省状态下的模块总是输入端在左,输出端在右,通过选用【Format:Flip Block】可以将选定模块旋转180;而选用【Format:Rotate Block】可以将选取模块旋转90。,8)模块名的操作 修改模块名:点击模块名,将在原名字的四周出现一个编辑框。此时,就可对模块名进行修改。当修改完毕,将光标移出编辑框,点击即结束修改。 模块名字体设置:选用菜单【Format:Font】,打开字体对话框后,根据需要设置。 改变模块名的位置:移动模块名的另一种方法是:点击模块名,出现编辑框后,可用鼠标拖,如果模块的输入输出端位于其左右两侧,则模块名缺省地位于模块下方;否则位于模块的左外侧。 隐藏模块名:点中模块后,选用菜单【Format:Hide Name】,可以隐藏模块名。与此同时,菜单也变为【Format:Show Name】。 9)颜色设定: Format菜单中的Foreground Color可以改变模块的前景颜色,Background Color可以改变模块的背景颜色;而模型窗口的颜色可以通过Screen Color来改变。,2. 信号线的操作 (1)信号线的分支 (2)信号线的折线 (3)信号线的文本注释 (4)信号线与模块分离,练习,改变粗细:线所以有粗细是因为线引出的信号可以是标量信号或向量信号,当选中Format菜单下的Wide Vector Lines时,线的粗细会根据线所引出的信号是标量还是向量而改变,如果信号为标量则为细线,若为向量则为粗线。选中Vector Line Widths则可以显示出向量引出线的宽度,即向量信号由多少个单一信号合成。 设定标签:只要在线上双击鼠标,即可输入该线的说明标签。也可以通过选中线,然后打开Edit菜单下的Signal Properties进行设定,其中signal name属性的作用是标明信号的名称,设置这个名称反映在模型上的直接效果就是与该信号有关的端口相连的所有直线附近都会出现写有信号名称的标签。 线的折弯:按住Shift键,再用鼠标在要折弯的线处单击一下,就会出现圆圈,表示折点,利用折点就可以改变线的形状。 线的分支:按住鼠标右键,在需要分支的地方拉出即可以。或者按住Ctrl键,并在要建立分支的地方用鼠标拉出即可。,5.3.2 仿真参数的设置图,1. 仿真器参数设置(Solver) (1)仿真时间(Simulation time) 仿真的起始时间(Start time):默认为0,单位为秒。 (2)仿真步长模式(Solver options) (3)Solver diagnostic controls “Solver”:设置仿真解法的具体算法类型。变步长的算法有discrete、ode45、ode23、ode113、ode15s、ode23s、ode23t和ode23tb,默认使用ode45。,2. 工作空间数据输入输出的设置(Data Import/Outport) (1)从工作空间装载数据(Load from workspace) (2)保存数据到工作空间(Save to workspace) (3)变量保存设置(Save options),5.3.3 常用模块的设置,打开参数设置对话框的方法有: 双击模块; 或者用鼠标右键单击模块,在快捷菜单中选择“Block Parameters”,各模块的参数对话框最上面都显示了模块的功能。 1. 阶跃信号模块(Step) 2. 正弦信号模块(Sine Wave),3. 从工作空间获取数据(From workspace)和从文件获取数据(From file) From workspace和From file分别是从工作空间和MAT文件输入数据,都在“Sources”子模块库中。,4. 求和模块(Sum) Sum模块用来计算信号的和,是“Math Operations”子模块库中的。,5传递函数(Transfer function)和零极点传递函数(Zero-Pole) 例5-3 创建一个单位负反馈的二阶系统,输入为阶跃信号,将输出送到示波器显示。,6. 增益(Gain) Gain模块是将信号放大K倍,是“Math Operations”子模块库中的。 7. 输出到文件(To File)和输出到工作空间(To Workspace),8示波器(Scope) 示波器的主要参数有: Number of axes:示波器的输入端口个数,默认值为1表示只有一个输入;图5-24 示波器坐标设置 Time range:设置显示信号范围,默认auto为仿真时间范围,如果信号实际持续时间超过该范围,则超出范围的信号在示波器中不显示; Limit data points to last:表示缓冲区接收数据的长度,默认为5000,示波器的缓冲区可接收30个信号,数据长度为5000,如果数据长度超出,则最早的历史数据会被清除。 Save data to workspace:把示波器缓冲区中保存的数据以矩阵或结构数组的形式送到工作空间,在下面两栏设置变量名“Variable name”和数据类型“Format”。,9. 模块的属性设置 (1)“General”选项卡 (2)调用函数(Callbacks) (3)“Block Annotation”选项卡,5.3.4 仿真结构参数化,例5-4续 将单位负反馈二阶系统的参数使用变量表示,变量的值存放在“ex7_4_1.m”文件中。 模块参数的三个变量在“ex7_4_1.m”文件中设置,则文件内容如下: %ex7_4_1 设置参数T1,T2,K T1=1; T2=2; K=-1;,5.3.5使用命令创建和运行Simulink模型,1. 使用命令创建Simulink模型 new_system(newmodel,option) %创建新模型 (2)模块和信号线函数 add_block(源模块名,属性名1,属性值1,属性名2,属性值2,) add_line(模块名,起始模块名/输出端口号, 终止模块名/输入端口号) (3)设置属性 set_param(对象名,参数名1,参数值1,参数名2,参数值2,),练习,例5-5 使用命令创建一个反馈系统的Simulink模型。 %创建新模型 new_system(ex7_5) open_system(ex7_5) %创建模型 set_param(ex7_5,location,100,100,500,400) %设置模型窗口大小 %添加模块 add_block(built-in/Sine Wave,ex7_5/sin,position,40,80,80,120) %设置模块参数 set_param(ex7_5/sin,Amplitude,10) %添加信号线 add_line(ex7_5,sin/1,sum/1) add_line(ex7_5,300,100;300,180;105,180;115,105),2. 使用命令运行仿真 启动模型的仿真可以使用sim函数来完成,使用simset函数可以设置仿真参数,这样模型中的模块参数和仿真参数就可以随机地设置和修改。 t,x,y=sim(model,timespan,options,ut) %利用输入参数进行仿真 说明: model为模型名,其余参数都可以省略; timespan是仿真时间区间,可以使用t0,tf设置仿真起始时间和终止时间,如果是标量则指终止时间; options参数为模型仿真的相关参数,包括仿真参数和求解器的属性; ut为模型的外部输入向量; t为仿真时间列向量,x为状态变量构成的矩阵,y为输出信号构成的矩阵,每列对应一路输出信号。,5.4 Simulink的应用实例 5.4.1 Simulink在电路中的应用实例,例5-6 根据电路桥电路创建一个Simulink模型,求电路中的电流,电路如图7-30所示,已知电阻R=5,Ra=25,Rb=100,Rc=125,Rd=100,Re=37.5,求当直流电源为40V时电路中的电流。,5.4.2 Simulink在数字电路中的应用实例,例5-7 创建一个Simulink模型实现三八译码器的仿真。,5.4.3 Simulink在控制系统中的应用实例,例5-8 创建一个Simulink模型使用PID控制器控制三阶系统,查看其输出响应。,练习,5.5 模型的调试 5.5.1 Simulink调试器,调试器窗口的选项卡 “Break Points”:用于设置断点,使仿真运行到断点就停止; “Simulation Loop”:包含Method、Breakpoints和ID三列内容,用于显示各仿真步以及正在运行的相关信息; “Outputs”:用于显示调试结果,包括调试命令提示、当前运行模块的输入、输出和模块的状态; “Sorted List”:用于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南体育职业学院《雕塑造型与表现技法》2023-2024学年第二学期期末试卷
- 山西大同大学《社会工作前沿问题》2023-2024学年第二学期期末试卷
- 成都体育学院《基础和声》2023-2024学年第二学期期末试卷
- 湖南大学《食品微生物学(食品发酵)》2023-2024学年第二学期期末试卷
- Fmoc-Gly-Gly-Gly-OH-生命科学试剂-MCE
- 工业区环境综合治理方案研究
- 工业园区环境影响评价及管理研究
- 工业品销售与售后服务体系构建
- 工业互联网在制造业的应用与创新
- 工业产品品牌的差异化策略研究
- 《HSK标准教程4上》第4课自用课件
- 2023年温州中学自主招生理综模拟试题
- GB/T 43731-2024生物样本库中生物样本处理方法的确认和验证通用要求
- 数据治理培训资料
- 裂解裂化工艺培训课件
- 小学语文现代文阅读课件
- 建筑装饰装修工程消耗量定额
- 上海宝冶公司介绍
- 分馏塔构造教程课件
- 《劳动法案例》课件
- 安全教育培训课件:食品安全法律法规
评论
0/150
提交评论