工业机器人控制器:Omron Sysmac:Sysmac编程环境-Studio53技术教程_第1页
工业机器人控制器:Omron Sysmac:Sysmac编程环境-Studio53技术教程_第2页
工业机器人控制器:Omron Sysmac:Sysmac编程环境-Studio53技术教程_第3页
工业机器人控制器:Omron Sysmac:Sysmac编程环境-Studio53技术教程_第4页
工业机器人控制器:Omron Sysmac:Sysmac编程环境-Studio53技术教程_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工业机器人控制器:OmronSysmac:Sysmac编程环境-Studio53技术教程1Sysmac编程环境简介1.1Sysmac控制器概述Sysmac控制器是欧姆龙(Omron)公司开发的工业自动化控制平台的核心组件。它集成了PLC、运动控制、视觉系统和机器人控制等功能,为用户提供了一个全面的解决方案。Sysmac控制器的设计理念是简化复杂系统的集成,提高生产效率和灵活性。其主要特点包括:高度集成:将多种控制功能整合于单一平台,减少了硬件需求,简化了系统设计和维护。统一编程环境:使用Studio53软件,提供了一个统一的编程界面,支持多种编程语言,如梯形图、结构文本和功能块图。实时性能:Sysmac控制器支持高速数据处理和实时通信,确保了控制系统的响应速度和精度。扩展性:通过模块化设计,用户可以根据需要添加或扩展功能,如增加I/O模块或运动控制轴。1.2Studio53软件介绍Studio53是欧姆龙为Sysmac控制器提供的集成开发环境(IDE)。它是一个功能强大的软件工具,用于创建、调试和维护Sysmac控制器的程序。Studio53的主要功能包括:项目管理:用户可以创建和管理多个项目,每个项目包含控制器的配置、编程和调试信息。编程支持:支持多种编程语言,包括梯形图(LD)、结构文本(ST)、功能块图(FBD)和顺序功能图(SFC)。仿真和调试:提供仿真功能,允许用户在实际部署前测试程序的逻辑和功能。同时,Studio53还支持在线调试,帮助用户快速定位和解决问题。通信配置:用户可以配置控制器与外部设备之间的通信,如以太网、DeviceNet和EtherCAT等。1.2.1示例:使用Studio53进行梯形图编程#以下示例展示了如何使用Studio53的梯形图语言创建一个简单的控制程序

#假设我们有一个简单的生产线,需要控制一个电机的启动和停止

#1.打开Studio53,创建一个新的项目

#2.选择梯形图编程语言

#3.在梯形图编辑器中,创建以下逻辑:

#输入:I0.0-启动按钮

#输出:Q0.0-电机启动信号

#梯形图逻辑:

#如果启动按钮I0.0被按下,则输出Q0.0为1,电机启动

#如果启动按钮I0.0未被按下,则输出Q0.0为0,电机停止

#梯形图代码示例(伪代码):

#LDI0.0

#OUTQ0.0

#4.编译并下载程序到控制器

#5.使用仿真功能测试程序

