×

使用Modbus模拟胶印机

消耗积分:0 | 格式:zip | 大小:0.00 MB | 2023-06-20

分享资料个

描述

介绍

该项目展示了一个 HMI 应用程序,该应用程序模拟使用 Modbus TCP/IP 服务器运行的胶印机的操作。这是用于演示 Modbus 功能的胶印机的简化模拟。请注意,我们编写此模拟器并不是因为我们是印刷行业的专家,而是因为我们需要具有特定功能集的便携式模拟器。

该模拟器的开发目的是在 ARM 和 x86 上的 Linux 上运行,使用 C++ 和 QT 框架。它使用libmodbus库来处理 Modbus 通信。此外,它还设计有用于触摸屏的 GUI,以及 800x600 分辨率的显示屏。

软件设置

该应用程序分两部分开发。第一部分由负责托管机器逻辑的库组成。它包含机器和组件。机器是组件的宿主,它们之间可以交换消息。机器可以通知组件其状态(启动/停止),如果组件为空,则组件可以通知机器,在这种情况下机器需要停止工作。传送带是最重要的组件,因为它负责定期对所有其他组件执行 ping 操作。原因之一是改变他们的计数。

第二部分是QT应用程序。它包含作为依赖项的库。它使用模拟器的钩子和 QT 中的 Signal/Slot 机制来提供来自模拟器的值并与之交互。同样,Modbus 服务器允许交互和监控模拟器值。

应用程序的部署是一个循序渐进的过程,我们将逐步完成。该过程包括:

  • 克隆源代码
  • 安装所有依赖项
  • 构建应用程序
  • 进行额外的硬件设置

我们从最简单的步骤开始——通过执行以下操作克隆应用程序的源代码:

git clone https://github.com/Wolkabout/offset-printing-machine-simulator-application.git --recurse-submodules

完成后,我们需要安装所有依赖项。下面列出了依赖项:

  • gcc、制作和制作 (>= 3.14)
  • libpthread-stubs0-dev (pthread), libmodbus-dev (libmodbus)
  • libqt4-dev, libqt4-dev-bin

您可以以更快的方式执行此操作 - 通过执行包含的 shell 脚本。如果您有权访问 apt 和 snap 商店,则此功能可用。请执行下列操作:

. dependencies.sh

如果没有,请在您的发行版各自的包提供商上安装依赖项。或者,对于 cmake (>= 3.14) 和 Raspberry Pi,在您的硬件上编译它。

安装完所有依赖项后,您终于可以构建应用程序了。为了简化这个过程,我们创建了一个 shell 脚本来为您构建应用程序。执行以下命令:

. build.sh

运行构建脚本后,您应该有一个可执行文件准备好执行,并移动到文件夹 /out。要运行该应用程序,请键入下一个命令:

./modbus-application

就是这样!该应用程序正在全面运行!您将登陆如下所示的主屏幕:

pYYBAGOSjhuAQTA8AABLIY9vZaQ728.png
 

您可以在底部看到控件,那里有后退和主页按钮。日志按钮指向日志屏幕,而设置按钮指向设置屏幕。

开始演示按钮显示应用程序的主要部分,即模拟器。

poYBAGOSjh6AU5FnAACGkAYL1fo869.png
 

在此屏幕上,您可以看到机器所处的状态以及所有控件。它们如下所列:

  • 引起模拟问题:卡纸和急停
  • 重新填充组件
  • 改变机器的速度

您还可以通过按“重置为配置”按钮从设置屏幕将机器重置为默认状态。

硬件设置

我们的硬件设置设置为Compulab Fitlet2 IoT PCIEI DM-F08A 工业显示器。Ubuntu 19.04 Desktop 安装在驱动器上。此特定组合需要安装Penmount Touchscreen 驱动程序。

剩下要做的是对运行应用程序的硬件进行一些小的配置。完成设置需要几个步骤。这些包括:

  • 创建 xdg/autostart 桌面条目
  • 设置静态IP地址

要添加桌面自动启动条目,请将桌面文件从项目的附件复制到/etc/xdg/autostart/文件夹。这将在您下次重新启动计算机时显示效果。

然后继续设置静态IP地址。这是通过几个步骤完成的。

poYBAGOSjiKAFuA4AAAg7b_HUQo083.png
 

转到“有线设置”,然后更改连接接口的设置。您需要禁用 DHCP 并将其设置为手动。设置地址、网络掩码和网关。如果您需要找到这些设置,请查看您的路由器设置。大多数情况下,IP 地址为 192.168.0.x。所以,一般来说,您会想要使用 192.168.0.1 和 192.168.0.255 之间的任何空闲地址。请注意,在大多数情况下,网络掩码是 255.255.255.0,网关是路由器的地址,通常是 192.168.0.1。

pYYBAGOSjiWAFsDcAABgO13ZOts448.png
 

结论

 

设置完所有内容后,您终于拥有了一个功能齐全的模拟器。它包含胶印机的工作逻辑,您可以通过 GUI 通过 Modbus 访问它。我们使用 Modpoll 测试了 Modbus,并针对此处链接的特定寄存器进行了测试

下一步是将设备与网关连接,该网关能够使用 Modbus 启动和轮询数据并将其发送到云端。在这里查看我们的其他 Hackster 项目是如何实现的

--

您是否考虑过 IoT 项目?通过 Hackster.io 与 WolkAbout 社区分享。我们很想看看您可以使用 WolkAbout 物联网平台做什么!

如果您在开发它时需要帮助,我们可以满足您的要求!阅读我们团队的项目并继续关注新项目。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !