0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

虹科教您派固定工业树莓派Modbus RTU设备编号

虹科工业物联网技术 2021-10-18 18:26 次阅读

f66353fc-2eb1-11ec-aa30-dac502259ad0.png f72a6578-2eb1-11ec-aa30-dac502259ad0.png

虹科工业树莓派

高性能

多接口

宽温--适应恶劣环境

★★★★

f7faeb76-2eb1-11ec-aa30-dac502259ad0.gif

“ 01/前言

虹科工业树莓派是一款基于树莓派计算模块进行工业级设计和封装的,并且经过工业标准测试(EN61131-2和IEC 61000-6-2),如EMI,浪涌和突发事件等等,有ESD的极性保护,达到4KV/8KV。

f85db5d0-2eb1-11ec-aa30-dac502259ad0.png 

虹科工业树莓派的操作系统在Raspbian基础上进行了优化,给linux内核添加了RT实时补丁,以使得linux满足硬实时的需求。

f7faeb76-2eb1-11ec-aa30-dac502259ad0.gif

“ 02/Modbus TCP/RTU主从站功能

虹科工业树莓派内置虚拟Modbus TCP/RTU主从站功能,用户可以通过产品上的USB接口(需要USB转接线)/RS485接口连接Modbus RTU设备,并对设备进行读写操作。

fb21c4aa-2eb1-11ec-aa30-dac502259ad0.png

图1.1 虚拟Modbus TCP/RTU主从站

用户可以在网页配置界面PiCtory中对虚拟主从站进行配置。

比如:配置Modbus RTU Master一个任务为每1000ms读取一次从站地址为1,寄存器地址为1的保持寄存器的值,并将读取到的值放入Input_Word_1中,配置好之后读取操作将自动执行,用户只需读取Input_Word_1的值即可获得相应数据。

fba8ee76-2eb1-11ec-aa30-dac502259ad0.png

图1.2 虚拟Modbus RTU Master任务配置

在配置Modbus RTU Master时需要输入通过USB口连接的从站的设备编号的路径,比如:/dev/ttyUSB0。

这就带来一个问题:当从站通过USB口连接到模块时,其设备端口号是系统自动分配的,Linux内核会根据设备插入的先后顺序进行编号的分配,比如第一个插入的设备编号是ttyUSB0,第二个插入的设备编号是ttyUSB1,依次类推。

所以,在每次重启系统之后,连接的Modbus RTU从站的设备编号可能会发生变化,上一次启动时是ttyUSB0,下一次启动就可能变成ttyUSB1。

如果每次启动设备都要检查和修改设备编号路径的话就会在实际应用中带来很多麻烦,那么有没有一种方法可以固定设备编号呢?

答案是肯定的!

我们可以通过指定udev规则,让udev除了产生/dev/ttyUSB*设备文件外,另外再创建一个软链接。具体操作见下文。

f7faeb76-2eb1-11ec-aa30-dac502259ad0.gif

“ 03/udev规则-通过芯片的特定码创建软链接

Vender ID和Product ID,即“厂家标识”和“产品标识”。USB 设备驱动的硬件接口需要识别Vender ID和Product ID。

可以通过lsusb命令查看当前通过USB接入的设备的描述列表,就可以得到设备的Vender ID和Product ID,然后在进行后续绑定。

fca00602-2eb1-11ec-aa30-dac502259ad0.png

图2.1 lsusb命令

从上图可以看到,我通过USB口连接的USB-Serial adapter设备的Vender ID是1a86,Product ID是7523。接下来,在/etc/udev/rule.d目录下创建新的规则文件ttyUSBLink.rules。并输入以下规则:

KERNEL==”ttyUSB*”, ATTRS{idVendor}==”1a86”, ATTRS{idProduct}==”7523”, MODE:=”0666”, GROUP:=”dialout”, SYMLINK+=”modbus_device_1”

保存并退出文件,重新拔插USB设备,新建的udev规则即可生效(若没有生效,以root权限运行命令:service udev reload和service udev restart)。

以上述规则为例,以后无论按照什么顺序插入,都能够通过自定义的modbus_device_1设备文件软链接访问设备,而无需关心系统分配给设备的ttyUSB*的编号是什么。