#6.在实际设备上部署并运行程序1.3Sysmac编程环境特点Sysmac编程环境的特点在于其高度的集成性和灵活性,旨在简化工业自动化项目的开发和维护过程。以下是Sysmac编程环境的一些关键特点:统一的编程界面:Studio53软件提供了一个统一的界面,用于配置、编程和调试Sysmac控制器。这使得用户可以使用相同的工具处理不同的控制任务,如PLC编程、运动控制和机器人编程。多语言支持:Sysmac编程环境支持多种编程语言,包括梯形图、结构文本、功能块图和顺序功能图。这为不同背景的工程师提供了选择,以适应他们的编程习惯和项目需求。实时监控和调试:Studio53软件允许用户实时监控控制器的状态和变量,以及在线调试程序。这大大提高了问题诊断和解决的效率。强大的仿真功能:Sysmac编程环境提供了强大的仿真工具,用户可以在实际部署前测试程序的逻辑和功能,减少了现场调试的时间和成本。模块化设计:Sysmac控制器的模块化设计使得用户可以根据需要添加或扩展功能,如增加I/O模块或运动控制轴。这提高了系统的灵活性和可扩展性。通过上述介绍,我们可以看到,Sysmac编程环境-Studio53为工业自动化领域的工程师提供了一个强大而灵活的工具,帮助他们更高效地开发和维护控制系统。2Studio53安装与配置2.1软件下载与安装步骤在开始安装Studio53之前,首先需要从Omron官方网站下载最新版本的安装包。确保访问的是Omron的官方页面,以避免下载到恶意软件或过时的版本。下载页面通常会提供不同版本的软件,选择与您的系统兼容的版本进行下载。2.1.1下载步骤打开Omron官方网站。导航至“产品支持”或“下载中心”。在搜索框中输入“Studio53”,找到对应的下载页面。选择适合您操作系统的版本,点击下载。2.1.2安装步骤运行安装程序:下载完成后,找到安装包并双击运行。阅读许可协议:仔细阅读软件许可协议,如果同意,请勾选相应的选项。选择安装类型:Studio53提供多种安装类型,包括完整安装、自定义安装等。根据您的需求选择。指定安装路径:软件默认会安装在某个路径下,您可以选择更改安装路径。安装组件选择:在自定义安装中,您可以选择安装哪些组件,例如编程软件、仿真工具等。开始安装:确认所有选项无误后,点击“安装”按钮开始安装过程。等待安装完成:安装过程可能需要一段时间,耐心等待直至安装完成。完成安装:安装完成后,会有一个完成界面,您可以选择是否立即启动Studio53。2.2系统配置要求为了确保Studio53能够顺利运行,您的计算机需要满足以下最低系统配置要求:操作系统:Windows7SP1、Windows8.1、Windows10(64位版本)处理器:IntelCorei5或更高内存:4GBRAM或更高硬盘空间:至少10GB可用空间显示器:分辨率至少1280x1024,推荐1920x1080或更高图形卡:支持DirectX11的图形卡2.3安装过程中的注意事项在安装Studio53时,有几点需要注意,以确保安装过程顺利且软件能够正常运行:关闭防火墙和杀毒软件:在安装过程中,可能需要访问网络或进行文件操作,关闭防火墙和杀毒软件可以避免安装被阻止。断开网络连接:虽然下载软件需要网络,但在安装过程中断开网络可以避免软件自动更新或下载额外的组件,这有助于节省时间。使用管理员权限运行安装程序:确保以管理员身份运行安装程序,这样可以避免权限问题导致的安装失败。检查系统兼容性:在安装前,使用Omron提供的系统兼容性检查工具,确保您的系统满足所有要求。安装路径选择:避免将软件安装在系统盘(通常是C盘),选择其他盘符可以提高软件的运行速度。组件选择:根据您的具体需求选择安装组件,避免安装不必要的工具,这有助于节省硬盘空间和提高系统性能。2.3.1示例:检查系统兼容性OmronStudio53提供了一个系统兼容性检查工具,您可以在安装前运行此工具来确保您的系统满足所有要求。以下是一个示例命令,用于运行此工具:#运行系统兼容性检查工具

