0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用MOD—BUS通信协议构建集散控制系统实现触摸屏与单片机的通信

电子设计 作者:电子设计 2018-09-17 08:41 次阅读

随着触摸屏的应用和产量的增加,价格下降。因而有可能使用触摸屏作为单片机控制设备的键盘和显示装置,提高单片机控制设备的档次。触摸屏与PLC联合使用时,触摸屏的主要功能是:

①显示PLC输入,输出端13或辅助继电器的开关状态。

②用触摸按键强制PLC输入,输出端口或辅助继电器的开/关。

③显示PLC中定时器、计数器和数据寄存器的内容。

④用触摸屏键盘把设定数据送入PLC的数据寄存器中。

可规纳成触摸屏与PLC问对应地址的数据位、字的读和写。因此可以利用MOD—BUS通信协议来实现触摸屏与单片机的通信和控制,或触摸屏与多台单片机通信,构成一个集散控制系统

1 触摸屏与单片机的硬件联接

采用MT500触摸屏与AT89C52单片机一对一通信。把触摸屏的PLC232 9针插座与带有RS232接口的AT89C52单片机相连接。如图1所示。注意:通信电缆DB9是2-2、3—3、5-5。

这种接法的电缆也可用于与PC机通信或做通信摸拟。作PC机通信时在连接PC机端的DB9短接4—6、7—8。由于AT89C52单片机无RS232接口,因此需要扩展一片MAx232,把RXD、T×D的TTL电平转换成RS232电平。

图1 触摸屏与单片机通信联接方法

2 建立触摸屏与单片机的内部存储器地址对应关系

打开触摸屏组态软件,从[编辑]下拉菜单中选[系统参数],弹出如图2所示参数设置对话框。触摸屏的系统参数中PLc类型设置成MODBUS RTU,通信参数设置必需与单片机通信参数设置一致。通信口类型设置成RS232,数据位设置成8位,1个停止位,波特率9600,校验位设置与单片机编程一致,PLC站号是单片机定义的站地址一样,站号需从1开始。参数设置完成,按确定键。

利用MOD—BUS通信协议构建集散控制系统实现触摸屏与单片机的通信

图2参数设置对话框

这时触摸屏的可操地址范围如表1所示。

表1 触摸屏在设置成MODBUS RTU摸式时可操作地址范围

利用MOD—BUS通信协议构建集散控制系统实现触摸屏与单片机的通信

Ox1—Ox9999、1×1—1x9999用于位操作的存储器,3xl一3x9999、4xl一4x9999用于字操作的存储器。lxl一1x9999作为输入节点(只读)位操作的存储器,用作触摸屏上的位状态指示灯。Oxl~oX9999可读可写,可作位状态指示灯、按键、触发控制摸位等。3xl-3x9999作为输入数据存储器,可作触摸屏中的数值显示元件和多状态指示灯等。4xl一4x9999可读可写,可作触摸屏中的数值输入元件和多状态设定元件等。其地址采用十进制数表示。OxO、lx0、3xO、4x0不可使用,否则编译时会出错。

在单片机中可自由定义分配与触摸屏相对应的寄存器地址。

如假设P2、P3口为输入口,P0、P1为输出口。为了便于单片机编程,可以把P2、P3口的引脚状态映射到20H、21H,与触摸屏lxl一1x16相对应。把P0、P1输出口数据存到寄存器22H、23H,与触摸屏0xl一0x16相对应。24H一28H作为位操作存储区,与触摸屏0x16-1x56相对应。把30H-3F:H设置成8个数据显示寄存器,与触摸屏3xl-3x8相对应。把40H一4FH设置成8个数据设置寄存器,与触摸屏4x1-4x8相对应。这样可列出触摸屏与单片机通信地址对应表,位地址如表2所示。字地址如表3所示。

表2摸屏与单片机通信位地址对应表

利用MOD—BUS通信协议构建集散控制系统实现触摸屏与单片机的通信

表3摸屏与单片机通信字地址对应表

利用MOD—BUS通信协议构建集散控制系统实现触摸屏与单片机的通信

3 触摸屏组态软件编辑

打开触摸屏组态软件,先按上述方法设置[系统参数],光标移到[窗口/元件选择列表框],单击鼠标右键,新建一个窗口,按要求填写对话框。按确定键,出现一个编辑窗,下面以设置一个位状态显示元件(指示灯)和一个数值显示元件(数据显示窗)为例,说明触摸屏编辑的地址与单片机内的地址建立相互联系的方法。现以要显示单片机中位20H(24H.0)的状态和显示40H、41H的数值为例。把鼠标点击元件工具箱中的元件图或从菜单[元件]的选项中拖出一个位状态指示元件。并弹出位状态显示元件属性对话框。

