WinCC 中定时器使用方法介绍

1、定时器功能介绍
2、脚本中定时器介绍
3、使用脚本实现更多定时器功能
3.1 整点归档
3.2 WinCC 项目激活时避免脚本初次执行及延迟执行脚本1 定时器功能介绍
WinCC 中定时器的使用可以使 WinCC按照指定的周期或者时间点去执行任务,比如周期执行变量归档、在指定的时间点执行全局脚本或条件满足时打印报表。

WinCC 已经提供了一些简单的定时器,可以满足大部分定时功能。

但是在有些情况下,WinCC 提供的定时器不能满足我们需求,这时我们就可以通过 WinCC 提供的脚本接口通过编程的方式实现定时的功能,因为脚本本身既可以直接调用 WinCC其他功能,比如报表打印,也可以通过中间变量来控制其他功能的执行,比如通过置位/复位归档控制变量来触发变量记录的执行。

WinCC 提供了 C 脚本和 VBS 脚本,本文主要以全局 C 脚本编程为例介绍定时功能的实现。

2 脚本中定时器介绍既然在全局脚本中可以编程控制其他功能的执行,那么首先看看全局脚本的触发:
图1 脚本触发器分类如图1所示:脚本触发器分为使用定
时器和使用变量,定时器又分为周期执行和非周期执行一次,比如每分钟执行一次脚本属于周期执行,指定2012年10月1日执行一次属于非周期执行。

使用变量触发脚本,即在变量发生变化时,脚本就执行一次,而变量的采集可以根据指定周期循环采集,或者根据变化采集,根据变化实际是1秒钟采集变量一次。

3使用脚本实现更多定时器功能
利用脚本自身的定时器,可以通过在脚本中编程的方式实现更多其它定时功能。

3.1整点归档
WinCC提供了变量归档,变量归档分为周期归档和非周期归档,不管是周期归档或非周期的归档,都又可以通过一些变量或脚本返回值来控制归档,比如:整点归档。

下面的设置结合WinCC脚本,实现了在整点开始归档,归档五分种后停止归档,即每个小时仅归档前五分钟的数据。

软件环境:Windows 7 Professional Service Pack1 , WinCC V7.0 SP3
归档名称:ProcessValueArchive
归档变量:NewTag
归档周期:1 分钟
归档控制变量 startarchive
C脚本触发周期:10秒
脚本代码:
#include"apdefap.h"
int gscAction( void )
{
#pragma option(mbcs)
#pragma code ("kernel32.dll");
void GetLocalTime (SYSTEMTIME* lpst);
#pragma code();
SYSTEMTIME time;
int t1;
GetLocalTime(&time);
t1=time.wMinute;
if(t1==00)
{
SetTagBit("startarchive",1);
}
if(t1==05)
{
SetTagBit("startarchive",0); }
return0;
}
归档设置如图2:
图2 归档设置
同理,在以上脚本的基础上做修改,可以实现在某个指定的时间点打印报表,只要在满足触发条件时调用下列函数:
RPTJobPrint("Myprintjob");
Myprintjob为事先创建好的打印作业。

脚本主要部分在于获取系统当前时间,下面的脚本实现了获取当前时间并分别获取年、月、日、时、分、秒、毫秒,星期几的功能。

Varname1 到 Varname8 为 WinCC 内部变量。

若在 WinCC画面上显示时,由于默认 I/O 域的格式为999.99,要把 Varname1 的显示格式改为9999。

#include"apdefap.h"
int gscAction( void )
{
#pragma option(mbcs)
#pragma code ("kernel32.dll");
void GetLocalTime (SYSTEMTIME* lpst);
#pragma code();
SYSTEMTIME time;
GetLocalTime(&time);
SetTagWord("Varname1",time.wYear);
SetTagWord("Varname2",time.wMonth);
SetTagWord("Varname3",time.wDayOfWeek);
SetTagWord("Varname4",time.wDay);
SetTagWord("Varname5",time.wHour);
SetTagWord("Varname6",time.wMinute);
SetTagWord("Varname7",time.wSecond);
SetTagWord("Varname8",time.wMilliseconds);
return0;
}
设置或读取系统时间的函数如下:
SetSystemTime
SetLocalTime
GetSystemTime
GetLocalTime
系统中本地计算机时间和格林威治时间是有区别的。