C:\>SysmacStudioCheck.exe运行此命令后,工具会自动检测您的系统配置,并生成一个报告,报告中会列出您的系统是否满足Studio53的最低要求。如果报告中显示您的系统不满足某些要求,您需要先升级硬件或软件,然后再进行安装。2.3.2示例:以管理员身份运行安装程序在Windows系统中,以管理员身份运行安装程序可以避免权限问题。以下是一个示例步骤,用于以管理员身份运行安装程序:找到下载的安装包。右键点击安装包,选择“以管理员身份运行”。如果出现用户账户控制(UAC)提示,确认并允许程序进行更改。通过以上步骤,您可以确保Studio53的安装过程不会因为权限问题而中断。以上内容详细介绍了Studio53的安装与配置过程,包括软件下载、系统配置要求以及安装过程中的注意事项。遵循这些步骤和建议,可以帮助您顺利完成Studio53的安装,并确保软件能够稳定运行。3Sysmac编程基础3.1编程语言选择在Sysmac编程环境中,Studio53支持多种编程语言,包括LadderDiagram(LD),FunctionBlockDiagram(FBD),SequentialFunctionChart(SFC),StructuredText(ST),以及InstructionList(IL)。每种语言都有其特定的应用场景和优势,选择合适的编程语言对于提高编程效率和程序的可读性至关重要。3.1.1LadderDiagram(LD)LD是一种图形化的编程语言,类似于传统的继电器逻辑电路。它直观易懂,特别适合于逻辑控制和简单的顺序控制。3.1.2FunctionBlockDiagram(FBD)FBD使用图形化的功能块来表示控制逻辑,适合于复杂算法和数据处理的编程。3.1.3SequentialFunctionChart(SFC)SFC是一种基于状态图的编程语言,非常适合于流程控制和顺序操作的编程。3.1.4StructuredText(ST)ST是一种文本式的编程语言,类似于高级编程语言如C或Pascal,适用于复杂的算法和数据结构编程。3.1.5InstructionList(IL)IL是一种基于指令的文本编程语言,类似于汇编语言,适用于需要精确控制的场合。3.2基本指令集介绍SysmacStudio53提供了丰富的基本指令集,涵盖了从简单的逻辑操作到复杂的数学计算和数据处理。以下是一些常用的基本指令:3.2.1逻辑指令AND:逻辑与OR:逻辑或NOT:逻辑非XOR:逻辑异或3.2.2数学指令ADD:加法SUB:减法MUL:乘法DIV:除法3.2.3数据处理指令MOVE:数据移动COPY:数据复制FILL:数据填充SWAP:数据交换3.2.4通信指令SEND:发送数据RECV:接收数据3.2.5例子:使用StructuredText(ST)进行基本数学运算//定义变量

VAR

a,b,c:INT;

END_VAR

//程序开始

a:=5;

b:=10;

c:=a+b;//使用加法指令在上述代码中,我们定义了三个整型变量a、b和c,然后将a和b的值相加,并将结果存储在c中。3.3程序结构与流程控制SysmacStudio53支持多种程序结构和流程控制机制,包括循环、条件分支和子程序调用,这些机制对于构建复杂和高效的程序至关重要。3.3.1循环结构FOR循环:执行固定次数的循环WHILE循环:在条件为真时持续执行循环3.3.2条件分支IF语句:基于条件执行不同的代码块3.3.3子程序调用CALL指令:调用预先定义的子程序3.3.4例子:使用StructuredText(ST)实现循环和条件分支//定义变量

VAR

i:INT;

sum:INT;

END_VAR

//初始化变量

sum:=0;

//FOR循环示例

FORi:=1TO10DO

sum:=sum+i;

END_FOR

//IF条件分支示例

IFsum>50THEN

//条件为真时执行的代码

WRITE("Sumisgreaterthan50");

ELSE

//条件为假时执行的代码

WRITE("Sumislessthanorequalto50");

END_IF在上述代码中,我们首先初始化sum变量为0,然后使用FOR循环从1累加到10,最后使用IF语句检查sum是否大于50,并根据结果输出相应的信息。通过这些基础的编程语言选择、基本指令集和流程控制机制的介绍,您应该能够开始使用SysmacStudio53进行工业机器人的编程和控制。继续深入学习,掌握更高级的功能和技巧,将使您能够更有效地利用这一强大的编程工具。4创建第一个Sysmac程序4.1新建项目在开始使用OmronSysmacStudio53创建工业机器人控制器程序之前,首先需要熟悉如何创建一个新的项目。这一步骤是编程流程的基础,确保了所有后续的配置和编程工作在一个干净、有序的环境中进行。启动SysmacStudio53:打开软件,进入主界面。选择“文件”>“新建”:这将引导你通过创建新项目的向导。项目类型选择:选择“PLC项目”作为你的项目类型,因为SysmacStudio53主要用于编程PLC控制器。项目名称和位置:输入项目名称,例如“FirstRobotControl”,并选择保存项目的位置。完成项目创建:点击“完成”按钮,项目将被创建,你将看到项目浏览器中显示了新项目。4.2配置硬件配置硬件是确保你的程序能够正确与实际的工业机器人控制器通信的关键步骤。在SysmacStudio53中,这通常涉及到定义你将要使用的PLC型号和任何连接的设备。打开“硬件配置”:在项目浏览器中,找到“硬件配置”并双击打开。添加PLC:点击“添加设备”,选择你的PLC型号,例如“NJ系列”。配置PLC参数:设置PLC的IP地址、站号等,确保它们与实际控制器的设置相匹配。添加I/O模块:如果需要,可以添加输入/输出模块,定义它们的类型和数量。保存配置:完成所有硬件定义后,保存硬件配置。4.2.1示例代码:配置硬件#这是一个伪代码示例,用于说明如何在SysmacStudio53中配置硬件。

