中断、继续和停止运动系统运动 (S7-1500T)激活的运动系统运动可中断、继续或停止,从而可取消已排队的运动作业。在时间 ①,从点 A 到点 B 的第一项线性运动作业开始。变量“AccumulatedPathLength”在时间① 为 0.0 mm,因为运动系统尚未移动。“TotalPathLength”输出点 A 和点 B 之间的距离100.0 mm。在 TCP 移动之后,变量“AccumulatedPathLength”显示已经移动的距离。当在时间 ② 发出第二项线性运动作业时,考虑到滤波,添加了到点 B 的距离,并在“TotalPathLength”中显示。总轨迹长度现在是 281.8 mm。第二条线性运动作业在时间 ③激活。在时间 ④,第三项线性运动作业发送到点 D。点 A 与点 D 之间的总轨迹长度 363.5 mm 现在显示在“TotalPathLength”中。第三条线性运动作业在时间 ⑤ 激活。词汇表OD“输出禁用”(OD) 信号在 STOP 和 HOLD 状态下用于强制 S7 自动化系统的所有模块进入安全状态。 安全状态可能为: 所有输出关闭,或提供替换值。SFCSFC(系统功能)是 CPU 操作系统的集成功能。 可根据需要在 STEP 7 用户程序中调用 SFC。STOPSTOP 是国际术语,例如可用作操作命令。STOPPSTOPP(德语拼写)在本手册中是用于定义非命令操作的一条术语。编码器编码器用于jingque记录反映距离、位置、速率、速度、维度等的矩形信号。编码器每转增量定义每转编码器输出的增量数。带有不对称输出信号的编码器这些编码器会返回两种 90° 相移位的差分脉冲序列,在适用的情况下带有零标记。带有对称输出信号的编码器这些编码器会返回两种 90° 相移位的差分脉冲序列,根据需要可包含返反转信号以形成零标记。单重判断是指位于增量编码器轨迹 A 处的脉冲正跳沿的判断。计数器模块 FM 450-1设备手册, 03/2022, A5E01156021-AC 121电源控制电源控制装置用于控制电机;其Zui简单的形式为接触器继电器电路。非对称信号是指两种脉冲序列按 90° 进行相移位,在适用的情况下带有零标记。功能模块 (FM)用于将 S7 自动化系统的 CPU 从过程信号处理任务(时间紧急型任务或内存密集型任务)中解放出来的模块。 通常,FM 使用内部通信总线与 CPU 进行高速数据交换。 FM 应用实例:计数、定位、控制函数 (FC)根据 IEC 1131-3 注解,此为不包含静态数据的代码块。函数支持在用户程序中传送参数。因此,函数特别适合于对复杂的、重复发生的功能进行编程。接近开关简单的 BERO 开关,无方向信息。该设备仅返回单次计数信号。计数器仅记录位于信号 A 处的正跳沿。计数方向是用户专用的。零标记零标记位于增量编码器的第三条轨迹上。 每次旋转后都会返回一个零标记信号。零标记信号增量编码器每转返回一个零标记信号。漏型输出可将低态有效信号返回到 0 V(接地)的编码器输出脉冲宽度脉冲宽度设置用于定义Zui短输出时间。词汇表计数器模块 FM 450-1122 设备手册, 03/2022, A5E01156021-AC双重判断在该模式下,模块将判断位于增量编码器轨到 A 和 B 处脉冲的所有正跳沿。四重判断在该模式下,模块将判断位于增量编码器轨迹 A 和 B 处的所有脉冲跳沿。推挽式编码器的推挽式输出;为 0 V(接地)提供低态有效信号,并为 +24 V 提供高态有效信号。源型输出编码器的源型输出,可返回高态有效信号 +24 V。增量编码器增量编码器用于通过计数小型增量来记录距离、位置、速率、速度或重量单位。组态将模块分配到机架、插槽和地址。 配置硬件的用户需填写 STEP 7 中的配置表。
VARIANT 指令(S7-1500 和 S7-1200 的 V4.1 以上版本):VARIANT 指令指令 用途 特性VARIANT 指令VariantGet 读取值 该指令使您能够读取指向 VARIANT变量的值。VariantPut 写入值 该指令使您能够写入指向 VARIANT变量的值。枚举CountOfElements 元素计数 使用此指令,您可以获得指向VARIANT 变量的 ARRAY 元素的数量。比较指令TypeOf()(jinxian SCL)确定数据类型 使用此指令获得指向 VARIANT 变量的数据类型。TypeOfElements()(jinxian SCL)确定数组数据类型 使用此指令获得指向 VARIANT 变量的 ARRAY 的元素数据类型。编程编辑器优点通过在程序中使用符号名称和注释,您可以使代码易于理解和阅读。完整的符号是与程序代码一起下载到控制器的,因此即使在没有离线项目可用的情况下也可以快速维护。推荐• 在程序中使用注释以提高可读性。即使网络已折叠,网络标题注释也是可见的。• 以便于同事也可以立即理解程序的方式设计程序代码。在以下示例中,您可以看到用于在编辑器中注释程序的广泛选项。示例在下图中,您可以看到 LAD 编辑器中的注释选项(FBD 中的功能相同)。图 2 -34:在用户程序中注释(LAD)监控表中的注释行优点• 为了更好的结构,可以在监控表中创建注释行。推荐• 始终使用注释行并细分您的监控表。• 还请注释各个变量。系统常量对于 S7-300/400 控制器,硬件和软件组件的识别由逻辑地址或诊断地址执行。对于 S7-1200/1500,识别是通过系统常量进行的。S7-1200/1500 控制器的所有硬件和软件组件(例如,接口、模块、OB...)都有自己的系统常量。系统常量是在中央和分布式 I/O 的设备组态的设置期间自动创建的。优点• 可以通过模块名称而不是硬件标识来寻址。推荐• 分配与函数相关的模块名称,以便在编程过程中轻松识别模块。示例在以下示例中,可以看到系统常量是如何在用户程序中使用的。图 2 -36:用户程序中的“系统常量”1. 控制器的系统常量可在“PLC 变量 - 默认变量表”文件夹中找到。2. 系统常量位于“默认变量表”的单独列表中。3. 在此示例中,为 DI 模块分配了符号名称“RobotArmLeft”。您也可以在系统常量表中找到该名称下的模块。在用户程序中,“RobotArmLeft”与“GET_DIAG”诊断块互连。用户常量常量值可以通过用户常量的帮助保存。通常,控制器中有 OB、FC 和 FB 的局部常量和整个用户程序的全局常量。优点• 用户常量可用于更改全局或本地所有使用位置的常量值。• 使用用户常量,可以使程序更具可读性。特性• 本地用户常量在块接口中定义。• 全局用户常量在“PLC 变量”中定义。• 用户程序仅可对用户常量读取访问。• 对于受专有技术保护的块,用户常量是不可见的。• 使用用户常量来提高程序的可读性和集中可变性– 错误代码,– CASE 指令,– 转换系数,– 自然常数控制器和 HMI 变量的内部参考 IDSTEP 7、WinCC、Startdrive、Safety 等集成到 TIA 博途工程框架的联合数据库中。用户程序中的所有位置都会自动接受数据更改,无论更改是发生在控制器、触摸屏还是驱动器中。因此不会出现数据不一致的情况。如果创建变量,TIA 博途会自动创建唯一的参考 ID。您无法查看或设置参考 ID。此过程是内部引用。更改变量(地址)时,参考 ID 保持不变。优点• 您可以在不改变内部关系的情况下重新连接变量。控制器、HMI 和驱动器之间的通信也保持不变。• 符号名称的长度对控制器和 HMI 之间的通讯负载没有影响。发生错误时的 STOP 模式与 S7-300/400 相比,S7-1200/1500 导致“STOP”模式的条件更少。由于 TIA 博途中更改了一致性检查,大多数情况下已经可以预先防止 S7-1200/1500控制器进入“STOP”模式。在 TIA 博途编译时已经检查了程序块的一致性。这种方法使 S7-1200/1500 控制器比其前代产品更能“容错”。优点只有三种故障情况会使 S7-1200/1500 控制器进入 STOP 模式。这使得错误管理的编程更加清晰和容易。错误 OB:• 当超过控制器的Zui大循环时间时,操作系统会调用 OB80“时间错误中断”。• 当程序执行期间发生错误时,操作系统会调用 OB121“编程错误”。此外,对于每个错误,都会在诊断缓冲区中自动创建一个条目。注意 对于 S7-1200/1500 控制器,还有其他可编程的错误 OB(诊断错误、模块机架故障等)。有关 S7-1200/1500 错误响应的更多信息,请参见 TIA 博途在线帮助中的“事件和OB”。操作系统与用户程序SIMATIC 控制器由操作系统和用户程序组成。• 操作系统管理所有未与特定控制任务连接的函数和序列(例如:处理重启、更新过程映像、调用用户程序、错误处理、内存管理等)。操作系统是控制器不可分割的一部分。• 用户程序包括处理特定自动化任务所需的所有块。用程序块对用户程序进行编程,并加载到控制器上。 对于 SIMATIC 控制器,用户程序总是循环执行。在 STEP 7 中创建控制器后,“Main”循环 OB 已经存在于 “程序块” 文件夹中。该块由控制器处理,并被无限循环调用。操作系统与用户程序优势• 使用不同的块类型给你的程序一个清晰的结构。• 基于一个良好的和结构化的程序,你可以得到许多函数单元,它们可以在一个项目和其他项目中多次重复使用。这些函数单元通常只在不同的配置上有所不同( 建议• 结构化自动化任务。• 将工厂的整个功能划分为独立的区域,形成子函数单元。将这些函数单元再次划分为更小的单元和函数。直到得到可以多次使用并带有不同参数的函数。• 指定函数单元之间的接口。为将要由“外部伙伴”交付的函数,定义独特的接口。所有组织块、函数块和函数都可以用以下语言编程:块的重用性)。• 你的项目或你的工厂将变得更加透明。也就是说,一个工厂的错误状态可以更容易地被检测、分析和消除。换句话说,工厂的可维护性变得更容易了。对于编程中的错误也是如此。OB 是操作系统和用户程序之间的接口。它们由操作系统调用并控制,例如以下建议• 将不同的程序部件封装到几个主 OB 中,这些程序部件在控制器之间可能是可替换的。• 避免不同主 OB 之间的通信。由此可以相互独立地使用它们。如果您在各个主OB 之间交换数据,请使用全局 DB (见章节 4.2 不使用位储存器而使用全局数据块)。• 将彼此属于对方的所有程序部分划分到文件夹中,并将它们存储在项目库或全局库中以供重新使用。程序:• 控制器的启动行为• 循环程序处理• 中断控制程序处理• 错误处理根据控制器的不同,可以使用许多不同的 OB 类型。FC 是没有循环数据存储的块。这就是为什么块的参数值不能保存到下一次调用,并且在调用时必须提供实际参数的原因。属性• FC 是没有循环数据存储的块。• 在非优化块中调用临时变量时,临时变量未被定义。在优化块中,该值始终预置为默认值(S7-1500 和 S7-1200 固件 V4 及更高版本)。因此,由此产生的特性不是偶然的,而是可复现的特性。• 为了yongjiu保存 FC 的数据,可以使用全局数据块的功能。• FC 可以有多个输出。• 函数值可以直接在 SCL 中的公式被再次使用。建议• 对于被多次调用且频繁重复出现的应用程序,可在用户程序的不同位置使用这些函数。• 使用该选项可以在 SCL 中直接重用函数值。示例在下面的示例中,在 FC 中编写了一个数学公式。计算结果直接被声明为返回值, 函数值可以直接重复使用。属性• FB 是具有循环数据存储的块。• 在非优化块中调用临时变量时,未定义临时变量。在优化块中,该值始终预置为默认值(S7-1500 和 S7-1200 固件 V4)。因此,由此产生的行为不是偶然的,而是可复现的。• 静态变量保存每个周期的值。建议• 使用函数块来创建子程序和构造用户程序。函数块也可以在用户程序的不同位置被多次调用。这使得频繁重复的程序部分的编程更容易。• 如果函数块在用户程序中多次应用,请使用单独的实例,zuihao是多重实例。实例函数块的调用被称为实例。实例正在使用的数据保存在背景数据块中。背景数据块总是根据 FB 接口中的规范创建的,因此不能在背景数据块中更改。背景数据块由一个包括输入、输出、InOut 和静态接口的yongjiu内存组成。临时变量存储在易失性存储器(L 栈)中。L 栈始终只对当前进程有效。也就是说,临时变量必须在每个周期中初始化。属性• 背景数据块总是被分配给 FB。• 背景数据块不需要在 TIA 博途中手动创建,而是可以在调用 FB 时自动创建。• 背景数据块的结构在相对应的 FB 中指定,并且只能在那里更改。建议• 某种程度在程序中,背景数据块的数据只能由相对应的 FB 更改。这就是如何保证块可以在所有类型的项目中被普遍使用。多重实例使用多重实例调用函数块可以将它们的数据存储在被调用函数块的背景数据块中。这意味着,如果在一个函数块中调用另一个函数块,它将其数据保存在更gaoji别 FB的背景数据块中。因此,即使在传输调用块时,也要维护被调用块的功能性。下图显示了使用另一个 FB(“IEC 计时器”)的 FB。所有数据保存在一个多重背景数据块中。因此,可以创建具有独立时间行为的块,例如,时钟生成器。