ST语言编程手册_第1页
ST语言编程手册_第2页
ST语言编程手册_第3页
ST语言编程手册_第4页
ST语言编程手册_第5页
已阅读5页,还剩166页未读 继续免费阅读

下载本文档

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

文档简介

ST语言编程手册

目录

6

1oST基本原理6

1o1语言描述

6

1o1.1语法图

6

1.1.2语法图中的块

7

1o1o3规则的意义(语义)

7

1.2基本元素的语言

7

1.2.1ST字符组

8

1.2.2ST中的标识符

8

1O2o2o1标识符的规则8

1.2.2.2标识符举例9

1o23预留标识符

09

1o2.3.1保护标识符6

1o2o4数字和布尔值

6

1.204.1整数7

1.2.4。2浮点数7

1o2o4.3指数7

1.2O4。4布尔值8

1o2o4O5数字的数据类型8

1o2.5字符串

9

1.3ST源文件的结构

语句

1o30120

13.2注释21

O22

104数据类型22

1o41基本数据类型

022

1o4.101基本数据类型24

1o4.1o2基础数据类型的值的范围限制24

1.4.103普通的数据类型25

1O4。1.4基础系统数据类型25

1o4o2用户定义的数据类型

25

1.402.1用户定义的数据类型26

1.4.2.2用户定义的数据类型的语法(类型声明)27

1。4。2。3基础派生或派生的数据类型27

1o4O2.4派生数据类型ARRAY29

1o4.2o5派生的数据类型一枚举30

1。4。2。6派生的数据类型STRUCT(结构)...31

1.43技术目标数据类型

O31

1.4.3.1技术目标数据类型的描述32

1.4.3。2轴属性的继承33

1o4o3o3技术目标数据类型的例子34

1o4.4系统数据类型

34

1.5变量声明

34

1o5.1变量声明的语法

35

152所有变量声明的概述

O036

1o5o3变量或数据类型的初始值

1.6赋值和表达式40

1O6.1赋值41

1O6o1.1赋值的语法图41

1.6。1.2基础数据类型的变量的数值指定42

1.60103串基础数据类型的变量数值指定42

1.6.1.4位数据类型的变量的数值指定43

U6。1.5派生的枚举数据类型的变量的数值指定44

1o6.1o6派生的阵列数据类型的变量的数值指定44

1o6.1.7派生的STRUCT数据类型的变量数值指定45

1.6.2表达式46

1.6O2.1表达式结果46

1o6o2.2表达式的解释顺序46

1.6.3运算对象47

1.6.4算术表达式48

1o6O4o1算术表达式的例子49

1.6o5关系表达式50

1o6.6逻辑表达式和位串行表达式52

1.6.7运算符的优先级53

1o7控制语句53

1.7o1IF语句54

1.7.2CASE语句55

1.7o3FOR语句56

1.7o3o1处理FOR语句57

1.7.3.2FOR语句规则57

1O7o3.3F0R语句例子58

1o7.4WHILE语句58

1.7.5REPEAT语句58

1O7.6EXIT语句59

1o7.7RETURN语句60

1o708WAIF0RC0NDITI0N语句60

1.7o9G0T0语句61

1o8数据类型转换62

1o8.1基础数据类型转换62

1.8.1.1隐式数据类型转换62

1o8.1o2显式数据类型转换64

1O8o2补充的转换65

2.功能,功能块和程序65

2.1创建和调用功能和功能块66

2.1.1定义功能66

2.1.2定义功能块66

2o1o3FC和FB的声明部分67

2.E4FB和FC部分的语句69

201.5功能和功能块的调用70

2.105.1参数转移的原则70

2o1o5.2转移给输入参数的参数70

2o1.5.3参数转移给in/out参数71

2O1o5o4参数转移到输出参数(仅对FB)72

2.105.5参数访问时间72

2o1.5.6调用一个功能73

2.1。5。7调用功能块(实例调用)73

2.1.5.8在FB外访问FB输出参数74

2O1o5.9在FB外访问FB输入参数74

2o1o5.10FB调用时的错误源75

2O2功能和功能块的比较75

2.2o1例子说明76

2.2.2带注释的源文件77

