SPI 读取不同长度 寄存器_MCGS触摸屏如何实现批量读取modbus数据的方法?
前两天,在一个QQ群里,有同行的朋友问,在MCGS中如何实现批量读取数据,因为他当时面临设备,通讯协议才是MODBUS RTU,同时厂家说地址不能分开读,必须是连续的。鉴于他提供的消息是能够设置的地方都试过了。为此,我直接告诉通过脚本,批量读取的方案。那么这个方案究竟如何实现?且看我下面慢慢道来。
一、工具
1.modsim:仿真PLC或者第三方设备。
2.MCGS组态软件
3.串口软件:在电脑中生成两不同名称,但互联的串口,COM1和COM2;
二、指令介绍
1.设备函数
!SetDevice(DevName,DevOp,CmdStr)
函数意义: 按照设备名字对设备进行操作
返 回 值: 数值型
= 0,调用正常
= -1,失败
= -2,超时
= 1,设备启动状态
= 3,设备停止状态
参 数: DevName,字符型,设备名
DevOp,数值型,设备操作码
CmdStr,字符串,设备命令,只有当DevOp=6时CmdStr才有意义
DevOp取值范围及相应含义:
= 1,启动设备开始工作
= 2,停止设备的工作
= 3,测试设备的工作状态
= 4,启动设备工作一次
= 5,改变设备的工作周期,CmdStr包含新的工作周期,单位ms
= 6,执行指定的设备命令,CmdStr中包含指定命令的格式
实 例: !SetDevice(OmronPLC,1,"" ),启动设备构件“OmronPLC”开始工作
2.批评读取指令
ReadPV( 寄存器名称, 起始地址,数据类型,数据个数n,数据1 [,返回状态])
3.使用实例
!SetDevice( 设备0,6,"ReadPV(4,10,WUB,5,Data00, 返回值)")表示读取4 区寄存器从地址10 开始的5 个16 位无符号数值,放入MCGS 变量Data00 为起始,连续5 个变量( 即:Data00,Data01,Data02,Data03,Data04) 中,结果存入变量“返回值”中。
三、批量读取modbus数据的实现方法
1、使用串口软件创建两个互联的串口COM1和COM2,如图所示
图1 串口软件创建的互联串口
2、启动仿真PLC工具Modsim,并通过COM1(POTR1)连接,寄存器区域:保持寄存器区,设备地址:1,起始地址:40001,长度:10,将部分寄存器设置为随机数。如图所示
图2 Modsim设置
3、MCGS组态软件组态
(1)、在设备窗口中,组态设备及其端口,如图所示
图3 设备组态1
(2)、设置通用串口父设备端口为COM2口,波特率与仿真PLC的端口一直,如图所示
图4 父设备串口设置
(3)、父设备下的子设备设置,本实例中名称为“设备1”,并设置好设备1的相关参数,如设备地址,采样周期等,详细如下图所示
图5 设备1的设置
(4)、在运行策略中创建一个循环策略,并设置循环策略循环时间为1s,如图所示
图6 循环策略设置
(5)创建数据标签:Data10~Data14,如图所示
图7 新建的5个变量标签
(6)、在循环策略中用脚本编写批量读取指令!SetDevice( 设备1,6,"ReadPV(4,2,WB,5,Data10, )")各参数见前面指令介绍,本函数实现的是将40002寄存器开始5个符号整型数据存放在Data10~Data14中。如图所示
图8 批量读数脚本
(7)、在用户窗口中创建标签值动态显示画面,并下装运行,效果如图所示
图9 原始数据与批量读数对比图
综上所述:MCGS实现批量读取modbus数据的方法就介绍到这里了。
知识分享是一种态度!欢迎读者阅读,并指正!
SPI 读取不同长度 寄存器_MCGS触摸屏如何实现批量读取modbus数据的方法?相关推荐
- SPI 读取不同长度 寄存器_SPI协议,MCP2515裸机驱动详解
SPI概述 Serial Peripheral interface 通用串行外围设备接口 是Motorola首先在其MC68HCXX系列处理器上定义的.SPI接口主要应用在 EEPROM,FLASH, ...
- SPI 读取不同长度 寄存器_敏矽微电子Cortex-M0学习笔记10-SPI通信详解
1.SPI简介 ME32F030支持扩展的 SPI (Serial Peripheral interface)接口,它可以支持标准的 SPI 操作,兼容 4 线的 SSI (SynchronousSe ...
- SPI 读取不同长度 寄存器_正点原子Linux第二十七章SPI实验
1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 第二十七章SPI实验 同I2C一样,SPI是很常用的通信 ...
- SPI 读取不同长度 寄存器_[读书笔记]《计算机科学速成课》—6 寄存器和内存
上节中介绍的ALU进行计算后得到的结果需要对其进行存储,可能还要进行多个连续操作,这就需要用到计算机内存了.计算机使用的是随机存取存储器(Random Access Memory, RAM),其只能在 ...
- python怎么读取txt文件并统计其字数-python读写excel等数据文件方法汇总
python处理数据文件第一步是要读取数据,文件类型主要包括文本文件(csv.txt等).excel文件.数据库文件.api等. 下面整理下python有哪些方式可以读取数据文件. 1. python ...
- Python常用小技巧(五)——批量读取json文件
Python常用小技巧(五)--批量读取json文件 前言:其实Python能够批量读取很多文件,这里,本人以json文件为例(json是标注图片时生成的文件,记录有标注的坐标和标签,友情推荐标注图片 ...
- R语言批量读取写入Excel数据 r导出输出写入excel多个sheet 导出excel 导入 excel 读入excel 表格
前一段,写过一篇:R语言中写入Excel的不同sheet表格,最近学习了tidyverse的方法,感觉需要总结一下,更新一下知识结构. 本文准备用实际数据,做一下操作: 「批量读取:」 批量读取多个E ...
- python读取txt为dataframe_python批量读取txt文件为DataFrame格式的方法总结
python怎么批量读取txt文件为DataFrame格式 这次给大家带来python怎么批量读取txt文件为DataFrame格式,python批量读取txt文件为DataFrame格式的注意事项有 ...
- 三菱Q系列PLC批量读取软元件
简介: 通过阅读MX Component文档,了解相关函数及注意事项,开发环境是Windows,开发软件VC 6++,需要安装MX Component. 1.代码展示 CString szReadDe ...
- spi收发时的寄存器sr不变_「正点原子Linux连载」第二十七章SPI实验(一)
1)实验平台:正点原子Linux开发板 2)摘自<正点原子I.MX6U嵌入式Linux驱动开发指南> 关注官方微信号公众号,获取更多资料:正点原子 第二十七章SPI实验 同I2C一样,SP ...
最新文章
- 多线程编程1-NSThread
- Android7.0多窗口实现原理(一)
- php简单实例,php实现推荐功能的简单实例
- Rtx userlist.php,【图片】【C语言】【控制台】提取腾讯通用户信息(id,用户名,手机)【erbi_lucifer吧】_百度贴吧...
- tyvj 1059 过河 dp
- 不装mono,你的.NET程序照样可以在Linux上运行
- MQTT Client软件-MQTTBox
- 在Spring框架中使用SQL存储过程
- 认识 java JVM虚拟机选项 Xms Xmx PermSize MaxPermSize 区别
- golang 三种接口的定义方式
- [转]三阶魔方神程序
- python_numpy的基础
- 搜狗输入法 linux 源码,1.下载搜狗输入法for linux源码包:
- excel转置怎么操作_Excel里掌握这些小技巧,让你的工作更轻松
- 医院计算机管理工资,医院绩效管理平台:绩效工资管理系统
- android12适配机型,安卓12支持机型有哪些?安卓12系统为什么有的软件用不了?...
- python简单的青蛙旅行小游戏
- MarkdownPad2安装教程
- 发生错误,无法导入项目(不能取回此项的内容)
- 模拟退火算法(惩罚函数法求约束优化问题)
热门文章
- CSharp_DevExpress_DXperience_Universal_11.1.6 下载+源码+编译
- 线性代数科学出版社课后练习题答案
- 计算机哪个是易失性存储器,易失性的存储器是什么?
- 数学、物理、化学、生物、地理常用软件介绍(草稿)
- 服务器系统监控工具,10款超实用的服务器监控工具和软件
- 机械设计专业课程C语言,c语言项目总结ppt[工作范文](20页)-原创力文档
- WEB前端资源项目整合
- Visual Studio添加图片资源到exe
- 硅谷女孩火了,更该让他们开始学编程
- 全网最好用的关键词的组合软件使用教程可排列组合随机生成