在读取地址栏[设备类型]中选0x,[设备地址]写入17,见表2,0x17对应20H,选择适当的图形、标签、大小和位置。按确定键。对话框消失,在编辑窗口出现一个位状态显示元件L1。一旦建立了正确的通信关系,则这个位状态显示元件的不同显示状态反应了单片机中位20H状态的变化。

把鼠标点击元件工具箱中的元件图或从菜单[元件]的选项中拖出一个数值显示元件。并弹出数值显示元件属性对话框。如图3所示。

利用MOD—BUS通信协议构建集散控制系统实现触摸屏与单片机的通信

图3数值显示元件一性对话框

在读取地址栏[设备类型]中选叙,[设备地址]写入1,见表3,3xl对应40H(高位),41H(低位),选择适当的图形、标签、大小和位置。按确定键,对话框消失。

在编辑窗口出现一个数值显示元件,一旦建立了正确的通信关系,则这个数值显示元件显示单片机中位40H(高位),41H(低位)的数值。

4 MODBUS RTU(远程终端设备)通信协议简介

触摸屏与单片机通信是主从通信方式,触摸屏是主机,单片机是从机。触摸屏根据画面编辑的控件,不断发送位、字的读或写的指令。单片机不断应答指令。

本文介绍MODBUS RTU通信格式,字符帧由8个数据位,1个起始位,1个停止位,1个奇偶校验位(当不采用校验位时,则设置2个停止位)。发送或接收每个字节,必需经过一次CRC出错校验运算。运算方法详见参考文献。

一个指令帧由从机地址、功能码、数据域和CRC校验码组成。数据域由读、写位或字数据的十六位首地址(高位在前,低位在后)、十六位操作数(高位在前,低位在后)、最后为十六位CRC校验码(低位在前,高位在后)。发送或接收前后必需有大于3.5MS的延时,以示一个指令帧的开始或结束。地址码和功能码均为一个字节。

下面举例说明用MODBUS RTU通信协议的通信格式:

1)读触摸屏指定首地址0x17对应单片机中首地址20H的一个字(十六位)的位状态。

触摸屏发送通信格式:

利用MOD—BUS通信协议构建集散控制系统实现触摸屏与单片机的通信

单片机应答通信格式:

利用MOD—BUS通信协议构建集散控制系统实现触摸屏与单片机的通信

触摸屏位地址0x17对应单片机首地址24H.0,回送24H.

0~20H.7,25H.0-25H.7,十六位状态。

2)读触摸屏指定首地址4xl对应单片机中首地址40H的一个字(40H。41H)的数值。

触摸屏发送通信格式:

利用MOD—BUS通信协议构建集散控制系统实现触摸屏与单片机的通信

单片机应答通信格式:

利用MOD—BUS通信协议构建集散控制系统实现触摸屏与单片机的通信

3)将触摸屏指定地址位0x18对应单片机中21H(24H.1)位置1或清零。

触摸屏发送通信格式:

利用MOD—BUS通信协议构建集散控制系统实现触摸屏与单片机的通信

单片机应答通信格式:

利用MOD—BUS通信协议构建集散控制系统实现触摸屏与单片机的通信

表中置位命令0FF00H为置1,0000H为清零。

4)将触摸屏指定首地址4x2对应单片机中首地址42H的一个字42H,43H写入一个设定值oal64H。

触摸屏发送通信格式:

利用MOD—BUS通信协议构建集散控制系统实现触摸屏与单片机的通信

单片机应答通信格式:

利用MOD—BUS通信协议构建集散控制系统实现触摸屏与单片机的通信

用类似的方法,根据项目要求,选择控件和编辑控件属性。

建立触摸屏与单片机的地址联系,按照MODBUS协议编写单片机与触摸屏的通信程序。则可实现用触摸屏显示单片机中位状态变化,设定数值或显示数值。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6002

    文章

    43982

    浏览量

    620914
  • 控制系统
    +关注

    关注

    41

    文章

    5966

    浏览量

    108738
  • 触摸屏
    +关注

    关注

    42

    文章

    2131

    浏览量

    113673