fd033ec0-2eb1-11ec-aa30-dac502259ad0.png

图2.2 udev规则效果

从上图可以看出,系统自动为我的设备分配的编号是ttyUSB0,同时也创建了一个名为modbus_device_1的软链接,这样就可以在PiCtory界面直接输入软链接的路径。

但很多时候,设备厂商由于一些特殊原因,在串口芯片上写入的设备号是相同的:

fd8d6cb2-2eb1-11ec-aa30-dac502259ad0.png

图2.3 具有相同ID的USB串口设备

那么这种创建软连接的方法就会出问题,此时我们就需要另一种方法,详见下一部分。

f7faeb76-2eb1-11ec-aa30-dac502259ad0.gif

“ 04/udev规则-绑定硬件端口号

如上文所说,我们可能会遇到具有相同ID号的设备,此时通过绑定ID号创建软链接的方法就行不通了,但可以通过绑定硬件端口号实现同样的效果。

每个设备的硬件端口号是不一样的,可以通过udevadm info --attribute-walk --name=/dev/ttyUSB0查看设备的硬件端口号:

fe746798-2eb1-11ec-aa30-dac502259ad0.png

图3.1 查看设备硬件端口号

通过上述命令,可以看到我的ttyUSB0设备的硬件端口号是1-1.2:1.0,ttyUSB1设备的硬件端口号是1-1.3:1.0。

然后修改一下ttyUSBLink.rules文件,改为以下规则:

fece963c-2eb1-11ec-aa30-dac502259ad0.png

图3.2 绑定硬件端口号udev规则

保存并退出后,重新拔插设备就可以看到生成的两个软链接:

ff1ea046-2eb1-11ec-aa30-dac502259ad0.png

图3.3 udev规则效果

需要注意的是,这里涉及的硬件端口号对应的是USB端口而不是USB端口上连接的设备。也就是说,假如你有左右两个USB端口,左边USB端口的端口号是1-1.2:1.0,右边USB端口的端口号是1-1.3:1.0。那么,插入左边USB端口的设备对应的软链接就是modbus_device_1,插入右边USB端口的设备对应的软链接就是modbus_device_2。

虹科--工业物联网

虹科是一家在工业物联网IIoT行业经验超过3年的高科技公司,虹科与世界领域顶级公司包括EXOR、Eurotech、Unitronics、Matrikon、KUNBUS、VDOO、Esper等合作,提供先进的高端工业4.0 工业触摸屏、高端边缘计算机、IoT开发框架、PLC与HMI一体机、OPC UA、工业级树莓派、VTSCADA、VDOO设备安全分析与防护平台、安卓设备一站式管理平台等解决方案。物联网事业部所有成员都受过专业培训,并获得专业资格认证,平均3年+的技术经验和水平一致赢得客户极好口碑。我们积极参与行业协会的工作,为推广先进技术的普及做出了重要贡献。至今,虹科已经为行业内诸多用户提供从硬件到软件的不同方案,并参与和协助了众多OEM的设备研发和移植项目,以及终端用户的智能工厂和工业4.0升级改造项目。


原文标题:虹科教您派固定工业树莓派Modbus RTU设备编号

文章出处:【微信公众号:工业物联网技术】欢迎添加关注!文章转载请注明出处。

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

    关注

    87

    文章

    11032

    浏览量

    207294