函数“SetSystemTime / GetSystem Time”用于设置或读取格林威治时间。

函数“SetLocalTime / GetLocalTime”用于设置或读取本地计算机时间。

两种时间会因地理的时区不同而改变。

两个函数使用方法相同。

3.2 WinCC 项目激活时避免脚本初次执行及延迟执行脚本
全局脚本在项目激活时,是要执行一次的,在有些情况下,需要避免脚本执行,就采用在脚本中去判断。

比如可以创建 WinCC 内部布尔型变量 flag,脚本如下:
#include"apdefap.h"
int gscAction( void )
{
#pragma option(mbcs)
if( GetTagBit("flag")==1)
SetTagWord("NewTag",1);//根据自己的需求编写对应代码.
else
SetTagBit("flag",1); //Return-Type: BOOL
return0;
}
除了避免项目运行激活时触发脚本执行,我们还可以通过Sleep()延迟脚步功能执行,比如开机后五分钟开始执行脚本具体功能,代码如下:
#include"apdefap.h"
int gscAction( void )
{
#pragma option(mbcs)
#pragma option(mbcs)
#pragma code("Kernel32.dll");
void Sleep(int milliseconds);
#pragma code()
Sleep(300000); //延迟300秒即五分钟
int temp;
//根据自己的需求编写对应代码.
temp=GetTagWord("NewTag");//Return-Type: WORD
temp++;
SetTagWord("NewTag",temp);
return0;
}
不管是整点归档或者延迟执行脚本,脚本中的参数都可以在运行期间通过 WinCC 的画面动态设定。

注意事项
应用示例与所示电路、设备及任何可能结果没有必然联系,并不完全相关。

应用示例不表示客户的具体解决方案。

它们仅对典型应用提供支持。

用户负责确保所述产品的正确使用。

这些应用示例不能免除用户在确保安全、专业使用、安装、操作和维护设备方面的责任。


使用这些应用示例时,应意识到西门子不对在所述责任条款范围之外的任何损坏/索赔承担责任。

我们保留随时修改这些应用示例的权利,恕不另行通知。

如果这些应用示例与其它西门子出版物(例如,目录)给出的建议不同,则以其它文档的内容为准。

合集下载

wincc读写定时器问题

wincc读写定时器问题

[PLC、仪表资料][转载一西门子工程师]wincc读写定时器问题[ 2008/6/4 14:08:50 | By: 天涯 ]前日碰到了在wincc里面如何读取定时器当前时间以及设定定时器的时间问题,想起来以前曾经在西门子论坛里面看到过有人问这个问题,就去官方论坛里面search一把,果然很多帖子啊,整理了一下:-------------------------------------终于搞对了,WINCC里建立无符号32位数,改变格式DwordToSimaticBCDTimer,线形标定过程值0--1000,变量值0-1,地址选择对应的定时器就OK了,要注意的是I/O域的数据格式选择为字符串。

―――――――――――――――――――――――――――――――――――――――――――――――――――――――――将当前时间值的BCD码传给数据块―――――――――――――――――――――――――――――――――――――――――――――――――――――――――其实平常最多使用的是直接把定时器的bi端接到一个MW,然后从WINCC中读。

用MW20做为定时器的时间设定值 , 前面用一条I_BCD码转换指令传MW20定时时间, 结果输入0_999 的数时间对应0_9.99S没有问题, 但用0.1S做时间单元,设定4096以上的数时有时定时器不能正常启动. 总的说来还是对这块的帮组没有看明白,那位给指点下,我想连续的可以设定时间值在10S-50S 该怎么设定s5#time数据格式是低12位为BCD码时间数;高2位是时基:00-10ms01- 100ms10- 1s11- 10s所以大于4096就不正常了--------------------------------------找了台300plc,测试了下,第一个方法就可以(即:WINCC里建立无符号32位数,改变格式DwordToSimaticBCDTimer),我用的是sodts定时器指令,其bcd输出可以显示当前计时时间,设定端也可以从wincc直接改写,很简单啊。

西门子S7-1200系列PLC的定时器介绍(三)

西门子S7-1200系列PLC的定时器介绍(三)