#实际操作中,硬件配置是通过图形界面完成的,无需编写代码。

#定义PLC

plc={

"model":"NJ",

"ip_address":"192.168.1.10",

"station_number":1

}

#定义I/O模块

io_modules=[

{"type":"DI16","quantity":2},

{"type":"DO16","quantity":1}

]

#保存配置

save_configuration(plc,io_modules)4.3编写简单程序编写程序是工业机器人控制器开发的核心部分。在SysmacStudio53中,你可以使用多种编程语言,包括梯形图、结构文本和功能块图。4.3.1示例:使用梯形图编写程序打开“程序编辑器”:在项目浏览器中,找到“程序编辑器”并双击打开。选择编程语言:选择“梯形图”作为编程语言。创建梯形图程序:在编辑器中,开始绘制梯形图,例如,创建一个简单的启动和停止控制程序。//梯形图示例:启动和停止控制

//假设X0为启动按钮,X1为停止按钮,Y0为电机启动信号

//启动逻辑

LX0

OY0

OX1

AY0

OY0

=

//停止逻辑

LX1

RY04.3.2示例:使用结构文本编写程序//结构文本示例:启动和停止控制

//假设X0为启动按钮,X1为停止按钮,Y0为电机启动信号

PROGRAMStartStopControl

VAR

motorRunning:BOOL;

END_VAR

(*启动逻辑*)

IFX0ANDNOTX1THEN

motorRunning:=TRUE;

END_IF

(*停止逻辑*)

IFX1THEN

motorRunning:=FALSE;

END_IF

(*输出电机启动信号*)

Y0:=motorRunning;

END_PROGRAM4.4程序调试与运行在完成程序编写后,调试和运行程序是验证其功能和性能的必要步骤。编译程序:在程序编辑器中,点击“编译”按钮,检查语法错误。下载程序到PLC:使用“下载”功能将程序下载到实际的PLC控制器中。在线调试:通过“在线”模式,可以监控PLC的实时状态,调试程序。运行程序:在确认无误后,运行程序,观察机器人的实际行为。4.4.1示例:在线调试在SysmacStudio53中,你可以通过以下步骤进行在线调试:连接到PLC:在“在线”菜单中选择“连接”,输入PLC的IP地址。监控变量:在“监视”窗口中,输入你想要监控的变量名,例如“motorRunning”。修改变量值:在“强制”窗口中,可以手动修改变量的值,以测试程序的不同行为。断开连接:完成调试后,记得在“在线”菜单中选择“断开连接”。通过遵循上述步骤,你可以成功地在OmronSysmacStudio53中创建、配置、编写和调试你的第一个工业机器人控制器程序。这不仅是一个学习过程,也是掌握工业自动化编程技能的重要一步。5Sysmac高级编程技术5.1复杂指令集应用在工业自动化领域,OmronSysmacStudio53提供了丰富的指令集,以满足复杂控制和处理需求。这些指令不仅包括基本的逻辑控制,还涵盖了数学运算、数据处理、通信和运动控制等高级功能。下面,我们将通过具体示例来探讨如何在Sysmac编程环境中应用这些复杂指令。5.1.1示例:使用数学运算指令进行温度控制假设我们有一个温度控制系统,需要根据传感器读数调整加热器的功率。在SysmacStudio53中,我们可以使用数学运算指令来实现这一功能。//SysmacStudio53伪代码示例

//功能:根据温度传感器读数调整加热器功率

//读取温度传感器数据

D100=ReadTemperatureSensor();

//设定温度点

D101=30;//设定温度为30度

//计算温度偏差

D102=D101-D100;

//根据偏差调整加热器功率

IFD102>5THEN

D103=100;//加热器全功率运行

ELSEIFD102>0THEN

D103=50;//加热器半功率运行

ELSE

D103=0;//加热器关闭

END_IF

