单片机串口通信学号显示_触摸屏与单片机串口通信测试

工业现场在使用触摸屏的时候,与第三方控制器进行通信连接的时候,一般都是使用成熟的通信协议进行通信连接。而这些协议的实现过程,触摸屏厂商也已经在编程环境中进行了封装集成,对于使用的工程师来说,通信的数据交换过程我们无需要关心。仅需要设置配置好控制器(PLC)的品牌,型号系列及基本的通信通道就可以了。当然,这是触摸屏通信的常规使用方法,这里就使用自定义协议如何实现触摸屏与控制器(如,单片机)的通信方法,分享给大家。以下通信测试方法除电脑外无需任何硬件,感兴趣的话可以依照以下步骤还原测试过程。

工具及环境准备

在开始测试前,我们需要准备以下工具及软件。

  • 触摸屏编程软件:台达DOPSoft 2.00.07
  • 虚拟串口:Virtual Serial Port Driver
  • 串口助手调试工具:stc-isp-15xx-v6.86v
e2f3d30f0305ea5134e8f858f0c2e7ae.png

DOPSoft 2.00.07

7d670d3bbefa1c2bf63b15b4f8280568.png

Virtual Serial Port Driver

617d2304f6c386f02929aa458b8eb2a3.png

stc-isp-15xx-v6.86v

虚拟串口

打开“Virtual Serial Port Driver”软件,添加COM1、COM2两个串口。添加完成后,如下所示;

f3836930a4e09bd42edf66960b593264.png

串口助手设置

打开串口助手软件(stc-isp-15xx-v6.86v)。在串口助手的串口号中设置为COM1,9600,8,n,1。此处设置为COM1后,触摸屏中就只能配置为COM2。其必须与虚拟串口设置的串口号对应。

c7302411b3de82c629b3ec7508216fc8.png

到此,就完成了测试环境的搭建。以下开始触摸屏部分的配置。

触摸屏设置

触摸屏设置为本次测试的核心。

STEP1

打开“DOPSoft 2.00.07”软件,并新建工程。

f537322c41770c9026a85d7cc83d71b4.png

STEP2

在通信端口配置页面,按照如下配置通信端口。这里以触摸屏的COM2作为此处测试的连接端口,故需要将触摸屏的COM2的“连接“复选框取消选中。这样才可以将其用作自定义通信方式使用。

b197571a13e159663c8397a66b64581f.png

SETP3

在画面编辑页面,按照下图所示,设置10个数值输入框。并将其地址设置为触摸屏内部存储区域的$0-$10。

652461573fa783142574130c80c4b0b5.png

双击数值输入框,弹出数值输入框的配置对话框,如下所示。

3d69b2e9249bf85c371ac5de3c362ac4.png

在写入地址对话框的后侧,点击“…”,弹出输入对话框。将连线名称设置为内部存储区域(Internal Memory)。再将原件地址设置为“0”。

de03ae572020645190deb561affd8d93.png

依照以上方法,将其他数值输入框设置到地址1-10.

STEP4

设置画面运行过程中的脚本程序。

选中画面,在右侧的属性栏,选择“画面Cycle宏”。

eec4c49231512e7bc6acb9d20373a89f.png

弹出触摸屏脚本编辑对话框,点击下图所示按钮,打开脚本程序代码编写向导对话框。

3d2d04661912ee81fe2278e0125ddc6c.png

在脚本程序代码编写向导对话框中,选择“命令”-“通信”-选择命令。配置完成代码参数后,选择“更新宏”,完成代码的添加。

23bd051ac0e9d6cba3881c18f4cf0fb8.png

代码添加完成后,如下图所示。

6aae34a44bf07b20d5ed568b1c8c7b0c.png

$M0 = INITCOM(1, 0, 1, 0, 0, 6, 0)//初始化端口

SELECTCOM(1)//设置触摸屏通信端口为2号端口

$M1 = PUTCHARS($0, 20, 3000)//发送触摸屏内部$0开始的20个连续地址数据

Delay(300)//延时

$M0 = 0//清除端口初始化标志

$M1 = 0//清除数据发送完成标志

CLEARCOMBUFFER(1, 1)//清除串口缓存

STEP5

启动触摸屏在线仿真。弹出如下所示的对话框,按照如图所示的方式配置。

ec74eca5b0080849650156a9318f6e80.png
14840fb00d9da8ea5191e06009aeaf17.png

STEP6

按照地址,从上到下设置为1到10.

155eb2a2da8e2ee2ceb2bd900f1119f7.png

STEP7

打开串口助手,可以看到在串口助手的接收区域,已经接收到触摸屏在线仿真发送出来的数据,且数据中可以看到有1到10(串口助手配置为16进制显示模式,其中16进制的A即为十进制的10)。

8dbcd4027406e823129db1534a907ab5.png

STEP8

在触摸屏在线仿真页面,将第一个数据改为9999。

e5fe44618a763d0c3c42557ce9264e9c.png

再次查看串口助手中接收到的数据,其中第一个数据已经变为0F 27.

4e9509b7305e7c453146e47c9e6f832d.png

为了验证数据的正确性,打开电脑的计算器工具,将其设置为程序员模式。选择16进制输入模式。输入0F27,可以看到转换为十进制后数据为3879,这与触摸屏输入的数据9999无法对应。这是什么地方错了吗?其实不是。这只是数据的高低字节交换了,这在通信数据传输处理的时候需要特别注意。初次进行串口通信调试,很多都被这个给折腾过。

79d6b801cf0eecf9d3c6df1abe2427b3.png

在计数器模式下,输入270F。可以看到其转换后的十进制数据为9999.与设置的输入数据一致。

02a84ec3498b6743a86ff0f7536d80bf.png

自此,使用触摸屏进行串口自定义协议通信的测试就已经完成。

(转载请注明来源函控自动化工程师头条号)

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

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

相关文章

2020笔记本性价比之王_2020轻薄本性价比之王_2020轻薄本哪款好

随着科技的进步,如今笔记本的功能愈发强大,接听电话、开展商务会议等,因此现在人们对于笔记本电脑的依赖程度愈发明显。厚重的商务本和游戏本显然不适合随身携带,因此轻薄本的出现受到白领们的广泛吹捧,那么2020哪款轻…

asp绑定gridview属性_如何在ASP.NET Core中自定义Azure Storage File Provider

主题:如何在ASP.NET Core中自定义Azure Storage File Provider作者: Lamond Lu地址: https://www.cnblogs.com/lwqlun/p/10406566.html项目源代码: https://github.com/lamondlu/AzureFileProvider背景ASP.NET Core是一个扩展性非常高的框架…

mysql中为表创建副本_如何为数据库建立一个副本?

展开全部大多情况下,需要可靠而有效地克隆 MySQL 实例e69da5e887aa62616964757a686964616f31333433643663数据。这包括 MySQL 高可用的解决方案,其中需要在将实例加入组复制集群之前配置实例,或者在经典复制模型中将其添加为 Slave。为复制拓…

win10安装mysql5.7.15_win10上如何安装mysql5.7.16(解压缩版)

注:本文涉及的是解压缩版的安装安装教程下载mysql解压缩下载的文件修改ini文件(在解压缩后的mysql文件夹中)实际上修改的是my-default.ini文件在文件中添加如下路径和地址其中的data文件夹是没有的必须自己创建。# These are commonly set, remove the # and set as…

mysql如何备份一个表单_Mysql亿级数据大表单表备份

上一篇Mysql已有亿级数据大表按时间分区,介绍了亿级数据大表如何按时间分区,也留下了一个问题:备份亿级数据大表要耗时多久。本篇将就如何备份亿级数据大表展开讨论。注意:我这里所说的备份指的是数据从一张表拷贝到另外一张表&am…

mysql mos login_MySQL 中常用的函数

一、DATE_FORMAT()需求:按照日期月份统计数据,但数据库存储的格式是 2020-10-01 10:20:45 ,因此需要格式化日期语法:DATE_FORMAT(date,format)第一个参数:指定的日期,第二个参数:需要获取的格式…

需求调研的方法及过程_培训需求调研方法

课程设计与开发是每一位职业培训师都必须会的技能,今天我们就来分享一下如何开发课程。第一节课,让我们先从培训需求调研开始。培训需求调研方法有很多,从个体层次分为:问卷法、观察法、访谈法;从组织层次分为&#xf…

将Go语言开发的Web程序部署到K8S

