Jump to content

Search the Community

Showing results for tags '简体中文'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


PLC & HMI product application technology forum!

  • Commonly used PLC brand product application technology discussion area!
    • Siemens PLC Forum
    • Allen Bradley PLC Forum
    • Mitsubishi PLC Forum
    • Schneider PLC Forum
    • Omron PLC Forum
    • B&R PLC Forum
    • ABB PLC Forum
    • Honeywell PLC Forum
    • Emerson PLC Forum
    • Hitachi PLC Forum
    • Rexroth PLC Forum
    • IDEC PLC Forum
    • Koyo PLC Forum
    • Delta PLC Forum
    • Eaton PLC Forum
    • Keyence PLC Forum
    • LS PLC Forum
    • Panasonic PLC Forum
    • Phoenix PLC Forum
    • Pilz PLC Forum
    • WAGO PLC Forum
    • Yokogawa PLC Forum
    • Toshiba PLC Forum
    • PEPPERL+FUCHS PLC Forum
  • Commonly used HMI brand product application technology discussion area!
    • Siemens HMI Forum
    • Fatek HMI Forum
    • Advantech HMI Forum
    • Weintek HMI Forum
    • Mitsubishi HMI Forum
    • Fuji HMI Forum
    • Pro-face HMI Forum
    • B&R HMI Forum
    • IDEC HMI Forum
    • Schneider HMI Forum
    • Weinview HMI Forum
    • LS HMI Forum
    • Omron HMI Forum
    • Panasonic HMI Forum
    • Delta HMI Forum
    • MCGS HMI Forum
    • beijer HMI Forum
    • Kinco HMI Forum
    • Redlion HMI Forum
    • XINJE HMI Forum
    • Samkoon HMI Forum
  • European PLC brand product application technology discussion area!
  • Americas PLC brand product application technology discussion area!
  • Asian PLC brand product application technology discussion forum!
  • European HMI brand product application technology discussion forum!
  • Americas HMI brand product application technology discussion forum!
  • Asian HMI brand product application technology discussion forum!
  • Industrial automation SCADA & HMI configuration software!
  • Technical discussion area related to industrial automation control
  • Commercial service area for PLC&HMI products of various brands!

Categories

  • PLC programming learning
  • HMI interface design
  • DCS control system
  • SCADA technology

Categories

  • European PLC & HMI brand
  • Americas PLC & HMI brand
  • Asian PLC & HMI Brands

Categories

  • PLC programming learning
  • HMI interface design
  • DCS control system
  • SCADA technology

Categories

  • PLC programming learning
  • HMI interface design
  • DCS control system
  • SCADA technology

Categories

  • PLC programming learning
  • HMI interface design
  • DCS control system
  • SCADA technology

Categories

  • PLC programming learning
  • HMI interface design
  • DCS control system
  • SCADA technology

Categories

  • PLC product technical files
    • Siemens PLC product technical files
    • Rockwell (Allen Bradley) PLC product technical files
    • Mitsubishi PLC product technical files
    • Schneider (Modicon) PLC product technical files
    • Omron PLC product technical files
    • Emerson (GE) PLC product technical files
    • Keyence PLC product technical files
    • Bosch (Rexroth) PLC product technical files
    • Hitachi PLC product technical files
    • Phoenix PLC product technical files
    • ABB (B&R) PLC product technical files
    • Beckhoff PLC product technical files
    • Fuji PLC product technical files
    • Toshiba PLC product technical files
    • IDEC PLC product technical files
    • Panasonic PLC product technical files
    • Koyo PLC product technical files
    • Honeywell PLC Product Technical files
    • Delta PLC product technical files
    • Eaton PLC product technical files
    • LS PLC product technical files
    • Pilz PLC product technical files
    • WAGO PLC product technical files
    • Yokogawa PLC product technical files
    • Fatek PLC product technical files
    • Festo PLC product technical files
    • Kinco PLC product technical files
    • RS Automation PLC product technical files
    • Velocio PLC product technical files
    • Wecon PLC product technical files
    • Controllino PLC product technical files
    • Entertron PLC product technical files
    • GIC PLC product technical files
    • IFM PLC product technical files
    • RS Enterprises PLC product technical files
    • Unitronics PLC product technical files
    • Other Brand PLC product technical files
  • HMI product technical files
    • Siemens HMI product technical files
    • Pro-face HMI Product Technical Documents
    • Weintek HMI Product Technical Documents
    • Weinview HMI Product Technical Documents
    • Rockwell (Allen Bradley) HMI product technical files
    • Mitsubishi HMI product technical files
    • Schneider (Modicon) HMI product technical files
    • Omron HMI product technical files
    • Emerson (GE) HMI product technical files
    • Keyence HMI product technical files
    • Bosch (Rexroth) HMI product technical files
    • Hitachi HMI product technical files
    • Phoenix HMI product technical files
    • ABB (B&R) HMI product technical files
    • Technical files of Beckhoff HMI products
    • Fuji HMI product technical files
    • Toshiba HMI product technical files
    • IDEC HMI product technical files
    • Panasonic HMI product technical files
    • Koyo HMI product technical files
    • Honeywell HMI Product Technical Files
    • Delta HMI product technical files
    • Eaton HMI product technical files
    • LS HMI product technical files
    • Pilz HMI product technical files
    • WAGO HMI product technical files
    • Yokogawa HMI product technical files
    • Fatek HMI product technical files
    • Festo HMI product technical files
    • Kinco HMI product technical files
    • RS Automation HMI product technical files
    • Velocio HMI product technical files
    • Wecon HMI product technical files
    • Technical File of other brand HMI products
  • PLC files language category
  • HMI files language category

Product Groups

  • PLC products
  • PLC accessories
    • PLC lithium battery
    • PLC memory card
    • PLC programmer
    • PLC data line
  • HMI products
  • HMI accessories
    • HMI protection installation box
    • HMI self-made assembly accessories
    • HMI communication cable
    • HMI circuit board card components

Blogs

There are no results to display.

There are no results to display.

Categories

  • PLC Brand video
    • Siemens PLC video
    • Mitsubishi PLC video
    • Alan Bradley PLC Video
    • ABB (B&R) PLC video
    • Schneider PLC Video
    • Beckhoff PLC Video
    • Rexroth PLC Video
    • Festo PLC Video
    • Emerson PLC Video
    • Honeywell PLC Video
    • Omron PLC Video
    • Delta PLC Video
    • Fatek PLC Video
    • Keyence PLC Video
    • Hitachi PLC Video
    • Phoenix PLC Video
    • Fuji PLC Video
    • Toshiba PLC Video
    • IDEC PLC Video
    • Panasonic PLC Video
    • Koyo PLC Video
    • Eaton PLC Video
    • LS PLC Video
    • Pilz PLC Video
    • WAGO PLC Video
    • Yokogawa PLC Video
    • Kinco PLC Video
    • RS Automation PLC Video
    • Velocio PLC Video
    • Wecon PLC Video
    • Other brand PLC videos
  • HMI Brand video
    • Siemens HMI video
    • Mitsubishi HMI video
    • Allen Bradley HMI Video
    • ABB (B&R) HMI video
    • Schneider HMI Video
    • Beckhoff HMI Video
    • Rexroth HMI Video
    • Festo HMI Video
    • Emerson HMI Video
    • Honeywell HMI Video
    • Omron HMI Video
    • Delta HMI Video
    • Fatek HMI Video
    • Keyence HMI Video
    • Hitachi HMI Video
    • Phoenix HMI Video
    • Fuji HMI Video
    • Toshiba HMI Video
    • IDEC HMI Video
    • Panasonic HMI Video
    • Koyo HMI Video
    • Eaton HMI Video
    • LS HMI Video
    • Pilz HMI Video
    • WAGO HMI Video
    • Yokogawa HMI Video
    • Kinco HMI Video
    • RS Automation HMI Video
    • Velocio HMI Video
    • Wecon HMI Video
    • Other brand HMI videos

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


date of birth

Between and

gender


Education degree


About Me


Mobile phone


website


address


WhatsApp


Messenger


Telegram


Line


Skype


Instagram


VK Messenger


Viber


Snapchat


Zalo


Kakao Talk


ICQ


QQ


WeChat


Taobao WangWang


Ali DingTalk

