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

随着触摸屏的应用和产量的增加,价格下降。因而有可能使用触摸屏作为单片机控制设备的键盘和显示装置,提高单片机控制设备的档次。触摸屏与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开始。参数设置完成,按确定键。
图2参数设置对话框
这时触摸屏的可操地址范围如表1所示。
表1 触摸屏在设置成modbus rtu摸式时可操作地址范围
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摸屏与单片机通信位地址对应表
表3摸屏与单片机通信字地址对应表
3 触摸屏组态软件编辑
打开触摸屏组态软件,先按上述方法设置[系统参数],光标移到[窗口/元件选择列表框],单击鼠标右键,新建一个窗口,按要求填写对话框。按确定键,出现一个编辑窗,下面以设置一个位状态显示元件(指示灯)和一个数值显示元件(数据显示窗)为例,说明触摸屏编辑的地址与单片机内的地址建立相互联系的方法。现以要显示单片机中位20h(24h.0)的状态和显示40h、41h的数值为例。把鼠标点击元件工具箱中的元件图或从菜单[元件]的选项中拖出一个位状态指示元件。并弹出位状态显示元件属性对话框。
在读取地址栏[设备类型]中选0x,[设备地址]写入17,见表2,0x17对应20h,选择适当的图形、标签、大小和位置。按确定键。对话框消失,在编辑窗口出现一个位状态显示元件l1。一旦建立了正确的通信关系,则这个位状态显示元件的不同显示状态反应了单片机中位20h状态的变化。
把鼠标点击元件工具箱中的元件图或从菜单[元件]的选项中拖出一个数值显示元件。并弹出数值显示元件属性对话框。如图3所示。
图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的一个字(十六位)的位状态。
触摸屏发送通信格式:
单片机应答通信格式:
触摸屏位地址0x17对应单片机首地址24h.0,回送24h.
0~20h.7,25h.0-25h.7,十六位状态。
2)读触摸屏指定首地址4xl对应单片机中首地址40h的一个字(40h。41h)的数值。
触摸屏发送通信格式:
单片机应答通信格式:
3)将触摸屏指定地址位0x18对应单片机中21h(24h.1)位置1或清零。
触摸屏发送通信格式:
单片机应答通信格式:
表中置位命令0ff00h为置1,0000h为清零。
4)将触摸屏指定首地址4x2对应单片机中首地址42h的一个字42h,43h写入一个设定值oal64h。
触摸屏发送通信格式:
单片机应答通信格式:
用类似的方法,根据项目要求,选择控件和编辑控件属性。
建立触摸屏与单片机的地址联系,按照modbus协议编写单片机与触摸屏的通信程序。则可实现用触摸屏显示单片机中位状态变化,设定数值或显示数值。

三星稳占全球最大手机制造商第一位置长达8年 它到底凭什么长年屹立不倒
咕咚智能心率手环怎么样 199元的价位上可以说非常的出众了
在三极管中,如何判断发射极正偏,集电结反偏?
测量材料表面,就可以提升光学设计精确度?
智能镜面显示屏将会是一款让你上瘾的智能设备
利用MOD—BUS通信协议构建集散控制系统实现触摸屏与单片机的通信
领跑智能家居新赛道,Aqara全屋智能撬动万亿蓝海市场
构筑量化套利开放平台 阿尔法赠予数字货币投资者交易利器
苹果正研发一系列Apple Silicon,为明年做准备
英特尔锐炫GPU发展迅猛,从电竞赛到亚运会,探索更多可能
输出过电压保护电路
三星暂时没有2021年开发新版Galaxy Note的计划
agv小车分类
语言识别技术的工作原理是一个怎样的过程
OPPO公布全球首款“瀑布屏”真机 屏幕弯曲度达到88°
大疆遇挑战,无人机王者杀入企业级市场
新一代雅阁动力系统解析
黑莓为Spark平台区块链分类账提供医疗保健服务
河套IT TALK——TALK 8:《华盛顿邮报》:“ChatGPT会在2年内灭掉Google!”
最新消息,iPhone 12掉漆啦!