条码打印机双条码(Siemens TIA使用OPC UA完成2台PLC通讯)
Posted
篇首语:观书散遗帙,探古穷至妙。本文由小常识网(cha138.com)小编为大家整理,主要介绍了条码打印机双条码(Siemens TIA使用OPC UA完成2台PLC通讯)相关的知识,希望对你有一定的参考价值。
条码打印机双条码(Siemens TIA使用OPC UA完成2台PLC通讯)
在这篇文章中,通过将 S7-1500 设置为具有专用服务器接口和用户身份验证的 OPC UA 服务器来学习如何使用 OPC UA 在两个 PLC 之间进行通信。
OPC UA 是用于工业通信的开放式数据交换标准。它描述了一种用于从机器到机器或从机器到 PC 交换数据的协议。OPC UA 是 Open Platform Communications Unified Architecture 的缩写,顾名思义,是一种独立于制造商、系统供应商和编程语言的通信协议。在这个演示中,我们将学习如何实现 OPC UA 用于 PLC 到 PLC 的通信,也称为水平通信。但这并不是 OPC UA 的唯一应用——它还用于 PLC 与更高级别系统(如 SCADA 和 MES)之间的通信,也称为垂直通信。在更新的固件版本中,S7-1500 PLC 还具有内置的 OPC UA 客户端。此 OPC UA 客户端可用于与条码扫描仪和打印机等从属设备进行垂直集成。使用 OPC UA 与这些设备通信的 PLC 可以从条形码扫描仪检索条形码或将数据发送到打印机进行打印。
OPC UA 的优势
OPC UA 服务器接口OPC UA 的主要优势在于它独立于制造商。OPC UA 提供了一种在任何制造商制造的设备之间交换数据的开放方式,而无需使用网关设备将通信从一种专有格式转换为另一种。许多制造商支持Modbus/TCP和TCP/IP等其他通信协议 ,但 OPC UA 正迅速成为工业通信的首选通信协议。由于 OPC UA 基于 TCP/IP,因此可通过以太网进行路由。这意味着不在同一子网中的设备可以通过使用路由器相互通信。其他工业协议(如I-Device 通信)受到限制,因为它们无法通过以太网路由,因此只能用于同一子网中的设备之间的通信。OPC UA 具有内置诊断功能,因此可以在用户程序中检测和处理通信错误。诊断对于在监控系统时解决通信问题也很有用。与旧协议不同,OPC UA 支持使用优化的数据块进行数据交换。这意味着您可以遵循 Siemens 的建议,在两个 PLC 之间进行通信时专门在用户程序中使用优化的数据块。虽然 OPC UA 不是像PUT/GET那样的单面通信协议,但服务器 PLC 不需要编程。服务器 PLC 只是将数据提供给第三方。这使得使用 OPC UA 在两个 PLC 之间设计数据交换变得非常容易。关于从服务器 PLC 公开数据的主题,OPC UA 支持使用配套规范要求。OPC 配套规范是一种订购数据的方式,以便以结构化格式将其提供给客户端。当客户端浏览服务器公开的数据时,数据以结构化方式呈现,标准数据采用标准格式。配套规范通过确保仅公开特定数据来帮助在 OPC UA 连接中提供一些安全性。当然,由于 OPC UA 是一种现代协议,因此 OPC UA 通信可以通过现代互联网标准安全性得到保护。可用于 OPC 通信的安全机制包括数据的加密和数字签名,以确保传输的数据不会被恶意第三方拦截、读取或修改。
OPC UA 的缺点
由于 OPC UA 是一种现代的跨平台通信协议,因此使用 OPC UA 进行 PLC 到 PLC 通信几乎没有缺点。我能想到的唯一缺点不是与 OPC UA 本身有关,而是与在 TIA Portal 中启用 OPC UA 服务器的方式有关。在 TIA Portal 中启用 PLC 中的 OPC UA 服务器时,默认情况下,PLC 中的所有数据都会在没有安全性的情况下公开。这意味着在您启用 OPC UA 后,任何 OPC UA 客户端都可以立即连接到 PLC 并浏览和修改该 PLC 中的任何数据,包括数据块、实例数据块、输入、输出和内存位。这实际上比 PUT/GET 等传统通信协议更糟糕,因为 OPC UA 象征性地公开来自 PLC 的数据。由于数据是象征性地公开的,因此恶意行为者可以象征性地浏览标签,以更清楚地了解他们正在访问的确切数据。好消息是,正确设置后,OPC UA 是一种非常安全的通信协议。在接下来的部分中,我将向您展示如何设置 OPC UA 通信以在两个 PLC 之间交换数据,以及如何保护该通信以确保恶意行为者不会干扰通信中涉及的系统。
演示
在此演示中,两个 PLC 将通过 OPC UA 交换数据。PLC_2 充当 OPC UA 服务器,将数据公开给 PLC_1,即 OPC UA 客户端。随着演示的进行,我们将逐步提高通信的安全性。在 TIA Portal 中,我创建了一个新项目,添加了两个 PLC,并运行了安全向导。
配置服务器
在 PLC_2 中,我将启用 OPC UA 服务器。由于 OPC UA 是许可产品,我需要在 Properties > General > Runtime Licenses 中选择我为 PLC 购买的运行时许可类型。在下拉列表中选择购买的许可证类型。目前,您无需提供实际购买许可证的证明,尽管这在未来可能会发生变化。所需的许可证类型取决于您使用的 CPU。您可以在此SIOS 条目中查看 PLC 需要哪种类型的许可证。
在 TIA Portal 中选择 OPC UA 运行时许可证接下来,我通过激活“属性”>“常规”>“OPC UA”>“服务器的可访问性”下的复选框“激活 OPC UA 服务器”来启用 PLC_2 中的 OPC UA 服务器。将弹出一条警告,强调必须正确保护 OPC UA 服务器。仔细阅读后单击“确定”关闭此警告。
激活 OPC UA 服务器如果您向下滚动到此窗口的服务器地址部分,您将看到我们有两个 OPC UA 服务器地址。这是因为此 PLC 有两个端口,并且为这两个端口启用了 OPC UA 服务器。
OPC UA 服务器地址
安全检查 #1
现在,OPC UA 服务器已启用。任何 OPC UA 客户端都可以浏览到该 PLC 并访问通过 OPC UA 服务器公开的数据。这包括输入、输出、内存地址和 DB。为了演示这一点,我在 PLC 中创建了一些输入和输出,并在硬件配置中启用了时钟字节。下载这些更改后,我启动了免费的 OPC UA 客户端UAExpert来浏览 PLC。在UAExpert 中,我单击服务器> 添加并切换到高级选项卡。在这里,我可以输入我从 PLC_2 的硬件配置中复制的 OPC UA 服务器的端点 URL。单击“确定”添加服务器。
在 UA Expert 中配置 OPC UA 服务器OPC UA 服务器被添加到左侧窗格中的项目树中。右键单击服务器并选择连接以连接到 OPC UA 服务器。
连接到 OPC UA 服务器弹出一个错误窗口,通知我们 PLC_2 OPC UA 服务器提供的安全证书存在问题。单击信任服务器证书以忽略这些警告。
信任 OPC UA 服务器证书最后,单击继续连接到 OPC UA 服务器。
单击继续连接到 OPC UA 服务器通过连接到 OPC UA 服务器,我们可以浏览左侧地址空间窗格中公开的数据。您可以在这里看到,我们可以象征性地浏览公开的数据,并查看在 PLC 中配置的所有输入、输出和内存区域。我已经选择了输入、输出和内存位并将它们拖到 UA Expert 的中心窗格中。
浏览 OPC UA 服务器中的标签现在我可以监控这些标签的值了。我还可以通过双击它们来修改标签的值。在这里,您可以看到我已将输出 Q_01_01_M11_MTR 修改为 True。
从 OPC UA 服务器写入标签这是一个非常危险的情况——任何 OPC UA 客户端都可以连接到这个 PLC 来查看和修改任何数据。事实上,这种情况不如使用PUT/GET安全,因为 OPC UA 象征性地公开数据,因此恶意行为者很容易通过 OPC UA 客户端找到将对系统造成最大破坏的数据。
配置服务器接口
我们可以通过仔细选择向 OPC UA 客户端公开哪些数据来提高 OPC UA 服务器的安全性。为此,我们需要在 PLC_2 的硬件配置中禁用标准服务器接口。标准服务器接口是将来自 PLC 的所有数据公开给 OPC UA 客户端的服务器接口。您可以在属性 > 常规 > OPC UA> 标准服务器接口(SIMATIC 命名空间)中禁用此服务器接口:
禁用标准 SIMATIC 服务器接口关闭此服务器接口后,我们可以创建一个新的服务器接口,将 PLC 中的特定数据公开给 OPC UA 客户端。要添加新的服务器接口,请双击项目树中 PLC_2 > OPC UA 通信 > 服务器接口下的添加新服务器接口按钮。为您的服务器接口命名,然后单击确定以创建接口并打开服务器接口编辑器。
添加新的 OPC UA 服务器接口在 Server Editor 窗口中,您有两个窗格。在左窗格中,您有 OPC UA 服务器接口命名空间。此命名空间定义了 OPC UA 客户端可访问的所有数据。OPC UA 客户端只能浏览此命名空间中的数据。在右侧,您可以将项目的 OPC UA 元素添加到 OPC UA 服务器接口命名空间中。要将项目中的元素添加到 OPC UA 服务器接口命名空间,您只需将它们从左侧拖放到右侧窗格即可。在此示例中,我已将光电管输入和时钟位标记添加到服务器接口名称空间。
向 OPC UA 服务器接口添加标签我将下载这些更改并切换回UAExpert OPC UA 客户端以查看这些更改。
安全检查 #2
回到UAExpert,我已经断开并重新连接到OPC UA 服务器。现在我看到数据不再直接通过 PLC 公开,而是我们选择公开的标签通过名为 Server_Interface_1 的新文件夹公开。这是我们在 TIA Portal 中创建的服务器接口命名空间。当您展开此文件夹时,您会看到它包含我们选择公开的所有数据。再一次,我们可以监控和修改通过这个服务器接口命名空间暴露的数据的值。
OPC UA 客户端中的服务器接口命名空间现在,我们通过限制向 OPC UA 客户端公开的数据的数量和类型,使连接更加安全。在下一节中,我们将通过实施身份验证来进一步提高连接的安全性,以便只有具有正确用户名和密码的设备才能连接到服务器。
配置身份验证
访客身份验证允许任何客户端访问 OPC UA 服务器,而无需在密码中提供用户名。为了实现身份验证,我们希望在 OPC UA 服务器中禁用访客身份验证。您可以在 TIA Portal 中通过取消激活“常规”>“OPC UA”>“访客身份验证”下 PLC 属性中的“启用访客身份验证”复选框来执行此操作
禁用 OPC UA 服务器的访客身份验证在本节下方,我们可以通过激活“启用用户名和密码身份验证”复选框来启用用户名和密码身份验证。使用用户名和密码启用身份验证后,您可以定义 OPC 客户端将用于连接到 OPC 服务器的用户名和密码。
为 OPC UA 服务器启用身份验证
安全检查#3
将更改下载到 PLC 后,我可以返回到UAExpert 并断开并重新连接到 OPC UA 服务器。这次当我尝试连接时,我看到抛出“BadIdentityTokenInvalid”错误。这是因为 OPC UA 服务器不再允许访客身份验证
BadIdentityTokenInvalid 错误我们可以在服务器连接属性中配置用于连接到 OPC UA 服务器的用户名和密码。要访问服务器连接属性,请右键单击 OPC UA Demo 并选择 Properties。
服务器连接属性在身份验证设置部分,您可以提供用户名和密码以连接到 OPC UA 服务器。您可以选择存储这些凭据,这样您就不必在每次连接到 OPC UA 服务器时都提供它们。
UA Expert 中的身份验证设置为 OPC UA Server 提供正确的用户名和密码后,您可以再次连接、浏览服务器接口命名空间中的标签、监控和写入标签值。现在我们已经采取措施保护 OPC UA 服务器,让我们配置 OPC UA 客户端,看看我们如何使用 OPC UA 进行 PLC 到 PLC 的通信。
配置 OPC UA 客户端
在 PLC_1 中,我在常规 > OPC UA > 客户端下的 PLC 属性中激活 OPC UA 客户端。
激活 OPC UA 客户端同样,我们必须在 PLC 属性中的 General > Runtime Licenses > OPC UA 下指定购买的许可证类型。就像 OPC UA 服务器有一个服务器接口一样,OPC UA 客户端也有一个客户端接口。通过双击项目树中 PLC_1 > OPC UA 通信 > 客户端接口下的“添加新客户端接口”,为 PLC_1 添加客户端接口。名为 Client_Interface_1 的客户端接口会自动创建并打开。
添加客户端接口在编辑器的底部窗格中,提供 OPC UA 服务器的 IP 地址和端口(如果已修改)。您将看到带有新信息的服务器地址更新。
配置服务器 IP 地址在“安全”选项卡中,向下滚动到“用户身份验证”部分。在用户身份验证下拉菜单中,选择“用户名和密码”。在以下两个框中,提供您之前在 OPC UA 服务器中配置的用户名和密码。
为 OPC UA 客户端设置安全性完成这些更改后,将它们下载到 PLC。
配置数据交换
接下来,我们可以指定 OPC UA Server 和 Client 之间的数据交换。在“OPC UA 客户端接口”树中,您可以看到有各种数据访问选项,包括读取列表、写入列表和方法列表。读取列表包含从 OPC UA 服务器读取的数据,写入列表包含写入 OPC UA 服务器的数据。在此演示中,我们将从 OPC UA 服务器读取数据。双击“添加新阅读列表”以创建并打开一个名为“阅读列表_1”的新阅读列表。
创建一个新的阅读列表现在,我们要将来自服务器接口命名空间的数据添加到读取列表中。我们可以通过以 XML 格式从 PLC_2 导出服务器接口名称空间并将其导入回 PLC_1 中的客户端接口来实现此目的。如果与服务器的在线连接可用,一个更简单的选择是浏览 OPC UA 服务器接口命名空间的数据。为此,请从 OPC UA 服务器接口源下拉列表中选择在线 [],然后单击“在线访问”以浏览 OPC UA 服务器接口。
浏览 OPC UA 服务器接口在打开的对话框中,粘贴 OPC UA 服务器的地址,然后单击“查找所选服务器”。找到服务器后,选择安全级别“无安全性”并指定正确的用户身份验证类型以及用户您之前创建的名称和密码。最后,单击“连接”以连接到 OPC UA 服务器。
连接到 OPC UA 服务器在弹出框中,单击“是”选择信任 OPC UA 服务器的证书。如果一切顺利,您应该能够在 OPC UA 服务器界面窗格中看到 OPC UA 服务器公开的数据。从这里,您可以将要使用的数据拖到 OPC UA 客户端的读取列表中。在此示例中,我将 Clock_1Hz 布尔标记带到客户端的读取列表中。
将数据添加到 OPC UA 客户端读取列表最后,我们需要轮询数据。为此,我将使用指令 > 通信 > OPC UA > OPC UA 客户端下的 OPC_UA_ReadList_C 块。这是一个紧凑的通信块,这意味着它与 OPC UA 服务器建立连接并处理数据交换。在 Main OB 中创建对指令的调用并启动配置向导。
OPC_UA_ReadList_C 的配置向导按照配置向导中的步骤参数化模块并设置 REQ 引脚以循环轮询来自服务器的数据。如果配置正确,您应该会看到块更改值的 STATUS 引脚以表明正在接收数据。
完成参数化 OPC_UA_ReadList_C现在,如果我跟踪从服务器接收到的数据(在“Client interface_1_Data”.“Read list_1”.Variable.Clock_1Hz 中可用),我可以看到正在从 OPC UA 服务器接收和更新数据
OPC UA 数据跟踪
总结
在这篇文章中,介绍了 OPC UA,并解释了使用 OPC UA 作为 PLC 系统中水平和垂直通信的通信协议的一些优点和缺点。展示了如何使用 OPC UA 在两个 PLC 之间进行通信。在此过程中,学习了如何将 S7-1500 PLC 设置为 OPC UA 服务器,以及如何使用服务器接口和用户身份验证正确保护服务器连接。还学习了如何将 S7-1500 PLC 配置为 OPC UA 客户端以及如何使用来自服务器的数据。
相关参考
...体操作步骤吧。1、设置标签纸张大小——需要设置的和打印机中的标签纸张大小保持一致。2、绘制条形码制作条码数据。点击软件左侧工具栏中“绘制条形码”图标,在标签合适的位置进行绘制,之后鼠标双击绘制的条形码,...
条码小票打印机(条码打印机有哪些分类 哪种条码打印机质量好)
条码打印机有哪些分类?条码打印机是一种专用的打印机,是打印机商家根据现在的发展而开发的一种特殊的打印机,方便了各大商家。别看条码打印机个头不大,但是种类却是真的不少,条码打印机大家族里,有各种各样的家...
条码打印机怎么设置条码长度(条码打印机如何使用?掌握这几步轻松打印标签)
很多人爱在网上淘东西,甚至条码打印机选购也在网上。但是条码打印机不是日用品,需要一定的电脑基础才能使用,你会发现收到货后产生很多的问题,比如条码打印机怎么安装、怎么使用、标签要用什么软件编辑……等等。...
...性好,而且打印后不容易脱色的条码纸。并且还要是适合打印机打印的材质。下面我们首先看一下看如何选择条码纸,具体注意事项如下:1、软PVC和PET条码纸,常常会有增塑剂渗出,也称为溢胶,选择PET和PVC条码纸时要特别注...
现在很企业都开始使用条码标签机,它和普通打印机不同,相比普通打印机,它的打印质量更高,打印速度更快,而且连续打印时间更长。市面上各种品牌的打印机非常多,很多人会选择斑马打印机,斑马是款进口品牌。在市场...
...有客户咨询,自己有条码机,该怎么编辑标签。其实条码打印机主要包括有打印驱动和条码打印软件的设置。条码机只负责打印。在条码打印软件中设置好标签大小及根据自己的需求在条码打印软件中设计好标签模板,预览没有...
条码打印机打印不出来条码怎么回事(条码打印机为什么一直不停往外走纸)
条码打印机是专用于打印条码标签的一款打印机,它和办公室使用的普通打印机不同,它不能打印A4纸,只能打印条码标签,它使用的耗材不是硒鼓,而是碳带,它是利用热转印原理进行打印的,这种打印方式就是打印速度快,...
条码打印机售价(为什么工业条码打印机比商业条码打印机贵10000多,到底贵在哪里)
条码打印机一般分为商业型和工业型的,它们之间有哪些优劣差异呢?简单的来说,就是工业级的品质,打印速度快,不受打印量的限制,可以24小时打印;商业型条码打印机多用于日常办公、小型工厂、珠宝行业、服装业、医...
条码标签打印机怎么使用(「条码打印机」的场景应用及「条码打印机」的原理)
条码打印机是一种专门大量快速打印不干胶标签、PET标签、吊牌、水洗布等的打印设备。条形码打印机和普通打印机的最大的区别就是,条码打印机的打印是以热为基础,以碳带为打印介质配合不同材质的碳带可以实现高质量的...
条码打印机连不上电脑(有关条码扫描识别不出条码的几种情况介绍)
现在条码随处可见,比如快递单上的物流条码、超市的商品条码以及高档物品上的防伪码等,都可以通过条码扫描扫描来获取条码的信息。条码扫描也是一种常见的条码阅读设备,具有读取条码数据。但是也有特殊情况,是条码...