2.3程序78

2.4表达式80

30在SIM0TI0N中ST的集成81

3.1源文件部分的使用82

3.U1源文件部分的使用82

3.1o1o1interface部分:82

3o1.1.2impIementation部分83

3。1.1.3程序组织单元(POU)84

3o1o1o4功能(FC)84

3o1o1.5功能块(FB)85

3o1o1.6程序86

3o1o1o7表达式86

3.1.1.8声明部分87

3.10109语句部分87

3O1.1«10数据类型定义88

3o1o1.11变量声明89

3o1.2在ST源文件之间的导入和导出91

3o1o2o1单元标识符91

3.1o2.2一个导由单元的interface部分91

3.1.2o3一个导出单元的例子92

3o1o2o4在一个导入单元的USES语句93

3.1.2。5一个导入单元的例子94

3。2在SIMOTION中的变量95

3.2O1变量模型95

3o2.101单元变量97

3o2.1.2不保留的单元变量98

3。2.1.3保持单元变量99

3.2。1O4本地变量(静态和临时变量)100

3o2o1o5静态变量101

3.2.1.6临时变量102

3.2.2全局设备变量的使用103

30203变量类型的存储范围104

3o2O3o1存储区域的例子,有效关于KernelV3。1105

3o2o3o2本地数据栈变量的存储要求(kernelV301或更高)...108

302.4变量初始化的时间109

3o2o4o1保留全局变量的初始化110

3.2.4。2不保留的全局变量的初始化111

3.2.4O3本地变量的初始化112

3o2.4O4静态编程变量的初始化113

3.2.4。5功能块实例的初始化113

3o2.4O6技术目标的系统变量的初始化114

3o2o4O7全局变量的版本ID和下载时的初始化114

3O2o5变量和HMI设备116

3O3访问输入和输出(过程图像,I/O变量)117

303.1访问输入和输出的概述117

3.3o2直接访问和过程图像访问的重要特征118

3.3。3直接访问和循环任务的过程图像120

3O3o3o1直接访问和循环任务的过程图像的I/O地址的规则...121

3.303.2为直接访问和循环任务的过程图像创建一个I/O变量...122

3.3.3.3输入I/O地址的语法图123

3.303.4可能的I/O变量的数据类型123

3.3o4背芯任务的固定过程匡像的访问124

3.3.4.1背景任务的固定过程图像的绝对访问(绝对PI访问)125

3.3O4o2一个绝对过程图像访问的标识符语法125

3。3.4.3背景任务的固定过程图像的符号访问(符号PI访问)..126

3.3O4.4可能的符号PI访问的数据类型126

3o3.4.5符号PI访问的例子127

3O3o4o6为访问背景任务固定过程图像而创建一个I/O变量...127

3o305访问I/O变量128

3.4使用库128

3O4O1编辑一个库129

3.4.2库的know-how保护130

3O4.3从库中使用数据类型,功能和功能块130

305相同的标识符和命名空间的使用131

3o5.1相同的标识符的使用131

3o5.2命名空间133

3.6参考数据136

3.6o1交叉对照表137

3.601.1创建一个交叉对照表单137

3.6c1.2交叉对照表的内农137

3o6.1o3交叉对照表的使用138

3O602程序结构138

3.602。1程序结构的内容138

3.6o3代码属性139

3o6o3o1代码属性内容139

3.7控制预处理器和pragma编辑140

3.7.1控制一个预处理器140

3.7.1.1预处理器语句141

3O7o1.2预处理器语句的例子143

3.7。2属性控制编辑器143

308跳转语句和标签145

4o错误源和程序调试146

4.1避免错误和有效编程的注释146

4.2程序调试147

4.2.1程序测试的模式147

4O2o1o1SIM0TI0N设备模式147

4.2o102Iife-sign监视的重要信息148

4.2.1.31ife-sign监视参数149

402.2符号浏览器150

4。2.2O1符号浏览器的属性150

4o2.2.2使用符号浏览器150

4.2o3在watch表中监视变量152

4O2.3o1在watch表中的变量152

4O2.3.2使用watch表格153

4。2.4程序运行153

4.2。4.1程序运行:显示代码位置和调用路径153

