S7-1200 SCL PEEK 和 POKE 指令使用

合集下载

(电气控制与PLC)第六章S7-1200的指令

(电气控制与PLC)第六章S7-1200的指令

2021/1/13
福州大学电气工程与自动化学院
16
定时器指令——定时器的输入输出参数
TP、TON 和 TOF 定时器具有相同的输入和 输出参数
TONR 定时器具有附加的复位输入参数 R
2021/1/13
福州大学电气工程与自动化学院
17
定时器指令——定时器的输入输出参数
参数 IN从0变为1将启动TP、TON 和 TONR,从 1变0 将启动 TOF
福州大学电气工程与自动化学院
14
提纲
1. 位逻辑指令 2. 定时器指令 3. 计数器指令 4. 数据处理指令
2021/1/13
福州大学电气工程与自动化学院
15
定时器指令
S7-1200 PLC有4种定时器: ➢ TON:接通延迟定时器 (ON) ➢ TONR:保持型接通延迟定时器 (ON+Reset) ➢ TOF:关断延迟定时器 (OFF) ➢ TP: 脉冲定时器 (Pulse)
避免循环扫描导致指令重复执行
触点下面的M4.3为边缘存储位,用来存储上一个扫描周期时 I0.6的状态,通过比较输入信号的当前状态和上一个扫描周期的 状态来检测信号的边沿
2021/1/13
福州大学电气工程与自动化学院
9
位逻辑指令——乒乓电路设计
用位逻辑指令实现以下功能: 按一次按钮I0.0,输出Q4.0亮,再按一次按钮,输出Q4.0灭; 重复以上。
44
用比较和计数指令编写开关灯程序 要求灯控按钮I0.0按下一次,灯Q4.0亮,按下两次, 灯Q4.0,Q4.1全亮,按下三次灯全灭,如此循环。
2021/1/13
福州大学电气工程与自动化学院
45
灯控按钮 I0.0 按 下一次,灯 Q4.0 亮,按下两次,灯 Q4.0,Q4.1 全亮, 按下三次灯全灭, 如此循环。

利用SCL编程语言的PEEK和POKE指令实现对IOM存储器和数据块的读取或写入

利用SCL编程语言的PEEK和POKE指令实现对IOM存储器和数据块的读取或写入

利用SCL编程语言的PEEK和POKE指令实现对IOM存储器和数据块的读取或写入SCL编程语言是通过使用PEEK和POKE指令来进行IO、M存储器和数据块的读取或写入的。

这两个指令允许程序直接访问硬件注册、存储器和外部设备,实现对它们的控制和数据操作。

PEEK指令用于从指定地址读取一个字节的数据。

语法为:PEEK(address)。

其中address参数表示要读取的内存地址。

POKE指令用于将一个字节的数据写入到指定的地址。

语法为:POKE(address, value)。

其中address参数表示要写入的内存地址,value参数表示要写入的数据。

下面将分别介绍如何使用PEEK和POKE指令来对IO、M存储器和数据块进行读取或写入。

1.读取IO设备数据:通过PEEK指令可以读取与计算机相连的IO设备的状态或数据。

比如,我们可以使用以下代码读取并显示键盘缓冲区中的按键:```PRINT keyBuffer // 将读取的数据显示在屏幕上```2.写入IO设备数据:使用POKE指令可以控制计算机与IO设备的交互。

例如,以下代码可以向打印机发送数据来输出一段文本:``````3.读取和写入M存储器:M存储器是计算机用来存储程序和数据的区域。

通过PEEK和POKE指令,我们可以直接读取和写入M存储器的内容。

以下是一个示例,将从地址5000开始的10个字节的数据读取到变量中:```FORi=0TO9data(i) = PEEK(5000 + i)NEXTi```同样,我们可以使用POKE指令将数据写入到M存储器中的指定地址。

以下代码将把数据块的内容写入到M存储器的地址6000开始的位置:```FOR i = 0 TO size-1POKE(6000 + i, data(i))NEXTi```4.读取和写入数据块:数据块通常在程序内部用于存储和处理一系列数据。

我们可以通过使用PEEK和POKE指令来读取和写入数据块的内容。

在 STEP 7 中,如何在 SCL 程序中实现间接寻址

