openplc Linux 使用modbus RTU 从机通讯

1.Linux 环境下,openplc 默认使用的是modbus tcp协议通信。

        想要使用串口 modbus rtu 通讯可以通过在runtime中添加SlaveDevices从机设备

 2.添加设备,分配地址。

        左边添加串口配置,右边是需要通讯的地址,从机地址都是从100开始,100以内是主机使用。地址最好连续分配使用。

         Discrete Inputs (%IX100.0):bit操作,离线输入,主机读从机。

        Coils (%QX100.0):bit操作,线圈状态,主机写从机。

        Input Registers (%IW100):16位数据,输入寄存器,主机只读从机。

        Holding Registers - Read (%IW100):16位数据,保持寄存器,主机读从机。

        Holding Registers - Write (%QW100):16位数据,保持寄存器,主机写从机。

3.COM port串口扫描不出来问题。

        串口比如 /dev/ttySTM2 有驱动但是在添加设备时扫描不出来。可以修改网页代码手动添加设备名就行了。 

        网页html源码在webserver.py中,

        3.1 先修改add-modbus-device 页面, 1133行,把 设备扫描屏蔽,手动添加串口名。

         3.2 修改modbus-edit-device编辑页面,1271行,也是一样,直接屏蔽,手动添加。

4. 添加地址。 

        如下:添加 QX100.0 主机bit写从机,IX100.0 主机bit读从机。

        IW100 主机16bit只读从机,QW100 主机16bit写从机,QW101主机16bit写从机。

 5. 添加代码测试程序。

if tcpGet = 1 thentcpGet := 0;ledSet := 1;gpioSet :=1;dacSet := 1024;qx100 := 1;qx100_1 := 1;qw100 := 45;qw101 := 45;gpioRead0 := gpioRead;adcRead0 := adcRead;ix100st := ix100;iw100st := iw100;{printf("/***/\n");printf("/**/\n");printf("/*/\n");printf("/*********gpio10=%d, adc=%f, ix100.0=%d*******/\n",GetFbVar(GPIOREAD0),GetFbVar(ADCREAD0)/100.0,GetFbVar(IX100ST));printf("/*********iw100=%d*******/\n",GetFbVar(IW100ST));printf("/*/\n");printf("/**/\n");printf("/***/\n");}
elsif tcpGet = 2 thentcpGet := 0;ledSet := 0;gpioSet :=0;dacSet := 3072;qx100 := 0;qx100_1 := 0;qw100 := 78;qw101 := 78;gpioRead0 := gpioRead;adcRead0 := adcRead;ix100st := ix100;iw100st := iw100;{printf("/***/\n");printf("/**/\n");printf("/*/\n");printf("/*********gpio10=%d, adc=%f, ix100.0=%d*******/\n",GetFbVar(GPIOREAD0),GetFbVar(ADCREAD0)/100.0,GetFbVar(IX100ST));printf("/*********iw100=%d*******/\n",GetFbVar(IW100ST));printf("/*/\n");printf("/**/\n");printf("/***/\n");}
end_if;

6. modbus rtu从机设备测试。

        下载 MThings-下载 

配置串口信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/754.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

yolov8 区域计数

