基于Qt下开发⼀个Modbus Slave的通信
界面展示:操作界面展示
通信功能:串口通信和TCP通信
信息展示:从机站与主站通信后,信息展示界面
日志展示:从机站与主机站发收帧显示
从站配置和创建:从机站配置和新创建
从站配置保存和读取模块:从机配置保存和按保存的配置信息创建
基于Qt完成关于Modbus Slave的多个UI的设计:菜单栏,⼯具栏,还有对应的Action。
完成TCP/IP, Serial, 功能码为03(读写)的通信,Serial 校验(CRC校验,LRC校验)。
还有后⾯使⽤QByteArry这个类对接收数据报⽂的处理和显⽰
一. 界面设计
1.1 主窗口的设计
1. 先定义相关的Action,例如里面应用到的actionNew, actionOpen, actoinSave……l
2. 创建资源文件,来进行桌面应用图标设计以及Action的图标。
3. 设计相关的菜单栏:将相应的Action拖入菜单栏;设计工具栏,方法同上。
4.. 在主界面加入容器类MDI Area嵌入到窗口的容器;
创建
1.2 MdiSubWidget嵌入式窗口的设计
1.包含四个控件,三个Lable分别显示ID, F,Status_Connection, 还有最后一个TableWidget显示表格,窗口的设计
2. 使用代码在TableWidget创建表格,并且在窗口显示的时候初始化表格;初始化后的表格
3. 在初始化·的时候设计Label_Status_Connect文本颜色
使用setPalette()设置
1.3 设计点击actionSlave_definition 对话框
1. 如果点击OK则完成以下的操作:
a. 根据subDefine ID, Function 设置subWidget ID, F值
b. 根据subDefine Address 设置表头地址的值 ;设置Address格式输入,不能输入字符,不能为空,为空就不进行下面操作
c. 根据subDefine Rows选项来设置表的行数
d. 关闭对话框再次打开的时候保持上关闭的样子;将对话框的定义在初始化的时候定义,就能完成这个要求
e. 初始化表的第一列 格式靠右剧中
f. 双击左键弹出Edit Register对话框设置item值
2. define对话框设计
1.4 设计edit对话框
1. 作用:
双击表格时,弹出这个对话框来修改单元格的value;
3. 在mdidubwidget类中定义on_ItemDoubleClicked函数来响应单元格被双击。
1.5 设计Connectoin对话框
1. 设计connect对话框