在 STEP 7 中,如何在 SCL 程序中实现间接寻址

在STEP 7 中,如何在SCL 程序中实现间接寻址描述:S7-300/400 控制器使用SCL 有两种方法可以进行间接寻址。

①变量的间接寻址②DB 块的间接寻址变量的间接寻址类似于绝对寻址。

只是在括号内定义一个偏移量来替换掉地址值。

对于数据块的间接寻址,可以使用转换函数"WORD_TO_BLOCK_DB" 进行转换。

下图中的例子,描述了在S7-300/400 中如何使用间接寻址来访问DB 块中的数据。

图. 01如果希望通过间接寻址访问S7-300/400 的M,I 区和Q 区,需要使用指令%MX(), %MB(), %MW(), %EX(), %EB(), %EW(), %AX(), %AB() 和%AW()。

在访问区域前面必须添加百分号。

如下图2 所示。

图. 02SIMATIC S7-1200/1500 控制器可使用表01 中指令来实现间接寻址。

指令描述POKE 写存储器地址POKE_BOOL 写存储器位PEEK 读存储器地址PEEK_BOOL 读存储器位POKE_BLK 写存储区表01可通过如图3 所示,使用PEEK 和POKE 指令来访问数据块中的数据。

图. 03注意:PEEK 和POKE 指令无法在S7-300/400 中使用。

图. 04 是如何在S7-1200/S7-1500中使用"POKE_BLK" 指令实现间接寻址的例子。

源DB(标签名"DB_Number_SRC") 的数据被拷贝到目的DB (标签名"DB_Number_DES") 中。

Fig. 04创建环境该FAQ 相关截图由STEP 7 (TIA 博途) V13 创建。

s7-1200基本指令的应用案例

s7-1200基本指令的应用案例

S7-1200基本指令的应用案例随着工业自动化技术的不断发展,PLC(可编程逻辑控制器)作为工业控制领域中的重要设备,不断得到广泛的应用。

其中,西门子S7-1200系列PLC以其性能稳定、可靠性高等特点,成为了众多工业控制系统的首选。

在S7-1200系列PLC中,基本指令是实现其各项功能的基础,本文将结合具体案例,介绍S7-1200基本指令的应用方法及技巧。

一、S7-1200基本指令的概述S7-1200系列PLC的基本指令包括了逻辑运算、数值运算、移位、比较、计数和定时器等基本功能。

这些指令通过编程的方式,实现了PLC对工业设备的精确控制,具有非常重要的实际意义。

二、逻辑运算指令的应用1. 与门指令与门指令用于将多个输入信号进行与运算,并输出结果。

在工业控制中,可以利用与门指令实现多个条件的同时满足时,触发某项操作的逻辑控制。

2. 或门指令或门指令则是将多个输入信号进行或运算,并输出结果。

在设备的控制中,或门指令可以用于多种状态下的切换操作,提高了设备的灵活性。

三、数值运算指令的应用1. 加法指令加法指令可实现两个操作数的相加,广泛应用于工业设备中的加工、输送、包装等环节的位置控制和计数操作。

2. 减法指令减法指令同样是实现了两个操作数的相减操作,常用于工业生产中的计数、调整等方面。

四、移位指令的应用1. 左移指令左移指令主要用于对数据进行左移位操作,可应用于数值的扩大、倍增等场景,提高了生产效率。

2. 右移指令右移指令则是对数据进行右移位操作,在某些液位控制、料仓排料等方面具有重要作用。

五、比较指令的应用比较指令可用于比较两个操作数的大小关系,在工业控制中常用于检测传感器信号、设定阈值等环节。

六、计数和定时器指令的应用1. 计数器指令在工业生产中,计数器指令常用于对生产过程中的成品数量、加工次数等进行统计和控制。

2. 定时器指令定时器指令则是用于对设备的时间控制,如配料时间、加工时间、清洗时间等,实现对生产过程的准确控制。

S7-1200运动控制指令

S7-1200运动控制指令

S7-1200运动控制指令用户组态轴的参数,通过控制面板调试成功后,就可以开始根据工艺要求编写控制程序了。

关于运动控制指令有几点需要说明:1.打开OB1块,在Portal软件右侧“指令”中的“工艺”中找到“运动控制”指令文件夹,展开“S7-1200 Motion Control”可以看到所有的S7-1200运动控制指令。