西门子S7-1200系列PLC的定时器介绍(三)S7-1200系列PLC的定时器采用的是IEC格式的定时器,每个定时器就是一个FB块,因此每个定时器在使用时都需要分配相应的背景DB块来存储定时器的相应的数据。

如果在程序中使用的定时器比较多,每个定时器都需要分配一个背景DB,则将会生成大量的数据块“碎片”。

为了解决该问题,我们可以通过以下两种方式来实现:1、在全局DB块中建立IEC_TIMER数据类型的变量,然后通过这个变量来代替定时器中的背景DB。

当在程序的OB块中或是FC块中需要使用到定时器时,可以先在全局DB块中建立相应的IEC_TIMER始数据类型的变量,当在调用定时器指令时,提示分配DB块时,可以点击取消,然后在定时器的输入背景数据块处,选择输入在全局DB块中建立的IEC_TIMER的数据类型的变量。

如下图所示,在数据块中分别建立了“启动延时”和“断开延时”两个变量,变量的类型都为IEC_TIMER的变量。

变量建立完成后,在编写程序时调用的定时器时分配背景块就可以分配相应的变量过去即可,如下所示:2、在FB块接口区中的静态变量中建立数据类型为IEC_TIMER的变量,然后分配给定时器。

在程序的设计过程中,定时器可能还会用于FB块中,因FB块在调用时需要给其分配背景DB,若在FB块中需要使用定时器,则可以在FB块的接口区中静态变量中建立IEC_TIMER数据类型的变量,如下图所示,接口区的静态变量中建立了“启动延时定时器”和“断开延时定时器”两个数据类型为IEC_TIMER的变量。

建立完FB块中的静态变量后,可编写PLC的程序,如下所示:(1) FB块中的程序:(2)建立完FB块的程序后,需要在OB1中调用该FB块,调用是系统会自动提示为该FB块生成背景数据块。

wincc flexible 中如何设定日期和时间?并且断电不消失

wincc flexible 中如何设定日期和时间?并且断电不消失

wincc flexible 中如何设定日期和时间?并
且断电不消失
winccflexible中如何设定日期和时间?并且断电不消失啊?‘
最佳答案
首先HMI作用是读取和写入数据组态值的设备。

它本身就没有这个功能,需要通过PLC进行的。

断电记忆功能需要在PLC中进行,如果是200可以通过添加电池卡或者设置数据保持地址范围进行,300的话直接采用数据块地址编程(数据块默认值是断电保持型的)。

200PLC的读取和写入系统时钟指令为:READ_RTC/SET_RTC
300plc的读取和写入系统时钟指令为:SFC0、SFC1
以上读取和写入时钟的地址存储形式都以字节形式进行的。

在HMI设备上组态若干个I/O域,赋值与PLC的读取和写入地址一致的地址和写入时钟的按钮。

WinCC中定时器使用方法介绍

WinCC中定时器使用方法介绍

WinCC中定时器使用方法介绍1定时器功能介绍WinCC中定时器的使用可以使WinCC按照指定的周期或者时间点去执行任务,比如周期执行变量归档、在指定的时间点执行全局脚本或条件满足时打印报表。

WinCC已经提供了一些简单的定时器,可以满足大部分定时功能。

但是在有些情况下,WinCC 提供的定时器不能满足我们需求,这时我们就可以通过 WinCC 提供的脚本接口通过编程的方式实现定时的功能,因为脚本本身既可以直接调用WinCC其他功能,比如报表打印,也可以通过中间变量来控制其他功能的执行,比如通过置位/复位归档控制变量来触发变量记录的执行。

WinCC 提供了C 脚本和VBS脚本,本文主要以全局 C 脚本编程为例介绍定时功能的实现。

2脚本中定时器介绍既然在全局脚本中可以编程控制其他功能的执行,那么首先看看全局脚本的触发:图1 脚本触发器分类如图1所示:脚本触发器分为使用定时器和使用变量,定时器又分为周期执行和非周期执行一次,比如每分钟执行一次脚本属于周期执行,指定2012年10月1日执行一次属于非周期执行。

使用变量触发脚本,即在变量发生变化时,脚本就执行一次,而变量的采集可以根据指定周期循环采集,或者根据变化采集,根据变化实际是1秒钟采集变量一次。

3使用脚本实现更多定时器功能利用脚本自身的定时器,可以通过在脚本中编程的方式实现更多其它定时功能。