搭建K8S基础环境 如果已经有K8S环境的同学可以跳过,如果没有,推荐你看看我的《Ubuntu22加Minikue搭建K8S环境》,课程目录如下: Ubuntu22安装Vscode 下载:https://code.visualstudio.com/Download 安装命令&#…

mysql分表 动态扩容_数据库hash分表后的扩容方案

postgres的hash分表不停机扩容方案原来我们hash分表之后,数据扩容采用的是rehash,这样迁移全部的数据,比较麻烦。本次扩容利用hash环原理,并在此基础上做一些适应性的改动。首先假定哈希环的范围为0-1023,总共1024的数…

php mysql长连接聊天室_PHP之探索MySQL 长连接、连接池

PHP连接MysqL的方式,用的多的是MysqL扩展、MysqLi扩展、pdo_MysqL扩展,是官方提供的。PHP的运行机制是页面执行完会释放所有该PHP进程中的所有资源的,如果有多个并发访问本地的测试页面 http://127.0.0.1/1.php 根据PHP跟web服务器的不同,会开…

python 读取地震道头数据_python地震数据可视化详解

本文实例为大家分享了python地震数据可视化的具体代码,供大家参考,具体内容如下准备工作:在windows10下安装python3.7,下载参考源码到本地。1. demo绘图测试demo绘图指令cmd> python seisplot.py --demo问题1)缺少依赖包File &…

java程序员 css_Java程序员从笨鸟到菜鸟之(十七)CSS基础积累总结(下)

七.组织元素(span和div)span和div元素用于组织和结构化文档,并经常联合class和id属性一起使用。在这一课中,我们将进一步探究span和div的用法,因为这两个HTML元素对于CSS是很重要的。用span组织元素用div组织元素用span组织元素span元素可以说…

java set泛型_Java 集合二 泛型、Set相关

泛型1、在定义一个类的方法时,因为不确定返回值类型,所以用一个符号代替,这个符号就是泛型eg:ArrayList list new ArrayList();2、泛型的好处:1、提高了数据的安全性,将运行时的问题提前暴露在编译阶段2、避免了强转的…

java gson_Java 中 Gson的使用

JSON 是一种文本形式的数据交换格式,它比XML更轻量、比二进制容易阅读和编写,调式也更加方便;解析和生成的方式很多,Java中最常用的类库有:JSON-Java、Gson、Jackson、FastJson等一、Gson的基本用法Gson提供了fromJson() 和toJson…

java web 集成dom4j_[JavaWeb基础] 031.dom4j写入xml的方法

上一篇我们讲述了dom4j读取xml的4种方法,甚是精彩,那么怎么样写入xml呢?我们直接看下源码实现。public static void main(String[] args) throws Exception {// 创建文档Document document DocumentHelper.createDocument();// 设置编码docu…

java servlet 调试日志 logger sae_java servlet 调试日志 lo

java servlet 调试日志 lo[2021-02-10 08:32:08] 简介:php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐&#x…

求java简单计算器源代码_java简单计算器源代码

简单计算器代码package calcultorthree;import java.awt.BorderLayout;//导入边界布局管理器类import java.awt.GridLayout;//导入网格布局管理器类import java.awt.TextField;//导入文本区域类import java.awt.event.ActionEvent;//导入事件类import java.awt.event.ActionLis…

java遍历斐波纳契数列_详解循环、迭代、递归、分治(Leet Code 509 斐波那契数列),实际运用...

Multiple solutions of Fibonacci (Python or Java)本章是用英文写的,作为或想成为一名优秀的攻城狮,习惯阅读英文文档将使你受益良多。例如更好的查看最新版的官方文档、与国外友人交流、等等 其实英文的生词也并不多,其中90%的英文都在代码…

java 二分查找 排序_java 冒泡排序 二分查找

下面这个程序是先定义一个整型数组,然后将其中的元素反序赋值,再用冒泡排序进行排序以后用二分查找来查找其中是否有某个数,返回值为-1时表示这个数可能小于这个数组的最小值或大小这个数组的最大值,-2表示这个数比这个数组的最小…

php里h和h的区别吗,编码h264h和h264b有什么区别

区别如下:1、版本H.265是新的编码协议,也即是H.264的升级版。H.265标准保留H.264原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。2、储…