4O2.4.2参数调用栈程序运行154

4.2o4O3程序运行工具栏154

4.2.5程序状态154

4.2.5.1程序状态的属性154

402.502使用状态程序155

4.2.5O3程序状态的调用路径157

4.2.504参数调用路径肤态程序158

4。2o6断点158

4O2o6.1设置断点的普通步骤158

402.602设置debug模式159

4。2.6.3定义debug任务组159

4.2.604debug任务组参数161

4o2o6.5debug表格参数161

4.2.6.6设置断点162

4O2.6.7断点工具栏163

4.206o8定义一个单独断点的调用路径164

402.609断点调用路径/任务选择参数165

4。2o6o10定义所有断点的调用路径166

402o6o11每个POU所有断点的调用路径/任务选择参数167

4o2o6.12激活断点168

402O6o13显示调用栈169

4.2.6.14断点调用栈参数170

4.2O7追溯171

1oST基本原理

此章节描述了ST中的语言资源和使用方法。请注意此章节中描述了功能、功能块和任务控制系统.一个完

整正式的语言描述包括语法图。

1o1语言描述

在本手册的下列章节中语法图用作语言描述的基础,为你提供了对ST语法结构的新认识。

1o1o1语法图

语法图是对语法结构的图形式的阐述.结构是由一系列的规则描述组成.可以基于现有的规则生成新的规

则.

Rulename

Sequence

OptionIterationAlternative

上图中的语法图需从左至右读。需要注意下列规则结构:

•序列:块的序列

・选项:可以跳过的语句

•迭代:一个或多个语句的重复

•替代:Branch

1o1.2语法图中的块

块是基本元素.下图显示了代表块而使用的符号类型.

Blocks

Oc)

要更多解释的基本元素由更多的语法图解释的复合单元

当输入源文本时需要注意格式化规则和非格式化规则。比如:把语法图中的块或元素转化为源文本(见帮

助中的语言描述,第291页)

1.1.3规则的意义(语义)

规则能仅代表语言的格式结构.意义(语义)一般不明显.由于这个原因,如果意义很关键,则需要在规则

旁边写上额外的信息。

•如果同类型的元素意义不同,需要附上额外的命名。例如,颔外指定每个十进制字符串元素一年,月或

日(见308页)。名称表示了用途

•重要的限制也列出。如:整数规则中对于一(负号),标明负号只能在SINT,INT,andDINT数据类

型之前出现(见308页)

1o2基本元素的语言

ST语言的基本元素包括ST字符组,根据ST字符组(如:语言命令)创建的预留标识符,自定义的标识

符和数字。

ST字符组合预留标识符都是基本的元素(terminals),因为是无需另外的规则来描述。自定义的标识符

和数字不是terminaIs,因为它们是由另外的规则来描述。

在语法图中,终端是由圆形或者椭圆形符号来表示,但是复合单元由长方形来表示(见语法图中的块,第

72页)。下列内容是主要终端的节选,作为全局预览,参考基本元素(terminals,第294页)

1o2o1ST字符组

ST使用ASCII字符组中的下列字母和数字

•从A到Z的大小字母

•从0到9的阿拉伯数字

字母和数字是最常用的字符.例如,标识符是字母,数字和下划线的组合.下划线是特殊的字符之一。

特殊字符在ST中有特定的含义(见第291页的正式语言描述和第294页的基本元素)

1o2.2ST中的标识符

标识符的ST中的名称。这些名称可以根据系统来定义,例如语言命令等。但是,名称可以是用户定义,比

如常量、变量或功能。

1.2.2.1标识符的规则

标识符是由字母(A到Z,a到z)、数字(0到9)或单独的下划线随意组成,但是首字符必须是字母或者

下划线。大小写字母没有区分(比如,在编辑器中Anna和AnNa是一样的)。

一个正式的标识符可以由以下的语法图表示:

命名时,最好选用唯一的、有意义的命名,以便解释程序.

图表中的语法图声明了一个标识符的首字符必须是字母或者下划线。下划线必须跟着字号或数字。如:不

允许连续有两根或以上的下划线。下划线可以跟着任意或者一系列的数字,下划线或字母。在这唯一的例