//将功率设置发送给加热器

WriteHeaterPower(D103);在这个示例中,我们使用了读取、数学运算和条件判断等复杂指令,以实现精确的温度控制。5.2模块化编程模块化编程是SysmacStudio53中一个重要的高级技术,它允许将程序分解为多个可重用的模块,每个模块负责特定的功能。这不仅提高了代码的可读性和可维护性,还简化了大型项目的开发过程。5.2.1示例:创建模块化程序进行物料搬运假设我们需要开发一个物料搬运系统,该系统包括物料检测、搬运和放置三个主要功能。我们可以将这些功能分别封装为模块,以便于管理和重用。//SysmacStudio53伪代码示例

//功能:物料搬运系统模块化编程

//物料检测模块

ModuleDetectMaterial()

//读取物料传感器

D200=ReadMaterialSensor();

//判断是否有物料

IFD200=1THEN

//物料存在,调用搬运模块

CallMoveMaterial();

END_IF

EndModule

//搬运模块

ModuleMoveMaterial()

//控制机械臂移动到物料位置

MoveArmToPosition(1);

//抓取物料

GripMaterial();

//控制机械臂移动到放置位置

MoveArmToPosition(2);

//放置物料

PlaceMaterial();

EndModule

//主程序

Main()

//循环调用物料检测模块

WhileTrue

DetectMaterial();

EndWhile

EndModule通过模块化编程,我们可以清晰地定义每个模块的职责,使得程序结构更加清晰,易于理解和维护。5.3网络通信配置SysmacStudio53支持多种网络通信协议,如EtherCAT、EtherCATFMMU、EtherCATPDO等,这些协议允许控制器与外部设备进行高效的数据交换。正确配置网络通信是实现系统集成和数据共享的关键。5.3.1示例:配置EtherCAT网络进行数据交换假设我们有一个包含多个EtherCAT设备的系统,需要从这些设备收集数据并进行处理。在SysmacStudio53中,我们可以按照以下步骤配置网络通信:创建网络:在项目中创建一个EtherCAT网络。添加设备:将所有EtherCAT设备添加到网络中。配置设备参数:设置每个设备的地址、数据类型和通信周期。编写通信代码:使用SysmacStudio53提供的通信指令读取和写入设备数据。//SysmacStudio53伪代码示例

//功能:配置EtherCAT网络并读取设备数据

//配置EtherCAT网络

ConfigureEtherCATNetwork();

//添加设备

AddEtherCATDevice("Device1",1);

AddEtherCATDevice("Device2",2);

//配置设备参数

SetDeviceParameter("Device1","Address",1);

SetDeviceParameter("Device1","DataType","INT");

SetDeviceParameter("Device1","CycleTime",100);

SetDeviceParameter("Device2","Address",2);

SetDeviceParameter("Device2","DataType","REAL");

SetDeviceParameter("Device2","CycleTime",100);

//读取设备数据

D300=ReadEtherCATDevice("Device1");

D301=ReadEtherCATDevice("Device2");

//处理数据

//假设D300和D301分别代表设备1和设备2的数据

//这里可以添加数据处理逻辑,例如:

D302=D300+D301;//数据相加

//将处理后的数据写入设备

WriteEtherCATDevice("Device1",D302);通过上述示例,我们可以看到如何在SysmacStudio53中配置网络通信,并利用通信指令进行数据交换,实现设备间的协同工作。以上示例展示了在SysmacStudio53中如何应用复杂指令集、进行模块化编程以及配置网络通信,这些都是实现高效、可靠和可扩展的工业自动化系统的关键技术。6工业机器人控制编程6.1机器人运动控制指令在工业机器人控制编程中,运动控制指令是核心部分,它们决定了机器人如何在空间中移动和操作。OmronSysmacStudio53提供了一系列的运动控制指令,用于精确控制机器人的运动轨迹和速度。6.1.1点到点运动指令(PTP)点到点运动指令用于控制机器人从一个点直接移动到另一个点,路径不重要,重要的是起点和终点。在SysmacStudio53中,可以使用MoveJ或MoveL指令来实现点到点运动。6.1.1.1示例代码#定义点到点运动指令

MoveJTarget1,v100,z10,tool0;

