设计与开发

单片机 触摸屏通讯 触摸屏与单片机串口通信测试

小编 2025-10-11 设计与开发 23 0

触摸屏与单片机串口通信测试

工业现场在使用触摸屏的时候,与第三方控制器进行通信连接的时候,一般都是使用成熟的通信协议进行通信连接。而这些协议的实现过程,触摸屏厂商也已经在编程环境中进行了封装集成,对于使用的工程师来说,通信的数据交换过程我们无需要关心。仅需要设置配置好控制器(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.与设置的输入数据一致。

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

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

触摸屏自定义协议通信

工业现场在使用触摸屏的时候,与第三方控制器进行通信连接的时候,一般都是使用成熟的通信协议进行通信连接。而这些协议的实现过程,触摸屏厂商也已经在编程环境中进行了封装集成,对于使用的工程师来说,通信的数据交换过程我们无需要关心。仅需要设置配置好控制器(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.与设置的输入数据一致。

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

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

相关问答

触摸屏 单片机 232 通讯 线怎么制作?

根据提问者的意思,触摸屏与单片机232通讯线该如何制作?首先确认触摸屏是否具有RS232通讯接口,接线时,触摸屏的RX接单片机的TX,触摸屏的TX接单片机的RX,GND...根...

30 单片机 触摸屏 之间的通信?

实现单机片与触摸屏通讯有四个步骤:1触摸屏与单片机的硬件联接2建立触摸屏与单片机的内部存储器地址对应关系3触摸屏组态软件编辑4MODBUSRTU(远程终端设备)通...

威纶通 触摸屏 单片机 通信,走modbus协议,比如我按下按键8请问 触摸屏 发什么代码给 单片机 ?

不发代码的,modbus是协议按寄存器来的0x_,1x_,4x_等,通讯双方通过修改寄存器来通讯。不发代码的,modbus是协议按寄存器来的0x_,1x_,4x_等,通讯双方通过修改寄...

海泰克 触摸屏 与仪表用MODBUS 通讯 怎么设置?

触摸屏和单片机通讯要么选modbus。。要么用单片机防某款你触摸屏支持的PLC的读写协议触摸屏和单片机通讯要么选modbus。。要么用单片机防某款你触摸屏支持的P...

触摸屏 怎样和plc 通讯 ? 触摸屏 上的按钮好不好控制plc的程序运...

触摸屏上的按钮好不好控制plc的程序运行?多点触摸屏讨论回答(7)应该保证PLC程序不仅在正常条件下运行,而且在非正常情况下(如突然掉电再上电、按钮按错等)...

FX1S系列 单片机 支持 触摸屏 吗?

答FX1S系列单片机是完全支持触摸屏的。因为如果是三菱自己的触摸屏直接连就可以了其他家的要改点通讯参数但是都可以的。,找到触摸屏的通信设置,设置COM口,...

迪文 触摸屏 如何控制 单片机 输出数字的显示位置?

你需要编程,然后通过位于范围的大致数值通过触摸屏串口传输给单片机识别,单片机接收到后判断再确定位置。你需要编程,然后通过位于范围的大致数值通过触摸屏...

单片机 控制机械臂划动触屏,用哪种机械臂好?,工厂用机械臂...

首先你要说明白你所说的机械臂是那种类型,是串联式机器人还是桁架式或者其他。用什么东西取决于你工程的实际需要,如果想对简单的,对精度要求不是太...

为什么 单片机 有左高右低的?

问的是单片机是高级单片机和低级单片机吗?1.低端单片机主要是51内核,8位机,处理简单运算,输入信号采集,输出控制,对实时性不高的场合如小家电,电磁炉,...问...

台达 触摸屏 内部断电保持寄存器-ZOL问答

我们的供热机组控制系统采用触摸屏与单片机链接近几天发现与下位机连接不上最后复位触摸屏后恢复正常但每次断电从启后都要复位是怎么回事?谢谢老师!PLC内部变...

猜你喜欢