外是两条下划线可能不会同时出现。

Identifier(formatted)

zigure3-3Syntax:Identifier

1.2o2.2标识符举例

有效的标识符

X_sumtemperatureRCONTROLLERS

narr.eareamyFB-able

无效的标识符

无效标识符原因

4ter第一次字符必须为一个字母或者下划线

*#AB不允许特殊字符(除了下划线)

RR_20不允许有两个下划线

Svalue不允许出现空格,因为是特殊字符

Array虽然ARRAY是一个正式有效的标识符,

但是它是一个预留标识符。,只能做预

先定义使用.这意味着你不能使用这个

名称,比如:变量

标识符不能用作

绝不定义标识符:

•与预留标识符一样

•与任务命名相匹配

注意:

如有可能,避免定义由下划线,struct,enum,或者command开始的标识符

虽然这些是有效的标识符,当你下载技术包时可能导致出现错误。在基础系统和在技术包中命令词语,参

数或数据类型以这些字符开始。

1.2.3预留标识符

预留标识符可能和预先定义的用途不一样.你不能用预留标识符的名称来命名一个变量或者数据类型.

符号的大小写无区别。

所有标识符的预先定义的意义可以在SIMOTION基本功能功能手册中找到:

•*ST编程语言中的保护或者预留标识符,欲知更多,请见76页和81页

••标准功能和功能定义的数据类型,欲知更多,请见251页

•系统的常规功能块

•SIMOTION设备系统功能、系统变量和数据类型

•技术目标的系统功能、系统变量和数据类型

1.2。3.1保护标识符

ST语言中的保护标识符全列在了下表中。

欲见所有预留词的简短描述,请见附录预留词语(第299页)和规则附录中的语法图(第307页)

Table3-1ProtectedidentifiersinSTprogramminglanguage

A

ABSANYTYPE_TO_LITTLEBYTEARRAY

ACOSARRAY

ANDAS

ANYOBJECTASIN

ANYOB正CT_TO_OBJECTAT

ANYTYPE_TO_BIGBYTEARRAYATAN

B

BIGBYTEARRAY_TO_ANYTYPEBY

BOOLBYTE

BOOL_TO_BYTEBYTE_TO_BOOL

BOOL_TO_DWORDBYTE_TO_DINT

BOOL_TO_WORDBYTE_TO_DWORD

BOOL_VALUE_TO_DINTBYTE_TO」NT

BOOL_VALUE_TO」NTBYTE_TO_SINT

BOOL_VALUE_TO_LREALBYTE_TO_UDINT

BOOL_VALUE_TO_REALBYTE_TO_UINT

BOOL_VALUE_TO_SINTBYTE_TO_USINT

BOOL_VALUE_TO_UDINTBYTE_TO_WORD

BOOL_VALUE_TO_UINTBYTE_VALUE_TO_LREAL

BOOL_VALUE_TO_USINTBYTE_VALUE_TO_REAL

C

CASECTD.UDINT

CONCATCTU

CONCAT_DATE_TODCTU_DINT

CONSTANTCTU_UDINT

COSCTUD

CTDCTUD_DINT

CTD.DINTCTUD.UDINT

D

DATEDO

DATE_AND_TIMEDT

DATE_AND_TIME_TO_DATEDT_TO_DATE

DATE_AND_TIME_TO_TIME_OF_DAYDT_TO_TOD

DELETEDWORD

DINTDWORD_TO_BOOL

DINT_TC_BYTEDWORD_TO_BYTE

DINT_TC_DWORDDWORD_TO_DINT

DINT_TO_INTDWORD.TOJNT

DINT_TC_LREALDWORD_TO_REAL

DINT_TO_REALDWORD_TO_SINT

DINT_TC_SINTDWORD_TO_UDINT

DINT_TC_STRINGDWORD_TO_UINT

DINT_TO_UDINTDWORD_TO_USINT

DINT_TO_UINTDWORD_TO_WORD

DINT_TC_USINTDWORD_VALUE_TO_LREAL

DINT_TC_WORDDWORD_VALUE_TO_REAL

DINT.VALUE_TO.BOOL

E

ELSEEND_REPEAT

ELSIFEND_STRUCT