MoveLTarget2,v100,z10,tool0;Target1和Target2是目标位置。v100是速度设置。z10是转弯区数据,用于控制接近目标点时的路径。tool0是工具坐标系。6.1.2连续路径运动指令(CP)连续路径运动指令用于控制机器人沿着预定义的路径移动,确保机器人在运动过程中保持连续的轨迹。在SysmacStudio53中,可以使用MoveC指令来实现圆弧运动。6.1.2.1示例代码#定义连续路径运动指令

MoveCTarget1,Target2,v100,z10,tool0;Target1是圆弧的起点。Target2是圆弧的终点。其他参数与点到点运动指令相同。6.2路径规划与优化路径规划与优化是确保机器人高效、安全地完成任务的关键。在SysmacStudio53中,可以使用内置的路径规划工具和算法来优化机器人的运动路径。6.2.1路径规划路径规划涉及确定机器人从起点到终点的最优路径。SysmacStudio53支持多种路径规划方法,包括直线插补、圆弧插补和自由曲线插补。6.2.1.1示例代码#使用直线插补规划路径

MoveLTarget1,v100,z10,tool0;

MoveLTarget2,v100,z10,tool0;

MoveLTarget3,v100,z10,tool0;6.2.2路径优化路径优化旨在减少机器人运动的时间和能量消耗,同时避免碰撞。SysmacStudio53提供了路径优化功能,可以自动调整机器人的运动轨迹和速度。6.2.2.1示例代码#使用路径优化功能

OptimizePath("Speed","Energy");"Speed"表示优化速度。"Energy"表示优化能量消耗。6.3多机器人协同控制在复杂的工业环境中,多个机器人可能需要协同工作以完成任务。SysmacStudio53支持多机器人协同控制,通过同步和协调不同机器人的运动,提高生产效率和安全性。6.3.1同步运动同步运动指令允许多个机器人同时开始和结束运动,确保它们之间的协调。6.3.1.1示例代码#定义同步运动

SyncMoveStartSignal,EndSignal;StartSignal是开始同步运动的信号。EndSignal是结束同步运动的信号。6.3.2协调运动协调运动指令用于控制机器人之间的相对位置和速度,确保它们在执行任务时不会发生碰撞。6.3.2.1示例代码#定义协调运动

CoordMoveRobot1,Robot2,CoordType;Robot1和Robot2是需要协调的机器人。CoordType是协调类型,如保持固定距离或相对速度。6.3.3任务分配SysmacStudio53还支持任务分配功能,可以根据生产需求和机器人能力自动分配任务给不同的机器人。6.3.3.1示例代码#任务分配示例

AssignTaskTask1,Robot1;

AssignTaskTask2,Robot2;Task1和Task2是任务。Robot1和Robot2是执行任务的机器人。通过上述模块的详细讲解,可以清晰地看到在SysmacStudio53中如何实现机器人运动控制、路径规划与优化以及多机器人协同控制。这些功能的实现不仅提高了工业机器人的灵活性和效率,还确保了生产过程的安全性和可靠性。7故障排除与维护7.1常见编程错误在使用OmronSysmacStudio53进行编程时,常见的错误可以分为几类:语法错误、逻辑错误和运行时错误。理解这些错误的类型和如何避免它们是提高编程效率的关键。7.1.1语法错误语法错误是最容易识别的错误类型,通常由不正确的编程语法引起。例如,忘记闭合括号或使用错误的指令格式。7.1.1.1示例假设在编写一个简单的PLC程序时,你想要创建一个条件语句来控制电机的启动,但是你忘记了闭合括号://错误示例:缺少闭合括号

IF(MotorStart==TRUE

THEN

MotorOn:=TRUE;正确的代码应该包括闭合括号://正确示例:包含闭合括号

IF(MotorStart==TRUE)

THEN

MotorOn:=TRUE;7.1.2逻辑错误逻辑错误通常发生在程序的逻辑流程中,即使代码语法正确,也可能导致程序行为不符合预期。7.1.2.1示例考虑一个程序,其目的是在温度超过设定值时启动冷却系统。但是,如果逻辑条件设置错误,冷却系统可能在温度低于设定值时启动://错误示例:逻辑条件错误

IF(Temperature

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论