收藏 人收藏

    评论

    相关推荐

    PIC单片机触摸屏串行通信的MODBUS协议实现

    介绍一种在PIC单片机触摸屏之间采用MODBUS协议实现异步串行通信的方法.简单介绍了MODBUS通信
    发表于 03-07 12:52

    单片机触摸屏通信

    求助大家 我现在想用51单片机和昆仑通态的7062kx触摸屏进行通信,需要modbus的协议,想问一下这个协议是有标准的还是要自己来写,如果
    发表于 04-22 17:15

    什么是集散控制系统

    什么是工业控制计算机?有哪些特点?工控由哪几部分组成?各部分的作用是什么?什么是总线、内部总线和外部总线?常用的外部总线有哪些?简述MODBUS通信协议。什么是过程通道?过程通道由哪几部分组成?画出数...
    发表于 09-01 08:30

    单片机常用的通信协议有哪些

    单片机的应用中,通信协议是其中必不可少的一部分,上位与下位单片机单片机
    发表于 11-18 06:57

    单片机串口通信协议实现实例分享

    单片机串口通信协议实现JiaLiang_825 2017-12-13 13:27:02 3998 收藏 16分类专栏: 单片机 文章标签: 串口
    发表于 01-20 07:35

    单片机与PC串口通信编程

    接收到的内容,并根据接收的指令执行相应的操作。实验内容1、搭建实验电路,利用proteus仿真2、实现以下效果**效果1:**利用定时器的定时功能,用6位数码管实现时、分、秒的显示及更
    发表于 02-16 07:00

    PIC单片机触摸屏串行通信的MODBUS协议实现

    介绍一种在PIC单片机触摸屏之间采用Modbus协议实现异步串行通信的方法。简单介绍了Modbus通信
    发表于 07-17 15:04 131次下载

    用MODBUS实现触摸屏单片机通信

    讲解如何利用 MODBUS通信协议实现触摸屏单片机通信和控审I。详细介绍了
    发表于 08-15 14:27 328次下载
    用MODBUS<b class='flag-5'>实现</b><b class='flag-5'>触摸屏</b>与<b class='flag-5'>单片机</b>的<b class='flag-5'>通信</b>

    51单片机与威伦触摸屏通信

    51单片机与威伦触摸屏通信
    发表于 12-12 21:36 88次下载

    PC与单片机串口通信协议

    PC与单片机串口通信协议
    发表于 12-26 22:12 0次下载

    使用Modbus串行通信协议进行单片机触摸屏通信的图文及程序详解

    触摸屏能够直观、生动地显示运行参数和运行状态,而且通过触摸屏画面可以直接修改系统运行参数,人机交互性好。触摸屏单片机
    发表于 09-20 17:19 45次下载
    使用Modbus串行<b class='flag-5'>通信协议</b>进行<b class='flag-5'>单片机</b>与<b class='flag-5'>触摸屏</b><b class='flag-5'>通信</b>的图文及程序详解

    如何实现eView触摸屏与51单片机之间的通信

    触摸屏单片机通信,需要根据触摸屏采用的通信协议单片机编写相应的
    发表于 09-30 15:38 5341次阅读
    如何<b class='flag-5'>实现</b>eView<b class='flag-5'>触摸屏</b>与51<b class='flag-5'>单片机</b>之间的<b class='flag-5'>通信</b>

    制定通信协议实现单片机与PC机通信

    接收到的内容,并根据接收的指令执行相应的操作。实验内容1、搭建实验电路,利用proteus仿真2、实现以下效果**效果1:**利用定时器的定时功能,用6位数码管实现时、分、秒的显示及更
    发表于 12-17 18:30 19次下载
    制定<b class='flag-5'>通信协议</b>,<b class='flag-5'>实现</b><b class='flag-5'>单片机</b>与PC机<b class='flag-5'>通信</b>

    如何利用MODBUS通信协议实现触摸屏单片机通信控制

    讲解如何利用MODBUS通信协议实现触摸屏单片机通信和控审I。详细介绍了
    发表于 08-02 09:50 13次下载

    如何利用ModBus通信协议实现触摸屏单片机通信

    电子发烧友网站提供《如何利用ModBus通信协议实现触摸屏单片机通信.pdf》资料免费下载
    发表于 10-19 11:19 2次下载
    如何<b class='flag-5'>利用</b>ModBus<b class='flag-5'>通信协议</b><b class='flag-5'>实现</b><b class='flag-5'>触摸屏</b>与<b class='flag-5'>单片机</b>的<b class='flag-5'>通信</b>