整点归档WinCC提供了变量归档,变量归档分为周期归档和非周期归档,不管是周期归档或非周期的归档,都又可以通过一些变量或脚本返回值来控制归档,比如:整点归档。

下面的设置结合WinCC脚本,实现了在整点开始归档,归档五分种后停止归档,即每个小时仅归档前五分钟的数据。

软件环境:Windows 7 Professional Service Pack1 , WinCC SP3归档名称:ProcessValueArchive归档变量:NewTag归档周期:1 分钟归档控制变量 startarchiveC脚本触发周期:10秒脚本代码:#include ""int gscAction( void ){#pragma option(mbcs)#pragma code ("");void GetLocalTime (SYSTEMTIME* lpst);#pragma code();SYSTEMTIME time;int t1;GetLocalTime(&time);t1=;if(t1==00){SetTagBit("startarchive",1);}if(t1==05){SetTagBit("startarchive",0);}return 0;}归档设置如图2:图2 归档设置同理,在以上脚本的基础上做修改,可以实现在某个指定的时间点打印报表,只要在满足触发条件时调用下列函数:RPTJobPrint("Myprintjob");Myprintjob为事先创建好的打印作业。

定时器的使用方法

定时器的使用方法

定时器的使用方法定时器是一种常用的工具,它可以在特定的时间间隔内执行某个任务或者动作,比如定时关闭电脑、定时播放音乐等。

在日常生活和工作中,我们经常会用到定时器,因此掌握定时器的使用方法是非常重要的。

下面,我将为大家介绍定时器的使用方法,希望能够帮助大家更好地利用定时器。

首先,我们需要了解定时器的基本原理。

定时器是通过设定一个时间间隔,当时间到达设定的间隔时,就会触发相应的操作。

在计算机领域,定时器通常是通过编程语言或者操作系统提供的接口来实现的。

在其他领域,比如家用电器、手机应用等,定时器也是通过相应的设备或者软件来实现的。

在计算机编程中,定时器的使用方法通常包括以下几个步骤:1. 初始化定时器,首先,我们需要初始化定时器,设置时间间隔和触发的操作。

这通常包括设置定时器的周期、触发条件等参数。

2. 启动定时器,一旦定时器初始化完成,我们就可以启动定时器,让它开始工作。

在计算机编程中,通常是调用相应的函数或者方法来启动定时器。

3. 处理定时器触发事件,当定时器的时间间隔到达时,就会触发相应的事件。

在编程中,我们通常会编写相应的处理函数来处理定时器触发的事件。

4. 停止定时器,在某些情况下,我们可能需要停止定时器的工作。

这通常是通过调用相应的函数或者方法来实现的。

除了计算机编程中的定时器使用方法,我们在日常生活中也经常会用到定时器。

比如,定时器可以用来设置闹钟、定时关闭电视、定时煮饭等。

在手机应用中,定时器也经常被用来设置提醒、定时播放音乐等功能。

在家用电器中,定时器也被广泛应用,比如洗衣机的定时洗涤功能、空调的定时开关机功能等。

总的来说,定时器是一种非常实用的工具,它可以帮助我们在特定的时间间隔内执行某个任务或者动作。

掌握定时器的使用方法,可以让我们更好地利用定时器,提高工作和生活的效率。

希望通过本文的介绍,大家能够更加了解定时器的使用方法,从而更好地应用定时器。

WinCC里有像ifix的Timer控件那样的定时器控件吗

WinCC里有像ifix的Timer控件那样的定时器控件吗

WinCC里有像ifix的Timer控件那样的定
时器控件吗
需要打开画面后每隔一秒钟给下位机的一个点赋一个当前画面编号的点,例如:打开画面1我需要每一秒或是几秒给PLC里的一个点置1,打开画面2置2,打开画面3置3。

请问WinCC有像ifix里那样的Timer控件可以实现这个功能的控件吗?
最佳答案
WinCC里确实没有控件直接实现该功能,但是使用脚本能很轻松实现:
可以在画面上的任何对象(例如按钮等)的一个无关紧要的属性(如边框颜色)
的动态化中,使用C(或VB脚本)来调用SetTagWord来讲当前画面号写入PLC变量,
同时将该脚本的触发器改为1s循环(好像没有必要这么频繁,切换是写以此就可以了)。

