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

工具及环境准备

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

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

DOPSoft 2.00.07

Virtual Serial Port Driver

stc-isp-15xx-v6.86v

虚拟串口

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

串口助手设置

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

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

触摸屏设置

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

STEP1

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

STEP2

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

SETP3

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

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

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

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

STEP4

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

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

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

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

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

$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

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

STEP6

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

STEP7

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

STEP8

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

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

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

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

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

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

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

  1. 89c52串口通信+LCD1602显示

    接下来我们捡起来lcd1602的显示 与串口通信.实现的功能是通过上位机给单片机通过串口发送信息,然后将发送的信息在lcd1602上显示出来. (码字好累啊,这是第二遍码字了刚刚这篇博客都要写完了,要 ...

  2. 基于stm32的温湿度检测案例串口通信屏显示(二)

    文章目录 前言 一.串口通信屏幕 二.DHT11测试效果与说明 三.读入数据 四.串口及中断配置 五.屏幕上显示数据 5.1.屏幕内嵌指令 5.2.静态数据 5.3.动态数据 六.效果 前言 因为st ...

  3. #串口通信超时处理_【学院推荐】划重点!LabVIEW中串口参数需注意的几点

    串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机.仪器等很多都还是使用串口通信的. 1,串口扩展的问题 先说一下串口的扩展问题,一般的台式机或工控机上都至少 ...

  4. 树莓派4bpython串口通信解读数据_树莓派基础实验36:通用串口通信实验

    一.介绍 对于树莓派 3B+来说,他的UART功能有三种: 1.内部蓝牙使用: 2.控制终端使用: 3.与其他设备进行串口通信. 在树莓派基础实验35:USB TO TTL模块实验中学习了通过串口对树 ...

  5. 关于Proteus 8仿真STM32串口通信时显示数据错误或乱码问题解决!

    本人用Proteus 8仿真STM32F401RBT6串口通信时一直不能正确收发数据,写到板子通信数据显示正常,也在csdn查了很多人的解决办法,但都没了正常解决,直到看到某大神说到串口参数,我试着改 ...

  6. 串口通信 校验码_一文读懂S7-200 SMART自由口通信!

    学习S7-200 SMART时了解到,基于RS485接口可实现一下几种通信: 1)modbus RTU通信 2)PPI协议通信 3)USS协议通信 4)自由口通信 何为自由口通信呢? 前三种通信必须要 ...

  7. 利用c51进行数模转换并在液晶屏上显示_基于C51单片机的智能计算器、矩阵键盘、lcd1602...

    目录 1绪论.............................................................................................. ...

  8. STM32串口通信代码、ASCII码、XU4串口通信,printf只会转换为无符号类型,linux下的串口通信程序

    1.其里面的的通信协议是是自己定的,这里 是检测到数据的结尾是以0x0d.0x0a结尾,则表示接受的数据完成了,这个数据是我想要的,这样子就不会出现一些错乱的数据信息.其中的0x8000.0x4000 ...

  9. 串口输出5v电压_为什么RS485比串口速度快距离远?--谈单端信号与差分信号之差异...

    嵌入式系统中,串口.RS485.CAN.网络和USB等都是非常常用的通信方式.但是串口通信速度慢,距离近,为什么转换成RS485后,通信距离和速度都大幅提高了呢?USB也是近距离,为什么速度可以这么快 ...

最新文章

  1. Spring(三)AOP面向切面编程
  2. Sql 某一字段统计
  3. KVM的客户机可以使用的存储
  4. [学习笔记]51单片机
  5. 初学者学MvcMovie遇到的问题解决办法
  6. easymodbus_easymodbus4j基于netty的modbus协议快速开发工具
  7. kafka 基础知识梳理-kafka是一种高吞吐量的分布式发布订阅消息系统
  8. SpringBoot源码篇:Spring5内置tomcat实现code-based的web.xml实现
  9. [RK3399][Android7.1] DRM中的Component System
  10. 2019搜狗测试开发第一题满分测试用例
  11. 怪物之心无法触发_《异度之刃2》稀有异刃力男怪物之心支线任务攻略
  12. python数据分析与可视化答案学堂云_智慧树知到_Python数据分析与数据可视化_最新答案...
  13. idea里面java文件只读,Java只读集合
  14. 老七苏-37:明日之星 苏-37是在苏-35的基础上改进而成的。
  15. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛非官方题解
  16. oracle数据库latch,关于Oracle数据库latch: cache buffers chains等待事件
  17. 浮云E绘图SDK3.0,快速开发电路图、电子图纸、工业控制流程图、工艺流程图等绘图项目
  18. java三国英杰传_三国英杰传重点战役详细攻略(合集)
  19. 龙华区3·15消费知识在线通关
  20. BurnInTest

热门文章

  1. 微弱信号检测_机动车检测线常用传感器介绍
  2. python nonetype报错_python 查询数据库数据 NoneType报错
  3. linux ubuntu php,linux ubuntu安装php运行环境
  4. 8080:The Tomcat connector configured to listen on port 8080 failed to start 的解决办法
  5. 学java要算法吗_学习java不可不知的几种算法
  6. mysql慢查询日志分析工具比较_MySQL慢查询日志总结 日志分析工具mysqldumpslow
  7. java算法判断链表有没有闭环_前端算法系列之二:数据结构链表、双向链表、闭环链表、有序链表...
  8. Qt中全局变量的使用
  9. Qt在指定区域内拖动窗口
  10. Visual Studio 2013 / 2015 完全卸载 - C语言零基础入门教程