ModBus协议原理、Modbus Slave以及基于C++和Qt的代码实现
摘要:ModBus 协议目的: 规定与PLC交互的指令,其数据帧包括两部分:报文头(MBAP)和帧结构(PDU)。 报文头(MBAP)(分为6个部分): 1. 事务处理标识:即报文序列号,一般每次通信之后就要加1以区别不同的通信数据报文,长度2字节。 2. 协议标识符:有串口的RTU协议和TCP协议,如0
阅读全文
posted @
2023-09-26 10:59
一杯清酒邀明月
阅读(2713)
推荐(0) 编辑
Qt PLC Modbus通信
摘要:项目介绍有一个项目需要PC和PLC通信,PLC通信协议是Modbus协议。前两天研究了一下,QT源码也有例程,不过源码读了有点懵,参考了别人的博客,实现了一个简单的通信Demo,测试可以对PLC内部寄存器和中间继电器读写。 软件版本和程序总览 QT:5.12.12Kits:MSVC2017PLC:信
阅读全文
posted @
2023-09-26 09:36
一杯清酒邀明月
阅读(930)
推荐(0) 编辑
QT 5.12.9 + VS 2019配置并实现与三菱Q系列PLC通讯(2)实现通讯
摘要:之前已经完成了软件的安装,接下来要通过MX Component去实现PLC的直连功能。 首先,打开VS2019,新建项目,搜索qt,在出来的内容中选择QT Widgets Application,然后点击下一步。 在下一步中,输入项目名称,勾选名称“将解决方案和项目放在同一个文件夹”,然后点击创建。
阅读全文
posted @
2023-09-25 16:17
一杯清酒邀明月
阅读(867)
推荐(0) 编辑
Qt 5.12.9 + VS 2019配置并实现与三菱Q系列PLC通讯(1)软件的安装
摘要:本人最近配置了QT5.12.9 +VS2019,并实现了与三菱Q系列PLC通讯并实现数据交互的基本功能,在这个对中间遇到的一些问题和过程进行文字说明,以后大家有用到相关功能的话可以避免一些不必要的问题~ 需要安装的软件有三个:QT5.12.9、VS2019、MX Componet S4.19 QT安
阅读全文
posted @
2023-09-25 16:13
一杯清酒邀明月
阅读(466)
推荐(0) 编辑
Mitsubishi 三菱Q系列PLC与通讯软件MX Component的使用
摘要:三菱PLC都可以通过使用该软件(MX Component)可以不具备有模块知识与通讯协议知识上使用电脑与三菱PLC建立上通讯,可以实现监视和写入软源件,就相当于电脑是PLC的人机触摸屏一样,动作状态、报警内容等都可以实时记录到电脑中。MX Component就是用于电脑与PLC中间连接的关系。有很多
阅读全文
posted @
2023-09-25 15:55
一杯清酒邀明月
阅读(2487)
推荐(0) 编辑
Qt 三菱(Mitsubishi)PLC通信
摘要:最近两天在学习QT与三菱PLC串口通信,特此记录下来。通信格式我这里使用RS-232C连接的,根据FX编程口协议! 设置参数,以读写的方式打开串口 1 serial->setPortName("com4"); 2 serial->setBaudRate(QSerialPort::Baud9600);
阅读全文
posted @
2023-09-25 15:42
一杯清酒邀明月
阅读(590)
推荐(0) 编辑
Qt qRegisterMetaType用法总结
摘要:如果要在Qt信号槽中使用自定义类型,需要注意使用qRegisterMetaType对自定义类型进行注册,当然在不跨线程时使用自定义类型signal/slot来传递,可能不会出现什么问题;一旦涉及跨线程就很容易出错,回想下信号槽的作用就是用来对象与对象之间通信的,难免会跨线程,建议在使用自定义类型利用
阅读全文
posted @
2023-09-11 13:27
一杯清酒邀明月
阅读(660)
推荐(0) 编辑
Qt 实时检测串口是否断开
摘要:一、目的 在程序运行过程中(串口已打开的情况下),人为的误操作,导致串口断开,避免出现未知的异常,所以在程序中添加此代码,实时检测串口是否断开。 二、代码 1.连接 1 qRegisterMetaType<QSerialPort::SerialPortError>("CRunThread"); 2
阅读全文
posted @
2023-09-11 13:24
一杯清酒邀明月
阅读(631)
推荐(0) 编辑
Qt QDateTime类型加减计算
摘要:在Qt框架中,QDateTime类提供了一系列可以进行日期和时间的加减计算的方法,可用于处理日期和时间相关的问题。一些常用的方法如下: 1.QDateTime::addDays(int days):在当前时间的基础上增加指定天数后的日期和时间。 1 QDateTime currentDateTime
阅读全文
posted @
2023-09-07 16:27
一杯清酒邀明月
阅读(1136)
推荐(0) 编辑
QT QDateTime 计算两个日期时间差
摘要:1、计算两个日期天数差 1 QDateTime time1 = QDateTime::fromString("2020-11-26 16:40:02", "yyyy-MM-dd hh:mm:ss"); 2 //QDateTime time2 = QDateTime::fromString("2020
阅读全文
posted @
2023-09-07 16:24
一杯清酒邀明月
阅读(1215)
推荐(0) 编辑