在WinCC项目中监控S7PLC中定时器及计数器

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器 How to Monitor and Control the TIMER and COUNTER of S7 300/400 PLC in WinCCProject摘要 本文详细描述了如何利用WinCC的类型转换功能来实现在WinCC项目中监控S7300/400 PLC中的TIME,S5TIME数据类型变量及定时器和计数器的值。

关键词WinCC, 类型转换 , TIME, S5TIME, 定时器,计数器Key Words WinCC, Type Conversion, TIME, S5TIME, TIMER, COUNTERIA&DT Service & Support Page 2-17目录1.在WinCC项目中监控S7 300/400 PLC中的TIME类型变量 (4)1.1关于TIME数据类型 (4)1.2具体步骤 (5)2. 在WinCC项目中监控300/400PLC中的S5TIME类型变量 (8)2.1 关于S5TIME数据类型 (8)2.2 具体步骤 (9)2.3定时器的监控 (12)3.在WinCC项目中监控S7 300/400 PLC中的计数器值 (13)3.1 关于计数器 (13)3.2 具体步骤 (13)IA&DT Service & Support Page 3-17WinCC中变量的数据类型可能会不同于自动化系统中所使用的数据类型。

因此,当组态外部变量时,除了要定义该变量的数据类型,还必须对所有数字型数据类型执行类型转换。

类型转换定义如何从WinCC格式转换到AS格式,该定义适用于双向传送。

下表显示哪些WinCC数据类型支持类型转换:数据类型 类型转换二进制变量 否无符号8位数 是有符号8位数 是无符号16位数 是有符号16位数 是无符号32位数 是有符号32位数 是浮点数32位IEEE 754 是浮点数64位IEEE 754 是文本变量8位字符集 否文本变量16位字符集 否原始数据类型 否有关类型转换的详细信息,您可在WinCC信息系统中的“通讯”>“过程通讯”>“WinCC过程通讯”>“外部变量”中找到。

WinCC定时器C脚本

1、定时器功能介绍2、脚本中定时器介绍3、使用脚本实现更多定时器功能3.1 整点归档3.2 WinCC 项目激活时避免脚本初次执行及延迟执行脚本1 定时器功能介绍WinCC 中定时器的使用可以使WinCC按照指定的周期或者时间点去执行任务,比如周期执行变量归档、在指定的时间点执行全局脚本或条件满足时打印报表。

WinCC 已经提供了一些简单的定时器,可以满足大部分定时功能。

但是在有些情况下,WinCC 提供的定时器不能满足我们需求,这时我们就可以通过WinCC 提供的脚本接口通过编程的方式实现定时的功能,因为脚本本身既可以直接调用WinCC其他功能,比如报表打印,也可以通过中间变量来控制其他功能的执行,比如通过置位/复位归档控制变量来触发变量记录的执行。

WinCC 提供了 C 脚本和VBS 脚本,本文主要以全局 C 脚本编程为例介绍定时功能的实现。

2 脚本中定时器介绍既然在全局脚本中可以编程控制其他功能的执行,那么首先看看全局脚本的触发:图1 脚本触发器分类如图1所示:脚本触发器分为使用定时器和使用变量,定时器又分为周期执行和非周期执行一次,比如每分钟执行一次脚本属于周期执行,指定2012年10月1日执行一次属于非周期执行。

使用变量触发脚本,即在变量发生变化时,脚本就执行一次,而变量的采集可以根据指定周期循环采集,或者根据变化采集,根据变化实际是1秒钟采集变量一次。

3使用脚本实现更多定时器功能利用脚本自身的定时器,可以通过在脚本中编程的方式实现更多其它定时功能。

3.1整点归档WinCC提供了变量归档,变量归档分为周期归档和非周期归档,不管是周期归档或非周期的归档,都又可以通过一些变量或脚本返回值来控制归档,比如:整点归档。

下面的设置结合WinCC脚本,实现了在整点开始归档,归档五分种后停止归档,即每个小时仅归档前五分钟的数据。

