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.

Calendars

  • Community Calendar

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 155 results

  1. leigehong

    PLC 编程人员现场携带所需工具

    每当 PLC 程序员访问现场进行调试或进行某些服务呼叫时,他必须知道在开始工作之前必须携带哪些工具。这是因为大多数地点都非常偏远,如果忘记携带,并非所有材料都可以轻松获取。因此,如果他小心谨慎并随身携带必要的材料,那么他就可以轻松完成工作。 当程序员阅读待办事项列表时,通常会出现很多混乱;所以,我想简单地提一下,以便他们能够快速掌握。 PLC 编程工具 PLC 程序员所需的主要工具如下所述。 安装了 PLC 软件的笔记本电脑 USB 至 PLC 接口电缆 以太网电缆 螺丝刀套装 电气测试表(万用表) 剥线钳 钢丝钳 接线端子螺丝刀 电工胶带 便携式硬盘或 USB 闪存驱动器 RJ45 压接工具 串行转换器(RS232 到 USB 等) IP 配置工具(可选) 用于标记电线的标签机 工业以太网交换机 模拟信号环路校准器 绝缘钳 用于记录的笔记本和笔 用于现场标签的便携式打印机 防静电手腕带 注意:所需工具可能因具体 PLC 品牌、型号和现场工作性质而异。始终确保携带必要的个人防护装备 (PPE)。 在这篇文章中,我们将看到 PLC 程序员在现场需要携带的工具。 合适的笔记本电脑 这是首要的基本要求。屏幕/硬件损坏、RAM 性能缓慢或内存不足的劣质笔记本电脑可能会严重妨碍程序员的工作。所有必备软件都必须存在于程序员使用过的笔记本电脑中。 任何不正确安装的软件都会以非常糟糕的方式破坏他的工作。他的所有通信端口都必须正常工作。笔记本电脑充电器必须正确。除此之外,Wi-Fi 等网络适配器必须正常工作。 编程电缆 当 PLC 程序员到达现场时,他基本上是要连接到一些自动化设备。为此,他必须携带所有必备的编程电缆。在前往现场之前,他必须在办公室检查这些电缆。 例如,如果 PLC 有 USB 端口、LAN 端口和 RS485 端口,那么他至少必须携带 USB 和 LAN 电缆,这些电缆很容易获得。只携带一根电缆是有风险的。 笔式驱动器/便携式硬盘 外部存储是必须的,因为您可以随时需要它来传输文件或存储备份。存储必须有足够的可用空间,以便在需要时存储数据。 如今,许多自动化设备都配有 USB(笔式驱动器)端口;因此,如果电缆不起作用,携带它可以增加安全性。 鼠标 在现场,PLC 程序员大部分时间都面临着按时完成任务的压力。使用笔记本电脑触摸板会消耗大量时间。 此外,笔记本电脑触摸板使图形设计变得忙碌。因此,携带 USB 鼠标可以帮助他们轻松完成任务。 螺丝刀套装 螺丝刀对于 PLC 程序员来说是非常重要的工具。如果他在现场遇到任何接线问题,或者接线工需要他的一些额外帮助,那么各种尺寸的螺丝刀将非常有用。 此外,PLC 程序员可以在没有人帮助的情况下独立处理一些电气接线,以快速解决任何问题。 剥线钳 与螺丝刀类似,剥线钳也发挥着重要作用。如果突然需要进行大量接线,那么 PLC 程序员只需剥去线头并按要求进行接线即可独立完成。 网络连接 由于 PLC 编程器可以多次要求在线支持访问,因此要求 SIM 卡有足够的数据并且速度必须足够好以支持。 通常,您的 SIM 卡也有可能无法访问该网站。在这种情况下,请向当地工程师寻求帮助以获取他们的数据,或者更好的是,您可以携带网络适配器以获得最佳使用效果。 文具用品 如果 PLC 程序员携带记事本、钢笔、记号笔等书写用的文具,那就太好了。很多时候,在工作中写一些东西可以帮助程序员在压力大的情况下记住事情。 此外,由于客户持续不断地要求完成工作,编写东西使程序员的工作变得更容易。 这样,我们就看到了 PLC 程序员在现场需要携带的必备工具。
  2. 在工业自动化中,有时 IO 仪表距离面板很远,由于距离太远而无法与本地 PLC 连接。 因此,可以使用远程 IO 模块,仅将这些 IO 的数据与主 PLC 进行通信。这使得通信更加容易,并为仪器工程师提供了将仪器放置在任何需要的地方的灵活性。 远程 IO 适配器模块 远程适配器与主 PLC 之间的通信大多通过以太网完成,这是最快、最高效的通信方式。 许多 PLC 品牌都提供此类远程 IO 模块。其中,施耐德电气就是这样一个品牌,其中有 BMXCRA 或 BMECRA 模块可供使用。在这篇文章中,我们将了解施耐德 PLC 中 CRA 模块的概念。 施耐德 PLC 中的 CRA 模块 图片:BMXCRA31210、Modicon X80 RIO 模块 CRA 是 Schneider PLC 自动化系列中的远程 IO 适配器模块。它没有任何 CPU 来编写逻辑;它只是一个数据通信器。它获取 IO 值并将其不断更新到主 CPU。该模块工作在以太网 IP 协议上。它有三个 LAN 端口用于工作。 除了标准 IO 值外,该模块还提供各种类型的诊断以进行故障排除。这有助于程序员更灵活地编写逻辑。例如,您有三个 IO 模块,距离 CPU 非常近。然后,只需在软件中的 CRA 模块中配置这三个模块即可;然后 CRA 将使用它与 CPU 进行数据通信。 模块配置 该模块上有两个旋转开关。它们定义了模块的 ID。例如,系统中使用了 4 个 CRA 模块。所有四个都彼此相距很远。然后,每个模块必须被赋予一个单独的标识,以便 CPU 逻辑可以轻松区分。 另外,模块 IP 在 CPU 程序中设置。CRA 模块中没有任何配置。只需在 PLC 逻辑中为 CRA 模块正确配置 IP 地址,通过旋转开关设置 ID,您的 CRA 模块就会开始相应运行。 该模块有四个 LED 用于故障排除 – 运行、IO、模块状态和网络状态。详细阅读模块的目录以获得正确的描述。 施耐德 PLC 通讯模块 该模块仅在 Schneider PLC 的 M580 和 Quantum 系列中受支持。该模块的一个有趣之处在于它具有大量的通信服务,例如 SNMP 代理、SNTP 客户端、FDR 客户端、FTP 客户端、TFTP 客户端、DHCP 客户端、CIP 显式消息和服务质量。所有这些都是网络安全功能的一部分,有助于保护模块免受网络攻击。 CRA 模块是完全冗余的。这取决于您如何将系统联网。冗余级别取决于布线方式以及拓扑结构。基于此,您可以安全地操作逻辑,而不必担心 IO 数据丢失。 例如,您有两个 CRA 模块并需要 IO 冗余。根据其支持的拓扑,您可以这样设计网络:如果第一个 CRA 模块的一个 LAN 端口发生故障,您可以通过第二个 LAN 端口将数据传输到第二个 CRA 模块,然后传输到主 PLC。有多种路由选项可供选择。 这样,我们就看到了施耐德 PLC 中 CRA 模块的概念。
  3. 在工业自动化中,IO 分为三种类型:本地、远程和分布式。 它定义 IO 是位于本地电气面板还是远程网络面板中。 这是根据面板上现场仪表的位置决定的。 不同类型的自动化制造商都有相应的模块,用于使用远程 IO。 罗克韦尔就是这样的著名品牌之一。 在罗克韦尔 PLC 中,IO通信最常用的网络适配器是 AENT 模块。 该模块可以连接在本地 PLC 以外的位置,并通过以太网通信与其连接。 相应的 IO 与 AENT 模块连接。 在这篇文章中,我们将了解罗克韦尔 PLC 中 AENT 模块的概念。 罗克韦尔 PLC 中的 AENT 模块 如前所述,AENT 模块是一种远程 IO 适配器。 该模块内部没有任何 CPU; 它只是一个网络接口,用于通过以太网 IP 协议与主 PLC 进行现场 IO 通信。 这意味着该模块中不能写入任何逻辑,因为它只会读取配置有该模块的 IO 模块的数据并将其写入主 PLC CPU。 您最多可以将 64 个 IO 模块与 AENT 模块连接以进行连接。 一般用 1734-AENT 系列来标识。 不仅是 IO 数据,您还可以通过该模块获得 IO 的每个诊断信息。 这使得故障排除更加容易。 模块通信通过以太网 IP 协议进行,并且为此配备了 RJ45 端口。 它可以以半双工或全双工模式进行通信。 该模块的标准电源为 24V DC。 IP 地址配置 在模块中设置 IP 地址的一般方法有 3 种: 通过设置其上的开关(它有三个数字,表示 IP 地址的最后三位数字) 使用 Rockwell 提供的 BootP/DHCP 软件 使用 Rockwell 提供的 IP 配置软件。 设置 IP 地址后,即可使用该模块与主 PLC 进行通信。 在 PLC 软件 (Studio 5000) 中,必须在此 AENT 模块中配置 IO 模块。 然后,这些模块通过 AENT 模块将其 IO 状态传达给主 CPU。 该模块可用于星形拓扑或树形拓扑。 该模块具有以下用于诊断的 LED – 模块状态、网络状态、网络活动、POINT 总线状态、系统电源和现场电源。 您可以通过阅读其目录来获取每个 LED 的详细说明。 这有助于模块的详细故障排除。 需要注意的是,模块连接的电源最多只能驱动 10 个 IO 模块; 因此,AENT 中每连接 10 个模块后就需要一个电源模块。 机箱尺寸 与该模块相关的最重要的术语之一是机箱尺寸。 机箱尺寸是指与 AENT 连接的模块数量。 例如,如果使用 19 个 IO 模块,则必须将 AENT 配置中的机箱大小设置为 20。 适配器将此机箱尺寸设置存储在非易失性存储器中。 当适配器的非易失性机箱尺寸与其背板上的实际模块数量不匹配时,适配器将不会进行任何 I/O 连接。 此外,一旦您在线,除了离线配置之外,您还需要在线设置此大小。 完成此步骤后,您才可以使用该模块与主 CPU 进行 IO 值通信。 AENT 模块是更高系列的适配器,因此仅与三种类型的 PLC 一起使用 - Control Logix、Compact Logix 和 Flex Logix。 这样,我们就看到了罗克韦尔 PLC 中使用的 AENT 模块的概念。
  4. 在任何 PLC 中,了解其指令的编写方式都很重要。 所有语言的基本理解都是相同的; 不同之处在于它的说明方式。 如果我们清楚地了解说明,那么我们就可以使用任何类型的 PLC 软件。 自动化领域使用最广泛的品牌之一是罗克韦尔。 其中有许多不同类型的指令用于编程。 其中,有两条指令是任何 PLC 逻辑中最需要的。 它们是——单次上升沿和单次下降沿。 在这篇文章中,我们将看到这两条指令的工作原理。 一触发上升沿 (OSR) 在 PLC 编程中,您一定听说过两种常见的对象类型——正峰值和负峰值。 正峰值意味着仅当变量从 0 变为 1 时才会触发。该对象的输出为触发脉冲类型。 现在,PLC 中不再有变量状态,而是一条附加指令,您可以在其中获取整个梯级的触发输出。 这意味着,当整个梯级或条件将其状态从 0 更改为 1 时,输出将处于脉冲型触发条件。 这是 PLC 中的上升沿触发指令。 在罗克韦尔 PLC 中,称为单触发上升沿指令。 可以参考下图来理解。 正如您所看到的,该指令在其条件下接受两个输入。 两者都写成 NO 逻辑; 意思是当两者都打开时,只有条件为真。 现在,当这种情况发生时,指令中有两个变量——存储位和输出位。 存储位的作用是存储条件状态。 当这两个位都打开并且条件从 0 变为 1 时,存储位将更新为 1 并将该值传递到输出位。 输出位打开的时间很短(以毫秒为单位)。 PLC 程序员可以在其逻辑中使用该脉冲输出。 只要条件为真,存储位就不会改变。 一旦条件变为假,存储位就会更新为 0。当条件再次变为真时,输出位将作为脉冲打开。 这表明,当您只想通过一个脉冲来打开输出时,该指令非常有用,并且该脉冲必须仅在整个条件为真时生成,而不是在单个变量变为真时生成。 一击下降沿 (OSF) 现在,举一个需要在系统停止时采取行动的例子。 这意味着,当条件从真变为假时,必须采取某些行动。 并且该动作必须以触发器类型完成; 它不应该持续打开。 这称为负峰值。 要执行此函数,必须从变量中获取负峰值,或者必须从整个条件中获取负峰值,如前所述。 对于第二种类型,Rockwell PLC 使用单触发下降沿指令。 请参阅上图。 梯级中有 2 个 NO 条件,并且该梯级的输出连接到 OSF 块。 该块有两个位——存储和输出。 存储位用于存储梯级的状态。 当条件为真时,存储位更新为1。当条件从真变为假时,存储位更新为 0,输出位以脉冲形式变为 1。 当条件再次成立时,循环会再次重复。 输出位为脉冲形式,并且持续时间很短(以毫秒为单位)。 这表明,当您只想通过一个脉冲来打开输出时,该指令非常有用,并且只有当整个条件为假时,而不是在单个变量变为假时,才必须生成该脉冲。 这样,我们就看到了罗克韦尔 PLC 中的单次上升沿和单次下降沿指令。
  5. 在本文中,我们将讨论分散式外设或分布式 IO,我们不会研究 TIA Portal,我们只是讨论什么是分布式 IO 以及我们为什么需要它。 内容: 什么是外部外设或分布式 IO? 一个简单的例子来解释分布式 IO 的需求。 o 1 台带有 PLC 的机器。 o 1 台带有 PLC 的机器位于远离安全的地方。 o 2 台或更多台具有相同 PLC 的机器 o 已安装具有不同 IO 模块(GSD 文件)的机器 结论 外围设备 分布式 IO 设备是用于自动化和控制系统的设备。 它们充当中央控制器 (PLC) 与自动化过程中安装的不同传感器和执行器之间的中介。 将它们想象成从传感器收集信息并将命令传递给执行器的信使。 分布式 IO 这种分布式方法简化了接线,您无需将所有电线直接连接到 PLC,而是将这些分布式 IO 设备安装在机器端。 它们从传感器收集信息(例如温度或运动)并向执行器(例如电机或阀门)发送命令。 这使得整个系统工作流畅,布线更少,也更容易管理和扩展,从而提高了系统的灵活性。 在下一节中,我们将使用一些示例以更简单的方式解释分布式 IO 的想法和需求。 简单举例说明分布式 IO 的必要性 假设我们有一台生产机器,这台机器是通过 PLC 控制的,任何类型的 PLC,见图 1。 图 1. 通过 PLC 控制的生产机器。 正如您所看到的,控制机器的 PLC 安装在现场机器侧。 我们知道 PLC 被设计为能够在恶劣的环境下运行,因此将 PLC 安装在机器侧并不是一个坏主意,因为我们知道它将能够承受与机器相关的不同运行条件, 环境温度高、湿度大、震动等造成的枯萎。 现在,如果我们需要修改流程并增加对机器的控制,这意味着我们需要增加机器的输入和输出数量,这意味着我们需要获得更大数量的 PLC IO,或者至少我们需要将 IO 模块添加到当前的 PLC。 您应该知道,向当前 PLC 添加额外的 IO 模块将取决于您为项目选择的 PLC,因为每个 PLC 都有您可以添加到 PLC 的最大 IO 数量。 因此,如果我们需要的额外 IO 数量超过了我可以添加到 PLC 的最大 IO 数量,那么我将不得不购买更大的 PLC,这意味着将您的软件重写到新的 PLC 或至少迁移您的软件 项目。 见图 2。 图 2. 用于新机器扩展的更大 PLC。 因此,对于新的扩展,我们必须购买更大的 PLC。 现在,我们说 PLC 可以在现场安装,并且它的设计能够承受恶劣的环境,但通常情况并非如此,通常情况下,PLC 安装在远离条件良好且受到保护的地方,例如 MCC 房间。 这意味着我们过程的每个输入或输出信号都必须从机器侧连接到 PLC(MCC室),因此如果我有 100 个 IO 信号,那么我将不得不在机器和 PLC 之间拉动 100 个信号电缆 。 如果我将来需要进行任何扩展,我将不得不拉动额外的新电缆。 见图 3。 图 3. MCC 机房内安装 PLC。 正如您所看到的,我们现在必须为流程中的每个 IO 信号在 PLC 和机器之间拉一根电缆。 这对于 IO 数量较少的小型机器来说是可以接受的,但对于具有大量 IO 的大型进程来说就不是那么容易接受了。 因为这将包括拉动大量电缆,这将增加该过程的成本,并且还会引入需要注意的新问题,例如电缆管道、EMC 兼容性、电缆桥架以及更多额外的考虑因素。 这就是外部外设或分布式 IO 模块变得非常有用的地方。 见图 4。 图 4. 使用分布式 IO 设备。 分布式 IO 模块简单来说就是安装在机器端的 IO 模块,用于收集过程的所有输入并发送给 PLC,也可以从 PLC 获取输出信号并发送给相关的执行装置。 从图中可以看到,PLC 和机器之间的连接现在是通过在分布式 IO 设备和 PLC 之间拉一条通信电缆来完成的。 分布式 IO 设备具有多种通信功能,在我们的示例中,我们假设采用 Profinet 通信,因此颜色为绿色。 使用分布式 IO 设备将为您带来扩展过程 IO 的优势,而无需安装更大的 PLC。 您只需将新的 IO 添加到设备中,PLC 之间的通信仍然使用 Profinet 或任何其他通信方法进行通信。 您甚至可以使用同一个 PLC 控制全新的机器,只需将新的通信电缆从 PLC 拉到新机器即可。 见图 5。 图5.用同一个 PLC 控制 2 台机器。 正如您所看到的,要使用 PLC 控制一台全新的机器,我只需要一根连接 PLC 和机器的额外通信电缆。 当然,您需要确保您的 PLC 功能可以处理和控制两台机器。 另一件事是,分布式 IO 可以与不同品牌的 PLC 一起使用,这意味着我可以将不同品牌的分布式 IO 与西门子 PLC 一起使用。 见图 6。 图 6. 使用不同品牌的分布式 IO。 如图所示,一台机器使用 SIEMENS 分布式 IO 设备,另一台机器使用 Schneider 分布式 IO 设备,并且两台机器都将通过同一台 PLC 进行控制。 结论 分布式 IO 设备用于扩展控制系统的范围,允许长距离连接大量传感器和执行器。 与传统的机器 - PLC 信号连接相比,分布式 IO 减少了所需的接线量。 在分布式 IO 系统中添加或删除设备很容易,使其具有高度可扩展性和可靠性。
  6. leizuofa

    如何在 PLC 项目中配置分布式 IO?

    在之前的文章中,我们简单介绍了分布式 IO 设备的概念、它们是什么以及为什么我们需要它们。 在本文中,我们将展示如何在 PLC 项目中配置分布式 IO 设备。 与往常一样,我们重点关注西门子和 TIA Portal 系统,因此我们将展示使用西门子 ET200S 分布式 IO。 内容: 分布式 IO 设备的硬件配置。 将 IO 模块分配给控制器。 将配置下载到实际的硬件模块。 分布式 IO 设备的硬件配置 任何分布式 IO 设备的硬件配置只是意味着将该 IO 设备分配给项目中的某个控制器,以便来自该 IO 的输入信号将到达该 PLC,并且输出命令将来自该 PLC。 让我们将 PLC 添加到我们的项目中,看看如何继续。 见图 1。 图 1. 将 PLC 添加到我们的项目中。 从我们刚刚添加的 PLC 中可以看出,PLC 已经有一些集中式 IO,但在本文中,我们假设机器的一部分距离很远,我需要连接到 PLC,在这种情况下, 我们将使用安装在机器部分的分布式 IO 设备,它将拥有与机器该部分相关的所有 IO,然后分布式 IO 设备将通过适当类型的通信方法(如 Profinet 或)与 PLC 进行通信 现场总线。 PLC 项目中的分布式 IO 让我们添加 ET200S 设备。 见图 2。 图 2. 添加您需要的 IO 模块。 从图中可以看出,有很多不同的 IO 模块可供您根据您的应用进行选择。 我们将选择标准的 ET200S 模块。 见图 3。 图 3.拖放 ET200s 模块 如图所示,只需将 IO 模块拖放到项目的网络视图中即可。 请注意,我们为 IO 模块选择的 Profinet 接口与我们的 PLC 相同。 将 ET200S 模块添加到我们的项目后,我们可以开始将我们的输入和输出模块添加到 ET200S,您可以从右侧的硬件目录栏找到与所选模块兼容的所有 IO,见图 4。 图 4. 为 ET200S 添加 IO。 正如您从图片中看到的,我可以通过将 IO 拖放到空白区域来添加它们。 ET200S 可以使用的最大 IO 数量取决于它的类型和规格。 要添加输入和输出模块,只需将其从右侧的硬件目录中拖放到即可,见图 5。 图 5. 拖放您需要的 IO。 将 IO 模块分配给控制器 现在,您将分布式 IO 模块添加到项目中,您会注意到 IO 设备未分配或连接到任何控制器。 见图 6。 图 6. 添加的 IO 模块未分配给 PLC。 查看分布式 IO 模块未分配给任何控制器的另一种方法是,没有为我的 IO 分配地址。 由于它没有连接到任何控制器,见图 7。 图 7. 地址未定义。 如图所示,I 和 O 地址区域为空白,表明它们尚未分配给控制器。 所以我们需要将 IO 模块分配给 PLC。 要将 IO 模块分配给控制器,我们需要进入网络视图,选择 IO 模块,然后右键单击并按 “分配给新的 DP 主站/IO 控制器”,见图8。 图 8. 将 IO 模块分配给控制器。 按下 “分配给新的 DP 主站/IO 控制器”后,会出现选择 IO 控制器窗口,您可以在其中选择要分配 IO 模块的 PLC,在我们的项目中我们只有一个控制器,因此该窗口 将仅显示一个选项。 见图 9。 图 9. 选择 IO 控制器窗口。 一旦按下 OK,IO 模块将被分配给 PLC。 现在,如果你检查 IO 模块的设备视图,你会发现输入和输出现在已经在项目中分配了地址,这意味着它们现在属于某个 PLC 控制器。 见图 10。 图 10. IO 模块现已分配地址。 将配置下载到实际硬件模块 这就是您选择和配置分布式 IO 模块并将其分配给项目中的 PLC 的方法。 不过,有件事你应该知道, 是的,我们确实将 IO 模块分配给了 PLC,但这只是在软件方面(TIA Portal)完成的。 实际的硬件 IO 设备仍然不知道它已分配给该 PLC。 这意味着如果我将项目下载到 PLC,它将成功编译并下载,但是当 PLC 需要与 IO 设备联系以获取输入或给出输出命令时,它将无法找到设备,即使 尽管两者之间有通信电缆。 并且 PLC 会给出错误。 为了解决这个问题,我必须做一些叫做 “分配设备名称” 的事情 为此,只需右键单击 IO 设备并按分配设备名称,这将打开以下窗口,见图 11。 图 11. 分配设备名称。 单击分配设备名称时,将出现 “分配 PROFINET 设备名称” 窗口。 见图 12。 图 12. 分配设备名称窗口。 这个过程是用硬件设备完成的,但由于我们没有硬件组件,只能进行模拟,所以我们在这里看不到它。 但是,当您选择 PC/PG 接口并单击更新时,您应该找到您的 IO 设备,然后您只需选择分配设备名称即可将设备名称分配给实际的 IO 硬件模块。 完成后,您现在可以将此 IO 设备用作 PLC 的普通 IO。 您可以在 PLC 项目树中找到 IO 模块,因为它现在是 PLC 的一部分。 见图 13。 图 13. IO 模块属于 PLC 项目树。
  7. leizuofa

    PLC 系统之间的分布式 IO 共享

    在之前的文章中,我们介绍了分布式 IO 模块的概念,以及如何使用 PLC 配置 IO 模块。 在本文中,我们将展示如何在 PLC 系统之间进行分布式 IO 共享。 内容: 问题描述。 与两个 PLC 共享 IO 设备。 将不同的内部模块分配给 PLC。 问题描述 在上一篇文章中,我们展示了如何将分布式 IO 模块与 PLC 连接和配置,并通过该 PLC 控制分布式模块的 IO 点。 在本文中,我们讨论需要将同一分布式 IO 模块与两个不同 PLC 一起使用的情况。 见图1。 图 1. 两个不同的 PLC 项目。 PLC 系统之间的分布式 IO 共享 想象一下,我们需要在两个 PLC 之间共享分布式模块的输入和输出点。 在两个 PLC 之间共享分布式 IO 模块是可能的,但并非所有模块都能做到这一点,但大多数现代模块都可以。 共享信息的另一种方法是将所有信息从分布式 IO 获取到一个 PLC,并在两个 PLC 之间建立通信,然后交换所需的数据。 这将在另一篇文章中展示。 在分布式 IO 设备(IO设备_1)中,我们配置了许多 IO 模块,例如 4DIx24VDC 模块、8DOx24VDC 模块、2DIx24VDC 模块以及更多模块。 见图 2。 图 2. 我们的 IO 设备中的不同 IO 模块。 与两个 PLC 共享 IO 设备 在本文中,我们将假设正如您从图片中看到的那样,我们要通过 PLC_1 控制 4DIx24VDC 模块和 8DOx24VDC 模块,并且我想从 PLC_2 控制 2DIx24VDC 模块和 2DOx24VDC 模块。 所以我想在两个 PLC 之间共享不同的模块,从而共享名称设备。 如图 1 所示,分布式 IO 设备(IO 设备_1)已经是 PLC_1 的扩展,正如我们在上一篇文章中设置的那样,但我们还需要将其设为 PLC_2 的扩展,以便可以在两者之间共享 PLC。 见图 3。 图 3. IO 设备是 PLC_1 的扩展 通常,在执行此操作时,我们会将每个 PLC 置于不同的 TIA Portal 项目中,但由于我们没有真正的硬件设备,因此我们将仅使用一个 TIA Portal 软件项目来演示如何在两个 PLC 之间共享分布式 IO 模块 。 我们有一个项目有两台 PLC。 我们需要将 IO 设备_1 分配给 PLC_1 和 PLC_2 为此,请在网络视图中复制该模块并将其粘贴到您的项目中以拥有两个模块。 见图 4。 图 4. 复制并粘贴 IO 设备。 现在,我们需要将此 IO 设备分配给 PLC_2,就像我们在上一篇文章中对 PLC_1 所做的那样。 见图 5。 图 5. 将模块分配给 PLC_2 现在,如果您尝试将项目下载到两个 PLC,PLC_1 将能够找到 IO 模块。 但是,PLC_2 将无法找到 IO 模块,因为没有名为 IO device_2 的实际硬件模块,我们只有一个硬件 IO 设备,并且从上一篇文章开始,它被配置为名称 IO device_1,这就是为什么 PLC_2 将 找不到 IO 设备。 见图 6。 图 6. 通过设备网络名称进行连接。 因此,我们需要为两个 IO 模块指定相同的设备网络名称,见图 7。 图 7. 网络设备名称 如您所见,IO 模块的网络设备名称为 IO device_1,其他 IO 模块见图 8。 图 8. 第二个 IO 模块的网络设备名称。 此处,网络名称为 IO device_2。 我们需要为两个 IO 模块指定相同的名称,以便两个 PLC 都能找到它并连接到它。 取消选中自动名称生成选项,这样我们就可以更改名称并将它们都设为 IO device_1,同时确保两个模块中红色区域内的所有信息相同。 见图 9。 图 9.取消点击自动生成选项。 在我们将两个模块的信息更改为相同后,请检查图片 10a 和 10b。 图 10a. 第二个 IO 模块。 图 10b. 第一个IO模块 现在两个 IO 模块是相同的,两个 PLC 都可以找到 IO 模块并与其通信。 见图 11。 图11. 两台 PLC 都能找到 IO 模块。 到目前为止,我们假设两个 PLC 都位于同一个 TIA Portal 项目中。 但是,如果我们与另一个 TIA Portal 项目中的控制器共享 IO 模块,我们将执行与之前相同的操作,但会添加一个额外的步骤。 在此步骤中,我们将转到 IO 模块的属性并更改共享设备 IO 周期选项,如图 12 所示。 图 12. 项目外部的 IO 控制器 从图中可以看到,如果两个 PLC 属于不同的 TIA Portal 项目,我们将红框内的值改为 1。 由于我们在同一个项目中拥有两个 PLC,因此我们将其保持为零。 现在两个 PLC 都可以看到 IO 设备并与其通信,我们需要告诉 IO 模块,哪些内部模块应该与哪个 PLC 通信。 正如我们在图 2 中提到的,我们需要一个 4DIx24VDC 模块和 8DOx24VDC 模块来与 PLC_1 通信,我想从 PLC_2 控制2DIx24VDC 模块和 2DOx24VDC 模块。 我们可以按照以下步骤来做到这一点。 为 PLC 分配不同的内部模块 首先进入 IO 设备_1 的属性,您会发现 IO 设备的所有内部模块都属于 PLC_1。 见图 13。 图 13. IO 模块的共享设备。 从图中可以看到,访问 IO 设备的所有内部模块都分配给 PLC_1,但是正如我们之前提到的,我们需要 PLC_2 访问最后两个内部模块 2DIx24VDC 模块和 2DOx24VDC 模块。 为此,只需右键单击所需的模块并取消选择 PLC_1 选项,并将其设为空白以指示该模块将通过不同的控制器进行控制。 见图 14。 图 14. 取消选择内部模块。 如果取消选择 PLC_1 选项后检查 IO 设备_1 的设备概览,您将看到这些内部模块没有为 PLC_1 分配地址,表明它们属于其他位置。 见图 15。 图 15. 未分配给 PLC_1 的模块无寻址 现在,我需要将这两个模块分配给 PLC_2 的 IO device_2。 通过执行与之前相同的步骤,转至 IO 设备_2 的共享设备属性,并仅将 PLC_2 分配给两个需要的模块。 见图 16。 图 16. 将所需模块分配给 PLC_2 现在,2DIx24VDC 模块和 2DOx24VDC 模块已分配给 PLC_2,如果您检查设备概述,您会发现它们的寻址方式与我们想要的 PLC_2 相同。 见图 17。 图 17. 寻址属于 PLC_2 这就是我们如何在两个 PLC 之间共享一个 IO 模块,无论它们位于同一个 TIA Portal 项目中还是位于两个不同的项目中。
  8. PLC 之间可以通过多种方式进行通信和对话,在本文中我们将讨论其中一种方法,即如何使用 i-device 功能在 PLC 之间建立西门子通信,以进行 PLC 到 PLC 的数据传输。 什么是智能设备功能? I-Device 功能可用于非常轻松地在两个 PLC 之间交换数据。 智能设备就是用作 IO 设备的 PLC。 这意味着 PLC 将充当 IO 模块,为其他 PLC 提供输入并接收输出。 智能设备功能使 PROFINET 不仅可以与 IO 控制器等下级设备进行通信,还可以作为 IO 设备与其他上级或中央控制器进行 IO 通信。 西门子 PLC 之间的通信 大多数 S7 系列 PLC 支持 I-Device 功能,但某些控制器不支持,具体取决于固件版本,例如: S7-300(固件版本 V3.2 及以上) S7-1200(固件版本 V4 及以上) 您可以通过进入 PLC PROFINET 接口属性并检查 “操作模式” 选项来简单地了解您的控制器是否具有智能设备功能。 见图 1a 和 1b。 图 1a. PLC 不支持智能设备 从图中我们看不到 “运行模式” 选项,因此我们知道 PLC 不支持智能设备功能。 图 1b. PLC 支持智能设备功能 从图中可以看出,该 PLC 支持智能设备功能。 具有 “智能 IO 设备” 配置的 PLC 称为智能设备。 I-Device 就像标准 IO 设备一样,需要像标准 IO 设备一样进行处理。 这意味着智能设备还连接到更高级别的 IO 控制器。 因此,智能设备将充当 IO 模块,但它仍然是 PLC,因此如果您愿意,它仍然充当控制器。 数据交换概念 I-Device 方法的指导原则是使用 CPU 中已知的过程映像。 从更高级别的 IO 控制器的角度来看,与智能设备的通信类似于与分布式 IO 的通信,在输入和输出处进行通常的读写过程。 从智能设备的角度来看,到更高级别 IO 控制器的数据传输也类似于通过输入和输出到本地或分配的分布式 IO 的数据传输。 智能设备配置选项 配置有两种可能性: 在项目中配置智能设备。 配置在另一个项目中使用的智能设备 为另一个项目组态智能设备时,STEP 7 允许您通过将已组态的智能设备导出到 GSD 文件中来完成此操作。 GSD 文件可以像其他 GSD 文件一样导入到其他项目或其他工程系统中。 这不仅可以实现项目内部的通信,还可以通过经过验证的方式实现跨项目的通信以及不同制造商之间的数据交换。 我们将在另一篇文章中展示这一点。 在本文中,我们将展示同一西门子 PLC 项目中智能设备的配置。 同一 PLC 项目中的智能设备配置 我们假设项目中有两个 PLC,CPU 1516-3 PN/DP 将充当此配置中的控制器,CPU 1214C 将充当智能设备。 首先将两个 PLC 添加到 TIA Portal 项目中,并在它们之间设置 Profinet 连接。 见图2。 图 2. 两台 PLC 之间建立连接。 现在,我们需要将 CPU 1214C PLC 配置为智能设备。 您可以通过转到 Profinet 接口属性并在操作模式选项中单击 IO 设备选项来完成此操作。 见图3。 图 3. 选择 IO 设备。 之后,您需要将智能设备分配给更高级别的控制器,即我们项目中的 CPU 1516-3 PN/DP PLC。 为此,只需从分配的 IO 控制器下拉列表中选择该 PLC。 见图4。 图 4. 将智能设备分配给控制器。 此后,智能设备现已连接并分配给控制器 PLC。 见图5。 图 5. 智能设备被分配给控制器 PLC。 下一步是在智能设备和控制器之间通过所谓的传输区域交换数据。 创建传输区域 传输区域是用于在智能设备和更高级别 IO 控制器之间交换数据的 IO 区域。 转到 “智能设备通信” 部分。 单击 “传输区域” 列的第一个字段。 TIA Portal 将创建一个您可以更改的预定义名称。 从图 6 可以看出。 图 6. 创建传输区域 选择通讯关系类型:目前只能选择 CD。 见图7。 图 7. 选择 CD 通讯选项。 选择 CD 选项后,将创建一个传输区域,并自动创建 IO 控制器和智能设备的地址。 见图 8。 图 8. 创建传输区域。 地址是自动预先分配的,如果需要,您可以根据您的环境调整地址并指定要传输的传输区域的长度一致。 要像以前一样创建另一个传输区域,只需按 “添加新” 即可,见图 9。 图 9.添加新的传输区域。 正如我们之前所说,数据交换基于简单的处理图像概念,这意味着您始终发送输出并接收输入。 另请注意,您在上图中看到的箭头表示智能设备和控制器之间的信息流。 因此,如果我将数据从控制器发送到智能设备,则箭头将从控制器到智能设备,并且将输出控制器的地址,并且将输入智能设备的地址,反之亦然,如您所见 上一张图片。 另请记住,最好将传输区域重命名为正确的指示名称。 见图 10。 图 10. 重命名您的传输区域。 加载 PLC 项目 要加载 PLC 项目数据,请在项目导航中依次选择两个控制器,并将项目加载到相应的模块中。 请注意,由于我们没有实际的硬件设备,因此无法模拟此功能。
  9. 在本文中,我们将讨论两个 PLC 之间通信的另一种方式,无论它们位于同一项目还是两个不同的 PLC 项目中。 在本文中,我们将讨论西门子 PLC 中的 PUT 命令,该命令可用于将数据从一个 PLC 发送或放入第二个 PLC。 什么是 PUT 命令? 一般来说,PUT 命令是 TIA Portal 内置功能块 FB,专门用于 S7 系列 CPU,用于将数据从本地 PLC 传送到远程伙伴 PLC。 使用 PUT 命令时,我将有两个 PLC,我需要将数据从一个称为本地的 PLC 发送到另一个称为伙伴的 PLC。 必须对伙伴 PLC 进行一些配置,以使其能够被其他 PLC 访问。 除了 PLC 之间的 Profinet 连接之外。 我们将创建一个示例项目来展示如何使用 PUT 命令。 西门子 PLC 中的 PUT 命令 我们将假设一个示例项目,其中同一项目中有两个 PLC,PLC_1 将充当本地 PLC,PLC_2 将充当合作伙伴 PLC。 我们想要将一个整数从本地写入伙伴 PLC。 PLC 项目示例 首先,我们创建一个新项目并添加两个 PLC。 见图1。 图1.添加本地和伙伴 PLC。 我现在需要的是配置 PLC_2,即接收数据的 PLC_2,以便能够接收该数据。 PLC_1 将与 PUT 命令一起使用。 我需要做的第一件事是允许 PUT 命令访问将接收数据的 PLC_2。 见图2。 图 2. 允许 PUT 命令访问。 如图所示,我们允许 PUT 命令从 PLC_2 的属性中访问 PLC_2,在保护和安全选项中,单击 “允许远程伙伴通过 PUT/GET 通信进行访问” 现在,我可以使用 PUT 命令将来自任何远程伙伴的数据放入 PLC_2。 第二件事是在 PLC_2 中为要放入其中的数据准备一个空间或内存。 我们假设我们想要将一个整数值放入该 PLC 中,因此我将根据该值准备一个内存。 见图3。 图3. 准备接收数据的区域。 就是这样; 这是您需要从 PLC_2 侧准备的完整配置,以便能够通过 PUT 命令接收数据。 接下来,我们设置从 PLC_1 发送的数据。 我们将创建一个数据块来保存发送到 PLC_2 的数据,在该数据块内,我们将定义一个要放入 PLC_2 的整数标签。 见图4。 图4. 创建数据块来保存发送的数据。 我们定义了一个要发送到 PLC_2 的整数标签 “SendMeToPLC_2”。 见图5。 图5.定义要发送的数据。 请注意,对于 PLC_1,我们不需要允许使用 PUT 命令选项进行访问。 我们在将接收数据的 PLC 中激活此功能,而不是在将发送数据的 PLC 中激活此功能。 现在,让我们在编程中使用 PUT 命令,在主 OB1 中我们将拖放 PUT 命令 FB。 见图6。 图6. 将PUT命令添加到OB1中。 需要注意的是,PUT命令是在S7通讯文件夹中找到的,因为它是S7系列PLC的专有功能,因为它涉及到安全问题。 请记住,在图 2 中,当我们允许使用 PUT 命令时,它位于 PLC 属性的安全和保护属性中,因为它与 PLC 安全和保护相关。 PUT 命令本质上是一个功能块,因此当将其添加到我的逻辑中时,我将被要求创建一个数据实例。 见图7。 图 7. 为 PUT 命令创建数据实例。 按“确定”后,PUT 命令现已添加到您的 PLC 逻辑中。 见图8。 图 8. PUT 命令 添加 PUT 命令后,现在我们需要对其进行配置,我们为 PUT 命令配置两个参数。 PLC 之间的连接 将从 PLC_1 PUT 到 PLC_2 的块 要转到 PUT 命令的配置视图,请按最后一张图片中显示的蓝色小图标。 在连接参数中,您将设置本地 (PLC_1) 和伙伴 (PLC_2) PLC 之间的通信。 见图9。 图9. 连接参数。 如您所见,本地 PLC 设置为 PLC_1,这是使用 PUT 命令的 PLC。 伙伴端仍然是空的,这就是我们应该分配 PLC_2 的地方。 如果您单击下拉列表,您将有两个合作伙伴选项。 见图10。 图10. 合作伙伴连接 伙伴是接收数据的 PLC; 您会发现有两个选项可供选择: PLC_2 [CPU 1516-3 PN/DP] 未指定 因为两个 PLC 都在同一个项目中,所以当我选择 PLC_2 选项时,所有连接参数都会自动填写。见图11。 图 11. PLC_2 作为伙伴 另一方面,如果合作伙伴PLC来自不同的项目,那么我将选择“未指定”选项,在这种情况下,我将必须填写一些数据,例如合作伙伴PLC的IP地址。 见图12。 图12. 未指定的合作伙伴 如您所见,在这种情况下,我需要填写一些数据,例如 IP 地址,还需要为 PLC_1 添加子网。 要为 PLC_1 添加子网,我们将转到 PLC_1 的 Profinet 属性并选择添加子网选项。 见图13。 图 13. 添加子网。 完成后,连接参数配置就完成了。 见图 14。 对于您发出的每个 PUT 命令,连接名称应该是唯一的,TIA Portal 将自动为其指定一个新名称,但您最好为项目中的连接分配一个更合适的名称。 我们这里保持原样。 图14.连接参数完成 PUT 命令配置的下一步是块参数设置。 在这些参数中,我们指定 PUT 命令的触发器,这意味着什么信号将启动 PUT 命令操作。 以及将从 PLC_1 放入哪些数据以及将其存储在 PLC_2 中的何处。 见图15。 图 15. 模块参数设置 对于开始请求 (REQ) 信号,我们定义了一个输入标签 (SendData %I0.0)。 正如我们之前提到的,我们已经定义了将发送到 PLC_2 的标签以及它将在 PLC 内存储的位置。 完成块参数配置后,PUT 命令的配置也就结束了。 见图16。 图 16. 调用 PUT 命令 所以,综上所述,当 REQ 信号被触发时,SD_1 中的数据将被发送到 ADDR_1。
  10. 在上一篇文章中,我们讨论了 PUT 命令以及如何使用它在同一项目或两个不同项目中的两个 PLC 之间进行通信。 在本文中,我们将讨论用于西门子 PLC 到 PLC 通信项目中用于数据交换的 GET 命令。 GET 命令是什么? 就像 put 命令一样,GET 命令是 TIA Portal 内置功能块 FB,专门用于 S7 系列 CPU,用于将数据从远程伙伴 PLC 获取到本地 PLC。 与 PUT 命令相反,GET 命令不是将数据从 PLC_1 放入 PLC_2,而是将数据从 PLC_2 获取到 PLC_1。 当使用 GET 命令时,我有两个 PLC,我需要从一个称为“伙伴”的 PLC 到另一个称为“本地”的 PLC 获取数据。 本地 PLC 是对 GET 命令进行编程的地方。 除了两个 PLC 之间的 Profinet 连接之外。 必须对伙伴 PLC 进行一些配置,以使其能够被其他 PLC 访问。 我们将创建一个示例项目来展示如何使用 GET 命令。 西门子 PLC 到 PLC 通信项目 我们将假设一个示例项目,其中同一项目中有两个 PLC,PLC_1 将充当本地 PLC,PLC_2 将充当合作伙伴 PLC。 为了创建需要使用 GET 命令的情况,我们假设我们想要从伙伴 PLC_2 读取/获取整数到本地 PLC_1。 首先,我们创建一个新项目并添加两个 PLC。 见图1。 图1.新建一个工程,添加两台PLC。 现在,我们需要配置伙伴 PLC_2 以启用来自 PLC_1 的 GET 访问。 我们还需要准备将从 PLC_2 移至 PLC_1 的数据。 首先,我们需要允许 GET 命令访问将提供数据的 PLC_2。 见图2。 图 2. 允许 GET 命令访问。 从图中可以看到,我们允许GET命令从PLC_2的属性中访问PLC_2,在保护和安全选项中,单击 “允许远程合作伙伴通过 PUT/GET 通信进行访问” 现在,我可以使用 GET 命令从伙伴 PLC_2 读取/获取数据。 接下来,我们要创建将移动到 PLC_1 的数据,我们假设 PLC_1 要从 PLC_2 获取整数。 我们将定义一个名为 “SendDataToPLC_1” 的整数标签,该整数标签将从 PLC_2 读取到 PLC_1。 见图3。 图3. 定义要移动到 PLC_1 的数据 就是这样; 这是您需要从 PLC_2 侧准备的完整配置,以便能够通过 GET 命令接收数据。 现在,我们转到 PLC_1,在 PLC_1 中,我们要创建使用 GET 命令从 PLC_2 读取数据的逻辑。 正如我们在上一篇文章中所做的那样,我们只需将 GET 命令拖放到主 OB1 中即可。 见图4。 图4.拖放GET命令 需要注意的是,GET命令位于S7通讯文件夹中,因为它是S7系列PLC的专有功能,因为它涉及到安全问题。 请记住,在图 2 中,当我们允许使用 GET 命令时,它位于 PLC 属性的安全和保护属性中,因为它与 PLC 安全和保护相关。 当您将 GET 命令拖放到您的系统中时,您将被要求创建一个数据块实例,因为 GET 命令本质上是一个功能块 FB。 见图5。 图 5. 为 GET 命令创建数据实例。 现在,我们将 GET 命令添加到逻辑中,我们需要开始配置 GET 块,就像之前使用 put 命令所做的那样。 要打开 GET 命令的配置视图,请按块顶部的蓝色小图标。 见图6。 图 6. 打开配置视图。 我们有两个主要参数需要配置,连接参数和块参数。 见图7。 图 7. GET 块配置。 从图中可以看到,Local PLC就是调用GET命令的PLC。 虽然合作伙伴 PLC 是提供数据的 PLC,但它也是我们允许 GET 访问的同一 PLC。 在我们的项目中,合作伙伴 PLC 是 PLC_2。 从图中还可以看到,伙伴是空的,我们必须选择 PLC。 见图8。 图8. 合作伙伴列表中的不同选项 正如您所看到的,我们为合作伙伴 PLC 有两种不同的选项可供选择。 未指定是指当 PLC 属于不同的 TIA Portal 项目时,如果 PLC 属于同一 TIA Portal 项目,则您将在列表中找到其他 PLC。 当您选择PLC_2选项时,因为我们的PLC在同一个项目中,连接配置将自动填写。见图9。 图 9. PLC_2 作为伙伴 因为两个PLC都在同一个项目中,所以当我选择PLC_2选项时,所有连接参数都会自动填写。 另一方面,如果合作伙伴PLC来自不同的项目,那么我将选择“未指定”选项,在这种情况下,我将必须填写一些数据,例如合作伙伴PLC IP地址。 见图10。 图 10. 未指定的合作伙伴 PLC。 如您所见,当伙伴为“Unspecified”时,您将需要手动添加一些信息,例如伙伴PLC IP地址。 还可以看到我们需要给本地PLC_1添加一个子网。 为此,您只需转到 PLC_1 的 Profinet 属性并选择添加新子网。 见图11。 图 11. 为 PLC_1 添加子网 在PLC_1中添加新的子网后,连接参数配置就完成了。 见图12。 图12.连接参数完成。 我们需要处理的下一个配置是块参数。 在块参数中,我们定义将在两个 PLC 之间移动的数据以及允许开始执行 GET 块的触发信号。 见图13。 图 13. 块参数。 如您所见,我们需要定义 GET 块的触发信号,还需要定义将从 PLC_2(读取区域 ADDR_1)移动哪些数据以及这些数据将移至何处(存储区域 RD_1)。 我们已经定义了 ADDR_1,其前面是我们在 PLC_2 中定义的 SendDataToPLC_1 整数标记。 现在,我们将为该整数标签和触发信号定义存储区域。 见图 14。 图 14. 定义触发信号和存储区域 定义触发信号 ADDR_1 和 RD_1 后,我们将这些参数填充到块配置中。 见图15。 图15.填写区块参数 现在,GET 块的配置已完成,您可以看到该块现在已准备好下载和运行。 见图16。 图 16. GET 块 GET 块现已配置完毕,一旦触发信号激活,该块将从 PLC_2 读取 ADDR_1 并将其写入 PLC_1 中的 RD_1。
  11. caixiaofeng

    西门子 PLC 与其他品牌 PLC 的通讯

    在之前的文章中,我们开始讨论两个或多个 PLC 之间通信的不同方式,到目前为止,我们讨论了智能设备功能以及西门子 PLC 专用的 PUT 和 GET 命令。 西门子 PLC 与其他 PLC 通讯 在本文中,我们将讨论另一种将两个 PLC 连接在一起的方法,这种方法比我们之前讨论的 PUT 和 GET 命令更具优势,因为与 S7 系列独有的 PUT/GET 命令相反。 这种新方法是一种开放的用户通信,这意味着我们可以使用它在西门子 PLC 和任何其他品牌的 PLC 之间进行通信,甚至不需要是两个 PLC,这种方法可以在 PLC 和任何其他可以理解的设备之间进行通信 TCP 网络协议如 PC、服务器、打印机等 在本文中,我们将展示如何使用 TCON 和 TDISCON 块在两个 PLC 之间建立通信,在下一篇文章中,我们将展示如何在建立连接后在 PLC 之间移动数据。 开放用户通信块 TCON 和 TDISCON 我们使用 TCON 块在两个 PLC 之间建立通信连接。 连接建立后,PLC 将自动维护。 通信双方都调用 TCON 指令来建立通信连接。 这意味着我必须在两个 PLC 中调用 TCON 块,并且我们必须在两个 PLC 中配置该块,正如我们将在示例项目中看到的那样。 在块配置期间,我们将指定哪个伙伴是主动通信端点,哪个是被动通信端点。 这意味着哪个 PLC 将尝试连接,哪个 PLC 将打开通信端口并等待另一个 PLC。 当执行 TDISCON 块或当 CPU 更改为 STOP 模式时,现有连接将终止并删除建立的连接。 要再次建立连接,您需要再次执行 TCON。 使用 TCON 的示例 PLC 项目 正如我们在之前的文章中所解释的,要在两个 PLC 之间建立通信,我们必须建立两件事: PLC 之间的通信。 两个 PLC 之间的数据传输。 在本文中,我们将使用 TCON 块在两个 PLC 之间建立采用 TCP 协议的开放用户通信。 在下一篇文章中,我们将展示如何在连接完成后移动数据。 首先,我们创建一个新项目并添加两个 PLC。 我们将添加 CPU1516-3PN/DP PLC,并将它们命名为 PLC_1 和 PLC_2,目的是在它们之间建立连接。 见图1。 图1.添加 PLC_1 和 PLC_2。 现在,我们只需将 TCON 块添加到 PLC 逻辑中,正如我们之前提到的,我们需要为两个 PLC 调用 TCON,让我们从 PLC_1 开始。 只需拖放 TCON 块即可在打开的用户通信文件夹中找到该块。 见图2。 图2.拖放 TCON 指令 TCON 块本质上是一个功能块,因此当将其添加到我的主 OB1 时,我们将被要求为该块创建一个数据块实例。 创建数据实例并为其指定适当的名称。 见图3。 图3.创建数据实例。 现在,TCON 块已添加到您的逻辑中,我们需要配置该块的连接参数。 只需按块上方的蓝色小配置图标即可。 见图4。 图 4. 打开配置视图 当您按下蓝色图标时,您将打开 TCON 块的配置视图,我们可以在其中设置连接参数。 您会发现它与 PUT 和 GET 命令的连接参数非常相似。 见图5。 图5. TCON 连接参数。 由于我们使用开放式用户通信,TCON 块中的合作伙伴 PLC 选项比 PUT/GET 命令有更多选项。 见图6。 图 6. 合作伙伴 PLC 选项 从图中可以看出,我们有 4 种不同的选择,它们是: PLC_2:如果两个 PLC 位于同一项目中,则此处将显示 PLC_2 广播:这将使网络上的任何设备都可以使用连接 多播:这将与选定的设备(多个设备但不是所有设备)建立连接 未指定:如果 PLC 位于另一个 TIA Portal 项目中。 当选择未指定的选项时,我们会被要求添加 PLC 的 IP 地址,并且还需要添加新的连接数据。 见图7。 图7. 添加新的连接数据 如图所示,要创建新的连接数据,只需单击下拉箭头并按新建即可。 这将创建一个新的连接数据块,并将自动分配给 TCON 块,见图 8。 图8. 连接数据块已创建。 正如您所看到的,连接数据块已创建,现在我需要添加合作伙伴 PLC 的 IP 地址。 我们需要做的另一件事是选择哪个 PLC 将主动建立连接。 这将决定哪个 PLC 将负责建立连接,而另一个 PLC 将仅负责打开连接端口。 见图9。 图 9. 将 PLC_1 指定为主动连接建立。 当我们选择 PLC_1 作为主动连接建立时,PLC_2 将负责打开连接端口,我必须为该端口选择一个值。 它可以是任何值,但在 TIA Portal 中自动分配为 2000,因此我们将保持原样。 见图10。 图 10. 合作伙伴端口。 在上图中可以看到连接参数已经变成绿色,表示所有配置都已完成并接受。 当使用 TCON 在两个 PLC 之间建立连接时,两个 PLC 都必须调用 TCON 指令来建立连接,因此我们现在需要对另一个 PLC_2 执行相同的操作。 将 TCON 块添加到 PLC_2 的主 OB1 中,见图11。 图11. 在 PLC_2 中调用 TCON。 添加 TCON 块后,我们需要像配置 PLC_1 一样配置连接参数。 见图12。 图 12 PLC_2 连接参数 从图中可以看到,我们仍然选择 PLC_1 作为主动建立连接,而 PLC_2 的端口仍然保留为 2000。 两个 PLC 配置的活动连接建立和端口必须相同,否则连接将失败。 至此,两台 PLC 的连接配置完成,见图13。 图 13. 两个 PLC 中的 TCON 块。 从图中我们可以看出,我们还需要一件事,那就是为两个 PLC 定义 REQ。 我们为 PLC_2 创建了AllowConnection,为 PLC_1 创建了 StartConnection。 见图 14。 图 14. 定义 REQ 信号。 现在两个 PLC 之间的连接已经完成,如下: 当 REQ 信号有效时,PLC_1 将尝试与 PLC_2 建立连接,但直到 PLC_2 启用连接功能后才能这样做,并且当 PLC_1 的 TCON 块收到 REQ 信号时才会完成。 PLC_2 的 TCON 的 REQ 信号有效以启用连接(这意味着 PLC_2 将打开端口 2000 等待连接) REQ 信号有效,PLC_1 的 TCON 开始连接(这将允许 PLC_1 通过端口 2000 与 PLC_2 建立连接) 项目模拟 让我们编译我们的项目并开始模拟,看看如何建立连接。 要查看任何 PLC 以及 PLC 之间的连接,可以打开网络视图并打开连接选项卡以查看所有活动的和已建立的连接。 见图15。 图 15.PLC_2 正在等待连接。 当 REQ 为 True 时,PLC_2 将打开连接,您可以看到 STATUS 值为 7002 _ 如果您检查 TCON 块的帮助,状态 7002 表示正在等待连接_。 您还可以从网络视图的图片中看到 PLC_2 正在等待连接。 当 PLC_1 TCON 块的 REQ 为真时,PLC_1 将尝试与 PLC_2 建立连接,并且由于 PLC_2 已打开并等待连接,因此 PLC_1 将能够找到并与 PLC_2 建立连接。 见图16。 图 16. PLC_1 建立连接。 请注意,网络视图中的所有连接现在均呈绿色,表示 PLC_1 和 PLC_2 之间的连接正常且正在进行。 正如我们之前提到的,一旦连接建立并建立,它就会自动维护。 因此,即使 REQ 信号变为假,两个 PLC 之间的连接也将保持。 见图17。 图 17。连接仍在进行中。 但是,如果转动 REQ 信号并不能断开连接,如果我想断开连接,该如何断开呢? 断路块 TDISCON 要断开两个 PLC 之间的连接,我们可以将 PLC 置于 STOP 模式,但这在运行过程中是不实用的。 我们还可以使用断开块或 TDISCON。 要添加 TDISCON 模块,只需将其拖放到您的逻辑中,见图 18。 图 18. 添加 TDISCON 块 正如您所看到的,添加 TDISCON 块将需要一个数据块实例,一旦将该块添加到您的逻辑中,您所需要做的就是分配您需要断开连接的连接 ID,并且您还需要为其分配一个 REQ 信号 启动连接终止。 见图19。 图 19. TDISCON 块。 现在,让我们在另一个 PLC 中添加一个 TDISCON 块,这样我们就能够断开连接。 参见图 20。对于 PLC_1 的 TDISCON 块。 图 20. PLC_1 中的 TDISCON 让我们回到仿真,看看如何使用 TDISCON 模块,见图 21。 图 21. 连接仍处于活动状态。 从图中可以看出,PLC 之间的连接仍然有效,TDISCON 的 REQ 信号仍然为假。 如果 PLC_1 的 REQ 变为 TRUE,连接将被终止,但您会注意到 PLC_2 仍在等待连接,见图 22。 图 22. PLC_1 的 REQ 为真。 当 PLC_2 TDISCON 块的 REQ 为真时,PLC_2 将不再等待连接。 见图23。 图 23. 连接终止。 我们在本文中展示了如何使用 TCON 和 TDISCON 块在两个 PLC 之间建立连接。
  12. caixiaofeng

    在西门子 PLC 之间移动数据

    在上一篇文章中,我们讲了如何使用开放用户通信在两个 PLC 之间建立连接,我们使用 TCP 协议在两个 PLC 之间进行连接。 我们在文章中展示了如何使用 TCON 和 TDISCON 等指令来建立此连接。 在 PLC 之间移动数据 在本文中,我们将展示如何开始在上一篇文章连接的 PLC 之间移动数据。 为此,我们将使用 TSEND 和 TRCV 块。 发送数据至 PLC_2 我们将在上一篇文章中创建的项目的基础上进行构建,这意味着我们的项目中已经安装了 TCON 和 TDISCON 块。 我们将通过添加 TSEND 和 TRCV 块来继续我们的项目,以开始在两个 PLC 之间移动数据。 要将数据从 PLC_1 发送到 PLC_2,我们首先创建一个数据块,该数据块将保存我们需要发送到 PLC_2 的所有信息。 见图1。 图 1. 新建一个数据块。 正如我们之前讨论的,更好的做法是为块提供正确的命名,这样就可以轻松直观地弄清楚每个块的用途。 其次,让我们在数据块中添加一些要发送到 PLC_2 的数据。 我们假设我们需要发送三个不同的数据标签。 见图 2。 图 2. 定义一些数据发送到 PLC_2。 为了能够将刚刚创建的数据块发送到 PLC_2,我们还需要做一件事,即确保未选择数据块的优化块访问。 为此,我们需要转到数据块的属性并取消选择该选项。 见图 3 和 4。 图 3. 进入数据块属性。 图 4. 取消选中 “优化块访问” 选项。 确保在使用 TSEND 块之前取消选中此选项,否则它将不起作用。 现在我们已经准备好了要发送到 PLC_2 的数据,让我们实际尝试发送它。 我们将通过使用 TSEND 块来做到这一点。 只需将指令拖放到主 OB1 中即可将其添加到您的逻辑中。 见图 5。 图 5. 添加 TSEND 块。 添加 TSEND 块时,系统会要求您创建一个实例数据块,因为它本质上是一个功能块,再次给它一个适当的名称。见图 6。 图 6. 为 TSEND 创建数据实例。 当 TSEND 块添加到您的逻辑中时,您会发现我们需要进行一些重要的配置。 见图 7。 图 7. TSEND 块。 正如你所看到的,我们需要进行一些配置: REQ 信号允许发送数据。 对于 REQ 信号,我们将定义一个标签 SendData,用于启用数据发送。 我将用来发送数据的连接的 ID,因为我可以有多个连接,所以我需要指定将使用哪个连接。 在上一篇文章中,我们为 PLC_1 和 PLC_2 之间的连接定义了 ID 1,因此我们将ID设置为 1。 我需要发送的数据。 我们已经创建了一个数据块,其中包含我需要发送的所有信息,我们只需将数据块拖放到 TSEND 块中即可。 见图 8。 图 8. 配置 TSEND 块。 从 PLC_1 接收数据 当我们设置 TSEND 将数据发送到 PLC_2 后,我们需要在 PLC_2 内部接收这些数据。为此,我们将使用 TRCV 块。见图9。 图 9. 添加 TRCV 块。 如您所见,只需拖放 TRCV 块即可将其添加到您的逻辑中。 您知道接下来我们需要为该块创建一个数据实例。 见图 10。 图 10. 将数据实例添加到 TRCV 块。 将 TRCV 块调用到您的逻辑中后,我们需要像配置 TSEND 一样配置一些参数。 见图 11。 图 11. TRCV 模块。 如您所见,EN-R 是一个使能信号,必须为真才能允许 TRCV 模块开始接收数据。 ID 是将要使用的连接,DATA 是将存储接收到的数据的位置。 因此,我们需要创建一个数据块来接收其中的数据。 请记住给它一个合适的名称。 见图 12。 图 12. 创建数据块接收数据。 接下来,定义将从 PLC_1 接收的信息标签,最佳实践是确保数据块具有与将接收的数据相同的数据结构。 见图 13。 图 13. 定义数据标签。 对于 EN-R,我们将定义一个 RecieveData 标签来启用数据接收。 对于连接 ID,它是我们之前设置的 1。 见图 14。 图 14. EN-R 信号。 接下来,将我们创建的数据块拖放到 TRCV 块中以完成所有配置。 见图 15。 图 15. 将数据块添加到 TRCV 块中。 当您拖放我们创建的 DB 时,您会注意到 TIA Portal 发出警告,并且它不接受我们刚刚添加的数据块。 这是因为我们没有像对 TSEND 那样取消选中数据块的“优化块访问”。 见图 16。 图 16. 优化的块访问。 正如我们之前所说,我们必须取消选中此选项,否则 TSEND 和 TRCV 将无法工作。 见图 17。 图 17. 取消选中优化块访问选项。 您可以看到,一旦我们取消选中 “优化块访问”,TRCV 指令就会接受数据块。 现在 TSEND 和 TRCV 块的调用和配置已完成。 让我们模拟一下我们的项目,看看数据将如何发送和接收。 首先,我们将创建一个简单的逻辑,确保我们定义的标签有数据值。 自动创建数据值的简单逻辑 我们将创建一个简单的逻辑来自动创建和更新数据值,以便更容易查看两个 PLC 之间的数据传输。 见图 18。 图 18. 简单的逻辑。 这个简单的逻辑将使用时钟位 %M50.5 自动更改 SendToPLC_2 数据块内存储的数据值。 PLC 项目仿真 让我们编译我们的项目并开始模拟。 我们需要做的第一件事是使用我们上一篇文章配置的 TCON 块在两个 PLC 之间建立连接。 请记住,我们需要启用 PLC_2 的连接功能并建立与 PLC_1 的连接。 见图 19、20 和 21。 图 19. PLC 之间无连接 图 20. 启用连接。 图 21. 建立连接。 现在,我们在两个 PLC 之间建立了连接,让我们按照设置将数据从 PLC_1 移动到 PLC_2。 首先,将 SendData 标记设置为 TRUE。 见图 22。 图 22. REQ 信号为真。 您可以看到,即使 SendData 为 TRUE,PLC_1 也没有向 PLC_2 发送数据。 这是因为 TRCV 模块尚未启用以接收任何数据。 见图 23。 图 23. EN-R 信号错误。 如您所见,由于 RecieveData 尚未为 TRUE,因此未启用 TRCV 模块来接收任何数据。 一旦 EN-R 为真,数据将从 PLC_1 的数据块发送到 PLC_2 的数据块。 见图 24。 图 24. EN-R 信号为 True。 一旦 EN-R 为真,您可以看到数据从 PLC_1 移至 PLC_2。 如果你打开工程自己模拟一下,你会发现 PLC_1 中的数据不断更新,并传输到 PLC_2 中。 这就是我们如何在两个 PLC 之间建立通信并使用 TSEND、TRCV 块。
  13. caixiaofeng

    什么是 PLC 改造项目?

    PLC 改造项目涉及用更新、更先进的版本更新或替换旧的 PLC(可编程逻辑控制器)系统。 这样做是为了提高性能、添加新功能或保持与现代技术的兼容性,同时最大限度地减少完全更换现有设备的需要。 PLC 改造项目 当您在任何系统中工作时,无论是工业自动化还是其他任何系统,您并不总是需要调试全新的工厂。 有时,旧工厂无法按照预期结果正常运行。 这意味着不是整个系统,而是某些部分。 它可能是 PLC 系统或电气系统或机械系统。 与其改变整个系统,不如只用新系统替换该部分。 其余系统将保持原样。 这称为改造。 这是工程师需要学习的一个非常重要的方面。 在这篇文章中,我们将看到与改造 PLC 系统相关的步骤。 为什么需要 PLC 改造? 当您拥有 PLC 系统时,您必然会遇到有时会出现故障的情况。 对于任何系统(不仅是 PLC)来说,这是一个自然的考虑因素,并不意味着 PLC 系统每次都会出现故障。 这是考虑到的最坏情况。 目前,除 PLC外,其余电气、机械系统均工作正常。 PLC 系统更换需求的常见原因是 – 逻辑中反复出现错误、过时的 PLC 已发生故障且在市场上不再可用、PLC 中反复出现的固件或硬件故障以及无可用服务。 在这些情况下,最好的选择是仅更换 PLC 系统,而不是更换整个系统。 这称为 PLC 改造工作。 基本上,您要么将 PLC 升级到新的,要么完全用新品牌替换它。 这降低了成本,不影响原来的工作工厂,节省时间并提高可靠性。 基本上,工厂的工作逻辑将保持不变; 您只需用新硬件替换它并运行工厂即可。 PLC 改造项目流程 第一步是研究 PLC 的控制面板图。 每个 PLC 都有自己不同的接线版本以及汇源概念。 所以,有必要先了解一下原来的接线。 这将帮助您根据当前的 PLC 准备新的 IO 列表。 因为如果一味地使用相同的 IP 列表,那么当您安装新的 PLC 时,您大多会遇到现场接线问题 如果可能的话,获取旧程序。 如果不可能,则在前往现场之前在办公室制定新的逻辑。 另外,与客户或最好的情况(最终客户端)一起测试逻辑。 最终客户将提供最大的帮助,因为他们已经操作了旧的 PLC 系统,并且可以帮助快速解决问题。 客户可以帮助深入检查流程。 如果在前往现场之前对程序进行测试,那么它将大大减少您在现场的时间。 尝试匹配屏幕并开发图形,就像旧的运行屏幕一样。 这将帮助操作员按照习惯更轻松地运行工厂。 一旦逻辑和图形准备就绪,就可以与接线员一起规划现场。 接线员首先将新的 PLC 替换为旧的 PLC,然后用万用表交叉检查所有点。 这是为了确保所有点是否已按照新接线连接。 需要注意的一件重要事情是,改造需要适当的关闭,因此在计划现场访问之前请务必确保。 在断电情况下对接线进行环路检查后,启动系统并下载 PLC 和图形中的最新程序。 现在,首先,您必须检查 IO。 这是非常关键的一步,因为您要用新线路替换旧线路。 现场的所有信息办公室必须以与之前相同的方式做出响应。 如果没有这个,您就无法以自动或手动模式运行设备。 现在,检查编写的逻辑,看看它是否按照早期系统执行。 所有安全联锁、许可条件、顺序和其他逻辑必须以与旧系统相同的方式工作。 如果工作正常,必须得到客户和最终客户的批准以进行验证并在报告中提及。 制作所有最终报告,存储最终备份,并拍摄正在运行的系统的照片和视频。 这可以确保您完成的改造 PLC 项目有一份完成报告。 PLC 项目概要 评估现有的 PLC 系统,确定改造需求,并确定项目目标、范围和限制。 设计详细的新系统计划,确保与现有机械和网络的集成,并制定迁移策略。 备份当前系统中的所有程序、数据和文档并准备恢复计划。 采购新的 PLC 和任何附加硬件,确保兼容性和可用性。 为安装场地准备必要的安全措施,并根据需要安排停机时间。 退役旧的 PLC 系统并安装新的 PLC 和相关硬件。 将程序逻辑传输或重写到新的 PLC,测试所有功能和通信。 对新系统进行全面测试,验证性能并进行必要的调整。 对人员进行新系统操作和维护方面的培训,并更新或创建系统文档。 正式切换到新的 PLC 系统,密切监控问题,并提供必要的支持。 进行实施后审查,以评估成功情况、记录经验教训并规划未来的维护或升级。
  14. 在上一篇文章中,我们讨论了如何使用 TCON 和 TDISCON 块在两个 PLC 之间建立连接,以及如何使用 TSEND 和 TRCV 块在它们之间移动数据。 跨 PLC 系统传输数据 在本文中,我们将学习一条新指令,可用于使用 TSEND_C 和 TRCV_C 块跨 PLC 系统进行通信和传输数据。 TSEND_C TSEND_C 指令是 TIA Portal 指令,用于在两个 PLC 之间建立连接。 连接建立后,PLC 将自动维护和监控。 TSEND_C 指令是异步执行的,具有以下功能: 与 TCON 块类似,建立通信连接。 通过类似于 TSEND 块的现有通信连接发送数据。 与 TDISCON 类似,终止或重置通信连接。 因此,TSEND_C 被称为“紧凑”,因为它同时充当 3 个以上的块。 TRCV_C TRCV_C 指令也是一条 TIA Portal 指令,用于在两个 PLC 之间建立连接。 连接建立后,PLC 将自动维护和监控。 “TRCV_C” 指令异步执行,依次实现以下功能: 建立和建立类似于 TCON 的通信连接。 通过类似于 TRCV 的现有通信连接接收数据。 与 TDISCON 类似,终止或重置通信连接。 因此,TRCV_C 被命名为“紧凑”,因为它同时充当 3 个以上的块。 在我们的 PLC 项目中使用 TSEND_C 和 TRCV_C 在上一篇文章中,当我们需要建立并将数据从 PLC_1 发送到 PLC_2 时,我们必须在每个 PLC 中使用三个不同的块。 见图1。 图 1. PLC_1内部逻辑 如您所见,我们使用 TCON 和 TDISCON 块来建立和重置连接,并使用 TSEND 从 PLC_1 发送数据。 PLC_2 也是如此。 见图 2。 图 2 PLC_2 逻辑 我们再次使用 TCON 和 TDISCON 块来建立和重置连接,并使用 TRCV 接收来自 PLC_1 的数据。 现在,我们想要替换所有这些块并尝试使用 TSEND_C 和 TRCV_C 来实现相同的功能。 首先,在需要发送数据的 PLC_1 中,我们将使用 TSEND_C 块,只需将该块拖放到主 OB1 内即可。 见图 3。 图 3. 添加 TSEND_C 块。 由于 TSEND_C 本质上是一个功能块,因此系统会要求您创建一个数据实例。 见图 4。 图 4. 为 TSEND_C 创建实例 TSEND_C 看起来与 TSEND 块类似,因为您需要进行一些配置并添加一些信号。 见图 5。 图 5. TSEND_C 块 现在,我们需要一个信号来发送 REQ 和数据并配置连接。 对于 REQ 信号,我们创建了一个 SendData 标签。 另外,我们可以拖放上一篇文章创建的数据块,我们需要将其发送到 PLC_2,我们可以将其拖放到块的 DATA 输入处。 见图 6。 图 6. TSEND_C 块的配置。 要配置块的连接参数,我们可以按块顶部的小配置图标打开配置视图。 配置视图看起来与 TCON 块的配置视图非常相似。 见图 7。 图 7. TSEND_C 的连接参数 我们已经在之前的文章中展示了如何配置连接参数,因此我们可以像使用 TCON 块一样进行操作,见图 8。 图 8 连接参数配置 通过这个连接配置,我们就完成了 TSEND_C 的所有配置。 请注意,与配置 TCON、TDISCON 和 TSEND 块相比,它快了多少。 现在,我们需要将 TRCV_C 添加到 PLC_2,以便它可以接收从 PLC_1 发送的数据。 在 PLC_1 的主 OB1 中,只需将 TRCV_C 拖放到您的逻辑中即可。 请参见图 9。请记住为 TRCV_C 块创建一个数据实例。 图 9. 添加 TRCV_C 将 TRCV_C 添加到您的逻辑后,我们需要对其进行配置。 正如我们对 TSEND_C 所做的那样,我们需要添加一个信号来启用数据接收,并且我们还需要添加将在其中保存数据的数据块。 见图 10。 图 10.TRCV_C 我们将 RecieveData 标签定义为 EN_R 信号。 见图 11。 图 11.定义 EN_R 标签 请记住取消选中数据块的 “优化块访问” 选项,否则该块将无法像我们在上一篇文章中展示的那样工作。 接下来,我们需要配置 TRCV_C 块的连接参数,就像我们对 TSEND_C 所做的那样,请记住,未指定的伙伴 PLC 现在是 PLC_1,见图 12。 图 12 TRCV_C 连接参数 PLC 项目模拟 现在我们已经配置了 TSEND_C 和 TRCV_ C 块,我们想要模拟我们的项目并看看它们将如何工作,但首先,我们将创建一个简单的逻辑来自动更新将发送到 PLC_2 的 PLC_1 的数据。 见图 13。 图 13. 自动更新数据的简单逻辑。 现在让我们编译并开始我们的项目的模拟。 您会注意到的第一件事是 PLC_1 和 PLC_2 将立即尝试建立连接,因为我们设置了 TSEND_C 和 TRCV_C,它们会自动尝试建立连接。 这就是两个 PLC 之间存在连接的原因。 见图 14。 图14. 直接建立连接。 可以看到,PLC 之间的连接是直接建立的,因为 TSEND_C 和 TRCV_C 中的 CONT 参数设置为 TRUE,这意味着该块将自动尝试与伙伴 PLC 建立连接。 我们可以在这里放置任何控制信号来控制连接的建立。 您可以看到的另一件事是 TSEND_C 的 REQ 和 TRCV_C 的 EN_R 设置为 FALSE,这就是为什么 PLC 之间不会有任何数据移动。 见图 15。 图 15. PLC 之间无数据传输。 如果 TSEND_C 的 REQ 信号设置为 true,则 PLC_1 将尝试发送数据,但会等待其他 PLC 允许接收数据,见图 16。 图 16. REQ 为真。 正如您所看到的,SendData 为 TRUE,但没有发送任何数据,因为 RecieveData 仍然为 false。 仅当 ReceiveData 设置为 true 时,PLC_2 才会从 PLC_1 接收数据。 见图 17。 图 17. 数据发送至 PLC_2 正如您所看到的,RecieveData 何时为 true。 数据将从 PLC_1 发送到 PLC_2,但是,您可以看到两个 PLC 内部的数据是不同的,因为 PLC_1 的数据按照我们之前所做的简单逻辑自动变化。 这意味着 EN_R 信号允许传输数据一次,当我需要再次传输数据时,该信号必须变为 false,然后再次变为 true。 查看随附的 TIA Portal 项目并查看 PLC 之间的数据传输。
  15. caixiaofeng

    通过开关控制 LED 的 PLC 示例

    在本文中,您将学习通过开关控制 LED 的 PLC 示例并了解梯形图逻辑解释。 此 PLC 示例专为工科学生学习和练习梯形图逻辑而设计。 相同的 PLC 程序在工业用途上的实现会有所不同。 PLC 示例 为以下应用设计 PLC 梯形逻辑。 我们使用三个开关来控制三个 LED。 如果任意 1 个开关打开,则 LED I 将亮起。 如果任意 2 个开关打开,则 LED II 将亮起。 如果 3 个开关全部打开,则 LED III 将亮起。 在上一篇文章中,我们讨论了使用拨动开关的相同 PLC 示例,了解逻辑。 输入 下面列出了所需的数字输入。 开关 1:I0.0 开关 2:I0.1 开关 3:I0.2 输出 下面列出了所需的数字输出。 电机 1:Q0.0 电机 2:Q0.1 电机 3:Q0.2 通过开关控制 LED 的梯形图 梯形图逻辑解释 对于此应用,我们使用 EcoStruxure Machine Expert Basic v1.2 软件进行 PLC 编程。 在上面的程序中,我们为开关 1 (I0.0)、开关 2 (I0.1) 和开关 3 (I0.2) 使用常开触点和常闭触点 在 Rung0 中,当任意 1 个开关(常开触点)打开且其他 2 个开关(常闭触点)关闭时,LED 1 将打开。 要打开 LED 2 Rung1,任何 2 个作为常开触点的开关应打开,其余 1 个作为常闭触点的开关应关闭。 为了使 LED 3 点亮,Rung2 中的开关 1、开关 2 和开关 3 串联,从而实现 AND 逻辑门。 当所有三个开关都打开时,LED 3 将打开。 当任意 1 个开关打开时 信号在真实状态下流过开关 1。 在假状态下,开关 2 和开关 3 还将信号传递到输出。 因此,LED 1 将亮起。 当开关 2 打开且开关 1 和开关 3 处于常闭触点状态且关闭时,LED I 将打开。 当开关 3 接通且其他 2 个常闭触点开关断开时,LED 1 将亮起。 打开多个开关将会断开电路。 常闭触点在真实状态时不允许发出信号。 结果,LED 1 将关闭。 当任意 2 个开关打开时 当开关 1、开关 2 打开并且开关 3 关闭时,LED 2 将打开。 开关 3 作为常闭触点,处于假状态时,将允许信号通过。 当开关 1 和开关 3 打开并且开关 2 关闭时,LED 2 将打开。 开关 2 在错误状态时将允许信号。 信号流经开关 2 和开关 3,因为它们处于真实状态。 在假状态下,开关 1 还将信号传递到输出。 因此,LED 2 将亮起。 当两个以上输入打开时,用于第三个开关的常闭触点在真实状态下不会闭合电路。 因此,LED 2 将熄灭。 当 3 个开关全部打开时 当三个开关 SWITCH 1 (I0.0)、SWITCH 2 (I0.1)、SWITCH 3 (I0.2) 全部打开时,LED 3 将亮起并关闭其他两个输出。
  16. caixiaofeng

    多个开关和电机的 PLC 逻辑示例

    通过梯形图了解多个开关和电机上的 PLC 逻辑示例。 该 PLC 逻辑示例是为工科学生学习和练习梯形图逻辑而准备的。 相同的 PLC 程序在工业用途上的设计会有所不同。 PLC 逻辑示例 问题陈述: 为以下应用设计 PLC 梯形逻辑。 使用四个拨动开关来控制四个电机。 如果开关 1 打开,则电机 I 将打开。 如果开关 2 打开,则电机 I 和电机 II 将打开。 如果开关 3 打开,则电机 I、电机 II 和电机 III 将打开。 如果开关 4 打开,则电机 I、电机 II、电机 III 和电机 IV 将打开。 PLC 输入 下面提到了该 PLC 逻辑的数字输入列表。 开关1:I0.0 开关2:I0.1 开关3:I0.2 开关4:I0.3 PLC输出 下面列出了所需的数字输出。 电机1:Q0.0 电机2:Q0.1 电机3:Q0.2 电机4:Q0.3 多个开关和电机梯形逻辑 这是给定问题陈述的 PLC 逻辑。 程序解释 本例中,我们使用施耐德 PLC 软件进行编程。 在上面的 PLC 程序中,我们使用了常开触点作为开关 1 (I0.0)、开关 2 (I0.1)、开关 3 (I0.2) 和开关 4 (I0.3) 电机1的开关 1、开关 2、开关 3 和开关 4 并联,从而实现或逻辑门。 对于电机 2,输入开关 2、开关 3 和开关 4 并联,从而实现或逻辑门。 开关 3 和开关 4 正在实现 “或” 逻辑门,即与电机 3 并联连接。 仅开关 4 连接到电机 4。 要使电机 1 打开,开关 1 或开关 2、开关 3 或开关 4 应打开。 要打开电机 2,开关 2、开关 3 或开关 4 应打开。 当开关 3 或开关 4 打开时,电机 3 将打开。 当开关 4 打开时,电机 4 将打开。 PLC 仿真结果 接下来,我们将看到不同输入开关ON和OFF组合的PLC仿真结果。 当开关 1 为 ON 时 当拨动开关1打开时,电流流过它(这里我们在电路的情况下使用术语“电流”,所以这里你可以将其假设为“电流”或简称为“信号”) 。 结果,电机 1 启动。 其他电机将保持关闭状态,因为开关 1 未连接到它们。 当开关 2 为 ON 时 当开关 2 打开时,电流将流过开关 2,从而打开电机 1 和电机 2。这是因为开关 2 仅连接到电机 1 和电机 2。 当开关 3 打开时 当开关 3 接通时,电流流过它,这将打开三个电机,即电机 1、电机 2 和电机 3。输入开关 3 仅连接到这些输出。 由于开关 3 未连接到电机 4,因此电机 4 将保持关闭状态。 当开关 4 为 ON 时 开关 4 打开时将打开所有电机。 开关 4 连接到所有电机,打开时,电机 1、电机 2、电机 3 和电机 4 将打开。
  17. 这是一个 PLC 程序,用于从两个罐中排出相同的产品。 通过这个简单的例子来学习 PLC 编程。 从两个罐中排出相同的产品 问题描述 两个罐装满相同的产品。 这两个罐的排水量取决于储罐的要求。 使用梯形图在 PLC 中实现该系统的逻辑。 问题图 PLC 示例解决方案 这里系统使用两个水箱。 对于液位测量,使用两个传感器(液位低传感器)。 如图所示,我们使用两个泵将物料从储罐(储罐 1 和储罐 2)转移到储罐。 这里我们将使用液位计来测量储罐的液位。 PUMP 1 和 PUMP 2 将由液位变送器反馈控制。 在这里,我们使用两个泵来平稳运行。 当检测到储罐液位低于其极限时,两个泵都会运行。 注意:-这里我们考虑该系统的简单自动化。 本系统中使用液位计来测量储罐的液位。 为简单起见,储罐高度为 500cm,液位变送器反馈为 4 至 20mA。 我们将在此应用中使用 PLC S7-300。 我们将使用缩放来进行编程。 I/O 列表 输入列表 循环启动:- I0.0 循环停止:- I0.1 水箱 1 的低液位:- I0.2 水箱 2 液位:- I0.3 输出列表 泵 1:- Q0.0 泵 2:- Q0.1 M 内存 循环 ON 位:- M0.0 来自发射器的模拟值:- MW10 (INT) 来自发射器的模拟值:- MD100 (DINT) 乘法值:- MD104 实际水位(cm):-MD108 用于从两个罐中排出相同产品的 PLC 梯形图 程序说明 对于该应用,我们使用 S7-300 PLC 和 TIA Portal 软件进行编程。 网络 1: 我们使用锁存电路进行周期 ON(M0.0)输出。可以通过按 START PB(I0.0)启动它,并通过按 STOP PB(I0.1)停止。 网络 2: 这里来自发射器的实际计数或值是电流(4至20mA),因此通过使用 PLC 中的模拟输入通道,我们可以将其转换为数字计数。 该数字为 INT (MW10) 格式,因此我们需要将其转换为 DINT (MD100) 进行计算或乘法。 网络 3: DINT 值 (MD100) 乘以水箱的最大高度 (500cm) 进行计算。 网络 4: 乘法值(MD104)除以模拟模块的最大计数(27648)。最终的实际高度存储在 MD108 中。 网络 5: 这里我们使用泵 1 (Q0.0) 的比较器。在需要材料期间,操作员将操作泵 3,水位高度将会降低。 因此,根据我们的自动化或系统,我们需要填充储水箱,如果水位低于其限制(此处我们采用 480 厘米),泵 1 将启动。 注意:- 如果检测到水箱 1 的液位低 (I0.2),则应停止泵 1。 网络 6: 这里我们使用泵 2 (Q0.1) 的比较器。 在需要材料期间,操作员将操作泵 3,水位高度将降低。 因此,根据我们的自动化或系统,我们需要填充储水箱,如果水位低于其限制(此处我们采用 480 厘米),泵 2 将启动。 注意:- 如果检测到水箱 2 液位低 (I0.3),则应停止泵 2。 在所有功能循环期间应处于开启状态。 注意:- 以上应用可能与实际应用有所不同。 该示例仅用于解释目的。 我们也可以在其他 PLC 中实现这个逻辑。 这是排水系统的简单概念,我们也可以在其他例子中使用这个概念。 示例中考虑的所有参数仅供说明之用,实际应用中参数可能有所不同。 此外,应用中并未考虑所有联锁。 结果
  18. 这是在 PLC 中实现SR触发器的 PLC 程序。 通过此示例逻辑学习 PLC 编程。 使用 PLC 梯形逻辑的 SR 触发器 问题描述 使用梯形图语言在 PLC 中实现 SR 触发器逻辑的程序。 问题图 PLC 解决方案 众所周知,更复杂的系统不能仅用组合逻辑来控制。 主要原因是我们无法或选择不添加传感器来检测所有情况。 在这些情况下,我们可以使用事件来估计系统的状况。 SR 触发器用于锁定或解锁——锁定某项或将其关闭。 大多数 PLC 都有专门的 SR 触发器功能指令。 因此此类 PLC 不需要自定义逻辑。 SR 触发器首先执行 SET 功能,然后执行RESET 功能。 注意:- 这里我们考虑 SR 触发器指令的简单功能,而不使用特殊指令或使用锁存功能。 这里我们使用简单的锁存电路来实现 SR 触发器功能。 如图所示,采用两个按钮或两个输入来执行程序。 当用户按下 SET 按钮或在 S 输入处接收到 1 时,Q 输出将打开,如果按下 RESET 按钮或在 R 输入处接收到 1,Q^ 将打开。 输入/输出列表 数字输入 设置输入:- I0.0 复位输入:- I0.1 数字输出 Q 输出:- Q0.0 Q^ 输出:- Q0.1 M 内存 继电器线圈 1 :- M0.0 继电器线圈 2 :- M0.1 PLC 梯形图实现 SR 触发器 程序解释 本 PLC 程序我们使用 S7-300 PLC 和 TIA Portal 软件进行编程。 我们也可以使用其他 PLC 来实现这个逻辑。 网络 1: 这里我们使用继电器线圈 1(M0.0) 的 NC 触点,因此当按下复位按钮时,Q 输出 (Q0.0) 关闭。 网络 2: 这里我们使用继电器线圈 2 (M0.1) 的 NC 触点,因此当按下设置按钮时,Q^ 输出 (Q0.1) 关闭。 网络 3: 这里,当我们按下RESET按钮(I0.0)时,继电器线圈 1(M0.0)将被锁存。 网络 4: 这里,当我们按下 SET 按钮(I0.1)时,继电器线圈 2(M0.1)将被锁存。 如果上电期间两个输入都为低电平,则 Q^ 输出 (Q0.1) 将因其顺序而变高。 如果两个输入都是 注意:- 以上应用可能与实际应用有所不同。 该示例仅用于解释目的。 我们也可以在其他 PLC 中实现这个逻辑。 这就是无需指令实现 SR 翻转功能的简单概念。 我们也可以在其他例子中使用这个概念。 示例中考虑的所有参数仅供说明之用,实际应用中参数可能有所不同。 结果
  19. caixiaofeng

    PLC 程序读取 PLC 中的温度

    这是一个读取 PLC 温度的 PLC 程序。 使用示例问题和解决方案学习 PLC 编程。 读取 PLC 中的温度 问题描述 编写一个 PLC 程序,在其中我们可以监控实际温度。 这里我们使用外部温度控制器,其输出也连接到 PLC 以监控罐内物料的温度。 问题图 问题方案 RTD 电阻随温度变化呈线性变化的器件。 该电阻值将随着温度的变化而变化,通过提供恒定电流,测量到的电阻器两端的电压降可用于确定新的电阻,从而确定温度。 RTD 有多种类型,最常见的类型是 PT100。 它由铂制成,在 0 摄氏度时已校准为 100 欧姆。 在上述应用中,我们想要测量罐体的材料温度,因此我们使用 RTD 传感器来测量罐体的温度并向温度控制器发出信号。 温度控制器以电压(0-10V DC)的形式发送信号。如果 RTD 检测到 0 度温度,它将发送 0V DC,如果检测到最高温度,它将发送 10V DC 到 PLC。 温度控制器直接连接到 PLC,因此 PLC 将读取电压。 注意: – 这里我们考虑简单的应用来进行解释。 我们需要使用 RTD 传感器来测量罐体的物料温度。 并考虑其他用于控制目的的组件。 假设温度控制器的缩放范围为 0-100°C=0 至 10V DC,并根据该信号 PLC 考虑 0 至 27648。 输入/输出列表 M 内存 来自温度控制器的模拟值:- MW100 温度控制器的实际值:- MD104 乘法:- MD108 实际温度(°C):- MD112 PLC 梯形图读取温度 PLC 逻辑解释 对于该应用,我们使用 S7-300 PLC 和 TIA Portal 软件进行编程。 我们也可以使用其他 PLC 来实现此逻辑。 网络 1: 在这个网络中,我们实现了价值转换的逻辑。 为了乘法或计算,需要将值从 INT 转换为 DINT。 因此,通过使用转换指令,将来自 RTD (MW100) 的模拟值转换为实际模拟值 (MD104)。 注意:- 温度控制器向 PLC 提供 0-10V DC 信号。 ADC 转换器或模拟输入模块会将该模拟信号转换为数字形式,该数字信号的范围是 0 到 27648。该数字范围可能因一个 PLC 而异。 网络 2: 我们的 RTD 温度范围为 0 至 100 摄氏度,输出电压范围为 0 至 10V DC。 因此,我们需要根据温度读数来缩放该电压输出。 这里按照公式乘以该值,最终值将存储在 MD108 中。 注意:-此处温度控制器和温度测量范围为 0-100°C。 网络 3: 现在将最终结果乘以 27648,结果将存储在 MD112 中(实际温度以 °C 为单位)。 注意:- 以上应用可能与实际应用有所不同。 该示例仅用于解释目的。 我们也可以在其他 PLC 中实现这个逻辑。 这是 S7-300 PLC 中温度读取的简单概念,我们也可以在其他示例中使用这个概念。 示例中考虑的所有参数仅供说明之用,实际应用中参数可能有所不同。
  20. caixiaofeng

    用于控制阀缩放的 PLC 程序

    这是一个在 S7-300 PLC 中实现模拟量缩放的 PLC 程序。 控制阀结垢 问题描述 在 S7-300 中实现 PLC 程序进行模拟量缩放。 问题图 问题方案 模拟输入来自不同的传感器或发射器。 发射器将物理量转换为电信号。 我们可以使用模拟传感器来测量许多物理量,例如温度、压力、液位、距离、流量等。 当然,我们可以使用模拟传感器来测量所有物理量,但为了举例和说明目的,这里我们以控制阀为例。 如图所示,这里我们考虑一个控制阀,它有 4-20mA 输出(阀门反馈)和 4-20mA 输入(阀门命令)用于操作。 因此,当 PLC 向流量控制阀提供 20mA 电流时,阀门将打开 100%,而对于 4mA 电流,阀门将打开 0%(关闭)。 以其他方式,流量控制阀还提供可用于闭环系统/阀门百分比指示的输出信号。 如果阀门 100% 打开,PLC 将获得 20mA 信号,如果阀门打开 0%,则将获得 4mA。 注意:- 为了简单说明,我们在这里考虑闭环系统,因此操作员将控制阀打开命令参数设置在 0% 到 100% 的范围内。 现在,按照闭环系统,控制阀将提供输出信号(阀门反馈),通过使用 SCALE 指令,操作员可以在图形上看到实际的阀门打开参数。 输入/输出列表 M 内存 启用命令缩放:- M0.0 双极选择-缩放:- M0.1 来自传感器或发射器的实际值:- MW10 错误字 – 缩放:- MW12 缩放输出:- MD20 启用命令取消缩放:- M1.0 双极选择 - 取消缩放:- M0.2 显示屏上的给定值:- MD24 错误字-取消缩放:- MW16 非缩放输出:- MW26 用于阀门标定的 PLC 梯形图 梯形图逻辑解释 对于该应用,我们使用 S7-300 PLC 和 TIA Portal 软件进行编程。 我们也可以使用其他 PLC 来实现这个逻辑。 网络 1: 在该网络中,当使能命令(M0.0)为ON 时,执行缩放逻辑。 “Scale” 指令是将 IN 参数处的整数(这里是来自控制阀或 MW10 的 4-20mA 信号)进行转换,可以在下限(0% 输出)和上限(100% 输出)之间以物理单位进行缩放。 输出)。 指令的结果或缩放输出 (MD20) 在 OUT 参数处输出。 如果双极性选择(M0.1)为 ON,则假定 IN 参数的值为双极性(范围在 -27648 至 +27648 之间)。 如果双极性选择(M0.1)为 OFF,则假定 IN 参数的值为单极性(范围在 0 到 27648 之间)。 网络 2: “Unscale” 指令用于将 IN 参数上的浮点数(来自显示屏或 MD24 的给定值)取消缩放为下限和上限之间的物理单位。 指令的结果在 OUT 参数处输出(未缩放输出 MW26)。 如果双极性选择(M0.2)为 ON,则假定 IN 参数的值为双极性(范围在 -27648 至 +27648 之间)。 如果双极性选择(M0.2)为 OFF,则假定 IN 参数的值为单极性(范围在 0 到 27648 之间)。 错误代码表: 注:以上应用可能与实际应用有所不同。 该示例仅用于解释目的。 我们也可以在其他 PLC 中实现这个逻辑。 这是 SCALE 和 UNSCALE 指令的简单概念,我们也可以在其他示例中使用这个概念。 示例中考虑的所有参数仅供说明之用,实际应用中参数可能有所不同。 结果
  21. caixiaofeng

    使用 PLC 控制并联储罐液位

    这是一个用于控制并联储罐液位的 PLC 程序。 通过此示例学习 PLC 编程。 并联储罐液位控制 问题描述 两个罐并联连接。 我们需要加热和冷却进入储罐的物料,同时控制储罐的液位。 为此应用实施 PLC 程序。 问题图 问题方案 加热工艺用于加热罐内物料,冷却工艺用于冷却物料。 这里考虑两种材料相同,如图所示,入口阀将材料输送到两个罐中。 在这里,我们可以使用液位开关来检测两个水箱的低液位和高液位。 使用两个温度传感器测量两个水箱的温度。 罐底部使用出口阀排出材料以进行进一步处理。 我们将为此应用编写 PLC 程序。 输入和输出列表 数字输入 循环启动:- I0.0 循环停止:- I0.1 低液位罐 1(LL1) :- I0.3 低液位罐 2(LL2) :- I0.4 高位水箱 1(LH1) :- I0.5 高位罐 2(LH2) :- I0.6 数字输出 加热罐入口阀 V2 :- Q0.0 冷却罐入口阀 V3 :- Q0.1 加热罐出口阀 V4 :- Q0.2 冷却罐出口阀 V5 :- Q0.3 M 内存 循环ON位:- M0.0 加热罐温度寄存器:- MD10 冷却槽温度寄存器:- MD14 冷却罐出口阀 V5 :- Q0.3 用于并联罐液位控制的 PLC 程序 程序说明 对于此应用,我们使用 S7-300 PLC 和 TIA Portal 软件进行编程。 我们也可以使用其他PLC来实现这个逻辑。 网络1: 该网络用于锁存电路。 每当按下 START 按钮 (I0.0) 时,Cycle ON (M0.0) 位就会打开。 按 STOP PB (I0.1) 可停止循环。 网络2: 当检测到加热罐液位低(I0.3)时,进水阀 V2(Q0.0)将打开。 如果未检测到水箱 1(I0.5) 的高液位并按下启动 (I0.0) 按钮,入口阀 V2 (Q0.0) 将打开。 网络3: 如果检测到罐 2 (I0.4) 液位低,入口阀 V3 (Q0.1) 将打开。 如果按下启动按钮并且未检测到罐 2 (I0.6) 的高液位,则入口阀 V3 (Q0.1) 将打开。 网络4: 如果循环开启且加热罐实际温度(MD10)大于或等于设定温度(70°C),则出口阀V4(Q0.2)将开启 网络5: 如果循环打开并且冷却罐的实际温度(MD14)小于或等于设定温度(20°C),则出口阀V5(Q0.3)将打开。 注意:- 此示例仅用于说明目的。 我们可以在任何 PLC 中或使用继电器逻辑来实现此逻辑。 上述应用可能与实际应用不同,也可能是工厂逻辑的一部分。 结果
  22. caixiaofeng

    使用 PLC 加热和混合产品

    这是一个用于自动加热和混合产品的 PLC 程序。 通过此示例,供工科学生学习 PLC 编程。 产品的加热和混合 问题描述 制作一个自动系统,将两种材料收集在一个罐中。 所有材料均应混合直至达到预定的设定温度。 在 S7-1200 PLC 中为此应用编写一个梯形图程序。 问题图 问题方案 我们可以用简单的逻辑来解决这个问题。 对于该系统,考虑两个单独的液位开关来检测两种不同材料的液位(假设材料 A 和材料 B)。 还可以考虑使用一个液位开关来检测空液位。 为了控制液位,我们可以使用单作用阀门(全开和全闭型)。 混合时使用搅拌器,搅拌器与电机轴连接。 加热器和温度传感器安装在罐内。 在这里,材料被混合直至达到设定温度,混合后,出口阀(Q0.4)将被操作以排出混合产品。 输入和输出列表 输入列表 循环启动:- I0.0 循环停止:- I0.1 材料等级 B :- I0.2 材料等级 A :- I0.3 空液位开关:- I0.4 温度传感器:- I0.5 输出列表 入口阀 1 :- Q0.0 入口阀 2 :- Q0.1 搅拌器电机:- Q0.2 加热器:- Q0.3 出口阀:- Q0.4 M 内存 M0.0:- 循环开启 用于产品加热和混合的 PLC 程序 程序解释 本题中,我们将考虑 S7-1200 PLC 和 TIA Portal 软件进行编程。 网络1: 该网络显示了用于周期 ON 和周期 OFF 的简单锁存电路。 循环启动按钮 (I0.0) 的常开 (NO) 触点和循环停止按钮 (I0.1) 的常开 (NO) 触点用于激活循环。 网络2: 该网络用于操作入口阀 1(Q0.0)。 当检测到水箱低液位 (I0.4) 时,该功能将运行。 当地址(I0.3)的开关检测到料位A时闭合。 START PB (I0.0) 也并联连接,因此如果未检测到低电平,可通过按 START PB (I0.0) 启动入口阀。 网络3: 该网络用于操作入口阀 2 (Q0.2)。当材料 A 填充到所需液位时,该网络将运行。 当循环运行并且检测到材料 A 的液位时,入口阀 2 (Q0.1) 将打开。 网络4: 该网络用于操作搅拌器电机和加热器。 当罐内装满材料 A 和材料 B 时,加热器(Q0.3)和搅拌器电机(Q0.2)将打开。 网络5: 当整个混合过程和加热完成时,出口阀(Q0.4)将打开。 空液位开关(I0.4)的常闭触点用于在罐空时关闭出口阀。 注意:- 以上逻辑仅用于解释某些应用。 该图仅用于表示目的,实际系统可能与该系统不同。 结果
  23. caixiaofeng

    报警安全系统 PLC 程序

    这是用于报警安全系统的 PLC 程序。 通过此示例问题学习 PLC 编程。 报警安全系统 问题描述 在 S7-1200 PLC 中为房屋制作防盗报警系统程序。 考虑一栋房子,我们要在其中布置自动防盗报警安全系统。 当运动传感器检测到任何人时,警报应打开。 问题图 问题方案 我们可以用简单的逻辑来解决这个问题。 在这里我们可以使用两个传感器,一个运动传感器和第二个窗口传感器。 窗户传感器是一圈电线。 运动传感器的设计使得当在房屋或房间中检测到有人时,传感器将被激活(将其状态更改为 1 或 true) 窗户传感器的重要一点是电流始终通过,直到玻璃发生破裂。 因此输出始终为真,当有人试图打破窗玻璃时,电流不会在电路中流动。 输入和输出列表 输入列表 系统启动:- I0.0 系统停止:- I0.1 运动探测器:- I0.2 车窗传感器:- I0.3 报警停止按钮:- I0.4 输出列表 警报:- Q0.0 M 内存 M0.0:- 主线圈。 M0.1:- 报警条件。 报警安防系统 PLC 梯形图 计划说明 本题我们将考虑使用 S7-1200 PLC 和 TIA Portal 软件进行编程。 网络 1: 该网络显示了用于系统开启和系统关闭的简单锁存电路。 我们使用系统启动按钮(I0.0)的常开(NO)触点和系统停止按钮(I0.1)的常开触点(I0.1)来激活系统。 网络 2: 当系统启动且运动传感器 (I0.2) 检测到人员进入时,警报开启 (M0.1) 条件将开启,并将激活警报 (Q0.0)。 通常车窗传感器(I0.3)的常闭触点是并联使用的,因此在正常情况下这是正确的。 如果检测到玻璃破裂或窗户状况,窗户传感器 (I0.3) 输入将变为假,并将激活警报状况 (M0.1)。 网络 3: 在此网络中,锁存电路用于报警(Q0.0)。 如果检测到报警条件 (M0.1),报警将打开,并且可以通过按报警 STOP PB (I0.4) 来停止报警。 注意:- 以上逻辑仅用于解释目的。 我们也可以使用硬连线继电器逻辑来实现这个示例。 对于这个简单的系统来说,S7-1200 PLC 系统的成本是如此之高。 结果
  24. caixiaofeng

    流量积算仪 PLC 程序

    编写一个 PLC 程序来实现流量计的累加器。 流量计具有 4-20mA 输出,代表管道中 0 至 100 升/小时的燃油流量。 流量积算仪 PLC 程序 通过使用这个逻辑,我们可以计算从管道通过的总燃料量。 当累加器值达到 5000 升时,应自动重置,或者我们可以使用 RESET 按钮重置该值。 问题方案 我们可以通过简单的逻辑来解决这个问题。 这里我们考虑使用流量计来测量最大流量为 100 升/小时的燃料。 这里我们使用 DIV 指令将这个流量从 L/H 转换为 L/Sec 进行计算。 之后,通过使用 1 秒时钟脉冲,我们将把这个值存储在另一个存储位置,并且每隔一秒就会添加和更新新值。 例如,我们认为累加器的最大值为 5000 升,因此在此值之后累加器应重置。 因此,我们会将此值与实际值进行比较并自动重置它,或者我们将提供一个 RESET 按钮来重置累加器值。 输入/输出列表 输入列表 复位:- I0.0 M 内存 M0.5:- 1秒(1s)时钟脉冲 M1.2:- 时钟脉冲的上升沿 MD10:- 流量计最终输出(L/H)的存储字 MD18:- 流量计最终输出(L/Sec)的存储字 MD22:-总升添加量 MD26: - 总燃油量(升) 累加器梯形图 程序解释 本题中,我们将考虑 S7-300 PLC 和 TIA Portal 软件进行编程。 网络 1: 这里我们采用了流量计的最终输出值,单位为 L/H (MD10)。 通过使用 DIV 指令,我们将 L/H 流量转换为 L/sec,并将最终值存储在 MD18 中。 网络 2: 这里 1s 的时钟脉冲(M0.5)每秒都会加值,并将结果存储在存储器字 MD22 中。 网络 3: 此处,出于显示目的,我们将 MD22 的值移至 MD26(以升为单位的总燃油量)中。 网络 4: 在这个网络中,我们需要重置累加器。 如果总燃油量大于 5000(5000 值是为了示例目的,它取决于流量计配置及其范围),则累加器计数应自动为零,或者我们可以通过按 RESET 按钮 (I0.0) 进行重置。 注:以上逻辑仅用于解释目的。 这里我们只考虑了缩放的最终输出,因此我们在逻辑中没有提到 4-20mA 缩放。 结果
  25. 讨论 PLC 定时器编程示例:不同的 PLC 定时器有 TON、TOF、TP 和 TONR。 PLC 定时器指令和 PLC 定时器逻辑示例。 PLC 定时器编程 使用 TIA Portal 在 S7-1200 PLC 中实施 IEC 定时器(TON、TOF、TP 和TONR)。 在许多应用中,需要控制时间或信号流。 例如,可能需要控制阀门或电机在特定的时间间隔内运行,在一段时间间隔或一段延迟后打开。 问题图 问题方案 对于这个问题,我们将通过示例在 S7-1200 PLC 中使用 IEC 定时器(TON、TOF、TP 和 TONR)。 PLC 中有多种不同形式的定时器。 如上图所示, ON 延迟定时器,在特定时间延迟后变为 ON。 关闭延迟定时器在关闭输入后一段固定时间内开启。 脉冲定时器在固定的时间内打开或关闭。 累加器定时器是记录时间间隔的。 这里考虑四个电机和四个开关的示例来解释定时器。 我们需要以不同的方式启动三个电机。 第一个电机将在 10 秒延迟后启动, 第二个电机将立即启动并在 10 秒延迟后关闭 第三个电机将以脉冲启动,并延迟 10 秒关闭。 第四个电机将运行总共 10 秒。 输入/输出列表 输入列表 开关 1:I0.0 开关 2:I0.1 开关 3:I0.2 开关 4:I0.3 复位:I0.4 输出列表 电机 1:Q0.0 电机 2:Q0.1 电机 3:Q0.2 电机 4:Q0.3 定时器的 PLC 梯形图 我们可以使用 Generate-ON-delay 或 ON 延迟定时器指令将 Q 输出的设置延迟编程的持续时间 PT。 当输入 IN 的结果从 0 变为 1(上升沿)时启动该指令。 您可以在 Timer 模块的 ET 输出处监视当前时间值。 计时器值从 T#0s 开始,并在达到持续时间 PT 的值时结束。 一旦 IN 输入处的信号状态变为 0,ET 输出就会复位。 我们可以使用生成关闭延迟或关闭延迟定时器指令来将 Q 输出的复位延迟编程的持续时间 PT。 当输入 IN 处的逻辑运算 (RLO) 结果从 0 变为 1(正信号边沿)时,Q 输出被置位。 我们可以在 ET 输出处监视当前时间值。 我们可以使用生成脉冲指令来设置编程持续时间的输出 Q。 当输入 IN 的结果从 0 变为 1(上升沿)时启动该指令。 编程时间 (PT) 从指令开始时开始。 在此定时器中,即使检测到新的上升沿,只要 PT 持续时间仍在运行,输出 Q 处的信号状态就不会受到影响。 时间累加器指令或累加器定时器用于在编程时间 (PT) 参数设置的周期内累加时间值。 当输入 IN 的信号状态从 0 变为 1(上升沿)时,执行指令,并且持续时间 PT 开始。 在这种情况下,即使 IN 参数处的信号状态从 1 变为 0”(下降沿),Q 参数仍保持设置为 1。 R 输入复位输出 Q。 计划说明 本题我们将考虑使用 S7-1200 PLC 和 TIA Portal 软件进行编程。 网络1: 在此网络中,我们为 MOTOR 1(Q0.0) 使用 ON 延迟计时器(生成延迟)。 当 SWITCH 1(I0.0) 的状态从 0 变为 1 时,定时器指令将被执行,并在 10 秒延迟后激活 MOTOR 1(Q0.0)。 网络2: 在此网络中,我们为电机 2(Q0.1) 使用了关闭延迟定时器(生成关闭延迟)。 当 SWITCH 2(I0.1) 的状态从 0 变为 1 时,定时器指令将被执行,并立即激活 MOTOR 2(Q0.1)。 此外,当开关 2(I0.1) 状态变回 0 时,编程时间 (PT) 将开始,时间过后电机 2(Q0.1) 将关闭。 网络3: 在此网络中,我们为电机 3(Q0.2) 使用了脉冲定时器(生成脉冲)。 当开关 3(I0.2) 的状态从 0 变为 1 时,定时器指令将被执行,并立即激活电机 3(Q0.2)。 在这种情况下,即使检测到新的上升沿,只要编程时间 (PT) 正在运行,电机 3(Q0.2) 的状态就不会受到影响。 网络4: 在该网络中,我们为 MOTOR 4(Q0.3) 使用了累加器定时器(累加器时间)。当 SWITCH 4(I0.3) 的状态从 0 变为 1 时,定时器指令将被执行,并且 MOTOR 4(Q0.3) 将被执行。 3) 10秒后开始。 即使输入状态变回 0,电机 4(Q0.2) 也将保持打开状态。需要复位 (I0.4) 来复位定时器或累计时间。 运行时测试用例
×
×
  • Create New...