触摸屏与单片机串口通信测试
工业现场在使用触摸屏的时候,与第三方控制器进行通信连接的时候,一般都是使用成熟的通信协议进行通信连接。而这些协议的实现过程,触摸屏厂商也已经在编程环境中进行了封装集成,对于使用的工程师来说,通信的数据交换过程我们无需要关心。仅需要设置配置好控制器(PLC)的品牌,型号系列及基本的通信通道就可以了。当然,这是触摸屏通信的常规使用方法,这里就使用自定义协议如何实现触摸屏与控制器(如,单片机)的通信方法,分享给大家。以下通信测试方法除电脑外无需任何硬件,感兴趣的话可以依照以下步骤还原测试过程。
工具及环境准备
在开始测试前,我们需要准备以下工具及软件。
触摸屏编程软件:台达DOPSoft 2.00.07虚拟串口:Virtual Serial Port Driver串口助手调试工具:stc-isp-15xx-v6.86vDOPSoft 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.与设置的输入数据一致。
自此,使用触摸屏进行串口自定义协议通信的测试就已经完成。
(转载请注明来源函控自动化工程师头条号)
成都工控开发:太简单了!串口触摸屏开发HMI的全流程介绍
有很多事,把它说清楚了,就简单了,比如用触摸屏开发HMI。
触摸屏是很常见的,比如说你用的智能手机,用手指在上面划划划就能显示出我们想要的页面,比如说早些年很流行的画画板,用触摸笔在上面画一画就能画出让你开心的图画,如此这般地数不过来。
1、什么是串口触摸屏
串口触摸屏首先是一种触摸屏,是可以显示的,文字、图案等,是触摸操作的,你用手指在上面触摸、滑动就能控制屏幕、传递信息,然后它是使用串行通信的,在触摸屏与控制器之间,通过串口进行数据交换。
2、串口触摸屏的优点
串口触摸在工业控制领域应用很广泛,它:
l 指令简单。用串口指令就能让触摸屏与控制器之间进行通信,进而命令其他设备动作。
l 具有通用性。只要控制器支持串行通信,就能使用这种触摸屏,那么其实市面上大部分工业控制器都是可以的,类似单片机、PLC等等。
l 用户操作界面(GUI)设计不难。一般用厂家提供的开发软件做GUI设计不算难,假如你有VB、C#等编程的基础,那么就更容易了,无非就是放置控件、编辑控件的属性、设置事件、编辑动作代码等就可以了。
3、串口触摸屏的应用
串口触摸屏一般用于工业控制、设备制造上等,用来代替传统的按键、旋钮、数码管等元件,在一个屏幕上就能显示和控制。
4、怎么用串口触摸屏开发HMI
串口触摸屏一般需要配合控制器一起使用,控制器向触摸屏发送显示信息在触摸屏上显示,例如数据变化、设备状态反馈等,触摸屏向控制器发送控件的操作信息让控制器知道操作者对触摸屏做了哪些操作,如某个按键按下、某个多选框被勾选等。
4.1开发流程是怎样的
一般来说,串口触摸屏是需要和控制器联合使用的,控制器种类很多,PLC、单片机、DSP、FPGA等都可以的,只要支持串口通信即可。
开发的第一步,需要熟悉产品的资料,然后按照厂家提供的规则和要求进行二次开发。接下来,把线接好,在电脑中的厂家提供的开发软件上开发GUI,同时可以进行与触摸屏对应的控制器的开发,GUI开发好后下载到触摸屏里面。一般来说,很难做到一次性就开发成功的,还需要一些调试和修改的工作。经过一段时间有效的工作,那么就完成触屏的开发。下面就详细地介绍一下。
4.2 需要哪些工具
用串口触摸屏来开发人机交互接口,一般来说除了触摸屏之外,还需要这些工具:
l 开发软件:开发软件一般由厂家提供,主要功能是用于编辑触摸屏的界面。一般的触屏开发流程是在开发软件上编辑好界面(GUI)之后,然后下载到触摸屏上。开发软件上设计的界面和触摸屏上显示的界面几乎是一样的,在开发软件上做界面开发,和电脑上做软件开发的方法类似,一般就是控件+代码,先放置控件,如按键、文本框等,然后设置控件的事件和动作即可,添加必要的代码。
l 串口下载线:串口下载线有两个功能:1,用于开发软件编辑好的界面从开发软件下载到触屏上。2,用于触屏调试,和控制器程序的调试。
l 串口调试助手:用于串口指令和数据调试。
4.3 先要了解什么
需要查看触摸屏的产品手册,了解以下内容:
l 电源和信号电平:用什么样子的电源,信号电平是多少。一般12VDC和5VDC的比较常见,TTL的信号电平比较多一些。
l 接线方式:触屏的接线方式。一般来说,串口触摸屏至少需要四根线,VCC、GND、TXD、RXD,分别是电源正、电源负、串口接收端、串口发送端。当触屏与控制器的串口连接时,一般触屏的TXD要接控制器的RXD,触屏的RXD要接控制器的TXD,然后它们需要共地。
l 通信协议:串口有很多种模式,搞清楚数据位是多少位,是否有校验位,停止位的信息。如“8,N,1”就表示8为数据位,无校验,1位停止位。
l 指令:指令规则是厂家提供的,表示用什么指令控制屏幕的显示,点击屏幕会发出什么样子的数据给控制器等等。
4.4 怎么使用开发软件
开发软件就是拿来做触屏界面(GUI)的,先设置好有多少个页面,然后在页面上放置控件,编辑好动作、事件代码和属性,一个触屏的界面就做好了。
图3 是一款触摸屏的开发软件的界面:
左侧的“控件列表 ”,当触摸屏的型号选定之后,该屏能支持的控件就都出现在列表里面了。一般的控件有:按键、文本框、多选框、图片控件等,开发者根据需要选择。
中间是 “主界面 ”,一般在开发软件里主界面显示怎样的,下载到触屏里面也就是这个样子的。在开发的时候,点一下左边的“控件列表”里面需要的控件,在主界面就会新添加一个一样的控件,再用鼠标拖动位置,拖动控件的四个角的方框调整控件的大小,做成我们期待的样子就可以了。
下方的“动作和事件程序编辑 ”区域是为了设置控件或者页面的事件与动作,如你点击或者其他对触屏上的某个控件动作之后想让触屏干什么,对于串口触摸屏,就是设置让触屏上的串口发出怎样的数据。在编辑动作和事件的时候,先要用鼠标选定对象,比如某个控件、比如某个页面,选定后再在下方编辑动作和事件代码。
右侧的“页面列表 ”显示了这个触屏有几个画面。在设计的时候一般会把触屏分为几个画面,一个画面完成一个特定的功能,每一个画面可以放置若干个你需要的控件。
右侧的“属性编辑 ”框用于查看和设置控件的属性,如控件名、长宽高、字体大小、颜色等。使用的时候还是需要先选定,再使用。
上方的“菜单栏 ”是一些常用到的功能,如“编译”是在开发软件上做完GUI设计之后需要编译一下,看一下有无错误。“下载”就是把做好的GUI下载到触摸屏里面去。
一般在开发软件上设计GUI的流程如下:
4.5 控制器程序编写
这里的控制器是一定要有串口的,且串口的电平要与触屏匹配。
控制器的程序包括两部分:
l 发送指令。控制器通过串口向触摸屏发送给指令,用于触屏显示。举个例子,假如触屏当前在页面1时,控制器向触屏发送字符串指令:t0.txt="控制器电路板仪器软件开发找我",那么就可以让页面1上的文本控件t0显示文字“控制器电路板仪器软件开发找我”。其他具体的指令,查看产品手册。
l 接收触屏发来的数据。控制器应当监视串口,随时接收触屏发来的数据,这些数据包括了控件的事件信息,如按键按下,页面切换等。数据格式,还是得参看产品手册。
4.6 调试
GUI做好了,控制器的程序也写好了,以为很完美,可是现实往往是打脸的。不是这里有问题,就是那里有问题,那么就需要调试了。
串口助手是个好软件能显示收发的串口数据,串口下载线也需要。在电脑上安装好串口助手,并接上串口下载线。当串口下载线的另一头与触屏连接时,串口助手就模拟控制器,当串口下载线的另一头与控制器连接时,串口助手就模拟了触屏。在串口助手上能看到收发的信息,与设想来个可视化的对比,问题一般就无所遁形了。
以上只是介绍某一种串口触摸屏的开发方法,不同的屏幕有不同的方法,根据厂家的手册来开发即可,例如,有另外一种触屏的开发基本全是用控制器的指令来控制,开发软件只用于生成触屏的背景,由计算机将图片和汉字点阵通过开发软件预先存储到串口屏的存储器中,然后由控制器通过串口发送指令调用显示。
相关问答
51 单片机 怎么与 触摸屏 连接?实现51单机片与触摸屏连接有四个步骤:1触摸屏与单片机的硬件联接2建立触摸屏与单片机的内部存储器地址对应关系3触摸屏组态软件编辑4MODBUSRTU(远程...
威纶通 触摸屏 和 单片机 通信,走modbus协议,比如我按下按键8请问 触摸屏 发什么代码给 单片机 ?不发代码的,modbus是协议按寄存器来的0x_,1x_,4x_等,通讯双方通过修改寄存器来通讯。不发代码的,modbus是协议按寄存器来的0x_,1x_,4x_等,通讯双方通过修改寄...
STM32 单片机 如何和台达DOP 触摸屏 链接求详解?这个简单,首先买TTL转485的模块,用于单片机和触摸屏物理连接,然后看一下触摸屏与单片机链接COM口的通讯格式、速度什么的,然后在单片机上写通信驱动。台达触...
信捷OP320-A文本显示器( 触摸屏 )与51 单片机 通讯电缆接法問題...触摸屏端4和5不要短接,一般的接法是2-3、3-2、5-5,单片机的5要接地。触摸屏(touchscreen)又称为“触控屏”、“触控面板”,是一种可接收触头等输入讯号的感应...
cpu怎样与 触摸屏 连接的?触摸屏与中央处理器(CPU)之间的连接主要通过以下两种方式实现:1.通用输入输出(GPIO):许多嵌入式系统(如单片机、微控制器等)具有通用输入输出引脚,可...4...
同志们,麻烦回答一下!!热门 单片机 设计外包服务, 单片机 设计...[回答]旺扬单片机开发应该还不错,朋友给我介绍过,我正准备试下。建议联系,他们是专业承接电路板设计开发的公司,做产品非常的负责靠谱,可以去咨询咨询。...
什么叫做 单片机 ?单片机不是执行特定逻辑功能的芯片,而是将计算机系统集成到芯片上的芯片。它等效于微型计算机。与计算机相比,单芯片计算机仅缺少I/O设备。简而言之:芯片变成...
weinview是什么 触摸屏 ?是威纶通科技有限公司生产的金牌人机界面,也是亚洲(除日本外)应用于各大自动化行业较多的一款触摸屏,它能理想、生动地显示PLc、单片机、Pc机上的数据信息,...
怎么把手机电容屏的引脚连出来,改成 单片机 可以用的?去官方下载查看对应屏幕的线序和时序,只要时序对应该就可以,不过单片机主频有些慢哦,刷新图像会很卡的,我以前试过.不过我发现淘宝上有专门的电容触摸屏模块...
同志们 求解答!如何让电脑模拟 触摸屏 控制plc?,马赛克模拟屏...[回答]触摸屏控制的那个站点在自控里面叫上位机,也就是人机控制界面HumanMachineInterface(HMI).其功能是把整个PLC的控制设备,控制工艺用图形形象的,友...