yolov8 区域计数 1. 基础2. 计数功能2.1 计数模块2.2 判断模块 3. 主代码4. 实验结果5. 源码 1. 基础 本项目是在 WindowsYOLOV8环境配置 的基础上实现的,测距原理可见上边文章 2. 计数功能 2.1 计数模块 在指定区域内计数模块 def count_objects_in_region(bo…

STM32 堆栈内存以及变量存储分布

STM32的程序存储器、数据存储器、寄存器和输入输出端口被组织在同一个4GB的线性地址空间内, 地址范围为0x0000 0000至0xFFFF FFFF。其中FLASH为ROM类型,储存的数据掉电不易失;RAM中存储的数据掉电易失。以STM32F103系列为例,最多有512KB的FLA…

Discuz! X3.4 升级至 Discuz! X3.5 详细教程

第一步:从其他以前的 Discuz! X 版本升级Discuz! X3.4 请先升级到Discuz! X3.4,升级教程网上比较普遍,在此不再论述。 第二步:Discuz! X3.4 升级至 Discuz! X3.5 (Discuz 从 X3.5 以后,不在发布GBK版本&…

【软考】UML中的图之类图

目录 1. 说明2. 图示3. 类图使用方式3.1 对系统的词汇建模3.2 对简单的协作建模3.3 对逻辑数据库模式建模 1. 说明 1.类图(Class Diagram)展现了一组对象、接口、协作和它们之间的关系。2.在面向对象系统的建模中所建立的最常见的图是类图。3.类图给出系…

离线数仓数据导出-hive数据同步到mysql

离线数仓数据导出-hive数据同步到mysql MySQL建库建表数据导出 为方便报表应用使用数据,需将ads各指标的统计结果导出到MySQL数据库中。 datax支持hive同步MySQL:仅仅支持hive存储的hdfs文件导出。所以reader选hdfs-reader,writer选mysql-wri…

python输入输出特殊处理

输出 需要满足输出一行后,再输出一行,行中每个元素用空格隔开 length len(tri) tmp [] for i in range(len(tri)):tmp tri[i]for j in range(len(tri[i])):print(tmp[j],end )print()输入p 一次性输入6个数字到列表中,并且输入的每个数…

怎样在外网登录访问CRM管理系统?

一、什么是CRM管理系统? Customer Relationship Management,简称CRM,指客户关系管理,是企业利用信息互联网技术,协调企业、顾客和服务上的交互,提升管理服务。为了企业信息安全以及使用方便,企业…

SSM小程序作品集展示微信小程序

采用技术 SSM小程序作品集展示微信小程序的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringMVCMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 页面展示效果 用户功能 用户注册 用户首页 作品集 优秀作者 我的分享 管…

Linux嵌入式驱动开发-内核定时器

文章目录 内核时间管理处理jiffies绕回的APIExample:使用 jiffies 判断超时jiffies与ms、us、ns转换的API 内核定时器内核定时器APIinit_timer: 初始化 timer_list 类型变量add_timer: 向 Linux 内核注册定时器del_timer: 删除一个定时器del_timer_sync: del_timer …

powershell@命令行提示符样式配置自定义@pwsh重写prompt显示电量内存时间等信息

文章目录 abstract流行的powershell prompt模块示例 powershell原生修改Prompt函数配置文档Prompt命令来自哪里 简单修改带上电量和时间的Prompt 复杂修改预览FAQ:没有必要修改相关仓库地址样式选择平衡样式花哨样式响应性能 小结 abstract 在 PowerShell 中,可以通…

CSDN积分和等级和 能创建专栏数量的关系。还差1000多分!

积分查询:CSDN 博客积分规则 博客积分是CSDN对用户努力的认可和奖励,也是衡量博客水平的重要标准。博客等级也将由博客积分唯一决定。积分规则具体如下: 1、每发布一篇原创或者翻译文章:可获得10分; 2、每发布一篇转载…

做一个答题pk小程序多少钱

在探讨“做一个答题pk小程序多少钱”这一问题时,我们首先需要明确的是,小程序的价格并非固定不变,而是受到多种因素的影响。这些因素包括但不限于小程序的复杂度、功能需求、开发周期、技术难度以及开发团队的规模和经验等。因此,…

Docker-volume创建数据卷

创建一个名为myvol的数据卷: [rootlocalhost ~]# docker volume create myvol myvol[rootlocalhost ~]# docker volume ls DRIVER VOLUME NAME local myvol查看数据卷: [rootlocalhost ~]# docker volume inspect myvol [{&…

Web前端 JavaScript笔记7

js的执行机制 js是单线程 同步:前面一个任务执行结束之后,执行后一个 异步:异步任务,引擎放在一边,不进入主线程,而进入任务队列的任务 js通过浏览器解析,浏览器靠引擎解析 回调函数同步任务执行…

微服务与Web服务:定义、优势、挑战与实践指南20240416

引言 在当前的软件开发领域,微服务和Web服务是两个频繁被讨论的术语。随着企业应用的复杂性和规模的增加,深入理解这两种服务架构的优势和挑战变得极为关键。本文将探讨微服务和Web服务的核心概念、优缺点,并通过Go语言示例展示它们的实现。…

LabVIEW卡尔曼滤波技术

LabVIEW卡尔曼滤波技术 在现代航空导航中,高精度和快速响应的方位解算对于航空安全至关重要。通过LabVIEW平台实现一种卡尔曼滤波方位解算修正技术,以改善传统导航设备在方位解算中的噪声干扰问题,从而提高其解算精度和效率。通过LabVIEW的强…

新媒体短视频运营之抖音的19种流量变现模式

本文中谈的有带货类、广告推广类、团购类、任务推广类等多种抖音变现方式,包括图文带货、视频带货、抖店带货、直播带货等,适合个人博主、商家和企业等不同用户群体。 同时,还介绍了中视频计划、剪映创作人、看见音乐计划等变现路径。 1、图文带货 开通要求:0粉即可开通…

Java基础之JVM基础调优与常见问题

常见命令 以下命令的介绍,全部在jdk8环境下运行的; jps ☆☆☆☆☆ 查看当前运行的进程号; jmap ☆☆☆ jmap命令可以查看jvm的内存信息,class对应的实例个数以及占用的内存大小 jmap -histo 查看当前java进程 [rdVM-8-12-c…

Ugee手写板Ex08 S设置流程

手写笔的结构 笔尖 鼠标左键 上面第一个键:鼠标右键(效果有时候也不完全等同) 上面第二个键:鼠标中键 WPS ①打开pdf ②批注->随意画->画曲线 效果如下:

定时执行专家 - 高级功能详解 - 关联任务设置

◆ 需求场景 AB两个任务,A任务每隔 10分钟执行一次;A任务执行完1分钟(60秒)之后,再执行B任务。这种情况就需要用到“关联任务”功能。 此处以“日程提醒”、“执行Nircmd命令”举例。A任务设置:日程提醒&…