软件环境:Windows 7 Professional Service Pack1 , WinCC V7.0 SP3归档名称:ProcessValueArchive归档变量:NewTag归档周期:1 分钟归档控制变量 startarchiveC脚本触发周期:10秒脚本代码:#include"apdefap.h"int gscAction( void ){#pragma option(mbcs)#pragma code ("kernel32.dll");void GetLocalTime (SYSTEMTIME* lpst);#pragma code();SYSTEMTIME time;int t1;GetLocalTime(&time);t1=time.wMinute;if(t1==00){SetTagBit("startarchive",1); }if(t1==05){SetTagBit("startarchive",0); }return0;}归档设置如图2:图2 归档设置同理,在以上脚本的基础上做修改,可以实现在某个指定的时间点打印报表,只要在满足触发条件时调用下列函数:RPTJobPrint("Myprintjob");Myprintjob为事先创建好的打印作业。

WINCC 怎么定时启动一个或N个项目函数

WINCC怎么定时启动一个或N个项目函数问:1、在C脚本里,为什么只有全局动作的属性里可以设置触发器来定时启动全局动作的程序,而项目函数的属性却没有触发器设置呢?2、如果我要系统运行时就自动启动运行一次项目函数A,该怎么做?3、如果我要求系统运行时就自动周期运行项目函数B,周期可以设置,该怎么做?4、如果在全局动作里新建一个动作***.pas,在里面统一调用系统需要周期运行的项目函数,然后在这个全局动作属性里设置触发器定时器。

这样是否可以实现我的第三个问题?如下:int gscAction( void ){项目函数A;项目函数B;// WINCC:TAGNAME_SECTION_START// syntax: #define TagNameInAction "DMTagName"// next TagID : 1// WINCC:TAGNAME_SECTION_END// WINCC:PICNAME_SECTION_START// syntax: #define PicNameInAction "PictureName"// next PicID : 1// WINCC:PICNAME_SECTION_END}答:1、全局动作带触发器,所以只要动作被触发了,就执行。

对于时间类的触发器(定点定时的除外),系统刚开始激活运行时都会触发一次。

而项目函数是用户函数,本身不会被执行,只能通过其它动作来调用它,才会运行。

也就是说,如果没有其它程序调用它,这个项目函数就永远不会运行。

2、第1条里已经说明了,全局动作一般在系统启动时会执行一次。

如果只允许执行一次(如初始化等工作),可以先建个内部变量blnBegin(布尔型的),这个变量可以在主画面的Open Picture事件中赋值为1。

然后永远保持为1。

然后,建一个全局动作,触发器为变量触发(blnBegin),代码如下:if (GetTagBit("blnBegin")==1)项目函数A;}return 1;3、全局动作的触发器周期必须组态时设置,不能运行时动态设定。

wincc读写定时器问题

[PLC、仪表资料][转载一西门子工程师]wincc读写定时器问题[ 2008/6/4 14:08:50 | By: 天涯 ]前日碰到了在wincc里面如何读取定时器当前时间以及设定定时器的时间问题,想起来以前曾经在西门子论坛里面看到过有人问这个问题,就去官方论坛里面search一把,果然很多帖子啊,整理了一下:-------------------------------------终于搞对了,WINCC里建立无符号32位数,改变格式DwordToSimaticBCDTimer,线形标定过程值0--1000,变量值0-1,地址选择对应的定时器就OK了,要注意的是I/O域的数据格式选择为字符串。

―――――――――――――――――――――――――――――――――――――――――――――――――――――――――将当前时间值的BCD码传给数据块―――――――――――――――――――――――――――――――――――――――――――――――――――――――――其实平常最多使用的是直接把定时器的bi端接到一个MW,然后从WINCC中读。

用MW20做为定时器的时间设定值 , 前面用一条I_BCD码转换指令传MW20定时时间, 结果输入0_999 的数时间对应0_9.99S没有问题, 但用0.1S做时间单元,设定4096以上的数时有时定时器不能正常启动. 总的说来还是对这块的帮组没有看明白,那位给指点下,我想连续的可以设定时间值在10S-50S 该怎么设定s5#time数据格式是低12位为BCD码时间数;高2位是时基:00-10ms01- 100ms10- 1s11- 10s所以大于4096就不正常了--------------------------------------找了台300plc,测试了下,第一个方法就可以(即:WINCC里建立无符号32位数,改变格式DwordToSimaticBCDTimer),我用的是sodts定时器指令,其bcd输出可以显示当前计时时间,设定端也可以从wincc直接改写,很简单啊。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档