全国服务热线 15801815554

SIEMENS西门子 ET200S输入模块 6ES71344GB110AB0

更新时间:2025-02-01 08:00:00
价格:请来电询价
西门子:代理销售商
ET200:全新原装
德国:现货
联系电话:15801815554
联系手机: 15801815554
联系人:邓经理
让卖家联系我
详细介绍


             创建 STL 程序 (S7-300, S7-400, S7-1500) STL 基础知识 (S7-300, S7-400, S7-1500)STL 编程语言 (S7-300, S7-400, S7-1500) STL(语句列表)编程语言概述 STL 是一种基于文本的编程语言,用于编写逻辑块。 STL 程序通常分为若干个程序段。 每个程序段中可包含一行或多行。 每个程序段中的行编 号从 1 开始,每出现一个新行编号便递增。 各 STL 指令都在程序段的行中进行编写,每行 只能指定一条 STL 指令。 每条语句都代表一条 CPU 指令。 CPU 将自上而下执行指令。 以下示例说明了如何使用 STL 编写程序段:

             STL 中的数据交换 (S7-300, S7-400, S7-1500) S7-300/400 数据交换 对于 S7-300/400 CPU,STL 编程通过累加器在不同存储区之间交换信息。 累加器是过程中 作为缓冲区的特殊寄存器。 所有 S7-300/400 CPU 均具有两个缓冲区,即累加器 1 (ACCU 1) 和累加器 2 (ACCU 2)。 S7-400 CPU 和 S7-318 CPU 还有另外两个缓冲区,累加器 3 (ACCU 3) 和 4 (ACCU 4)。 S7-1500 数据交换 虽然 S7-1500 CPU 在处理器中不再具有寄存器,但是它们可以仿真地址寄存器、ACCU 1、 ACCU 2、状态字以及数据块寄存器 DB 和 DI。 数据主要通过块接口、全局数据块或 PLC 变 量进行交换。 使用累加器交换数据会降低程序的处理速度。S7-1500 用 STL 编程时,请注意寄存器的下列基本指令: • 寄存器、累加器和状态字中的数据仅适用于 STL 程序段。 当 LAD 或 FBD 程序段位于 STL 程序段之后时,无法从 LAD 或 FBD 程序段中存取先前在 STL 中设置的寄存器数据。 但在 下游 STL 程序段中,可重新使用该寄存器中的数据。 RLO 位属于例外情况: 如果该位在语言更改时设置为“未定义”(undefined),则在下游程 序段中不再可用。 • 寄存器、累加器和状态字中的值也不会传送到被调用块中。仅“CC”和“UC”指令除外。如果 使用“UC”或“CC”指令并希望通过寄存器、状态字或累加器将参数传送到被调用块,则必须 在被调用块的属性中选择“通过寄存器传送参数”(Parameter passing via registers) 选项。 请注意,该选项仅适用于 STL 块中进行标准存取,而且该块可能没有形参。 如果启用该 选项,则可以在块之间传送寄存器中的数据。 在此,RLO 位也属于例外情况: 如果在退 出块时该位设置为“未定义”(undefined),则在块调用后将不再可用。 • 每次通过完整地址寻址存取数据块后,数据块寄存器 DB 将置位为“0”(例如, %DB10.DBW10)。之后使用不完全地址访问数据块则会导致在编译时出错。 • 要将错误消息传递给调用的块,则可使用 BR 位。 首先需要通过指令“SAVE”,将错误消息 保存在被调用块的 BR 位中。 然后,再读取调用块中的 BR 位。 • 如果在 S7-1500 中对块接口中的局部形参进行符号寻址(例如,使用指令 L #myIn),则 需始终存取块调用中指定为背景数据块的数据块。 虽然 OPN DI、L AR2、+AR2、CDB、 CAR 指令会更改 DI 或地址寄存器中的内容,但在寻址局部形参时将不再继续评估寄存器。 加载和传送 在数据交换过程中,会标记出信息流的方向。 如果数据从存储器区域传送到累加器 1,则认 为是加载数据。 而数据从累加器 1 传送到存储器区域,则认为是“传送”。 加载和传送指 令在 STL 中用于加载和传送。 加载和传送对编辑数字量值是而言非常必要的。 例如,如果要将两个值相加,则需 要将这两个值加载到缓冲区并执行相应的指令。 首先,将第一个要加数加载到累加器 1 中。 在加载第二个加数时,将累加器 1 中的第一个值移动到累加器 2 中。执行完相加指令(如 I+) 之后,将总和保存到累加器 1 中。可以使用传送指令将总和传送给其它操作数。 所有的累加器均为 32 位,并按字节计。 存储器区域和累加器 1 之间可以按照字节、字或双 字传送数据。 在累加器间交换数据 可以在各累加器之间交换数据。 累加器指令“TAK”、“PUSH”和“PUSH”用于此目的。 这样,可 以在提供的累加器之间传送数据并与累加器 1 交换字节数据。请注意,累加器指令“ENT”和 “LEAVE”对 S7-1500 不再适用。在 STL 中调用块时,通过寄存器传递参数。 (S7-300, S7-400, S7-1500) 在 STL 可使用以下指令进行块调用: • CALL:调用块 • UC:无条件块调用 • CC:条件块调用 在块调用中,通常在被调用块和调用块间进行值传递。所用的数据交换选项因 CPU 系列而异。 另请参见:STL 中的数据交换 (页 9901) 将值从调用块传递到被调用块 下表列出了在执行第一个程序段之前,被调用块中进行块调用后直接可用的寄存器、累加器 和状态位:图注: 0 表示块更改时寄存器将置位为“0”。 1 表示块更改时寄存器将置位为“1”。 W 表示可在调用块中设置寄存器中的数据并在被调用块中读取。 A 表示未将寄存器中的数据传递给被调用块。 如果未定义数据,访问操作将导致编译错误。 背景偏移量 = 背景 DB 中的偏移量 背景 DB 编号 = 背景 DB 的编号 将值从被调用块返回到调用块 下表列出了在调用块中执行块调用之后,直接可用的寄存器、累加器和状态位:图注: 0 表示块更改时寄存器将置位为“0”。 1 表示块更改时寄存器将置位为“1”。 W 表示可在被调用块中设置寄存器中的数据并在调用块中进行读取。 W1 表示被调用块中的 output 参数和 in/out 参数可更改返回值。 - 表示不能将寄存器中的数据返回给调用块,也不能通过块调用更改寄存器中的数据。 A 表示无法将寄存器中的数据传递给被调用块。如果未定义数据,则访问操作可能会导致编 译错误。 √ 表示未将寄存器中的数据返回给调用块。 可通过被调用块中的参数隐式更改该值。通过寄存器激活参数传递 (S7-1500) 要求 • 禁用“优化块访问”(Optimized block access) 选项。 • 该块接口不带任何参数。步骤 要启用“通过寄存器传递参数”(Parameter passing via registers),请按以下步骤操作: 1. 在项目树中打开“程序块”(Program blocks) 文件夹。 2. 右键单击待设置为“通过寄存器传递参数”(Parameter passing via registers) 的块。 3. 在快捷菜单中,选择“属性”(Properties) 命令。 4. 将打开该块的属性对话框。 5. 在区域导航中,单击“属性”(Attributes)。 6. 选择选项“通过寄存器传递参数”(Parameter passing via registers)。 7. 单击“确定”(OK),确认输入。使用程序段 (S7-300, S7-400, S7-1500) 功能 用户程序在块的程序段中创建。 对于要编程的代码块,它必须包含至少一个程序段。 为获 得更佳的用户程序总览效果,还可以将您的程序划分为多个程序段。插入程序段 (S7-300, S7-400, S7-1500) 要求 块已经打开。 步骤 要插入新程序段,请按以下步骤操作: 1. 选择要在其后插入新程序段的程序段。 2. 在快捷菜单中选择“插入程序段”命令。 结果 在块中插入了新的空程序段。选择程序段 (S7-300, S7-400, S7-1500) 要求 有一个可用的程序段。 选择一个程序段 要选择一个程序段,请执行如下操作: 1. 单击要选择的程序段的标题栏。 选择多个程序段 执行以下步骤,选择多个单独的程序段: 1. 按住键。 2. 单击要选择的所有程序段。 要选择多个连续的程序段,请执行如下操作: 1. 按住键。 2. 单击要选择的第一个程序段。 3. 单击要选择的Zui后一个程序段。 将选中第一个和Zui后一个程序段以及它们之间所有的程序段。 复制和粘贴程序段 (S7-300, S7-400, S7-1500) 复制的程序段可粘贴在同一个块或其它块中。 在 LAD 或 FBD 中创建的程序段也可以插入到 相应其它编程语言的块中。 要求 有一个可用的程序段。 步骤 要复制和粘贴程序段,请执行如下操作: 1. 选择要复制的一个或多个程序段。 2. 在快捷菜单中,选择“复制”(Copy)。 3. 在被复制的程序段中,选择要在其后粘贴的程序段。 4. 在快捷菜单中,选择“粘贴”(Paste)。删除程序段 (S7-300, S7-400, S7-1500) 要求 有一个可用的程序段。步骤 要删除程序段,请按以下步骤操作: 1. 选择要删除的程序段。 2. 在快捷菜单中选择“删除”(Delete) 命令。

联系方式

  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201100
  • 电话:15801815554
  • 联系人:邓经理
  • 手机:15801815554
  • 微信:15801815554
  • QQ:190755061