END.CASEEND_TYPE

END.EXPRESSIONEND_VAR

END.FOREND_WAITFORCONDITION

END.FUNCTIONEND.WHILE

END_FUNCTION_BLOCKENUF<TO_DINT

ENDJFEXIT

ENDJMPLEMENTATIONEXP

ENDJNTERFACEEXPD

END_LABELEXPRESSION

END.PROGRAMEXPT

F

F.TRIGFOR

FALSEFUNCTION

FINDFUNCTION-BLOCK

G

GOTO

IFINT_TO_SINT

IMPLEMENTATIONINT_TO_TIME

INSERTINT_TO_UDINT

INTINT_TO_UINT

INT.TO.BYTEINT_TO.USINT

INT.TO.DINTINT_TO_WORD

INT_TO_DWORDINT_VALUE_TO_BOOL

INT_TO_LREALINTERFACE

INT_TO_REAL

L

LABELLREAL_TO_REAL

LEFTLREAL_TO_SIKT

LENLREAL_TO_STRING

LIMITLREAL_TO_UDINT

LITTLEBYTEARRAY_TO_ANYTYPELREAL_TO_UINT

LNLREAL.TO^USNT

LOGLREAL_VALUE_TO_BOOL

LREALLREAL_VALUE_TO_BYTE

LREAL_TO_DINTLREAL_VALUE_TO_DWORD

LREAL.TOJNTLREAL_VALUE_TO_WORD

G

MAXMOD

MIDMUX

MIN

N

NOT

0

OFOR

P

PROGRAM

R

R-TRIGREAL_VALUE_TO_BYTE

REALREAL_VALUE_TO_DWORD

REAL_TO_DINTREAL_VALUE_TO_WORD

REAL_TO_DWORDREPEAT

REAL.TOJNTREPLACE

REAL.TO.LREALRETAIN

REAL_TO_SINTRETURN

REAL_TO_STRINGRIGHT

REAL.TO.TIMEROL

REAL_TO_UDINTROR

REAL_TO_UINTRS

REAL_TO_USINTRTC

REAL_VALUE_TO_BOOL

S

SELSINTJTO.WORD

SHLSINT_VALUE_TO_BOOL

SHRSQRT

SINSR

SINTSTRING

SINT_TO_BYTESTRING_TO_DINT

SINT_TO_DINTSTRING_TO_LREAL

SINT_TC_DWORDSTRING.TO.REAL

SINT_TO_INTSTRING_TO_UDINT

SINT_TC_LREALSTRUCT

SINT_TO_REALStructAlarmld

SINT_TC_UDINTSTRUCTALARMID_TO_DINT

SINT_TO_UINTStructTaskld

SINT_TC_USINT

T

TANTOD

THENTOF

TIMETON

TIME_OF_DAYTP

TIME_TO_INTTRUE

TIME_TO_REALTRUNC

TOTYPE

U

UDINTUINT_TO_UDINT

UDINT_TO_BYTEUINT_TO_USINT

UDINT_TO_DINTUINT_TO_WORD

UDINT_TO_DWORDUINT_VALUE_TO_BOOL

UDINT_TO_INTUNIT

UDINT_TO_LREALUNTIL

UDINT_TO_REALUSELIB

UDINT_TO_SINTUSEPACKAGE

UDINT_TO_STRINGUSES

UDINT_TO_UINTUSINT

UDINT_TO_USINTUSINT.TO.BYTE

UDINT_TO_WORDUSINT.TO-DINT

UDINT_VALUE_TO_BOOLUSINT_TO_DW9RD

UINTUSINT_TOJNT

UINT_TO_BYTEUSINT_TO_LREAL

UINT_TO_DINTUSINT_TO_REAL

UINT_TO_DWORDUSINT_TO_SINT

UINT_TO_INTUSINT_TO_UDINT

UINT_TO_LREALUSINT_TO_UINT

UINT_TC_REALUSINT_TO_WORD

UINT_TO_SINTUSINT_VALUE_TO_BOOL

V

VARVAR.OUTPUT

VAR_GLOBALVAR_TEMP

VAR_IN_OUTVOID

VARJNFUT

W