可以使用拖拽或是双击的方式在程序段中插入运动指令,如下图所示,以MC_Power指令为例,用拖拽方式说明如何添加Motion Control指令。

这些Motion Control指令插入到程序中时需要背景数据块,如下图所示,可以选择手动或是自动生成DB块的编号。

添加好背景DB后的MC_Power指令如下图所示。

『注意』运动控制指令之间不能使用相同的背景DB,最方便的操作方式就是在插入指令时让Portal软件自动分配背景DB块。

2. 运动控制指令的背景DB块在“项目树”-->“程序块”-->“系统块”-->“程序资源”中找到。

用户在调试时可以直接监控该DB块中的数值,如下图所示。

3.每个轴的工艺对象都一个背景DB块,用户可以通过下面的方式打开这个背景DB块:可以对DB块中的数值进行监控或是读写。

以实时读取“轴_1”的当前位置为例,如下图所示,轴_1的DB块号为DB1,用户可以在OB1调用MOVE指令,在MOVE指令的IN端输入:DB1.Position,则Portal软件会自动把DB1.Position更新成:“轴_1”.Position。

用户可以在人机界面上实时显示该轴的实际位置。

4.每个Motion Control指令下方都有一个黑色三角,展开后可以显示该指令的所有输入/输出管脚。

展开后的指令管脚有灰色的,表示该管脚是不经常用到的指令管脚。

5.指令右上角有两个快捷按钮,可以快速切换到轴的工艺对象参数配置界面和轴的诊断界面。

下图是快速切换到诊断界面。

6.有部分S7-1200 运动控制指令有一个Execute触发管脚,该管脚需要用上升沿触发。

电气控制与PLC技术 第六章 S7-1200PLC的编程指令

电气控制与PLC技术 第六章 S7-1200PLC的编程指令
当操作数的信号状态为“0”时,不会启用常闭触点,同时将该输入的信号状态传输到输出。 两个或多个常闭触点串联时,将逐位进行“与”运算。串联时,所有触点都闭合后才产生信号流。 常闭触点并联时,将进行“或”运算。并联时,有一个触点闭合就会产生信号流。
电气控制与PLC技术(S7-1200)
--|NOT|--:取反RLO
该指令不会影响 RLO。线圈输入的 RLO 将直接发送到输出。
电气控制与PLC技术(S7-1200)
启保停控制程序
电气控制与PLC技术(S7-1200)
- 6.1.2 置位和复位指令
--(S)--: 置位输出
使用“置位输出”指令,可将指定操作数的信号状态置位为“1”。仅当线圈输入的逻辑运算结果 (RLO) 为“1”时,才执行该指令。如果信号流通过线圈(RLO=“1”),则指定的操作数置位为“1” 。如果线圈输入的 RLO 为“0”(没有信号流过线圈),则指定操作数的信号状态将保持不变。
两个或多个常开触点串联时,将逐位进行“与”运算。串联时,所有触点都闭合后才产 生信号流。
常开触点并联时,将逐位进行“或”运算。并联时,有一个触点闭合就会产生信号流。
电气控制与PLC技术(S7-1200)
--|/|--:常闭触点
常闭触点的激活取决于相关操作数的信号状态。当操作数的信号状态为“1”时,常闭触点将打开, 同时该指令输出的信号状态复位为“0”。
电气控制与PLC技术(S7-1200)
1.脉冲定时器(TP) TP指令可用于生成具有预定宽度时间的脉冲。
电气控制与PLC技术(S7-1200)
--|N|--:扫描操作数的信号下降沿
使用“扫描操作数的信号下降沿”指令,可以确定所指定操作数(<操作数 1>)的信号状态是 否从“1”变为“0”。该指令将比较 <操作数 1> 的当前信号状态与上一次扫描的信号状态,上一 次扫描的信号状态保存在边沿存储器位 <操作数 2> 中。如果该指令检测到逻辑运算结果 (RLO) 从 “1”变为“0”,则说明出现了一个下降沿。

S7-1200指令讲解(内部培训教程)