Found 141 results

  1. leigehong

    什么是数据块?PLC 中的全局数据块

    在对 PLC 进行编程时,可以使用不同的块结构,这些块包括功能 FC、功能块 FB 和数据块 DB。这些块是非常方便的工具,您可以使用它们更好地设计 PLC 逻辑,并使您的代码更具可读性并且易于遵循和调试 在之前的文章中,我们讨论了 FC 和 FB。在本文中,我们将讨论数据块 DB,更具体地说是全局数据块。 内容: 什么是数据块 DB? 数据块的类型。 什么是全局数据块? 创建全局数据块? 使用全局数据块。 示例模拟。 什么是数据块? 数据块 DB 是用于保存 PLC 程序执行期间写入的参数值的存储区域。 与代码块相反,数据块 DB 仅包含变量声明。它没有像 FC 或 FB 那样的任何网络或指令。DB 的结构由您在数据块内声明的变量数量定义。 PLC 中数据块的类型 数据块有两种类型: 全局数据块 实例数据块 ARRAY 数据块 全局数据块 顾名思义,全局数据块是为整个 PLC 逻辑进行全局声明的。它没有分配给特定的代码块。您可以从 PLC 逻辑中任何位置的任何代码块访问全局数据块的值。全局数据块仅包含静态标签。 全局数据块的结构可以自由定义。在数据块的声明表中,声明要包含在全局数据块中的数据元素。 实例数据块 背景数据块直接分配给功能块 FB,无论该功能块是在 PLC 中内部定义的(如定时器和计数器)还是用户定义的功能块 FB。 背景数据块的结构不能自由定义,而是由功能块的接口确定。背景数据块恰好包含在功能块接口中声明的那些块参数和标记。 但是,您可以在实例数据块中定义特定于实例的值;例如,声明的标签的起始值。 数组数据块 ARRAY 数据块仅适用于 S7-1500 CPU,是由 ARRAY 组成的全局数据块。该数组可以基于任何数据类型。 例如,PLC 数据类型 (UDT) 的 ARRAY 是可能的。除了 ARRAY 之外,DB 不包含其他元素。由于其扁平结构,ARRAY 数据块便于访问 ARRAY 元素并将其传输到被调用的块。 “指令”任务卡的“移动操作”部分提供了用于寻址 ARRAY DB 的选项。 在本文中,我们将讨论全局数据块,我们将在单独的文章中讨论其他两种类型。 什么是全局数据块? 数据块用于存储 PLC 程序数据。这意味着它们包含用户程序使用的变量数据。全局数据块存储可供所有其他块使用的数据。 数据块的最大大小根据 CPU 的不同而变化。您可以用任何您喜欢的方式定义全局数据块的结构。 您还可以选择使用 PLC 数据类型 (UDT) 作为创建全局数据块的模板。 每个功能块 FB、功能 FC 或组织块 OB 都可以从全局数据块读取数据,或者本身可以将数据写入全局数据块。即使退出数据块后,该数据仍保留在数据块中。见图1。 图 1 – 访问全局数据块 从上图可以看出,全局数据块可以从 PLC 程序内的任何代码块访问,而背景数据块只能由关联的功能块访问。 创建全局数据块 创建全局数据块的方式与创建功能 FC 或功能块 FB 的方式相同。从将新块添加到项目树中。见图2。 图 2 – 创建全局数据块 让我们在全局数据块中声明一些变量。 您可以通过单击名称下的“添加新”部分,写入所需的变量名称,然后选择变量数据类型来完成此操作。见图3。 图 3 – 全局数据块中的变量声明 使用全局数据块 声明一个标签。 我们已经在图 3 中展示了如何声明标签/变量。 定义起始值 标记的起始值是您定义的值,标记在 CPU 启动后采用该值。该值必须与标签的数据类型匹配,并且不应超出数据类型的范围。见图4。 标签在启动时采用定义的值,前提是它没有声明为保持性。 图 4 – 定义标签的起始值 因此,如果我将 Tank1Level 起始值设置为零以外的任何值,则下次重新启动 PLC 时将应用该值。见图5。 图 5 – 定义变量的起始值 保留全局数据块中的变量 为了防止断电时数据丢失,您可以将数据标记为保持性。该数据存储在保持性存储区域中。 设置保留的选项取决于数据块的类型和设置的块访问的类型。见图6。 图 6 -. 全局数据块中保留选项 如图 6 所示,Tank2Level 变量设置为保留值,这意味着即使 PLC 停止或断电,当 PLC 再次启动时,Tank2Level 也会存储相同的数据。它不会重置为起始值。 与 HMI 的可访问性 在全局数据块中,您可以定义变量在 HMI 变量表中是否可见。您还可以定义是否可以从 HMI 读取或写入该变量。见图7。 图 7 – HMI 的可访问性 全局数据块中任何声明的变量的默认设置是可以从 HMI 访问、读取和写入。如果您想对某个变量禁用此功能,则必须取消选中该变量的辅助功能选项。 模拟示例 到目前为止我们创建了一个全局数据块并在里面声明了一些变量。 现在我们将尝试运行该程序的模拟,看看我们是否可以更好地理解全局数据块是什么。 下面提供了两个 PLC 仿真。 测试变量的起始值 检查以下动画,解释全局数据块内变量的起始值。 动画1 动画1说明: 储罐液位参数的起始值为零,您可以在视频中看到它们正在通过模拟屏幕进行更改。 当 PLC 重新启动、断电然后再次上电时,您会看到这些值将重置为起始值为零。 之后,起始值分别更改为500、32654和-356,并且当PLC重新启动时,这些值更改为新的起始值。 请注意,当我们更改起始值时,我们必须再次将逻辑下载到 PLC;每次更改逻辑时都需要这样做。 测试全局 DB 中变量的保留选项 检查以下动画,解释全局数据块内变量的保留选项。 动画2 动画2说明: 首先,您会注意到 Tank2Level 的 Retain 属性现在处于活动状态。 您在视频中看到 3 个水箱的值正在改变。 当 PLC 停止然后再次启动时,Tank1Level 和 Tank3Level 重置回起始值 0,但 Tank2Level 保留其值 -22938 结论 全局数据块可以由 PLC 程序中存在的任何块从任何地方访问。您可以在全局数据库中声明任意数量的变量。 最佳实践技术是为逻辑的不同部分创建单独的数据块,以便非常容易地遵循您的逻辑。例如,需要由 HMI 读取或写入的所有变量的单独数据块。
  2. leigehong

    PLC 中的系统时间和本地时间

    在之前的文章中,我们讨论了 PLC 中的定时器、不同类型以及如何使用它们。计时器实际上并不需要实时工作,因为它们只是根据您的设置来计算秒或毫秒。 但对于某些应用,您需要了解 PLC 程序的真实日期和时间,例如出于诊断目的。 在这篇文章中,我们将讨论 PLC 的系统和本地时间。 内容: 为什么 PLC 需要实时性? 示例程序和模拟 什么是系统时间? 当地时间是几点? 结论。 为什么我需要 PLC 中的实时功能? 在 PLC 的许多应用中,出于多种不同的原因,您需要了解进程运行时的实时情况。 以下是其中一些原因: 将 PLC 备份到主服务器。 对于 PLC 的诊断,需要有诊断的时间记录,以了解某一事件发生的时间,否则诊断信息就没有多大用处。 对于需要使用时间中断 OB10 的应用程序,您需要知道实际时间。 您可能需要在需要处理实时应用程序的逻辑部分中使用本地时间或系统时间。 对于数据记录,如果您有重要的数据要保存,并且需要每次数据记录的时间戳,那么您需要为 PLC 设置正确的时间,以便存储的数据有意义。 PLC 示例程序和仿真 为了更好地理解什么是 PLC 中的系统时间和本地时间,我们将从创建一个非常简单的程序开始,并用它来解释 PLC 内部实时的概念。 检查以下步骤: 在本文中,我们不会创建任何 PLC 逻辑,但我们会展示 PLC 中与系统和本地时间相关的一些配置,如何设置它们,以及有什么区别。 打开西门子 Tia Portal,添加一个新设备,这次我们将使用 CPU 1512C-1 PN。见图1。 图 1 – 添加新 PLC 编译并启动新的 PLC 仿真。打开在线&诊断页面,查看PLC的设定时间。见图2。 图 2 - PLC 在线时间 从上图可以看到有两个不同的时间: PG/PC 时间 – 这是您的 PC 本身的本地时间。 模块时间 – 这是 PLC 本身内部的实际时间。 这两个时间可以设置为相同的值,也可以设置为不同的值。最好使它们相同,最好使模块时间与您的本地时间相似,或者更具体地说与将使用 PLC 的地区的本地时间相似。见图3。 图 3 - PLC 设定时间 如果您希望模块时间与本地时间相同,请选择从 PG/PC 获取并按应用。 在主 OB1 中,拖放 RD_SYS_T 和 RD_LOC_T 指令。 这些是读取系统时间和读取本地时间指令。这些指令是 PLC 内部的内置功能 FC,用于将 PLC 的本地时间和系统时间写入指令输出 OUT 中选择的目的地。见图4。 图 4 – 添加读取系统和当地时间指令 添加一个新的全局数据块,并定义一些要使用的标签。见图5。 图 5 – 创建一个新的全局数据块 再次运行模拟并检查两次。见图6 图 6 PLC 在线本地时间和系统时间 从上图中可以看出,PLC 的本地时间和系统时间是相同的,但与 PC 机的实际本地时间不同。 如果您还记得的话,我们已将 PLC 的模块时间设置为与 PG/PC 时间类似,即您的本地时间。见图7。 图 7 – 模块时间和 PG/PC 时间 如您所见,在设置时间页面上,模块时间选择从 PG/PC 时间获取。但在实际情况中,它们是不同的。为什么? 为什么时代不同? 由于 PLC 本地时间的默认设置是 UTC+0 或 Zulu 时间(如果您熟悉该术语),因此您无需从在线和诊断页面更改它,而是从 PLC 本身的属性更改。见图8。 图 8 – PLC 中的时间配置 如您所见,PLC 时间的默认设置设置为 UTC+0 时间,这就是 PLC 模块时间与实际本地时间不同的原因。除非您实际上在伦敦,否则您不会遇到这个问题。 为了更正 PLC 本地时间,我们必须在配置中更改它,我们需要将时区更改为我们拥有的时区,在我的例子中是 UTC+02:00。见图9。 图 9 – 将 PLC 本地时间调整为您所在的时区 您还可以看到夏令时选项已被停用,因为它在我的国家/地区没有使用。如果您所在地区使用它,则必须激活它。 现在所有配置均已正确设置,返回并在模拟中再次查看本地时间和系统时间。见图10。 图 10 – PLC 的本地时间现在与 PC 相同 现在你看到调整 PLC 时区后,PLC 的本地时间和你所在地区的实际本地时间是一样的。 正如我们之前所说,由于我们上面提到的许多原因,设置正确的 PLC 本地时间非常重要。您现在可以定义 PLC 的系统时间和本地时间吗? PLC 中的系统时间 是 CPU 时钟的模块时间。 CPU 时钟将模块时间解释为协调世界时 (UTC)。因此,模块时间的存储始终不包含 CPU 时钟中的“本地时区”或“夏令时”因素。然后 CPU 时钟根据模块时间计算 CPU 时钟的本地时间。 CPU 时钟的模块时间用作从 CPU 开始的所有时间处理的模板。 使用示例: 根据模块时间计算 CPU 时钟本地时间 “在线与诊断” 下以当地时间表示模块时间 CPU 诊断缓冲区中的条目 PLC 当地时间 有关时区以及夏令时和标准时间开始的信息(这些信息已在 CPU 时钟配置中设置)用于输出本地时间。 本地时间是指您的电脑上或您所在国家/地区的时间,不同地区的时间会有所不同。 结论 许多应用要求 PLC 了解过程的实时或本地时间,以便能够执行某些任务,例如数据记录和诊断任务。在以后的文章中,我们将展示一些逻辑需要实时的应用程序 应手动配置 PLC 的本地时间,以匹配 PLC 的使用区域。
  3. leizuofa

    T 字路口交通控制系统 PLC 编程

    本文介绍的是在 PLC 梯形逻辑的帮助下使用比较器进行信号灯操作的 T 字路口交通控制系统。 T 字路口交通控制系统 T字路口交通控制系统的功能由三组段组成。通过比较器操作的逻辑,我们控制交通灯系统。 第一段: 第一段中,车道1允许通行,车道2和车道3停止通行。在此段中,车道 1 的绿灯(绿 1)亮起,车道 2 的红灯(红 2)和车道 3 的红灯(红 3)亮。此期间持续十五秒。 第二段: 在第二段中,车道 2 允许通行,车道 1 和车道 3 停止通行。在该段中,车道 2 的绿灯(绿 2)亮起,车道 1 的红灯(红 1)和车道 3 的红灯(红 3)亮。此期间持续十五秒。 第三段: 第三段,车道3允许通行,车道1和车道2停止通行。在该段中,车道 3 的绿灯(绿 3)亮起,车道 1 的红灯(红 1)和车道 2 的红灯(红 2)亮。此期间持续十五秒。 执行完所有三个段后,操作序列再次开始并不断重复。 输入和输出说明 在这个 PLC 项目中,我们使用了 2 个输入、6 个输出、2 个内存和 1 个接通延迟定时器。 序号 符号 说明 1 I 0.0 开始 2 I 0.1 停止 3 M 0.0 内存 4 M 0.1 内存 1 5 Q 0.0 绿色 1 6 Q 0.1 红色 1 7 Q 0.2 绿色 2 8 Q 0.3 红色 2 9 Q 0.4 绿色 3 10 Q 0.5 红色 3 11 DB1 延时定时器 PLC 编程及其讲解 1. 当按下 START (I 0.0) 按钮时,MEMORY (M 0.0) 通电。这个 M 0.0 是用于执行程序中所有进程的主存储器。由于它被锁存,因此它仅处于通电状态。如果按下停止(I 0.1),整个过程将随时停止。 2. 一旦 MEMORY 通电,它将打开 TIMER DB1,控制交通路口的计时。在此计时器中,我们将预设时间设置为 45 秒。一旦定时器达到预设时间,存储器 1 (M 0.1) 就会通电,并且该 M 0.1 还会根据逻辑重置定时器并连续运行循环。 3. 其次,比较器在控制交通路口方面发挥着主要作用。首先,输出 GREEN 1 (Q 0.0) 按照逻辑打开。这里我们使用小于或等于比较器。在此逻辑中,Q0.0 将在 0 秒到 15 秒内处于 ON 状态。之后,它将进入OFF 状态 4. 接下来,对于输出 RED 1 (Q0.1),我们使用大于或等于函数。Q0.1 将在 15 秒至 45 秒内处于 ON 状态。当 Q0.0 处于 ON 状态时,它处于 OFF 状态。 5. 然后,对于输出 GREEN 2 (Q0.2),我们对此输出使用小于或等于和大于或等于。两个比较器功能均与输出串联逻辑连接。在此情况下,Q0.2 将根据条件处于 ON 状态 16 秒至 30 秒。 6. 接下来,对于输出 RED 2 (Q0.3),我们还使用小于或等于和大于或等于函数来执行操作。比较器与输出并联连接。该输出将在 0 秒至 15 秒以及 30 秒至 45 秒期间处于 ON 状态。在 15 秒之间,它只会处于 OFF 状态,因为此时 Q0.2 处于 ON 状态。 7. 然后对于最后一个 GREEN 3 输出 (Q0.4),我们使用大于或等于函数。根据条件逻辑,它将在 30 秒到 45 秒内处于 ON 状态。在此时间之前,它将处于关闭状态。 8. 最后,RED 3 输出(Q0.5)。这里我们使用小于或等于函数来执行 PLC 逻辑。0 秒到 30 秒内它将处于 ON 状态,之后将处于 OFF 状态。 结论 因此,通过这种方式,给定的丁字路口交通控制由比较器功能与 PLC 逻辑来执行。我们可以通过多种方式借助 PLC 逻辑来控制交通逻辑,这也是方式之一。
  4. leizuofa

    PLC 电源和工作电压

    当你使用 PLC 时,你需要知道它一般有哪些类型的电压;以便您可以进行相应的接线。不仅仅是电源,还必须与所需的输入输出电压有关。 每个 PLC 制造商根据他们提供的模块和 CPU 都有自己的一组电压和电流范围。在本文中,我们将了解随处可见的 PLC 工作电压。 PLC 电源 标准情况下,PLC 可在四种电压下运行:24V DC、24V AC、110V AC 和 240V AC。在有些 PLC 中,只有 CPU 需要电源,IO 模块由 CPU 背板供电,而在有些 PLC 中,包括 CPU、输入和输出在内的所有模块都需要电源。 无论如何,您都需要在 PLC 面板中安装 SMPS 或变压器来转换原始电源电压。在交流电源电压中,一些 PLC 提供 110-240V AC 的电压范围。 PLC 中的每个电源点都有一个接地点,以在出现浪涌或短路时保证 PLC 的安全。当使用交流电源时,内部大多装有保护熔断器。 直流电源内部也有保险丝,但对于交流电源,由于涉及高电压,因此必须使用保险丝。当 CPU 给出额定电压时,就意味着你提供的电压已经得到了很好的稳定和控制。 但是,电压保持恒定在 24V 或 240V 是不切实际的。因此,PLC 有一个额定电压范围,如 20-28V DC 或 220V-245V AC。每个 PLC 中都预定义了该范围,以便您获得一个电源区域,以便高效地使用它们,而不会出现任何问题。 IO 模块电源 现在,让我们进入下一个主题:IO 模块所需的电源。如前所述,有两种类型的电源可用,一种是模块由 CPU 背板本身供电,另一种是模块需要外部电源。 使用背板时,每个 CPU 都有一个 mA 额定值,它将作为所连接模块的负载提供。 例如,如果 CPU 的额定值为 24VDC – 450mA,那么它还将指定 CPU 背板可以为 IO 模块提供这么多电流,并且您只能将该数量的模块连接到 CPU 机架。 此外,每个模块都会指定连接到背板总线上时需要多少电流。这可以帮助您为特定应用选择适当的模块和 CPU。 说到第二种供电方式,有一些模块需要外接电源。因此,在这种情况下,您必须相应地选择具有更高电流和额定负载的 SMPS 或变压器。反过来,这可以正确地为 CPU 和模块供电,也可以为需要相同电源的面板上的其他组件供电。 现场仪表电源 PLC 的现场接线也大多需要仪器仪表的直流电压和大功率设备的交流电压。因此,上述四种电压对于 IO 模块公共电源接线来说是相同的。 另外,请记住,除了标准电源外,PLC 内部大多还有备用电池。这样可以确保 PLC 内存中的程序在断电时保持完整。 PLC 电源选择 因此,在选择电源时,一般需要考虑以下参数:额定电压、额定电流、额定功率、纹波和噪声、电压可调范围、电压容差、线路调整率和负载调整率。 选择正确的电源后,您就可以连接 CPU 和模块以正确供电。 这样,我们就了解了 PLC 工作电压的概念。
  5. leizuofa

    PLC 与 PAC 主要差异和相似之处

    可编程逻辑控制器 (PLC) 和可编程自动化控制器 (PAC) 是两种类型的工业控制器,用于自动化制造、加工和其他工业应用中的流程和机器。两种类型的控制器具有相似的功能,但它们之间也存在显着的差异。 在本文中,我们将介绍 PLC 和 PAC 的区别、相似之处和示例。 内容: 什么是 PLC? 什么是 PAC? PLC 和 PAC 之间的相似之处。 PLC 和 PAC 之间的差异。 来自不同供应商的 PLC 模型示例。 来自不同供应商的 PAC 模型示例。 PLC 什么时候最适合?什么时候用 PAC? 结论 什么是 PLC? PLC 是 Programmable Logic Controller 的缩写,是一种用于自动化控制系统的专用工业计算机。PLC 设计用于在恶劣环境下运行,用于控制制造工厂、装配线和其他工业环境中的机械。 PLC 可以使用梯形图、功能块图、结构文本、指令表和时序图等5种不同的语言进行编程。这 5 种语言根据 IEC 61131-3 标准获得批准和应用。 什么是 PAC? PAC 代表可编程自动化控制器,它类似于 PLC,但具有更高级的功能。PAC 将传统 PLC 的功能与执行更复杂的任务以及与其他设备和系统通信的能力相结合,使其比 PLC 更加灵活和强大。 PAC 通常用于汽车、航空航天和发电等行业中更复杂的自动化和控制应用。PAC 可以使用与 PLC 相同的 5 种语言进行编程,但也可以使用 C 和 C++ 进行编程,使它们能够处理更复杂的算法编码。 PLC 和 PAC 之间的相似之处 PLC 和 PAC 之间的相似之处太多,有时甚至很难判断它们是否不同。虽然他们之间还是有一些区别的。 他们的相似之处甚至更多。以下是 PLC 和 PAC 之间的一些共同点: 核心功能 PLC 和 PAC 均旨在为工业自动化系统提供可靠且准确的控制。 它们用于监控传感器和其他设备的输入,处理信息,然后向执行器和其他设备输出控制信号。 编程 PLC 和 PAC 都使用编程语言来创建决定自动化系统行为的控制逻辑。它们共享 IEC 61131-3 标准中定义的 5 种编程语言,但 PAC 提供更多编程语言选项,包括 C 和 C++。 耐用性 PLC 和 PAC 均可承受恶劣的工业环境,例如极端温度、湿度和振动。它们的设计坚固可靠,使用寿命长,维护要求低。 模块化设计 PLC 和 PAC 均采用模块化设计,易于扩展和定制。可以添加或删除模块以满足特定要求。 行业标准 PLC 和 PAC 的构建都是为了满足自动化和控制系统的行业标准,例如 IEC 61131。这些标准确保不同制造商的设备和系统之间的互操作性。 PLC 与 PAC 的区别 PAC 和 PLC 之间的区别可能有些模糊。虽然 PAC 的构成没有定义,但 PAC 与 PLC 有一些共同特征: 功能性 虽然 PLC 和 PAC 都用于自动化和控制应用,但 PAC 具有更高级的功能,例如运动控制、过程控制和数据采集。PAC 通常还比 PLC 拥有更多的处理能力和内存。 连接性 PAC 拥有比 PLC 更先进的连接选项,包括以太网、USB 和无线。这使得将它们集成到更大的自动化系统以及与其他设备和系统通信变得更容易。 成本 由于其更先进的功能和灵活性,PAC 通常比 PLC 更昂贵。 更多高级功能 PAC 通常具有比 PLC 更先进的软件功能,例如集成运动控制、数据记录和高级诊断工具。这些功能使工程师和技术人员能够更轻松地对控制系统进行监控和故障排除。 不同供应商的 PLC 模型示例 西门子 S7-1500 PLC: 这是来自领先自动化供应商之一西门子的高性能 PLC。它专为要求苛刻的应用而设计,并提供运动控制、安全和安保等高级功能。见图1。 图 1 – 西门子 S7-1500 PLC Allen-Bradley CompactLogix 5370 PLC: 这是罗克韦尔自动化的一款多功能 PLC,提供广泛的 I/O 选项和通信协议。它适用于各种应用,包括机器控制和过程自动化。见图2。 图 2 – Allen-Bradley CompactLogix 5370 PLC 三菱电机 Q 系列 PLC: 这是三菱电机可靠的 PLC,提供高速处理、灵活的 I/O 选项和高级编程功能。它适用于多种应用,包括汽车、食品和饮料以及制药。见图3。 图 3 — 三菱电机 Q 系列 PLC 欧姆龙 NJ 系列 PLC: 这是 Omron 的高速、高性能 PLC,提供先进的运动控制和网络功能。它适用于多种应用,包括包装、印刷和半导体制造。见图4。 图 4——欧姆龙 NJ 系列 PLC Beckhoff TwinCAT PLC: 这是 Beckhoff 的一款基于软件的 PLC,在基于 PC 的平台上运行。它提供运动控制、CNC 和机器人等先进功能,适用于各种应用,包括机器控制和过程自动化。见图5。 图 5 – Beckhoff TwinCAT CX9240 基于 PC 的 PLC 来自不同供应商的 PAC 模型示例 艾默生 DeltaV DCS PAC: 这是艾默生的分布式控制系统 (DCS) PAC。它专为复杂的连续控制应用而设计,提供过程建模、批量管理和高级控制等高级功能。见图6。 图 6 – 艾默生 DeltaV DCS PAC 施耐德电气 Modicon M340 PAC: 这是施耐德电气的高性能 PAC,提供运动控制、安全和网络安全等高级功能。它适用于多种应用,包括能源、水处理和采矿。见图7。 图 7 – Modicon M340 PAC PAC 的其他一些示例如下: ABB AC 800M PAC 横河 ProSafe-RS PAC 菲尼克斯电气 PLCnext 技术 PAC 博世力士乐 IndraMotion MLC PAC PLC 何时最适合?什么时候是 PAC? PLC 和 PAC 用于不同类型的自动化应用,具体取决于该应用的具体要求。以下是有关 PLC 最适合的情况和 PAC 最适合的情况的一些一般准则: PLC 最适合: 离散控制应用: PLC 最适合涉及离散控制的应用,例如控制输送机、分拣设备或包装机械的操作。 简单的控制系统: PLC 非常适合具有相对简单的控制系统的应用,可以使用梯形逻辑或其他类似的编程语言进行编程。 成本敏感型应用: PLC 通常比 PAC 便宜,这使得它们成为成本为重要因素的应用的不错选择。 中小型系统: PLC 适用于输入和输出数量相对较少的中小型控制系统。 制造工厂中的输送系统是自动化系统的一个很好的例子,其中 PLC 最适合。在此应用中,PLC 负责控制输送机的速度和方向,并监控输送线上传感器和其他设备的状态。PLC 还可以编程来处理特定的生产任务,例如分类、计数或包装。 输送机系统通常具有固定的结构和需要以顺序方式执行的一组明确定义的操作。PLC 非常适合此类应用,因为它们设计用于处理离散控制任务并且运行非常可靠。PLC 可以轻松编程和配置,以处理不同类型的传感器、执行器和通信协议。 PAC 最适合: 过程控制应用: PAC 最适合涉及过程控制的应用,例如控制化工厂、水处理厂或发电厂的运行。 复杂的控制系统: PAC 非常适合具有需要高级算法和优化功能的复杂控制系统的应用。 大型系统: PAC 适用于输入和输出数量较多且系统分布面积较大的大型控制系统。 高性能应用: PAC 能够处理需要快速数据处理、实时控制和高可靠性的高性能应用。 发电厂控制系统是自动化系统的一个很好的例子,其中 PAC 最适合。在此应用中,PAC 负责控制和监视大量复杂的过程和设备,例如涡轮机、发电机、锅炉和泵。PAC 还负责收集和分析来自各种传感器和其他来源的数据,并根据这些数据做出决策,以优化工厂的绩效。 发电厂控制系统是一个非常复杂和动态的环境,许多不同的过程和设备同时运行。PAC 非常适合此类应用,因为它们提供分布式控制、冗余和容错等高级功能,这对于确保工厂的可靠性和安全性至关重要。PAC 可以处理大量数据,并且可以编程来执行复杂的算法和优化任务。 结论 PLC 和 PAC 都用于工业自动化应用。 它们具有不同的功能,并且最适合不同类型的应用程序。 在 PLC 和 PAC 之间进行选择时,必须考虑应用的具体要求。 PLC 通常用于控制系统相对简单的离散控制应用。 PAC 用于具有复杂控制系统并需要先进算法和优化功能的过程控制应用。
  6. leizuofa

    微控制器和 PLC 之间的区别

    控制任何机器或系统中的过程一直是工程师的梦想。由于技术的出现,已经开发了许多控制器来灵活可靠地控制过程。 控制器有两种通用类型,广泛应用于从小规模到大规模的许多过程中。它们是微控制器和 PLC。它们可以完成各种操作,从小型计算到复杂的算法、逻辑性能和数据处理。通过自动化流程,使任务变得更加容易。 在这篇文章中,我们将了解微控制器和 PLC 之间的区别。 什么是微控制器? 让我们先了解基础知识。您有一个按钮和一盏灯。按下按钮 5 秒后,系统会要求您打开灯。从这些来看,我们需要什么来执行这个任务? 您将需要一个输入(按钮)、一个输出(灯)、一个用于执行此任务的控制器(处理器类型)、一个为电路供电的电源以及一个用于存储该逻辑以及输入和输出状态的存储器。当将其组合在单个封装中时,就形成了微控制器。 简而言之,微控制器是一种小型计算机,它接受物理输入,根据它们处理逻辑,并打开或关闭物理输出。它是一个小型的芯片式器件,将所有这些电路嵌入其中,就像一个小封装一样,并完成所有的处理和控制工作。 微控制器将处理少量的输入和输出。例如,考虑安装在手持设备上的小型显示电路,如 LED 或 LCD。如果按下其上的按钮,显示屏上就会显示相应的数字。 当您按下另一个按钮时,它将显示根据处理器内部逻辑写入的其他数字。这意味着它首先被编程为显示一个数字,然后按下第二个按钮,就会显示计算出的数字。所有这些计算、变量的存储处理和 IO 处理都是在这个微控制器芯片内部完成的。 什么是 PLC? 让我们继续进行更高级别的处理。您有 50 个传感器,4-20 mA 或热电偶类型。您有 20 种不同类型的输出,0-10V DC 执行器或继电器输出。您已被分配相同的任务来根据其中写入的逻辑接受输入和控制输出。 需要所有相同的 IO 组件、电源、处理器和内存。但是,您可以看到所有这些具有内存和处理器的 IO 板/引脚无法嵌入在小型单芯片上。这就是 PLC 发挥作用的时候。PLC 基本上是微控制器的扩展。它是一个柜箱式设备,有 IO 板、内存和处理器;所有这些都在不同的芯片上相互连接。所有这些芯片组成一个 PLC 机柜。 IO 可以有不同的类型,从简单的数字信号到复杂的模拟信号。它们有特殊的通信板,可以与以太网、Modbus、CAN Open、Profibus、Profinet 等现实协议进行通信。 微控制器也有通信板,但它们的接口很小,连接性有限。 IO 模块要么嵌入在主 PLC 中,要么通过通信连接到远程模块。这很容易实现 IO 的扩展。各种高级工业传感器和执行器可以轻松与 PLC 连接。 单片机和 PLC 的区别 现在我们已经了解了它们的含义,让我们看看它们的区别: 仅在定义中,我们就知道 PLC 可以处理大量进程和循环。这就是为什么它最适合工业应用。微控制器无法满足大量具有复杂接线和通信要求的 IO。它最适合小规模应用。 与微控制器相比,PLC 中的信号处理更加灵活。这意味着,模数转换、高速计数器输入和输出在 PLC 中比在微控制器中更容易配置。 由于微控制器提供的功能有限,因此其价格比 PLC 便宜。 PLC 的主要优点是其坚固性和稳定性。具有非常高的温度和环境顽固性,是关键、危险和恶劣环境的最佳产品。 与微控制器相比,PLC 更容易受到电磁噪声和其他类型的噪声的影响。 PLC 中的编程比微控制器中的编程要容易得多。微控制器使用 C 和 C++ 等复杂软件进行编程,这在 PLC 中要容易得多,因为它具有易于与电气绘图理解相关的语言。 微控制器需要嵌入式系统、VLSI 和软件方面的知识来设计,而 PLC 程序员则需要工业自动化、仪器仪表和网络方面的知识来设计。
  7. 顺序逻辑在 PLC 编程中非常有用。它有助于轻松整理事情。使用 PLC 的各种应用程序都写入了一些或其他顺序逻辑。 两种最广泛使用的序列是 LIFO 和 FIFO。您一定听说过电子学中用于堆叠和排序的名称。这些类型的顺序逻辑在 PLC 中也可用。 在本文中,我们将学习 PLC 编程中的 LIFO 和 FIFO 顺序概念。 PLC 中的 FIFO 顺序 FIFO 代表先进先出。从它的名字就可以很容易地理解这个序列的含义。先来的东西就会先出去。您输入一个元素;当您请求一个元素时,输入的第一个元素将提供给您。同样的逻辑也适用于 FIFO 序列的 PLC 编程。 在编程中,分配一个逻辑块,称为 FIFO。它最多可以存储 16 个字或更多,具体取决于 PLC。它包含三种类型的输入——重置、存储和检索。 在复位输入的上升沿,序列被复位并清空。在存储输入的上升沿,输入处存在的字被存储在块中。该模块将记住收到的单词序列。 在检索输入的上升沿,首先输入的字将在 PLC 程序员配置的目标字中给出。它有两个输出——空的和满的。如果空位为真,则表示存储器为空,如果满输入为真,则表示存储器已满。 PLC 中的 LIFO 顺序 LIFO 代表后进先出。从它的名字就可以很容易地理解这个序列的含义。最后出现的东西将首先消失。您输入一个元素;当您请求一个元素时,最后输入的元素将提供给您。同样的逻辑也适用于 LIFO 序列的 PLC 编程。 在编程中,逻辑块被指定为后进先出(LIFO)。它最多可以存储 16 个字或更多,具体取决于 PLC。它包含三种类型的输入——重置、存储和检索。在复位输入的上升沿,序列被复位并清空。 在存储输入的上升沿,输入处存在的字被存储在块中。该模块将记住收到的单词序列。 在检索输入的上升沿,最后输入的字将在程序员配置的目标字中给出。它有两个输出——空的和满的。如果空位为真,则表示存储器为空,如果满输入为真,则表示存储器已满。 这些序列非常容易操作。程序员必须注意不要同时向存储块提供任何输入。在这种情况下,该块将不会执行任何操作。一次只需给出一个输入。还需要注意的是,不同的 PLC 在热启动或冷启动时的功能不同。 一般来说,例如在 PLC 冷启动时,寄存器将被重置,而在热启动的情况下,寄存器将保持原样。这取决于制造商。
  8. leizuofa

    PLC 中的移位寄存器

    PLC 中有许多指令有助于以简化的方式执行逻辑。指令有多种类别,如算术、比较、逻辑、控制器等。例如,用于添加两个变量的简单加法指令就属于算术类别。因此,类似地,PLC 逻辑中可以使用多种类型的指令。 PLC 编程中广泛使用的一种这样的指令是移位指令。它属于数值处理的范畴。 在这篇文章中,我们将学习 PLC 编程中移位寄存器指令的概念。 PLC 中的移位寄存器 顾名思义,移位指令是将字的位移动某个预定义位置的命令。 例如,您有一个 16 位的字。您想要将位号 3 从当前的第四位置移动到第七位置。因此,每当给出移位命令脉冲时,该位就会在每个触发器中从第四位置移位到第七位置。 在这种连续性中,第五个位置的位将移动到第八个位置;第三位置的位将移动到第六位置。因此,在这里,您将按您定义的位置数移动组中的位。 移位指令 移位指令有两种类型——移位和循环。让我们看一下旋转指令。考虑语法 – %MW10:= SHL (%MW12, 4)。%MW10 是目标存储器字,%MW12 是源存储器字。 请参阅下图。在 %MW10 中,当给出第一个左移触发时,位 0 移至位 1,依此类推。该结果存储在 %MW12 中。当这样的触发被给出四次时,最终,位0将最终转移到位4,依此类推。 最终结果无论如何都存储在 %MW12 中,并且您会得到从源字移位四个位置的位的最终答案。但是,要记住的一件事是,每次移位时,前面的位都会填充值 0。您可以在图像中清楚地看到这一点。 第一次移位后,%MW12 中的第一位为 0。因此,经过四次移位后,最终结果将为 – 0000 1101 1100 0000。因此,该移位可以是右移或左移。 PLC 中还有另一种类型的转换;较早的类型从前一个位置添加了零,但第二种类型保持第一位的值(右侧的 MSB 和左侧的 LSB)不变。这称为算术移位。 因此,如果移位前第一位(右端的 MSB 和左端的 LSB)的值最初为 1,则最后一位将仅保持为 1,并且将从前第二位开始添加零,最多添加多少次 给出了移位命令。需要注意的是,最后移位的位总是存储在进位位中。 轮换指令 第二种是循环指令。考虑语法 – %MW10:= ROL (%MW12, 4)。%MW10 是目标存储器字,%MW12 是源存储器字。我们将使用上面相同的图像作为参考。旋转指令,顾名思义,只是将位旋转您定义的位置。 与移位指令相比,移位指令在每个前面的位后添加零;这里,位只是按照与左方向相同的顺序移位。因此,假设您的源词为 – 1100 1010 1100 0101;那么,触发 4 个位置后,最终结果将是 – 1010 1100 0101 1100。相同的逻辑在正确的方向上工作。最后移位的位也存储在进位位中。 另一种类型属于旋转类别。这里,不是只移位 16 位,而是翻转进位位。这意味着,最后一位被移至进位位,然后进位位将被移至第一位,依此类推。在早期类型中,最后一位仅存储在进位位中。
  9. leizuofa

    气动阀的顺序 PLC 编程

    这是一个用于气动阀顺序模式操作的 PLC 程序。 气动阀的顺序 PLC 编程 编写梯形逻辑,用于气动阀的顺序 PLC 编程,以顺序模式操作气缸。 解决方案: 在此系统中,有两个气缸和两个按钮连接到 PLC。 按钮连接到 PLC 输入,气缸连接到 PLC 输出。 系统工作需要满足以下条件: – 当按下 START PB 时,气缸 A 应启动,气缸 B 应在气缸 A 启动 5 秒后启动。 当按下 STOP PB 时,气缸 A 和 B 都将停止。 现在要满足以下条件,我们必须使用一个定时器来延迟气缸 B 的操作。 输入/输出列表 输入: X1 - 启动 PB X2 - 停止 PB 输出: Y0 - A 缸 Y1 - B 缸 气缸顺序运行梯形图 程序说明: 在梯级 1 中,我们使用 STRAT PB (X1) 启动气缸 A (Y0)。这里我们使用 STOP PB (X2) 的常闭触点来停止气缸 A (Y0)。与 X1 触点并行,我们使用 Y0 的常开触点来锁存输出。 在梯级 2 中,我们使用定时器 T0 来计算气缸 B (Y1) 的延迟。 在梯级 3 中,我们使用了 T0 的常开触点,因此一旦气缸 B (Y1) 上的时间延迟就会开启。
  10. 在本文中,我们将学习如何阅读 PLC 数据表以及对自动化工程师有用的 PLC 规格的重要说明。此外,我们还将讨论 PLC 数据表中提供了哪些不同的信息,以及这些信息对我作为程序员或安装工程师有何用处。 内容: 数据表提供哪些信息? PLC 数据表中的信息示例 额定电流和电压 PLC 内存 不同的块和数据区寻址 输入和输出规格 通讯接口和协议 环境条件 阅读数据表的重要注意事项。 数据表提供哪些信息? PLC 的数据表将为您提供很多信息;这些信息将涵盖 PLC 可以提供的几乎所有功能。但其中一些信息对您来说并不像其他信息那么重要,这取决于您使用 PLC 的范围。 如果您是安装工程师,那么您将重点关注 PLC 的技术规格,例如电源电压、输入和输出类型以及这些 IO 点的额定功率。 您还将更加关注 PLC 的尺寸和 PLC 运行时的环境条件,以确定 PLC 所使用的电气面板的尺寸以及 PLC 所使用的冷却方法。 如何阅读 PLC 数据表? 另一方面,如果您只是 PLC 程序员,那么过去的信息对您来说可能并不那么重要,相反,您将关注与 PLC 内存、可用 IO 数量和能力相关的数据。添加新模块。 您还需要注意一些其他信息,例如该 PLC 支持的编程语言,因为并非所有 PLC 都支持所有编程语言。作为程序员,沟通和网络也是您需要关心的其他重要点。 PLC 的数据表始终以 PLC 的总体概述描述开始。S7-1200 和 S7-1500 的简单示例请参见图 1 和 2。 图 1 – S7-1500 PLC 数据表的第一页。 图 2 – S7-1200 PLC 数据表的第一页。 正如您所看到的,数据表的开头给出了 PLC 的一般描述。此一般描述将为您提供有关 PLC 的基本概念以及它是否适合您的应用。 PLC 数据表中的信息示例 在本文中,我们将使用 S7-1200 PLC 的数据表来显示它包含的一些不同信息。 额定电流和电压 在数据表的某个部分中,必须有一些有关 PLC 电压和电流额定值的信息,有些 PLC 需要直流电源,而另一些则需要交流电源,而且 PLC 的输入和输出可能有不同的额定值,这 我们的 PLC 正是这种情况,PLC 的供电电压为 220AC,但 IO 的额定值为 DC。见图3。 图 3 – 电压和电流额定值。 PLC 内存 数据表中会提供不同的 PLC 内存容量,这会显示您有多少工作内存以及是否可以扩展它,见图4。 图 4 – PLC 的内存描述。 不同的块和数据区寻址 在本节中,您将了解可在 PLC 中使用的不同块,例如定时器、计数器、FC 等,以及可使用的块的最大数量。您还将获得数据区域的内存及其保持性。见图5。 图 5 – CPU 块可用。 输入和输出规格 这是另一个需要提供的关键数据,通过这些信息您将了解您的 PLC 提供的 IO 数量,以及如何连接和使用每个 IO。见图 6 和 7。 图 6 – PLC 的数字输入。 正如您所看到的,我们的 PLC 中有 8 个 DI 点,其中 6 个可用于编码器等 HSC(高速计数)输入。它还告诉您输入电压为 24vdc,这意味着您不能将输入的交流传感器直接连接到 PLC。 图 7 – 我们的 PLC 中提供数字输出。 如果 PLC 有模拟 IO,那么数据表中也会提及。见图8 图 8 – 模拟 IO 描述。 通讯接口和协议 数据表中还将提及 PLC 中可用的通信接口以及它可以支持的通信协议。见图9。 图 9 - PLC 的通讯接口。 可以看到,我们的 PLC 只有一个通讯接口,就是作为 RJ-45 端口提供的 PROFINET 接口。然而,PLC 本身可以支持许多通信协议,例如 PROFIBUS 和 AS-Interface。见图10。 图 10 – 支持的通信协议。 环境条件 这是您应该了解的有关 PLC 的另一个非常重要的数据,因为它将有助于确定最适合您的 PLC 的外壳和冷却类型。见图11。 图 11 – PLC 的环境条件。 阅读 PLC 数据表的重要注意事项 并非所有 PLC 数据表都包含相同的信息,因为不同的 PLC 将具有不同的特性和功能,因此要显示的信息也不同。 并非数据表中的所有信息对您都很重要,这取决于您是 PLC 程序员还是我们之前提到的安装工程师。 如果您不理解数据表中的某些信息,也没关系,正如我们所说,数据表将提供有关您的 PLC 支持的几乎所有功能的信息,您可能不知道其中一些功能,甚至可能从未了解过 需要使用它。例如,OPC UA 或 Web 服务器功能。因此,如果您发现一些您不理解的数据,并不一定意味着您的 PLC 不适合您的项目。 结论 阅读 PLC 数据表对于帮助确定 PLC 是否适合您的应用非常重要。确定可以使用的 IO 类型和电源额定值也很重要。 尝试阅读不同 PLC 型号的数据表,看看您是否能理解数据表中提供的基本信息。
  11. 在本文中,我们将讨论 PLC 中的模拟输入信号处理以及如何在自动化过程中处理这些信号。 内容: 什么是模拟输入信号? S7-1200 和 1500 中的输入模拟量处理。 S7-300 和 400 中的输入模拟量处理。 哪些最适合控制?– 模拟或数字信号 结论。 什么是模拟输入信号? 在我们深入了解如何在 TIA Portal 中处理模拟输入信号之前,我们首先了解模拟输入。 任何自动化系统都需要输入信号来了解流程的状态,以便能够做出保持流程运行和稳定的决策。这些输入信号是离散或数字输入信号,其形式为 0 或 1 值。另一种类型的输入是模拟信号。 模拟信号只是系统中物理量的连续表示,因此如果您需要监控过程中的温度或压力,模拟信号将为您提供与物理量的实际变化相对应的连续和瞬时值。 模拟信号有多种标准形式,但最常见的是 0-10V 或 4-20mA。这取决于您使用的模拟传感器的类型,并且还决定您可以使用的 PLC 模拟模块的类型。 假设模拟压力传感器的测量范围为 0-10 bar,输出为 4-20mA。通常,模拟信号在被测量的物理量和相应的输出之间具有线性关系。 这意味着如果传感器测量 0 bar,它将给出 4mA 信号,如果传感器测量 10 bar,它将给出 20mA 信号,并且两者之间的信号也将是线性的。见图1。 图 1 – 模拟信号表示。 PLC 还是看不懂 4-20mA 的物理量,这就到了 PLC 模拟量模块的使用。模拟模块将对这种表示形式进行另一次转换,以便 PLC 能够真正理解它。 模拟模块会将模拟 mA 测量值转换为数字值,具体取决于模块的类型,但对于西门子 PLC,这些值始终在 0 – 27648 范围内。因此,如果传感器测量 0 bar,则输出将为 4mA,在PLC内部会转换为0值。见图2。 图 2 – 输入信号的模数转换 然后,PLC 将根据您的编程将 0-27648 值转换为等效的物理测量值,我们稍后将对此进行介绍。见图3。 图 3 – PLC 内部缩放后的测量值。 温度的模拟处理有很大不同,因为温度传感器的物理变化行为不像液位或压力传感器那样呈线性。这就是为什么不同类型的温度传感器有标准化表格来告诉哪个温度对应于哪个传感器值。 这就是为什么在进行温度测量时,您会选择 PLC 的特殊类型的输入模块,其中这些标准表是内部定义的,您可以直接获得与传感器测量相对应的温度值。 这就是为什么您找不到上面写有电压或电流测量范围的温度传感器。您只会找到所写的传感器类型,例如 PT100、PT1000、KTY84、PTC 等。 S7-1200 和 1500 中的模拟输入处理 为了了解如何在现代 S7 系列 PLC 中处理模拟信号,我们首先创建一个新项目并添加 S7-1200 CPU。我们还将添加一个模拟输入/输出模块。见图4。 图 4 – 添加模拟输入模块。 现在,让我们定义我们的输入信号标签,我们假设一个压力传感器可以测量 0 到 10 bar 之间的压力,并给出 4 到 20mA 之间的相应信号。 我们将在输入模块的第一个标签中定义该输入信号。见图5。 图 5 – 定义输入信号标签。 正如我们之前所说,输入模块可以处理不同的输入信号,无论是0-10V还是4-20mA,因此我们需要为我们的传感器分配正确的配置。 正如我们所说,压力信号以 4-20mA 的形式给出,因此我们将为此配置我们的输入通道。见图6。 图 6 – 配置输入通道 现在我们完成了硬件配置部分,我们将开始编写处理代码。为此,我们将创建一个函数 FC,以便每次有模拟信号需要处理时都可以重用它。在该 FC 内,我们将创建处理模拟信号并将其转换为物理测量值的逻辑。 在 TIA Portal 中,我们可以使用预定义的指令来执行此操作,这些指令是 NORM_X 和 SCALE_X 指令。见图7。 图 7 – NORM_X 和 SCALE_X 指令 如您所见,NORM_X 会将模拟输入标准化为 0 到 1 之间的值,然后 SCALE_X 将用于将此标准化值缩放到测量的物理值的范围,在我们的传感器情况下为 0 到 10 之间 酒吧。 我们使用函数 FC,而不是直接在主 OB1 中编写代码,以使我们的代码可与任何模拟信号重用。每次我有一个新的模拟输入信号时,我只需将 FC 块拖放到我们的主 OB1 中,然后写入所需输入的相关参数。见图8。 图 8 – 拖放您的 FC。 当您将 FC 拖放到主 OB1 中时,系统会要求您提供该函数调用的关联参数。 在我们的例子中,输入信号是压力传感器,ScaledMIN 和 ScaledMAX 是 0-10 bar 的测量值范围。见图9。 图 9 – 为我们的压力传感器分配功能参数。 如果我有一个新的模拟输入,那么我不必再次重新创建 PLC 逻辑,我只需将 FC 拖放到主 OB1 中并分配新的传感器参数即可。 假设我们现在有一个新的模拟传感器,用于测量水箱内水位的 0 % 到 100 % 之间。我们将执行与之前相同的步骤,从定义新的输入标签开始。见图10。 图 10 – 定义新的液位传感器 接下来,我们将像图 6 中那样配置液位传感器的输入通道。我们将假设相同的配置。 接下来,我们将拖放我们创建的 FC,并分配液位传感器的参数。见图11。 图 11 – 重新使用带有液位传感器的 FC。 正如您从上图中看到的,这是在逻辑中使用函数 FC 的众多优点之一,因为它有助于减少我们的编程量。 现在,您拥有了一个通用代码,可以与 PLC 项目中所需的任何输入模拟信号一起多次重复使用。 请参阅西门子 PLC 中输入信号处理的下一个仿真。 S7-300 和 S7-400 中的模拟输入 要了解如何在 S7-300 等较旧的 S7 系列 PLC 中处理模拟信号,我们首先创建一个新项目并添加 S7-300 CPU。 所选的 PLC 已经有足够的模拟量输入通道,所以我们不再添加任何模拟量模块。见图12。 图 12 – 添加 S7-300 PLC。 然后我们将定义新的模拟传感器标签,我们将假设压力传感器的测量范围在 0 到 100 bar 之间,输出为 4-20mA。 我们将像之前对 S7-1200 所做的那样配置 PLC 输入通道,以适应我们的模拟输入传感器。见图13。 图 13 – 配置输入通道。 现在到PLC编码部分,s7-300中用于处理模拟量处理的指令与 s7-1200不同。 在S7-1200 PLC中,我们必须使用NORM_X和SCALE_X。但对于S7-300,我们没有标准化指令,仅使用SCALE指令。见图 14。 图 14 – S7-300 中的 SCALE 指令 从上图可以看出,S7-300 中的 SCALE 指令有点类似于 NORM_X 和 SCALE_X 指令组合在一起。还有一个更明显的区别是双极性输入。 BIPOLAR 输入用于指示 IN 参数的值是否被解释为双极或单极。该参数可以采用以下值: BIPOLAR = 1,则假定输入整数值介于 -27648 和 +27648 之间。例如,当模拟传感器给我们提供 -10V 至 +10V 范围内的输出时 BIPOLAR =0 则假设输入整数值介于 0 到 27648 之间。例如,当传感器给我们提供 0-10V 范围内的输出时 这就是在 S7-1200 和 S7-300 PLC 中处理模拟输入信号的简单方法。 哪些最适合控制? – 模拟或数字信号 看,这两个信号对于任何自动化系统都至关重要且有用,但如果可以的话,我个人更喜欢使用模拟信号,因为对过程物理量进行模拟信号测量将使我能够持续监控过程参数,这将使我能够更好地 跟踪和控制我的流程。 此外,对参数进行连续监控将使我能够为不同的信号值设置不同的控制逻辑,这将使您更容易获得用于控制过程的值范围以及用于过程偏离正常操作的警报和警告的另一个值范围 。 结论 模拟信号是系统中物理量的连续表示。 模拟输入通常提供 0-10V 或 4-20mA 范围。 模拟信号处理是指将模拟 4-20mA 信号转换成与真实物理量相对应的、PLC能够理解的一系列数值。 在现代 S7 系列 PLC(如 S7-1200)中,处理模拟信号是使用 NORM_X 和 SCALE_X 指令完成的。 在 S7-300 等较旧的 S7 系列 PLC 中,处理模拟信号是使用 SCALE 指令完成的,该指令基本上是 NORM_X 和 SCALE_X 指令之间的组合。
  12. leiwenge

    哪种语言最适合 PLC 编程?

    当您听说 PLC 编程时,其中使用的五种语言是 - 梯形逻辑、结构化文本、功能框图、顺序流程图和指令表。任何语言,一旦理解,都可用于编写应用程序代码并正确运行机器。 最佳 PLC 编程语言 图 - 示例梯形逻辑 但通常,新的 PLC 程序员会对使用什么来编写程序感到困惑。如果他了解一种语言的优点和缺点,那么他可以轻松确定使用什么来编写 PLC 程序。因此,有必要了解它们之间的区别并确定使用哪种语言进行编码。在这篇文章中,我们将看到哪种语言最适合 PLC 编程。 梯形逻辑 梯形逻辑是最基本的 PLC 编程语言类型。它可以很容易地与电气接线控制图相关联。传统上,电气控制接线用于根据提供的输入来操作输出。 由触点和线圈组成的梯形逻辑图在梯形逻辑编程中以相同的方式实现。您有一系列梯级,每个梯级都有触点和线圈。当梯级通电时,线圈会根据其类型相应地运行。 您可以在程序中编写任意数量的梯级,代码将相应地执行。当您看到它时,它与梯子相似,因此,它被命名为梯形逻辑。请参阅下图以了解。你可以看到它是多么简单。 在上图中,与继电器逻辑图中的开关设备相关的输入在梯形图中显示为触点。继电器逻辑图中的M1输出线圈在梯形图中用输出线圈符号表示。 梯形图中每个触点/线圈符号上方出现的地址号是指逻辑控制器的外部输入/输出连接的位置。因此,在两个末端电源轨之间,您可以放置所需的元素并在其中写入逻辑。梯级以循环方式从上到下执行。 结构化文本 结构化文本可以说是本地 IT 级语言。结构化文本语言的相似性与我们用软件语言编写的代码非常相似。顾名思义,结构化文本是以赋值方式编写的一系列文本。 指令必须以分号结尾。执行赋值时,单个或多元素变量的当前值将由表达式求值的结果替换。 赋值由左侧的变量规范、后跟赋值运算符:=、后跟要求值的表达式组成。两个变量(赋值运算符的左侧和右侧)必须具有相同的数据类型。请参阅下图进行理解。 如您所见,它具有不同类型的操作和条件。在上面的示例中,if-else 语句用于求值表达式。如果条件为真,则输出端分配的变量将打开,当条件为假时,变量将关闭。因此,ST 语言最适合数学计算,因为它看起来很简单易懂。 顺序流程图 当您想要以重复或顺序的方式编写复杂程序时,顺序流程图是最先进的工具。顾名思义,SFC 语言允许您通过流程图编写程序。它以步骤、分支、链接、跳转和转换的方式工作。 SFC 部分是“状态机”,即状态由活动步骤创建,转换传递切换/更改行为。步骤和转换通过定向链接相互链接。 两个步骤永远不能直接链接,必须始终由转换分隔。活动信号状态过程沿着定向链接进行,并通过切换转换触发。请参阅下图以了解。 链式流程的方向遵循方向链接,从前一步的末尾运行到下一步的顶部。分支从左到右处理。每个步骤都有零个或多个操作。 每个转换都需要一个转换条件。链中的最后一个转换始终连接到链中的另一个步骤(通过图形链接或跳转符号)以创建闭环。因此,步骤链是循环处理的。 功能框图 功能框图 (FBD) 语言通常用于微处理器,在 PLC 编程中也有类似的格式。它是相互连接的块的图表,每个块都有其输入和输出。 FBD 语言非常容易排除故障,因为您可以在一个视图中直接查看整个代码,而不必上下滚动。这有助于快速维护,还可以提高编程效率。请参阅下图以了解。 如您所见,您可以通过线路轻松连接各种类型的功能和块,这显示了逻辑中的流程。您只需分配输入和输出引脚,连接这些引脚之间的线路,您的代码就会相应地工作。 指令表 用指令表语言编写的程序由一系列由逻辑控制器按顺序执行的指令组成。 每条指令由单个程序行表示,并由以下组件组成 - 行号、仅可在线查看的当前值、指令运算符和操作数。请参阅下图以了解。 你可以看到每一行只执行一个操作。与梯形逻辑中使用的触点和线圈不同,你拥有相应的加载指令和设置/重置指令。它是梯形逻辑和结构化文本的混合体。这就是为什么它也被称为类似于汇编语言的原因。当你在PLC 上线时,你可以在这个窗口中看到动画值。 当我们看到这五种语言时,我们发现程序员最常用的是梯形逻辑、结构化文本和功能框图。每种语言都有其优点和缺点。但是,这三种语言都很容易理解、解释和设计。这有助于程序员正确地设计逻辑。 这并不意味着剩下的两种语言没有被使用。这取决于程序员使用什么来实现编码的技能。所以,很难评论哪种语言最好;但是,在这三种语言中,梯形逻辑也是最常用的。
  13. caixiaofeng

    PLC 定时器和计数器之间的区别

    开发 PLC 逻辑时,您总是需要定时器和计数器。自动化过程中的任何循环如果没有使用定时器和计数器通常都是不完整的。您需要它们在一定时间后执行任务或将任务保持开启/关闭一段时间。其用途取决于要开发的应用程序。 并且,在深入研究 PLC 的高级指令之前,程序员必须首先了解这些基本块,以便正确实施它们并获得帮助以更轻松地学习高级块。 在本文中,我们将了解 PLC 编程中定时器和计数器之间的区别。 什么是定时器? 定时器是一种用于在一定延迟后打开或关闭输出的指令。例如,如果您想在 5 秒后打开一盏灯,则使用定时器执行此任务。 定时器将接受输入,当输入打开时,其计时将开始。5 秒后,定时器输出将打开,从而间接打开灯。我们正在谈论的是该类型的普通定时器。 定时器有两种类型——定时器关闭和脉冲定时器。简而言之,基本功能是相同的——在一定延迟后执行任务。 请参考上图以更正确理解。定时器有四个输入和输出——输入、设定值、当前值和输出。输入接受启动定时器的条件,设定值用于获取设定的定时器值,当前值显示当前运行的定时器值,输出用于打开或关闭与其连接的变量。 当 PLC 定时器获得输入时,如果设定值为 5 秒,则定时器从 1、2 和 3 开始,依此类推,直到 5。当 5 秒完成后,输出打开。当输入关闭时,定时器的当前值立即变为零。 无论定时器是否正在运行;如果输入关闭,则定时器不会启动,其输出和当前值将为零。这是 TON(定时器开启延迟)定时器的功能。 什么是计数器? 计数器是一种指令,用于在达到设定的计数后打开输出。计数可以递增或递减。 例如,如果您想在按下按钮五次后打开灯,则使用计数器执行此任务。计数器将接受输入,当输入打开时,其计数将递增为 1。 当输入关闭时,不会发生任何事情。当它再次收到输入时,计数将递增为 2。计数 5 过去后,计数器输出将打开,从而间接打开灯。我们谈论的是计数器向上类型。 计数器还有一种类型 - 计数器向下。简而言之,基本功能是相同的 - 在一定计数后执行任务。 请参阅上图以更正确理解。计数器有五个输入和输出 - 计数输入、复位输入、设置值、当前值和输出。计数输入接受计数条件,复位输入接受计数器复位条件,设定值用于获取设定的计数器值,当前值显示当前运行的计数器值,输出用于打开或关闭与其连接的变量。 当计数器获得计数输入时,如果设定值为 5,则计数器递增为 1,依此类推,直到 5;在计数输入中收到每个脉冲时(意味着计数输入必须打开和关闭 5 次)。完成 5 次计数后,输出打开。 现在,即使给出计数输入脉冲,计数器也会在 5 之后继续增加,输出也将保持打开状态。要再次将计数器状态恢复为零,您必须提供复位输入。给出此输入后,计数器当前值变为零,输出也会关闭。因此,它类似于锁存型功能。要解锁计数器,您必须重置它。这是 CTU(计数向上)计数器的功能。 定时器和计数器之间的区别 PLC 中的定时器和计数器之间的主要区别如下。 定时器需要连续输入才能打开变量,但计数器不需要连续输入。因此,定时器在连续条件下工作,而计数器在脉冲条件下工作。 如果移除定时器输入,则其输出将返回到零状态;但如果移除计数器输入,则计数器将保持其最后一个值。 定时器没有复位输入,而计数器需要复位输入才能将计数器恢复到其原始状态。 定时器的类型包括定时器开启、定时器关闭和定时器脉冲。计数器的类型包括计数器加法和计数器减法。 定时器设定值可以是秒、分钟或毫秒;但计数器设定值是固定整数。
  14. PLC 编程包含多种类型的指令和操作数,用于执行逻辑。最常用的指令之一是计数器。 计数器用于计数。许多应用都需要计数;例如,即使是像计算一分钟内通过的瓶子数量这样的小逻辑也需要计数器。如果这样一个小应用程序需要计数器,那么自动化技术中就会有许多更大的逻辑类型,这些逻辑使用计数器。因此,这些是 PLC 编程中使用的重要指令类型。 有两种类型的计数器可用 – 普通计数器和步进计数器。在这篇文章中,我们将了解普通计数器和快速计数器之间的区别。 什么是普通计数器? PLC 中没有正式术语称为普通计数器。它只是一个定义,用于显示两种基本类型的计数器 – 升压和降压。顾名思义,这些指令用于在输入脉冲时计数。 假设你有一个按钮,你想计算它被按下了多少次。如果你明白我们想要表达的意思,按下意味着只要按下它,它就会保持打开状态。一旦你把它拿开,它就会关闭。 这意味着它是一个脉冲型输入,计数器只理解这种类型的输入。如果输入持续保持打开状态,那么它就不会计数。只有当输入从打开状态变为关闭状态时,它才会计数,然后再次重复相同的序列。 请参阅上图以了解。CU(计数)输入用于在收到输入时增加计数器。由于它是一个触发器,因此当收到脉冲型输入时,计数会增加。PV 输入是设定值。只要没有达到设定的计数,计数器(Q)的输出就会保持关闭状态。当达到设定值时,输出就会打开。 现在,即使给出了计数输入,计数也会继续增加,输出也会保持打开状态。要关闭它,需要提供复位输入,该输入将复位计数器并使当前值归零。这是计数器的一般工作原理。 什么是快速计数器? 快速计数器与普通计数器相同,但唯一的区别是它计数非常快速的输入类型。假设您有一个接近传感器,它在 30 秒内打开或关闭 1000 次。这种快速输入在普通计数器中很难检测到,因为它的扫描时间较短。快速计数器将通过快速计数其输入处接收到的脉冲数来完成这项工作。 与普通计数器类似,其输出在达到设定值后打开,并且需要复位输入来复位计数器并关闭输出。快速计数器可以在 5 kHz 的频率下工作。 由于快速计数器功能块由特定的硬件中断管理,因此维持最大频率采样率可能会因您的特定应用程序和硬件配置而异。并非所有 PLC 输入都可以用作快速计数器;它只有一些专用的 PLC 输入用于分配快速计数功能。 如您所见,这两个计数器之间的唯一区别是运行速度,因为普通计数器不能接受任何快速类型的输入。
  15. caixiaofeng

    自动门操作 PLC 编程和仿真

    在此 PLC 程序中,使用 PLC 编程设计自动门操作,当检测到物体时打开或关闭门。这里的物体只是一辆汽车。 自动门操作 下面的模拟显示了自动门系统的操作。 输入和输出 类型 设备编号 设备名称 操作 输入 X0 下限 当门到达下限位时亮起。 输入 X1 上限 当门到达上限位时亮起。 输入 X2 门内传感器 当物体接近门时开启。 输入 X3 输出传感器 当物体离开门时亮起。 输入 YO 门上 当 YO 开启时向上移动。 输出 Y1 门下 当 Y1 为 ON 时,向下移动。 输出 Y6 光 Y6 ON 时亮灯。 输出 Y7 蜂鸣器 Y7 打开时发出声音(屏幕上的灯亮起)。 程序说明 当汽车接近入口时,门向上移动。入口传感器 X2 用于检测汽车是否在入口处。 汽车驶过后,门就会向下移动。出门传感器 X3 用于检测汽车通过门后是否存在。 当上限开关 (X1) 激活时,门的向上移动会停止。 同样,当下限开关 (X0) 接合时,门的向下移动也会停止。 只要检测到汽车在入口 (入口门传感器 X2) 和出口 (出口传感器 X3) 的范围内,门就会保持向上。 蜂鸣器 (Y7) 发出蜂鸣声作为门移动的信号。 当汽车在检测范围内时,在入口门传感器 (X2) 和出口传感器 (X3) 之间,灯 (Y6) 保持亮起。 门的移动状态通过控制面板上四个指示灯的亮起或熄灭来指示。 可以手动控制门。可以按下控制面板上的按钮来打开 (⬆门向上) 或关闭 (⬇门向下) 门。 PLC 编程
  16. caixiaofeng

    分拣和配送线 PLC 编程高级逻辑

    在此高级 PLC 逻辑中,检测不同尺寸的零件,并根据箱子尺寸对其进行分类,然后将其放置在托盘中。 零件不过是不同尺寸的箱子,例如小、中、大。机器人将不同尺寸的箱子随机放置在传送带上。然后系统检测箱子尺寸并移动到相应的传送带并将它们放置在相应的托盘中。 分拣和配送线 PLC 编程 以下模拟显示了分拣和配送线系统的操作。 输入和输出 类型 设备编号 设备名称 操作 输入 X0 起点(供应) 当检测到零件时亮起。 输入 X1 上 当检测到零件时亮起。 输入 X2 中间 当检测到零件时亮起。 输入 X3 降低 当在右端检测到部件时 ON。 输入 X4 传感器 当在右端检测到部件时 ON。 输入 X5 传感器 当 Y1 为 ON 时,传送带向前移动。 输入 X6 检测部分 当检测到零件位于推杆前面时,ON。 输入 X10 起点(卸载) 卸料机器人位于起始点时亮起。 输入 X11 工件在工作台上 当工件在工作台上时,该信号为 ON。 输入 X12 机器人操作完成 机器人动作结束时ON。 输出 Y1 输送机前进 当Y2为ON时,传送带向前移动。 输出 Y2 输送机前进 当 Y3 为 ON 时,向前移动。 输出 Y3 分拣翼 当 Y4 为 ON 时,传送带向前移动。 输出 Y4 输送机前进 当 Y5 为 ON 时,输送机向前移动。 输出 Y5 输送机前进 Y6 ON 时伸出,Y6 OFF 时缩回。推杆不能在行程中途停止。 输出 Y6 推进器 当 Y7 为 ON 时,机器人将零件移动到托盘。一个过程循环开始。 输出 Y7 卸载命令 当 Y7 为 ON 时,机器人将零件移至托盘。一个过程循环开始。 输出 Y10 红色的 Y10 ON 时亮灯。 输出 Y11 红色的 Y11 为 ON 时亮灯。 输出 Y12 黄色的 Y12 ON 时亮灯。 程序说明 启动控制面板上的按钮 PB1 (X20) 会触发供应命令 (Y0),从而使机器人开始移动物体。 一旦机器人完成移动零件并返回其原始位置的任务,供应命令 (Y0) 就会停用。激活供应命令 (Y0) 会推动机器人提供零件。 激活控制面板上的开关 SW1 (X24) 会促使传送带向前移动。相反,停用开关会导致传送带停止。 传送带上载有不同尺寸(即大、中、小)的零件,根据上部 (X1)、中部 (X2) 和下部 (X3) 传感器的输入进行分类,并传送到指定的托盘中。 当分离式输送机上的分拣翼 (Y3) 激活时,大型零件被引导至后部输送机,随后零件在输送机上运输并最终从右边缘下降。 当分离式输送机上的分拣翼 (Y3) 停用时,中型零件被引导至前部输送机,随后由机器人传送到托盘。 当分离式输送机上的分拣翼 (Y3) 激活时,小零件被路由到后部输送机。一旦分离式输送机中的检测零件传感器 (X6) 激活,输送机就会停止,零件会被推到托盘上。 当机器人检测到工作台 (X11) 上的零件时,卸载命令 (Y7) 就会激活。一旦机器人完成其操作,机器人操作完成 (X12) 状态将打开(当零件放置在托盘上时发生),卸载命令 (Y7) 就会停用。 只要控制面板上的 SW2 (X25) 开关保持激活状态,在以下情况下就会自动供应新零件: 当机器人开始运输中型零件时。 当托盘上添加小零件或大零件从传送带的右边缘下降时。 显示灯按以下方式闪烁: 红灯表示机器人正在供应零件。 绿灯表示传送带正在运动。 当传送带静止时,黄灯亮起。 PLC 程序
  17. 在此 PLC 编程中,我们使用传感器和传送带按高度对箱子进行分类和分配,并将其放入指定的存储箱中。 此 PLC 程序根据零件的大小分配指定数量的零件。 PLC 按高度对箱子进行分类 下面的模拟显示了 PLC 逻辑根据箱子高度对箱子进行分类的工作原理。这里有 3 种不同大小的箱子,如小号、中号和大号。 每种箱子尺寸都有三个存储箱。有三个推杆和三个传送带。每种箱子尺寸都有一个推杆和一个传送带。 机器人将箱子随机放置在传送带上。传感器用于检测箱子的尺寸。当相应尺寸的箱子到达那里时,使用传感器启动和停止传送带。 相应的推杆被激活并将相应尺寸的箱子移动到专用的存储箱中。 PLC I/O 列表 下表列出了该系统的输入和输出。 类型 设备编号 设备名称 操作 输入 X0 初始点 当机器人处于起始点时亮起。 输入 X1 上 当检测到零件时亮起。 输入 X2 中间 当检测到零件时亮起。 输入 X3 降低 当检测到零件时亮起。 输入 X4 传感器 当检测到零件处于倾斜状态时打开。 输入 X5 传感器 当检测到零件处于倾斜状态时打开。 输入 X6 传感器 当检测到零件处于倾斜状态时打开。 输入 X7 传感器 当在右端检测到部件时 ON。 输入 X10 检测部分 当检测到零件位于推杆前面时,ON。 输入 X11 检测部分 当检测到零件位于推杆前面时,ON。 输入 X12 检测部分 当检测到零件位于推杆前面时,ON。 输出 Y0 供给指令 当 Y0 为 ON 时,供应一份。一个加工循环开始: 木制零件按 M、S、L、M、M、L、S、S、L、L 的顺序重复。 输出 Y1 输送机前进 当 Y1 为 ON 时,传送带向前移动。 输出 Y2 输送机前进 当Y2为ON时,传送带向前移动。 输出 Y3 输送机前进 当 Y3 为 ON 时,传送带向前移动。 输出 Y4 输送机前进 当 Y4 为 ON 时,传送带向前移动。 输出 Y5 推杆 Y5 ON 时伸出,Y5 OFF 时缩回。推杆不能在行程中途停止。 输出 Y6 推杆 Y6 ON 时伸出,Y6 OFF 时缩回。推杆不能在行程中途停止。 输出 Y7 推杆 Y7 为 ON 时伸出,Y7 为 OFF 时缩回。推杆不能在行程中途停止。 程序描述 根据高度和组件分布对箱体进行分类,编写可编程逻辑控制器 (PLC)。 启动机器人的操作需要按下控制面板上的按钮 PB1 (X20),这将激活机器人供应命令 (Y0)。 当机器人完成零件移动并返回其初始位置时,机器人供应命令 (Y0) 将停用。传送带移动命令由控制面板上的开关 SW1 (X24) 控制。 激活开关(将其打开)可推动传送带向前移动,而停用开关(将其关闭)可使传送带停止。 通过上部 (X1)、中部 (X2) 和下部 (X3) 传感器的输入,对零件进行分类,分为大、中、小尺寸。分类后,零件被传送到指定的托盘中。 通过激活(打开)零件检测传感器(X10、X11 或 X12)可识别出推进器中零件的存在。 检测到零件后,传送带停止,检测到的零件被移到托盘上。 注意:推进器的操作由推进器启动命令控制。接收到 ON 信号后,推进器完全伸出,而 OFF 信号则导致推进器缩回。 每个托盘应包含特定数量的零件,具体取决于零件的大小。任何超过这些指定数量的零件都会绕过推进器并从右端的传送带中弹出。 每个尺寸的指定零件数量如下: 大:3 个零件 中:2 个零件 小:2 个零件 PLC 梯形逻辑
  18. 在此高级 PLC 程序中,基于 PLC 的产品分拣机系统用于使用升降机根据尺寸分离零件来运送不同的产品。 这里有三个基于尺寸的位置,如小、中、大。传送带用于传送产品并将其放置在托盘上。 基于 PLC 的产品分拣机系统 以下模拟显示了使用升降机操作的 PLC 分拣系统。 输入和输出 类型 设备编号 设备名称 操作 输入 X0 检测到零件时, 上部 ON。 输入 X1 升降机处于较低位置时, 中部 ON。 输入 X2 检测到零件时, 下部 ON。 输入 X3 检测到零件时, 升降机上部 ON。 输入 X4 升降机处于中间位置时, 下部升降位置 ON。 输入 X5 升降机处于中间位置时, 中部升降位置 ON。 输入 X6 零件在升降机上时, 上部升降位置 ON。 输入 X10 检测到零件在左端时, 传感器开启。 输入 X11 检测到零件在左端时, 传感器开启。 输入 X12 检测到零件在右端时, 传感器开启。 输入 X13 检测到零件在左端时, 传感器开启。 输入 X14 检测到零件在右端时, 传感器开启。 输入 X15 升降机处于上部位置时, 传感器开启。 输出 Y0 供给指令 Y0 为 ON 时,供给一个零件:金属圆筒按 S、L、M、L、M、S 的顺序重复。 输出 Y1 输送机前进 当在右端检测到部件时 ON。 输出 Y2 提升指令 Y2 为 ON 时,升降机上升。Y2 为 OFF 时,升降机停止。 输出 Y3 升降指令 当Y3接通时,电梯下降。当Y3为OFF时,电梯停止。 输出 Y4 升降旋转指令 当 Y1 为 ON 时,传送带向前移动。 输出 Y5 下输送机向前 当 Y4 为 ON 时,升降机旋转,将零件传送到传送带上。当Y4为OFF时,升降机旋转回原位。 输出 Y6 中间输送机向前 当 Y5 为 ON 时,输送机向前移动。 输出 Y7 上输送机向前 当 Y6 为 ON 时,传送带向前移动。 程序说明 整个系统由两个组件组成:常规控制和升降机管理。 常规控制: 激活操作面板上的 PB1 (X20) 按钮可启动料斗的供应命令 (Y0)。停用 PB1 (X20) 按钮可关闭供应命令 (Y0)。激活供应命令 (Y0) 后,料斗将输送零件。 控制面板上的 SW1 (X24) 激活时,传送带开始移动。相反,SW1 (X24) 停用时,传送带停止移动。 传送带左侧的传感器 X10、X12 或 X14 检测到零件后,相应的传送带启动,将零件运送到右端托盘。零件经过传送带右侧的传感器 X11、X13 或 X15 后三秒钟,传送带停止。 传送带上不同尺寸(大、中、小)的零件按上部(X0)、中部(X1)和下部(X2)传感器的输入进行分类。 升降机管理: 一旦升降机中升降传感器(X3)上的零件被激活,零件将根据其尺寸被输送到以下传送带之一: 大型零件:导向上部传送带 中型零件:导向中型传送带 小型零件:导向下部传送带 根据升降机的位置管理提升(Y2)和下降(Y3)的命令,由以下传感器检测: 上部:X6 中部:X5 下部:X4 零件从升降机转移到传送带后,启动升降机旋转命令(Y4)。 零件转移后,升降机返回其初始位置并保持待命状态。 PLC 逻辑
  19. 舞台控制的 PLC 程序提供幕布的打开和关闭,以及舞台的升降。它提供两种操作模式:自动和手动。 舞台控制的 PLC 程序 下面的模拟显示了 PLC 在舞台控制应用中的使用情况。 这是一个实用项目,我们必须自动打开和关闭舞台幕布,也可以使用按钮手动打开和关闭。传感器用于检测不同点的左右幕布的位置。 打开幕布后,舞台将向上移动并升至顶部位置。同样,当幕布关闭时,中央舞台将向下移动。还将使用下限和上限传感器跟踪舞台位置。 PLC 设备列表 下表列出了此 PLC 程序中的所有输入和输出。 类型 设备编号 设备名称 操作 输入 X0 内部(左幕布 幕布处于一半时为 ON。 输入 X1 幕布完全关闭时 ON 幕布完全打开时 ON。 输入 X2 外侧(左幕布) 幕布完全关闭时 ON。 输入 X3 内侧(右幕布) 幕布打开一半时 ON。 输入 X4 中间(右幕布) 幕布完全打开时 ON。 输入 X5 外侧(右幕布) 舞台到达下限时 ON。 输入 X6 舞台上限 Y2 ON 时舞台向上移动。Y2 OFF 时舞台停止。 输入 X7 舞台下限 舞台到达上限时 ON。 输出 Y0 幕布打开命令 Y0 ON 时幕布打开。Y0 OFF 时幕布停止。 输出 Y1 幕布关闭命令 Y1 ON 时幕布关闭。Y1 OFF 时幕布停止。 输出 Y2 舞台上升 Y2 ON 时舞台上升。Y2 OFF 时舞台停止。 输出 Y3 舞台下降 Y3 ON 时舞台向下移动。Y3 OFF 时舞台停止。 输出 Y5 蜂鸣器 Y5 开启时发出声音(屏幕上的灯亮起)。 程序说明 PLC 程序控制舞台设置,包括打开/关闭幕布和升高/降低舞台。 此 PLC 程序的目的是便于控制一系列舞台设置,包括打开和关闭幕布以及升高和降低舞台本身等任务。为了满足不同的偏好和要求,该程序提供了两种不同的操作模式:自动和手动。 自动操作 按下操作面板上的“开始”按钮 (X16) 时,蜂鸣器 (Y5) 发出声音,持续时间为 5 秒。 注意:“开始” 按钮 (X16) 仅在幕布关闭且舞台位于其下限时激活。 蜂鸣器停止后,打开幕布 (Y0) 的命令被激活。幕布将继续打开,直到达到输入信号 X2 和 X5 定义的外部极限。 一旦幕布完全打开,当“舞台上升”命令 (Y2) 被激活时,舞台开始上升。舞台将继续向上移动,直到达到其上限,如输入信号 X6 所示。 按下操作面板上的“结束”按钮 (X17) 可启动幕布的关闭。关闭幕布的命令 (Y1) 被激活,幕布将关闭,直到达到由输入信号 X0 和 X3 定义的内部限位。 手动操作 以下操作仅在上述自动操作未激活时可用。 可以通过按下操作面板上的“幕布打开”按钮 (X10) 打开幕布。一旦幕布达到其外部限位 (X2 和 X5),幕布将停止。 可以通过按下操作面板上的“幕布关闭”按钮 (X11) 关闭幕布。幕布将继续关闭,直到达到其内部限位 (X0 和 X3)。 按下操作面板上的“⬆舞台上升”按钮(X12)可使舞台上升。舞台到达上限(X6)后停止。 按下操作面板上的“⬇舞台下降”按钮(X13)可使舞台下降。舞台到达下限(X7)后停止。 操作面板上的指示灯将相应地亮起或熄灭,提供有关幕布和舞台操作状态的视觉反馈。 PLC 编程
  20. PLC 编程用于控制传送带方向:根据检测到的零件尺寸促进正向或反向移动。识别每个零件的尺寸并确保其分配到指定位置。 高级 PLC 传送带控制 当操作员按下按钮时,料斗提供不同尺寸的物体,然后传送带和传感器用于根据物体的大小分离物体。 推进器用于分离两种不同尺寸的物体。传送带可以向前和向后移动,以根据其专用的存储托盘放置物体。 机器人用于拾取和放置中型盒子中的物体。 下面的模拟显示了具有不同盒子尺寸的 PLC 传送带模拟。 PLC 输入和输出 下表列出了此 PLC 项目的输入和输出。 类型 设备编号 设备名称 操作 输入 X0 上 当检测到零件时亮起。 输入 X1 中间 当检测到零件时亮起。 输入 X2 降低 当机器人处于起始点时亮起。 输入 X3 检测部分 当检测到零件位于推杆前面时,ON。 输入 X4 初始点 当 Y1 为 ON 时,传送带向前移动。 输入 X5 桌子上的零件 当零件位于桌子上时亮起。 输入 X6 机器人操作完成 当检测到零件处于倾斜状态时打开。 输入 X7 传感器 当在右端检测到部件时 ON。 输入 X10 传感器 当在左端检测到部件时 ON。 输入 X11 传感器 当在右端检测到部件时 ON。 输入 X12 传感器 机器人动作结束时 ON。 输出 Y0 供给指令 当 Y0 为 ON 时,供应一份零件:木制零件按 L、M、S、M、S、L 的顺序重复。 输出 Y1 输送机前进 当 Y2 为 ON 时,传送带向前移动。 输出 Y2 输送机前进 当 Y3 为 ON 时伸出,当 Y3 为 OFF 时缩回。推杆不能在行程中途停止。 输出 Y3 推手 当 Y4 为 ON 时,机器人将零件移动到托盘。一个过程循环开始。 输出 Y4 卸载命令 当 Y5 为 ON 时,输送机向前移动。 输出 Y5 输送机前进 当 Y6 为 ON 时,输送机向后移动。 输出 Y6 输送机反向 当 Y6 为 ON 时,输送机向后移动。 程序说明 按下控制面板上的按钮 PB1 (X20) 时,它会激活料斗的供应命令 (Y0)。一旦释放按钮 PB1,供应命令就会停用。每当执行供应命令时,机器人就会分配零件。 当控制面板上的开关 SW1 (X24) 激活时,传送带开始向前移动。一旦停用 SW1,传送带就会停止。 传送带将大、中、小零件(分别由上部 (X0)、中部 (X1) 和下部 (X2) 传感器分类)运送到指定的托盘。 大部件:导向下部传送带并传送到右侧的托盘。 中部件:由机器人传送到托盘。 小部件:导向下部传送带并传送到左侧的托盘。 当检测部件传感器 (X3) 激活时,传送带停止,大部件或小部件导向下部传送带。 注意:当推杆的启动命令打开时,它会完全伸出。当启动命令关闭时,推杆会完全缩回。 当机器人中的工作台上部件 (X5) 传感器激活时,卸载命令 (Y4) 被启用。当机器人操作完成 (X6) 传感器被激活(当部件放置在托盘上时激活),卸载命令 (Y4) 被停用。 只要控制面板上的开关 SW2 (X25) 处于 ON 状态,在以下情况下就会自动供应新零件: 当机器人开始处理中型零件时 当将小型或大型零件放入托盘时 PLC 编程传送带正反转控制
  21. 计数器是 PLC 编程中非常重要的指令。几乎每个逻辑都需要它。无论是计数某物还是计数事件,计数器都是 PLC 编程的重要组成部分。 因为事件计数在许多应用程序中都有使用,它可以帮助 PLC 程序员节省编写繁琐代码的时间。但是,很多时候,如果计划不起作用,总是需要找到备用解决方案。 对于计数器,如果 PLC 程序员无法正常工作,他们也必须知道备用逻辑。为此,可以组合和编写两个指令 - 移动和添加。 在这篇文章中,我们将学习如何使用移动和添加指令在 PLC 编程中设计计数器。 计数器 首先,我们将看到计数器指令的编写方式。请参阅下图。如您所见,计数器有三个输入 - 计数、重置和设置值;并有两个输出 - 完成和当前值。 需要一个计数输入来为计数器提供计数脉冲,需要一个复位输入来复位计数器,并且需要一个设定值来为计数器提供设定的计数。完成输出用于表示计数器已完成计数,当前值显示计数器到目前为止已计数的当前计数值。 当收到计数输入时,计数器会增加一个值。计数输入以脉冲为基础工作,而不是连续工作。当计数器达到其设定的计数时,输出完成位继续。 然后关闭它的唯一方法是给出复位输入。计数值将在此输入上变为零,计数器因此复位。需要注意的是,即使计数已达到并且您仍然给出计数输入,那么计数也会继续递增。 您还可以看到在计数器输出之后使用了一个比较块,这允许它传递到要打开的最后一位。如果设定的计数为零,这可以防止最后一位不必要地打开。 使用移动指令在 PLC 中设计计数器 现在,我们将了解如何借助移动和添加指令编写相同的代码。请参阅下图。在第一个梯级中,计数输入被添加指令替换。 如果输入条件为真,则会发生加法,并且还会使用脉冲。必须使用脉冲,否则,将持续进行加法,并且无法对其进行控制。 在第二个梯级中,它比较是否已达到设定的计数。它还检查设定的计数是否大于零。 如果这些条件为真,则输出打开。在第三个梯级中,在收到相应的输入后,计数器值变为零。 这相当于重置输入的操作。这三个梯级足以复制计数器的功能。您可以根据需要使用计数器或此 PLC 逻辑。但是,需要注意的是,我们也可以通过这种方式编写计数器。 这样,我们就了解了如何使用移动和添加指令在 PLC 编程中编写计数器。
  22. leikang

    如何更新 PLC 的固件版本?

    在上一篇文章中,我们讨论了 PLC 的固件版本以及如何处理由于 TIA Portal 中的项目与实际 PLC 之间的固件不匹配而可能发生的错误。在本文中,我们将展示如何更新 PLC 的固件版本。 内容: 什么是固件版本? 为什么固件版本会给我带来麻烦? 如何知道硬件 PLC 的固件版本? 如何处理固件版本错误? 如何更新 PLC 的固件版本? 结论。 什么是固件版本? 正如我们在上一篇文章中所解释的那样,PLC 或 PLC 模块(IO、通信模块等)的固件只是安装在 PLC 中的内部软件,它负责硬件的实际功能。 具有较旧固件版本的 PLC 将具有比较新固件版本的 PLC 更少的功能和内部能力。 图片 1 和 2 向您展示了安装不同固件版本后,同一硬件 PLC 的功能和性能如何不同。 图片 1. 固件版本 V4.0 图片 2. 固件版本 V4.4 您可以看到,只需更新到更高的固件版本,CPU 现在就拥有了更多功能。使用更高的固件 V4.4,CPU 现在在其性能能力中添加了 OPC UA 等功能。 为什么固件版本会导致问题? 您将根据以下两点之一在 TIA Portal 中选择 PLC: 您已经购买了硬件 PLC,因此您将选择与 TIA Portal 项目中实际拥有的相同的 PLC。 您还没有购买 PLC,因此您将在 TIA Portal 中选择符合您要求的 PLC,然后稍后再购买。 无论是哪种情况,如果 TIA Portal 项目中选择的 PLC 固件版本与实际硬件的固件版本不同,您就会遇到问题。在某些 PLC 中,您的程序甚至不会下载到硬件 PLC 中。 因此,您应始终确保实际 PLC 的固件版本与 TIA Portal 中选择的 PLC 相匹配。 值得一提的是,如果 TIA Portal 中选择的固件版本比实际 PLC 旧,您的程序不会出现任何问题,您将失去一些 PLC 特性和功能,但您的程序将正常工作。 如果情况相反,则会出现问题,如果 TIA Portal 中选择的固件版本比实际 PLC 新,那么您就会遇到问题。 这就是为什么如果您不知道硬件的固件版本,则应在 TIA Portal 项目中选择旧版本的原因。 如何知道硬件 PLC 的固件版本? 我们可以通过以下两种方法之一了解硬件 PLC 的固件版本: 从 PLC 本身: 任何 PLC 或 PLC 模块的固件版本始终写在硬件设备的某个位置。 从 TIA Portal 软件: 使用 TIA Portal 软件,您可以将 PLC 连接到 TIA Portal 并搜索设备,然后您可以找到硬件设备的固件版本。我们在上一篇文章中展示了如何做到这一点。 如何处理固件版本错误? 如果实际硬件 PLC 的固件版本比 TIA Portal 项目中选择的 PLC 版本旧,这将导致固件错误,为了解决这些错误,我们可以尝试以下方法之一: 我们可以选择 TIA Portal 项目中的 PLC 与实际 PLC 具有相同或更旧的固件版本。我们在上一篇文章中展示了这一点。 我们可以将实际硬件 PLC 的固件版本更新为比项目中选择的固件版本更高的固件版本,或者至少更新为相同的固件版本。这就是本文的范围。 如何更新 PLC 的固件版本? 您可以通过两种方式更新 PLC 的固件版本: 使用 TIA Portal 在线更新。 使用西门子存储卡 SMC 离线更新。 使用 TIA Portal 在线更新固件: 您无需在 TIA Portal 中打开现有项目,只需安装 TIA Portal 软件并将 PLC 连接到 PC 即可。参见图 3。 图 3. 打开 Tia Portal 而不创建新项目。 打开 TIA Portal 后,进入在线访问,选择 PLC 和 PC 之间合适的通信适配器,然后按“更新可访问设备”搜索 PLC。见图 4。 图 4. 查找您的 PLC。 找到 PLC 后(如上图所示),打开 PLC 文件夹,按“在线和诊断”查看 PLC 固件版本。见图 5。 图 5. PLC 的当前固件版本。 现在,要更新固件版本,请按“固件更新”属性。见图 6。 图 6. 固件更新页面。 如您所见,当您按“固件更新”属性时,您可以看到当前固件更新为 V4.1.3,还可以查看固件加载器,您可以在其中浏览要安装的固件版本。 当然,首先您的 PC 上必须有固件版本,这意味着我们需要下载固件版本。要下载固件版本,您应该登录西门子帐户,如果您没有帐户,您可以轻松创建一个新帐户,但需要 1 到 2 天才能激活。 之后,您可以搜索 PLC 的固件版本。在我们的例子中,我们有一个 S7-1200 CPU 1214C AC/DC/RLY,我们将使用其文章编号搜索其固件版本。见图 7。 图 7. 搜索 PLC 的固件版本。 之后下载您要安装的固件版本,在我们的例子中,我们想将我们的 PLC 更新到 V4.4.0,因此我们将此版本下载到我们的 PC。参见图 8。 图 8. 下载 V4.4.0 下载的文件将是一个 zip 文件,您应该解压文件以获取固件版本数据文件,然后返回到固件加载器属性并单击浏览以搜索固件版本。参见图 9。 图 9. 搜索固件版本文件。 不要担心在此步骤中犯错,因为如果固件版本与 PLC 不兼容,您将无法运行更新。参见图 10。 图 10. 如果固件不匹配,更新将无法继续。 如您所见,当我们尝试将 1215C CPU 的固件版本上传到带有 11214C CPU 的 PLC 中时,它给出了一个错误,即该文件不适合 PLC。 现在,再次单击浏览,但这次搜索正确的固件版本。参见图片 11。 图片 11。固件版本正确时没有错误消息。 如您所见,当我们选择合适的固件版本时,没有错误消息,我们现在可以按 “运行更新” 开始更新我们的 PLC。 一旦您开始更新过程,就会出现固件更新窗口,如果更新顺利,最后会出现一条成功消息。参见图片 12 和 13。 图片 12。固件更新正在运行。 图片 13。固件更新成功完成。 现在固件版本已更新,请重新按“更新可访问设备”并检查 PLC 固件版本来刷新您的通信。 您会发现 PLC 的固件版本现在是 V.4.4.0,而不是 V4.1.3,这意味着我们成功更新了 PLC 的固件版本。参见图片 14。 图片 14。固件已更新至 V4.44.0 这就是我们使用 TIA Portal 更新 PLC 固件版本的方法。 离线使用西门子存储卡 SMC: 另一种更新 PLC 固件的方法是使用西门子存储卡 SMC。 为此,我们只需下载要使用的固件版本,然后将固件版本从 PLC 复制到 SMC,然后将 SMC 插入 PLC 中的专用插槽。下次打开 PLC 时,固件将被更新。 结论 您可以使用 TIA portal 软件或西门子 SMC 存储卡更新固件版本。 确保您选择的固件版本完全正确,如果 PLC 和 TIA Portal 之间不匹配,则更新将无法启动。
  23. 在上一篇文章中,我们讨论了 PID 是什么,还解释了 PID 的不同参数以及系统对更改这些参数将如何反应。在本文中,我们将展示如何在 TIA Portal 项目中编程、配置和调整 PID。 内容: 如何将 PID 添加到您的逻辑中? 如何配置 PID? 基本设定过程值设定 高级设置 如何进行 PID 整定? PID 预整定 微调 PID 的整定方法有哪些? 如何将 PID 添加到您的逻辑中? 在 TIA Portal 和几乎所有其他 PLC 平台中,您无需对 PID 控制器进行编程,因为 TIA Portal 已经具有用于 PID 的内置块。要将 PID 添加到您的逻辑中,您只需将 PID 块拖放到您的代码中,然后开始为您的系统配置它。 将 PID 添加到代码中非常简单,但是,有一个非常重要的点您应该考虑。这是你的 PID 的执行间隔。 如您所知,主执行周期发生在主循环 OB1 内部,OB1 的周期时间取决于很多因素,例如代码的长度、代码中的数学计算以及循环和序列,所有这些 不同的因素会导致 OB1 的周期时间不仅可能会变长,而且每个周期都会有所不同,具体取决于您所使用的编码。 这意味着,如果您在主 OB1 内调用 PID 块,则 PID 执行将取决于 OB1 的循环时间,而这不是最佳实践方法。 PID 通常用于控制压力、温度或速度等物理参数,这意味着您的控制器需要非常快速地找出过程值的任何变化,并采取快速反应来抵消这种变化,并为您提供平稳稳定的结果 PID 应该具有的控制。所以如果 PID 加在主 OB1 上,并且受其执行时间的影响,可能需要动作延迟,这会让你的系统不稳定。 该怎么办? 最佳实践是在循环中断 OB 中调用 PID 块,并将该循环中断的循环时间设置为您认为适合您的系统的任何值,通常在毫秒范围内,具体取决于您的应用。这意味着,如果您将循环中断设置为 1 毫秒,则无论主 OB1 周期在哪里,您的 PID 都会每毫秒调用并执行一次。 因此,为了将 PID 添加到您的逻辑中,我们首先添加一个新的循环中断 OB 并为其指定一个适当的名称。见图1。 图 1. 在您的项目中添加循环中断。 从图中可以看到我们将循环时间设置为 1000 微秒或1毫秒。所以我们的 PID 每毫秒都会被调用并执行。 现在您已将循环 OB 添加到项目中,只需拖放 PID 块即可。您可以在指令选项卡/技术/PID 控制/紧凑 PID 中找到它。见图2。 图 2. 添加 PID 块。 现在,将系统参数添加到 PID 块、输入、输出和设定值。见图3。 图 3. 分配 PID 参数。 您从上一张图片中注意到了吗,您有 2 个不同的输入和 3 个不同的输出,它们是什么? 输入: 这是您以实际物理量表示的过程参数的输入值,我们将使用我们的储罐模拟系统,因此在这种情况下,此处的输入是以升为单位的储罐填充液位。这意味着您已经在项目的其他地方进行了模拟输入缩放,并且只需向 PID 提供以升为单位的实际填充水平。 输入_PER: 这是过程参数的输入值,但来自模拟输入模块。这意味着它不会被缩放,并且它将在 0-27648 的范围内,并且输入的缩放将在 PID 内部完成。 输出: 在这种情况下,PID 将为您提供最大输出值的 0% 到 100% 范围内的控制器输出值。 输出_PER: 与 input_PER 相同,PID 将以 0-27648 的形式给出输出。 输出_PWM: 在这种情况下,PID将以ON/OFF脉冲的形式给出其输出信号,因此要么有输出,要么没有输出。ON 时输出值为 100%,OFF 时输出值为 0%。 我们将使用之前使用的相同坦克模拟系统,正如您从上图中看到的,我们使用了 Input 和 Output_PER,因为我们的模拟就是这样构建的。 如何配置 PID? 要进入 PID 的配置视图,您可以单击项目树中的配置选项卡,也可以单击 PID 块本身上方的小配置图标。见图4。 图 4. 进入配置视图。 这将带您进入功能视图,您可以在其中配置 PID 的不同设置。见图5。 图 5. 控制器类型设置。 第一个配置是控制器类型,在这里您可以选择要使用的控制类型,显示的下拉菜单中有很多选项,例如温度、压力、长度等等。 您还可以将其设置为常规,系统会将您的值视为%。在我们的系统中,我们控制水箱内的水升,因此我们将选择体积。 您还可以设置 PID 的手动/自动模式。 接下来,您要配置输入/输出参数。见图6。 图 6. 输入/输出参数。 在这里,您可以选择不同类型的输入或输出,正如我们之前所解释的。正如我们所说,我们将使用 Input 和 Output_PER。 接下来,您需要配置过程值设置。见图7。 图 7. 过程值限制。 在此步骤中,您将设置过程值的下限和上限。如果您选择输入类型。然后此设置将开放更改,并且您可以设置流程的限制。在我们的例子中,水箱限制为 0 至 50 升。所以我们将其设置为这些值。 请注意,如果您选择 Input_PER,则此设置将不可用,您只能从下一个选项卡设置进程限制。见图8。 图 8. 过程值缩放。 如果您使用 Input_PER,那么如上图所示,您可以根据 0-27648 的缩放比例设置过程值限制。 如果您想在过程值达到下限或上限时设置警告,则可以在过程值监控选项卡中进行配置。见图9。 图 9. 过程值监控。 接下来在设置列表中您将找到 PWM 限制,见图 10。 图 10. PWM 限制 在这里,您可以设置输出的最小开启和关闭时间,假设您的系统中有一个泵或阀门,PID 通过 PWM 输出进行控制,您不希望 PID 只为您的泵提供一个序列 非常快速的开/关行为,因为这可能会导致您的泵烧坏。因此,您可以通过此设置告诉 PID 在关闭泵之前将泵打开最短时间,反之亦然。 如果您没有下一个设置(输出值限制)的 PWM 输出,您可以使用 PID 进行相同的控制。见图11。 图 11. 输出值限制。 您可以控制控制输出的下限和上限,例如,您可以将下限设为 20%,这将使 PID 以至少 20% 的流量运行泵。所以你的控制范围是 20% 到 100%。 最后也是最重要的,您可以在下一个选项卡“PID 参数”选项卡的配置模式下设置 PID 参数,见图 12。 图 12. PID 参数。 如果您知道 PID 增益 P、I 和 D,或者您自己进行了调节并且您从其他地方获得了参数,您可以在此处编写 PID 增益 P、I 和 D 的调节参数。您还可以选择使用 PID 或仅使用 PI 控制器。 如果您没有这些参数,您可以在调整 PID 后自动上传它们。 如何进行 PID 整定? 现在您已完成 PID 配置,您可以从项目树中的调试选项卡轻松调整控制器。见图13。 图 13. 调试 PID 在调试页面,您的屏幕分为三个部分,上面的页面是您可以开始预调节和微调 PID 的地方。 在中间,您将有一个图形区域来显示系统的实时响应。您可以看到控制器输出和过程值。每次设定点发生变化时,您都会看到 PID 捕捉新设定点的行为。即使设定点没有改变,但例如我们的储罐供应需求增加,您也会看到 PID 反应来满足该需求,并将设定点保持在其所需值。 在第三个区域中,您将看到控制器的在线状态,并且您还可以决定 PID 的运行模式。请参见以下模拟视频,该视频显示了 TIA Portal 中 PID 的自动整定过程。 从视频中您可以看到,预调节完成后,我们的 PID 找到了最适合我们系统的 P、I 和 D 参数。您可以看到,当设定点或流出量发生变化时,控制器将非常快速地做出反应,将设定点恢复到所需的值。 现在,您只需单击按钮即可将调整参数直接上传到项目中,见图 14。 图 14. 上传您的参数。 上传参数后,您可以在配置视图的 PID 参数选项卡中找到它们。见图15。 图 15. PID 参数。 然而,下一步应该是从相同的调试视图对 PID 执行微调程序,因为我们没有真正的系统,我们只是使用数学计算来模拟水箱和泵的行为,我们可以 t 进行微调步骤。 当您拥有真实的系统时,您可以进行微调,您的 PID 将尝试找到能够为系统提供更好响应的参数,甚至消除过程值的超调并直接达到设定点。 将来,如果我们有一个真正的系统,我们可以展示它是什么样子。 PID 控制器的整定方法有哪些? 您不必使用 TIA Portal 调整 PID;有许多不同的方法可以尝试为您的系统找到最佳 PID 参数。它主要是基于反复试验的数学方法。我建议使用 TIA Portal 中的自动调整功能。 但这里有一些用于实现相同参数的方法。 启发式调整。 Ziegler-Nichols 调谐方法 Cohen-Coon 调谐方法 Kappa-Tau 调谐方法 Lambda调优方法 还有其他一些。 结论 对 PID 使用循环中断。 配置您的 PID 以最适合您的系统。 TIA Portal 中的自动调节功能非常有用且有效。
  24. leikang

    PLC 系统设计中的安全考虑

    PLC 是工业自动化中非常重要的组成部分。它是自动化的基础,每个 PLC 程序员或自动化工程师都必须正确设计它才能正常工作。这不仅仅涉及编程,还涉及最终如何设计 PLC 系统。 PLC 系统设计中的安全考虑 我们都认为,如果正确地编写了一个程序,并且所有的联锁、顺序和流程都正确,那么我们的 PLC 系统就可以使用了。但是,必须指出的是,设计任何系统时最重要的参数之一是安全性。因此,类似地,PLC 系统的设计必须考虑安全性。 在本文中,我们将了解设计 PLC 系统时的安全注意事项。 电源 这是考虑 PLC 设计时首要的参数。面板中有两种类型的电源 - 直流电源和交流电源。DC 通常为 12-24V DC,AC 通常为 110V AC 或 230V AC。 PLC 由任一电源供电,现场仪表也由任一电源供电。如果面板具有单个 SMPS 或 230V 单母线,那么设计人员就可以轻松地为系统接线。如果面板有多个电源,则您可能会错误地连接一个电源的正极线和另一个电源的负极线。这反而会使您的系统变得复杂,并使故障排除变得更加困难。因此,单个电源还可以最大限度地减少线路干扰,并防止从稳定的交流电源到电源和 CPU 的错误输入信号。 多个电源是不必要的,而且还会增加短路和频繁故障的可能性。因此,电源设计是 PLC 系统安全运行的一个非常重要的因素。 接地 众所周知,接地需要将任何泄漏电流传递到地面。这样可以防止触电、噪音和电磁干扰。工业区域标准中性点对地电压必须小于 0.5V。 1V 稍高一点是可以接受的,但如果高于此值,则意味着接地不正确,电信号发生泄漏会影响性能。PLC 电源和 IO 通道必须正确接地并连接到面板中的接地母线。 另外,仪表接地与电源接地必须分开;否则,任何接地合并都会造成短路或信号干扰。 关键数字输入信号 每个 PLC 系统都必须具有紧急停止、面板电源故障和气压等关键输入。此外,所有这些信号必须以 NC(常闭)格式连接。 急停用于操作人员按下该按钮时使系统突然停止,面板断电用于当相电源出现问题时使系统停止,气压信号表示是否需要空气来操作阀门 或其他气动输出是否正确。 如果这些输入中的任何一个失败,所有操作都应立即停止。在一些大型系统中,还观察到,如果按下紧急按钮,则不是停止整个系统,而是为各个大额定输出提供紧急停止。因此,操作员可以轻松隔离每个系统并操作其他系统,而不用停止整个系统。 手动模式联锁 程序员总是轻视手动模式逻辑。他们的动机只是打开或关闭输出。然而,必须注意的是,任何不规则的手动输出操作都会影响系统的性能。如果系统非常关键,那么它可能会对附近人员造成危及生命的问题。 因此,建议也在手动模式下应用警报或其他关键联锁装置。这可以防止操作员随意操作系统。而且,由于这种逻辑,保证了 PLC 系统的安全。 警报 控制逻辑文件中给出的所有警报通常由程序员在程序中获取。然而,PLC 程序员必须根据 PLC 中获取的 IO,在系统中提供一些额外的安全警报。 这些通常是运行反馈报警、跳闸反馈报警、超行程或欠行程报警、传感器故障报警、PLC 通道故障报警、热过载报警、恒温器报警、过压或欠压报警等。这些报警因系统而异,基于 实际投入的情况。 但是,如果这些输入中的任何一个不存在,那么建议程序员向客户提出相同的建议以供考虑。这可以防止系统以故障方式运行。 这样,我们在设计 PLC 系统时看到了一些一般性的安全考虑。
  25. 在上一篇文章中,我们讨论了什么是 UDT、如何创建用户定义数据类型 (UDT) 以及在项目中使用 UDT 的优势。在本文中,我们将展示在 PLC 编程中使用 UDT 的一种方法。 内容: 旧储罐模拟器功能块。 带 UDT 的新储罐模拟 FB。 调用新的储罐模拟 FB。 向 UDT 添加新标签。 结论。 PLC 编程中的 UDT 在我们的前几篇文章中,我们使用相同的储罐模拟器系统来解释许多概念,例如闭环控制和 PID 控制器。在本文中,我们将使用相同的储罐模拟器来展示如何在编程中使用 UDT 的概念。 旧储罐模拟器功能块 在旧的储罐模拟器系统中,我们定义了一些内部参数,以便根据需要多次重用功能块。见图1。 图1. 储罐模拟器 FB。 从图中可以看出,在功能块接口中我们定义了一些输入和一些 InOut,这些参数应该在调用 FB 时提供。 例如,如果我们调用FB来模拟储罐1,并再次调用它来代表储罐2,则需要将每个储罐的参数提供给相关的被调用功能块。见图2。 图 2. 储罐1 和储罐 2 的模拟。 您可以看到,对于每个 FB 调用,我们都必须分配相关标签。对于储罐 1 模拟,我们应该将储罐 1 的标签分配给调用的 FB。储罐 2 模拟也是如此。 带 UDT 的新储罐模拟 FB: 现在,我们想要使用我们在上一篇文章中定义的 UDT“Tank”来模拟我们的储罐。我们将创建一个新的模拟功能块。见图3。 图 3. 添加新的储罐模拟 FB。 新的模拟功能块与旧的 FB 具有相同的逻辑,但是在这个模拟功能中,我们将使用定义的 UDT“Tank”作为 InOut 内部标签,如图所示。 因此,您不再需要在 FB 接口的不同区域中声明功能块参数,而是只需一个标签即可携带罐体的所有所需信息。 调用新储罐模拟 FB: 为了调用新的模拟功能,我们选择在循环中断 OB 内调用它,以确保功能块的执行不受主逻辑 OB1 循环时间的影响,正如我们用 PID 解释的那样。 所以我们需要首先创建一个新的循环中断 OB。见图4。 图 4. 为调用储罐 3 和 4 添加循环中断。 您可以选择您认为合适的循环时间,在我们的例子中,我们将其设置为 3000 微秒或 3 毫秒。 现在,您可以将 “Tank Simulator with UDT” FB 拖放到循环中断中以调用 FB。将出现一个调用选项窗口,为 FB 数据实例提供您喜欢的任何名称。见图5。 图 5. 致电您的 FB。 调用 FB 后,您知道需要分配与要模拟的储罐相关的参数。见图6。 图 6. 将储罐参数分配给 FB 调用。 请注意,您只有一个参数需要填充该功能块。这是您创建的 UDT 标签。其中已经包含功能块所需的所有储罐参数。 我们想要模拟储罐_03,因此我们将标记分配给 FB 调用。见图7。 图 7. 拖放您的标签。 罐 3 的功能块调用看起来比使用不带 UDT 的旧模拟器 FB 调用罐 1 更简单。见图8。 图 8. 储罐 1 和储罐 3 调用差异。 你能看出两个储罐调用的区别吗? 如果没有 UDT,则必须提供功能块的所有参数。想象一下,如果您必须使用此模拟器模拟 50 辆储罐。分配所有这些参数将是非常无聊和耗时的,更不用说首先为每个储罐声明它们了。 但对于带有 UDT 的模拟器来说,您可以调用任意多个,并且不会花费太多时间或精力。见图9。 图 9. 呼叫许多其他储罐。 现在,假设您必须向模拟中添加一个新变量。例如,您想要添加流出警告信号。对于没有 UDT 的旧模拟器功能块,这意味着您必须为每个储罐声明这个新标签,并且每次调用储罐时都必须将其一一添加。 但使用 UDT,您只需要更新您创建的 UDT 并添加您想要的新标签。见图10。 图 10. 向 UDT 添加新标签。 当您对 UDT 进行任何更改时,您甚至不需要更新函数调用。由于调用参数相同,因此更改是在参数本身内部进行的。见图11。 图 11. 无需调用 FB。 但是,您仍然需要重新编译 PLC 项目或至少重新编译数据块,以便更新对 UDT 的更改。见图12。 图 12. 重新编译以更新 UDT 的更改。 编译后,对 UDT 的所有更改将自动更新到该 UDT 的所有声明标签。见图13。 图 13. 所有标签现已更新。 结论 您可以在项目中使用 UDT 来使您的编程更快、更容易理解。 使用 UDT 还可以更轻松地更改功能和功能块。
×
×
  • Create New...