WAITFORCONDITIONWORD.TOJNT

WHILEWORD_TO_SINT

WITHWORD_TO_UDINT

WORDWORD_TO_UINT

WORD_TO_BOOLWORD_TO_USINT

WORD_TO_BYTEWORD_VALUE_TO_LREAL

WORD_TO_DINTWORD_VALUE_TO_REAL

WORD_TO_DWORD

X

XOR________________________________________________

3.2o3O2额外的预留标识符

下表包含了将来扩展所有的预留标识符。

Table3-2AdditionalreservedidentifiersoftheSTlanguage

A

ACTIONADD.TIME

ADDADD.TOD.TIME

ADD.DT.TIME

B

BCD_TO_BYTEBCD_TO_LWORD

BCD_TO_DINTBCD_TO_SINT

BCD_TO_DWORDBCD_TO_WORD

BCD.TOJNTBYTE.TO.BCD

C

CONFIGURATIONCTU.ULINT

CTD_LINTCTUD_LINT

CTD_ULINTCTUD.ULINT

CTU_LINT

D

DINT_TO_BCDDIVTIME

DIVDWORD.TO.BCD

E

ENEND.STEP

END.ACTIONEND.TRANSITION

END-CONFIGURATIONENO

END.RESOURCEEQ

F

F.EDGEFROM

G

GEGT

1

INITIAL.STEPINT_TO_BCD

L

LELWORD

LINTLWORD_TO_BCD

PM

G

MULMULTIME

N

MS

R

R.EDGERESOURCE

S

SEMASUB_DT_DT

SINT_TO_BCDSUB_DT_TIME

STEPSUB.TIME

SUBSUB_TOD_TIME

SUB_DATE_DATESUB_TOD_TOD

T

TRANSITION

U

ULINT

V

VAR.ACCESSVAR_EXTERNAL

VAR_ALIASVAR_OBJECT

W

WORD_'O_BCD

1.2.4数字和布尔值

在ST中可以通过多种方式编写数字“数字可以包括一个符号、一个小数点或者一个指数3下列规则适用

于所有的数字:

•数字中不能出现逗号和空格

•下划线允许作为视觉上的分隔线

•数字可以冠以正号(+)或者负号(一),如果没有使用符号

则认为数字为正.

•数字不能超过确定的最大值或最小值

1o2.4.1整数

整数既不包括小数点也不包括指数.一个整数是一系列的数字,也可以在前面加上一个符号.

下列为有效的整数:

01+1—1

743-528060000—32211321

下列整数为无效,引且已经列出原因:

123,456不允许有逗号

36o整数不能包括小数点

102030不允许有空格

在ST中,你可以使用不同的编号体系来表示整数。通过插入编号系统的关键字前缀来实现.

•2#为二进制

•8#为八进制

•16#为十六进制

十进制小数15的有效表示方式为:

2#11118#1716#F

1o2o4.2浮点数

下列为有效的浮点数

Oo01.3—0.2827o602

0000o0+0o00074360_000.15-315.0066

下列为无效的浮点数

1.数字必须出现在小数点之前或之后

1,000.0不允许有逗号

1o333.333不允许有两个小数点

1o2.4.3指数

指数可以用来定义小数点的位置。如果没有出现小数点,我们就假设位于数字的右侧。指数必须为正整数

或负整数。基数10用字母E来表示。

3xIO'在ST中可以通过下列正确的浮点数来表示:

3.0E+83.0E83e+83E80.3E+9

0o3e930oOE+730e7

下列浮点数是无效的:

3OE+8数字必须出现在小数点之前或之后

8e2.3指数必须为一个整数

o333e-3数字必须出现在小数点之前或之后

30E8不允许有空格

1.2.4o4布尔值

布尔值是恒定常量.必须通过0或者1,TRUE或者FALSE来表示。

Example:

a:=1;//isequivalenta:=TRUE

b:=FALSE;//ise-guivalentzob:=0

1.2O495数字的数据类型

编辑器根据数值和使用来自动选择适合数字的基本数据类型。

也可以直接指定数据类型。在数字前面输入数据类型(数字数据类型)和字符

Examples:

IKT4255

温馨提示

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

评论

0/150

提交评论