17
【例】压力变送器的量程为0~10MPa,输出信号为0~ 10V,被CPU集成的模拟量输入的通道0(地址为IW64) 转换为0~27648的数字。假设转换后的数字为N,试求 以kPa为单位的压力值。
解:0~10MPa(0~10000kPa)对应于转换后的数字 0~27648,转换公式为
P=(10000×N)/27648 (kPa) 注意:在运算时一定要先乘后除,否则会损失原始数 据的精度。
内部培训
• 名称:S7-1200指令讲解 • 所属部门:XX • 汇报人:xxX
.1数据处理指令
.1.1比较指令
2
1.比较指令 2.范围内与范围外比较指令
3
例-1用接通延时定时器和比较指令组成占空比可调的脉冲发生器
3.OK与NOT_OK指令
5
.1.2 使能输入和使能输出
1.BCD码:BCD (Binary-coded Decimal)是二进制编码 的十进制数的缩写,BCD码用4位二进制数表示一位十 进 制 数 , 每 一 位 BCD 码 允 许 的 数 值 范 围 为 2#0000 ~ 2#1001;对应于十进制数0-9。4位二进制数共有16种 组合,有6种组合(2#1010 ~ 2#1111)没有在BCD码中 使用。
7
2.EN与ENO
令MW32=F983,则输出MW34=-983 下列指令使用EN/ENO:数学运算指令、传送与转换 指令、位移与循环指令、字逻辑运算指令等。 下列指令不使用EN/ENO:位逻辑指令、比较指令、 计数器指令、定时器指令和程序控制指令。
8
.1.3数据转换指 令 1.CONV指令
2.浮点数转换为双整
在输出OUT中,IN和OUT的数据类型可以是SInt, Int,

S7-1200 SCL PEEK 和 POKE 指令使用

S7-1200 SCL PEEK 和POKE 指令使用使用S7-1200 SCL 编程语言的PEEK 和POKE 指令,可以实现对I/O、M 存储器和数据块的读取或写入。

而通过POKE_BLK 指令,还可以实现数据区域的复制或移动。

指令适用条件:∙只用于SCL 编程语言;∙软件从STEP7 Basic/Pro V11 SP2起;∙S7-1200 CPU 固件从V2.2起;∙适用操作数,I、Q、M、DB、接口区变量;∙DB 必须为“标准与S7-300/400 兼容”的访问方式。

本文生成环境:∙硬件,CPU1214C V2.2∙软件,Windows 7 Professional SP1 32位和STEP7 V11 SP2 Update 5一、项目生成方法:(1)创建S7-1200 项目文件在STEP7 V11 创建新项目PEEK-POKE,双击“添加新设备”在项目中添加S7-1200 PLC_1,CPU 1214C DC/DC/DC。

图一添加新设备(2)添加SCL 逻辑块展开PLC_1,双击“程序块”中的“添加新块”,选择语言“SCL”,添加FC 块,名称为FC_1 。

图二添加新块(3)添加PEEK、POK E指令双击FC_1 打开SCL 逻辑块,将指令的“基本指令/ 移动操作”中PEEK、POK E指令拖入程序编辑区。

图三添加指令二、PEEK 指令1、指令格式PEEK 指令用来读取输入(I)、输出(Q)、存储器(M)或数据块(DB)变量,支持位、字节、字、双字操作。

PEEK指令将获取的数据值以返回值的方式赋值给对应的变量。

PEEK_BOOL,读位变量,指令格式。

图四PEEK_BOOLPEEK (_BYTE) ,读字节变量,指令中BYTE 类型可省略,指令格式。

图五PEEK_BYTEPEEK_WORD,读字变量,指令格式。

图六PEEK_WORDPEEK_DWORD,读双字变量,指令格式。

图七PEEK_DWORD参数area,根据数据所在区域的不同有四种取值。

西门子PLC S7-1200编程与操作五 (基本指令)

西门子PLC S7-1200编程与操作模块五基本指令任务一位逻辑指令【学习目标】1.了解与掌握位逻辑指令的用法。

2.熟练运用指令完成练习。

【相关知识】一、基本位逻辑指令点击“常用指令栏”—“常开,常闭触点”,或者在“基本指令”—位逻辑运算—“常开,常闭触点”添加。

可在“基本指令”—位逻辑运算—“取反”添加。