收藏 人收藏

    评论

    相关推荐

    【米尔-瑞米兼容树莓扩展模块-试用体验】用视频来了解这块生态板_米尔-瑞米兼容树莓扩展模块

    今天为大家展示一下初始开发板_米尔-瑞米兼容树莓扩展模块, 米尔-瑞米兼容树莓扩展模块介
    发表于 04-29 11:51

    【米尔-瑞米兼容树莓扩展模块-试用体验】初始开发板_米尔-瑞米兼容树莓扩展模块

    收到米尔-瑞米兼容树莓扩展模块几天了,今天抽时间给大家介绍一下这块生态板,让大家有对这块米尔-瑞米兼容树莓
    发表于 04-29 11:42

    宏集方案 | 如何用工业树莓和MQTT平台打通OT和IT?

    如何用工业树莓和MQTT平台打通OT和IT?
    的头像 发表于 01-05 11:01 241次阅读
    宏集方案 | 如何用<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>和MQTT平台打通OT和IT?

    超实用!玩转树莓攻略!

    如果你使用树莓派来开发的话,C语言或者Python语言都是一个比较不错的选择。在开始玩转你的树莓前,可以先看看如何快速入门; Raspberry Pi Imager 工具是一款图形化 SD 卡写入
    的头像 发表于 11-01 20:30 1233次阅读
    超实用!玩转<b class='flag-5'>树莓</b><b class='flag-5'>派</b>攻略!

    基于工业树莓和MQTT平台打通OT和IT

    宏集工业树莓目前最高配置达到了8GB RAM,性能上等同于一台PC,能够完成一些较为复杂的运算和轻量化机器学习模型。
    的头像 发表于 10-24 10:30 288次阅读
    基于<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>和MQTT平台打通OT和IT

    树莓5和香橙5有什么不同?如何选择?

    如果你对开发板感兴趣,你可能想知道刚刚发布的树莓5与香橙5相比有何不同。下面我们将探讨这两款设备的主要区别,帮助你看看哪一款更适合你的需求。处理器处理能力是选择开发板的一个重要标准
    的头像 发表于 10-19 16:32 1456次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>5和香橙<b class='flag-5'>派</b>5有什么不同?如何选择?

    树莓3树莓4原理图分享

    提供了树莓3、树莓3B、树莓4版本的原理图
    发表于 09-27 07:58

    科干货 | 码住!工业树莓应用小tips!

    文章来源:工业物联网 工业树莓应用小tips 在应用
    的头像 发表于 09-08 09:48 380次阅读
    <b class='flag-5'>虹</b>科干货 | 码住!<b class='flag-5'>虹</b>科<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>应用小tips!

    树莓和n1性能对比

    树莓和n1性能对比 树莓和n1是两种不同的设备,但都是应用广泛的单板电脑。尽管两者的功能和用途都有所差异,但在性能和功能方面的差异是显而
    的头像 发表于 08-17 11:28 1519次阅读

    探索工业树莓更多可能性—兼顾CODESYS数据采集和Python数据优化处理

    工业树莓是专门为工业应用设计的边缘计算硬件平台,能够与CODESYS结合作为软PLC模块使用,也可以作为边缘计算网关,支持Python
    的头像 发表于 08-10 11:37 551次阅读
    探索<b class='flag-5'>虹</b>科<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>更多可能性—兼顾CODESYS数据采集和Python数据优化处理

    科新品 | 工业树莓RevPi Connect 4大揭秘!快来看看有什么亮点吧~#树莓 #工业控制

    工业控制树莓
    虹科工业物联网技术
    发布于 :2023年08月07日 14:57:49

    科推出工业树莓第四代产品RevPi Connect 4

    备受期待的工业树莓第四代产品—RevPi Connect 4终于来啦!作为全球领先的工业自动化产品,RevPi Connect 4融合
    的头像 发表于 08-07 10:12 462次阅读

    RevPi Connect 4系列:基于树莓CM4计算模块的全新工业树莓

    ,以及现代物联网技术的结晶。无论您是行业领先者、工程师还是智能科技爱好者,RevPi Connect 4都将为带来前所未有的惊喜。 RevPi Connect 4系列是工业树莓
    的头像 发表于 08-04 16:33 440次阅读
    RevPi Connect 4系列:基于<b class='flag-5'>树莓</b><b class='flag-5'>派</b>CM4计算模块的全新<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>

    等待已久,新品上市 | RevPi Connect 4系列:基于树莓CM4计算模块的全新工业树莓

    工业树莓新品重磅来袭!科RevPi Connect 4采用最新树莓
    的头像 发表于 08-01 11:42 716次阅读
    等待已久,新品上市 | RevPi Connect 4系列:基于<b class='flag-5'>树莓</b><b class='flag-5'>派</b>CM4计算模块的全新<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>

    「上海晶珩EDATEC」「工业树莓」SSH 远程访问

    有时需要在不连接显示器的情况下访问树莓。也许树莓嵌入到了其他设备的内部,例如机器人,或者你
    的头像 发表于 07-28 18:01 727次阅读