可在“基本指令”—位逻辑运算—“赋值,赋值取反”添加。

练习(一)、结合上图,完成上面的程序,可以得到如下的功能:当开关S1动作而S2不动作时,在三种情况下指示灯都亮。

注意 !根据它们是用在硬件回路中还是作为软件中的符号,“常开触点”和“常闭触点”有不同的含义。

二、置位复位指令可在“基本指令”—位逻辑运算—“置位输出,复位输出”添加。

可在“基本指令”—位逻辑运算—“置位位域,复位位域”添加。

可在“基本指令”—位逻辑运算—“置位/复位触发器,复位/置位触发器”添加。

练习三、上升沿/下降沿指令可在“基本指令”—位逻辑运算—“扫描操作数的信号上升沿,扫描操作数的信号下降沿”添加。

可在“基本指令”—位逻辑运算—“在信号上升沿置位操作数,在信号下降沿置位操作数”添加。

可在“基本指令”—位逻辑运算—“扫描RLO的信号上升沿,扫描RLO的信号下降沿”添加。

任务二数字指令【学习目标】1.了解基本数字的数据类型格式、相互间转换规律等。

、2.熟练运用数字指令完成实操练习。

【相关知识】一、基本数字数据类型二进制/数值处理事实上,我们可以很容易地识别真正的逻辑控制系统,因为它们专用于处理二进制数据。

当今控制系统使用的计算机的性能,以及在数据处理、质量控制领域和其他一些行业应用的飞速发展,都极大地增加了使用PLC 进行数值处理的重要性。

可以在所有开环控制系统的应用领域内找到数值过程变量的应用实例——例如在用于过程操作和监视的连接设备中,或者在现场设备的控制应用中。

操作和监视过程监视的目的是快速、准确、清晰地为操作员提供关于工作机器或系统的最新信息,同时还可允许操作员干涉、控制和影响生产过程。

S7-1200的指令


【例3-2】 用接通延时定时器设计周期和占空比可调的振荡电路。 图3-22中的串联电路接通后,定时器T5的IN输入信号为1状态,开始定时。 2s后定时时间到,它的Q输出使定时器T6开始定时,同时Q0.7的线圈通电。 3s后T6的定时时间到,它的输出“T6”.Q的常闭触点断开,使T5的IN输入电 路断开,其Q输出变为0状态,使Q0.7和定时器T6的Q输出也变为0状态。下一 个扫描周期因为“T6”.Q的常闭触点接通,T5又从预设值开始定时。Q0.7的 线圈将这样周期性地通电和断电,直到串联电路断开。Q0.7线圈通电和断电 的时间分别等于T6和T5的预设值。
6.置位/复位触发器与复位/置位触发器 SR方框是置位/复位(复位优先)触发器,在置位(S)和复位(R1)信号 同时为1时,方框上的输出位M7.2被复位为0。可选的输出Q反映了M7.2的状态。 RS方框是复位/置位(置位优先)触发器,在置位(S1)和复位(R)信号 同时为1时,方框上的M7.6为置位为1。可选的输出Q反映了M7.6的状态。
5.置位位域指令与复位位域指令 “置位位域”指令SET_BF将指定的地址开始的连续的若干个位地址置位, “复位位域”指令RESET_BF将指定的地址开始的连续的若干个位地址复位。
7.扫描操作数信号边沿的指令 中间有P的触点的名称为“扫描操作数的信号上升沿”,在I0.6的上升沿, 该触点接通一个扫描周期。M4.3为边沿存储位,用来存储上一次扫描循环时 I0.6的状态。通过比较I0.6前后两次循环的状态,来检测信号的边沿。边沿存 储位的地址只能在程序中使用一次。不能用代码块的临时局部数据或I/O变量 来作边沿存储位。 中间有N的触点的名称为“扫描操作数的信号下降沿”,在M4.4的下降沿, RESET_BF的线圈“通电”一个扫描周期。该触点下面的M4.5为边沿存储位。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

S7-1200 SCL PEEK 和POKE 指令使用
使用S7-1200 SCL 编程语言的PEEK 和POKE 指令,可以实现对I/O、M 存储器和数据块的读取或写入。

而通过POKE_BLK 指令,还可以实现数据区域的复制或移动。

指令适用条件:
只用于SCL 编程语言;
软件从STEP7 Basic/Pro V11 SP2起;
S7-1200 CPU 固件从V2.2起;
适用操作数,I、Q、M、DB、接口区变量;
DB 必须为“标准与S7-300/400 兼容”的访问方式。

本文生成环境:
硬件,CPU1214C V2.2
软件,Windows 7 Professional SP1 32位和STEP7 V11 SP2 Update 5
一、项目生成方法:
(1)创建S7-1200 项目文件
在STEP7 V11 创建新项目PEEK-POKE,双击“添加新设备”在项目中添加S7-1200 PLC_1,CPU 1214C DC/DC/DC。

图一添加新设备
(2)添加SCL 逻辑块
展开PLC_1,双击“程序块”中的“添加新块”,选择语言“SCL”,添加FC 块,名称为FC_1 。

图二添加新块
(3)添加PEEK、POK E指令
双击FC_1 打开SCL 逻辑块,将指令的“基本指令/ 移动操作”中PEEK、POK E指令拖入程序编辑区。

图三添加指令
二、PEEK 指令
1、指令格式
PEEK 指令用来读取输入(I)、输出(Q)、存储器(M)或数据块(DB)变量,支持位、字节、字、双字操作。

PEEK指令将获取的数据值以返回值的方式赋值给对应的变量。

PEEK_BOOL,读位变量,指令格式。

图四PEEK_BOOL
PEEK (_BYTE) ,读字节变量,指令中BYTE 类型可省略,指令格式。

图五PEEK_BYTE
PEEK_WORD,读字变量,指令格式。

图六PEEK_WORD
PEEK_DWORD,读双字变量,指令格式。

图七PEEK_DWORD
参数area,根据数据所在区域的不同有四种取值。

图八PEEK参数area
2、示例程序
(1)、PEEK 指令–M区寻址:
将M0.1 的状态值读取到Tag_15(M0.7),执行结果如下:
图九PEEK_BOOL
如下程序FC9 是字节寻址,执行FC9,将MB10 的值读取到MB1:
图十PEEK_Byte(PEEK)
如下序FC10 是字寻址,执行FC10,将MW30 的值读取到MW32:
图十一PEEK_Word(PEEK)
将MD50 的值读取到MD54 ,程序FC 11,执行结果如下:
图十二PEEK_DWord(PEEK)
(2)PEEK 指令–DB 寻址:
使用PEEK 指令编写程序FC3,实现对DB5 中的数据位、字节、字、双字的读取。

图十三DB寻址测试结果如下图:
图十四DB寻址测试
三、POKE 写指令
1、指令格式
POKE 指令可以用来对输入(I)、输出(Q)、存储器(M)或数据块(DB)变量地址进行写操作,不仅支持位、字节、字、双字操作,还可以区域操作,实现区域数据移动。

POKE 指令,可在指令体内将结果传递给对应变量。

POKE 位操作:
图十五POKE 位操作
POKE 字节、字、双字操作:
图十六POKE字节、字、双字
将源数据块、I/O 或存储区从byteOffset 开始的“count”个字节,写入目标数据块、I/O 或存储区byteOffset 开始的区域。

图十七POKE_BLK
注:
数据区域参数area,根据要写入的数据所在区域不同有四种取值。

图十八POKE参数area
2、示例
(1)POKE 指令–M 存储器操作:
使用POKE 指令编写程序FC13 ,将MB2 6的值写入MB20,程序执行如下:
图十九POKE写字节
使用POKE 指令编写程序FC14 ,将MW2 的值写入MW60,程序执行如下:
图二十POKE字操作
使用POKE 指令编写程序FC15 ,将MD100 的值写入MD40,程序执行如下:
图二十一POKE双字操作
(2)POKE_BOOL 指令,写M位存储器:
使用POKE_BOO L指令编写程序FC12 ,将M0.1 的值写入M10.1:
图二十二POKE_BOOL
调用FC12 执行结果:
图二十三POKE_BOOL测试结果(3)POKE_BLK,写存储区示例:
使用POKE_BLK 指令编写程序FC8,将DB2.DBB3 2开始的12个字节的值写入MB100 开始的地址,程序执行如下:
图二十四POKE_BLK。

相关文档
最新文档