求助单片机与威纶通触摸屏 modbus的modbus协议

堡登堡麦旦宝
数据处理分析秽}F
卉符合?。
“)主程序
(b)中断程序
(c)数据处理分析程序
图3系统软件流程图
威纶触摸屏向单片机写数据或者读取单片机数据时,都要通过串口通信完成。每当串口发生中断时,从接收到的数据中分析出触摸屏发送的是何种指令,根据不同数据指令,执行相应处理程序。执行完之后,返回主程序,等待下一中断到来。中断处理流程如图3(b)所示。
从图3(c)数据处理分析流程图中可知,当单片机接收到触摸屏发送的指令后,首先要进行从机号验证,如果从机号不符合,则程序直接返回。Modbus协议中的RTU传输模式采用了CRC校验方式,基于CRC方法的错误检测域检测整个报文的内容。在触摸屏与单片机进行通信时,必须进行CRC校验,如果校验错误,程序不作下一步处理,直接返回。由于单
片机对CRC校验码的计算速度要求比较高,结合整个系统的
特点,本系统采用基于查表的CRC校验算法,足以满足高速通信的需要。
3.2人机界面程序
系统人机界面所有画面均采用威纶通组态软件EasyBuilderS000(EB8000)全中文软件进行组态编程。威纶触摸屏自身支持Modbus协议,只需进行人机界面的编写就可完成触摸屏端的程序设计。系统组态的界面包括系统主画面、加工
类型设置、系统参数没置、进气进料控制和自动检测界面等。
在程序设计时,在软件环境的[设备属性]对话框中设置PLC类型为MODBUSRTU,通讯接口类型设置为RS一232,将波特率,数据位个数,校验位,停止位个数设置成和单片机系统一致,经EB8000软件编译无误后,将程序下载到触摸屏即可使用。
4通信测试
在触摸屏与单片机系统搭建完成后,根据所设置的入机界面进行通信测试,以验证系统通信的可行性和可靠性。系统通信时所使用的Modbus协议功能码主要包括01H、03H、10H等。
欢迎订阅欢迎撰稿欢迎发布产品广告信息
万方数据/yq_class/yq_262_1.html
口经验交流口
以触摸屏向单片机发送两个CCD相机的上下限参数为例进行测试说明,触摸屏发送的数据为每个CCD相机的上下限,共四个数据,采用的Modbus功能码为10H。将从触摸屏地址4x020开始的四个上下限值(例如:C6H、62H、BEH、5AH)写入单片机,此时,触摸屏发送和单片机应答的指令格式分别如表2所示。结果表明,触摸屏与单片机通信正常、可靠。
表2蚀摸屏发送与单片机应答指令格式
寄存器寄存器总CRC
站号功能码起始地址
C6H、62H
触摸屏发送01H10H13H04H
0F9EH
BEH、5AH
单片机应答
lOH13H
71CDH
结合对Modbus协议的认识与研究,通过单片机硬件电路及触摸屏人机界面的设计,在Modbus协议开放、通用的基础上,实现了色选机中触摸屏与STC单片机通信、控制等功能。该系统操作方便、友好性强、电路连接简单,且易于实现,能很好的应用于海藻产品的色选加工中。同时,经过适当的改造与设计,该通信系统还可应用于其他需要人机交互的控制系统中,因此具有很好的可移植性和广泛的适用性。口
[1]盂华,王鹏达,李明伟.基于Modbus协议的触摸屏与PIC单
片机的通信实现[J].仪表技术与传感器,2009,(10):
58-60.
[2]张红涛.现场总线技术基础及应用[M].北京:中国电力出版
社。2009:173?177.
[3]金鹰.基于MODBUS的主从通信系统的设计[J].南通大学
学报。2007,6(3):76-78.
[4]STC89C51数据手册[EB/OL].http://www.stcrncu.
corn/,2010.
[5]威纶触摸屏使用手册[EB/OL].http://www.weinview.
cn/,2010.
[6]尤慧劳.用MODBUS实现触摸屏与单片机的通信[J].工业
控制讣算机,2008,21(12):63-64.
[7]彭庆海,胡小强.Modbua协议及其在MCU与PLC通信中的
应用【J].机电工程.2010,27(4):52-54.
[8]吴敏,苏建徽.W77E58与EasyView触摸屏基于Modbus协议
的通信[J].仪器仪表用户,2006,13(3):79-80.
[9]王桂林,段梦兰.HITECH触摸屏与单片机的通信协议[J].
机电工程技术,2010,39(3):36-38.
作者简介:杨剑(1986.)。男,硕士研究生,主要从事精密测试技术、嵌入式系统的研究。收稿日期:2011436.12
V01.182011No.6
看过本文章的还看过。。。
图2 单片机与触摸屏通信电路原理图 威纶触摸屏支持 modbus rtu 协议, 单片机可通过编程 实现该协议。因此, 在开发色选机控制器系统时, 采用通信工 业中应用最.........
基于modbus协议的触摸屏与单片机通信的实现_信息与通信_工程科技_专业资料。新产品 · 新技术 基于 mo d b u s 协议的触摸屏 与单片机通信的实现中南大学信息科.........
基于modbus协议的触摸屏与单片机通信的实现_信息与通信_工程科技_专业资料。基于modbus协议的触摸屏与单片机通信的实现维普资讯 http: 蕈 警薯’ 萋.........
网络 基于 modbus 协议的单片机与触摸屏通信郑州市电子信息工程学校 金杰 [摘要] 本文介绍一种在 mcs- 51 单片机与触摸屏之间采用 modbus 协议实现异步串行通信的.........
新产品 新技术 基于 modbus协议的触摸屏 与单片机通信的实现中南大学信息科学与工程学院 温建明 鲁五一 袁庆国 摘 要 : 介绍 1 种在 w inbond 单片机 w 77e.........
用modbus实现触摸屏与单片机的通信_信息与通信_工程科技_专业资料。《 工业控制计算机 》2008 年 21 卷第 12 期 63 用 modbus 实现触摸屏与单片机的通信 communic.........
图2单片机与触摸屏通信电路原理图 威纶触摸屏支持modbusrtu协议,单片机可通过编程 实现该协议。因此,在开发色选机控制器系统时,采用通信工 业中应用最广泛的rs一.........
10 基于 mo d b u s 协议的触摸屏与 p i c 单片机的通信实现孟 华 , 王鹏达 , 李明伟 ( 大连理工大学电子与信息工程学院 , 辽宁大连 116023) 摘要 : .........
基于modbus协议的单片机与触摸屏通信实现_专业资料。为了提高色选机的可操控性......
于modbus协议的触摸屏与单片机通信的实现_电子电路_工程科技_专业资料。单片机相关慧:◇瓤羹蕊瀚搭。:ibf硼、w、、 基于modbus协议的触摸屏 与单片机通信的实现鲁.........
本文介绍了一种基于 modbus 通讯协议的 eview 触摸屏与自主开发的单片机系统的通讯方法。 关键词:触摸屏;单片机 1 引言 随着工业自动化的发展,基于 plc 、.........
基于modbus协议的stm32与触摸屏通讯的实现_信息与通信_工程科技_专业资料。文章...tm32单片机与 步科 et070型 触摸 屏之 间采 用m odbus协议 的通 讯方法.........
betweensinglechipmicrocomputerandtouch——screenbymodbus 尤慧芳(江苏信息职业技术学院,江苏无锡214101)摘要 讲解如何利用modbus通信协议,实现触摸屏与单片机的通信和控.........
2009笠第10期 仪表技术与传感器instrumenttechniqueandsensor 2009no.10 基于modbus协议的触摸屏与pic单片机的通信实现盂华,王鹏达,李明伟(大连理工大学电子与信息工程.........
讲解如何利用modbus通信协议,实现触摸屏与单片机的通信和控制。详细介绍了触摸屏与单片机的硬件连接、软件设置及编辑、modbus通信协议的使用方法等内容。讲解如何利用modb.........
为解决太阳能自动灌溉系统中的人机交互问题,使用触摸屏作为人机界面设计了一种人机交互系统。重点研究了人机交互系统中单片机与触摸屏的通信方法,包括基于modbus协议,触.........
基于modbus协议的单片机与触摸屏通讯系统设计_信息与通信_工程科技_专业资料......
基于modbus协议的人机界面和单片机串行通信_信息与通信_工程科技_专业资料。......
来实现的,modbus协议本身就 是建立在串口通讯上的协议, 这次用的是51单片机自带...[3]温建明,鲁五一,袁庆国.基于modbus协议的触摸屏与单片机通信的实现[j],中南.........
基于modbus协议的上位机与单片机通信的实现与仿真_信息与通信_工程科技_专业......
■ 24小时热门信息
基于modbus协议的单片机与触摸屏通信实现_专业资料。为了提高色选机的可操控性......
于modbus协议的触摸屏与单片机通信的实现_电子电路_工程科技_专业资料。单片机相关慧:◇瓤羹蕊瀚搭。:ibf硼、w、、 基于modbus协议的触摸屏 与单片机通信的实现鲁.........
本文介绍了一种基于 modbus 通讯协议的 eview 触摸屏与自主开发的单片机系统的通讯方法。 关键词:触摸屏;单片机 1 引言 随着工业自动化的发展,基于 plc 、.........
基于modbus协议的stm32与触摸屏通讯的实现_信息与通信_工程科技_专业资料。文章...tm32单片机与 步科 et070型 触摸 屏之 间采 用m odbus协议 的通 讯方法.........
■ 相关热门内容
■ 热门推荐21ic官方微信-->
后使用快捷导航没有帐号?
查看: 1279|回复: 5
有没有人做过威纶通与单片机通讯的应用
&&已结帖(20)
主题帖子积分
助理工程师, 积分 1315, 距离下一级还需 685 积分
助理工程师, 积分 1315, 距离下一级还需 685 积分
主题帖子积分
专家等级:结帖率:70%
主题帖子积分
助理工程师, 积分 1315, 距离下一级还需 685 积分
助理工程师, 积分 1315, 距离下一级还需 685 积分
请问有没有人做过单片机与威纶通的屏通信程序啊,我看了半天威纶通的资料没看明白,它好像主要是用于与PLC通信的,能和单片机通信吗,单片机能控制它吗?不知有没有用过的人,能否指点下!!
满意回复+20
前阵子有人也问过这个。当然能和单片机通讯,网上一搜一大把,你用MODBUS RTU,单片机做从,市场上的常见品牌的触摸屏都支持,很简单的 ...
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
技术达人, 积分 9750, 距离下一级还需 250 积分
技术达人, 积分 9750, 距离下一级还需 250 积分
主题帖子积分
专家等级:结帖率:100%打赏:0.00受赏:7.36
主题帖子积分
技术达人, 积分 9750, 距离下一级还需 250 积分
技术达人, 积分 9750, 距离下一级还需 250 积分
前阵子有人也问过这个。当然能和单片机通讯,网上一搜一大把,你用MODBUS RTU,单片机做从,市场上的常见品牌的触摸屏都支持,很简单的
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
技术达人, 积分 9750, 距离下一级还需 250 积分
技术达人, 积分 9750, 距离下一级还需 250 积分
主题帖子积分
专家等级:结帖率:100%打赏:0.00受赏:7.36
主题帖子积分
技术达人, 积分 9750, 距离下一级还需 250 积分
技术达人, 积分 9750, 距离下一级还需 250 积分
本帖最后由 受不了了 于
09:31 编辑
不去讨论一些与本贴无关的东西,删了
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
高级技术员, 积分 985, 距离下一级还需 15 积分
高级技术员, 积分 985, 距离下一级还需 15 积分
主题帖子积分
专家等级:结帖率:93%
主题帖子积分
高级技术员, 积分 985, 距离下一级还需 15 积分
高级技术员, 积分 985, 距离下一级还需 15 积分
一般这类玩意都是用的MODBUS-RTU通讯协议,网上大把资料。以前做过,不过嘛是用的自定义的通讯协议。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
初级工程师, 积分 2094, 距离下一级还需 906 积分
初级工程师, 积分 2094, 距离下一级还需 906 积分
主题帖子积分
专家等级:结帖率:100%打赏:0.00受赏:3.00
主题帖子积分
初级工程师, 积分 2094, 距离下一级还需 906 积分
初级工程师, 积分 2094, 距离下一级还需 906 积分
就是MODBUS协议,没什么难的~
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
主题帖子积分
专家等级:结帖率:100%打赏:15.74受赏:3416.09
主题帖子积分
参考这两个例子,网上找一个STM32的modbus程序移植一下,用自由协议或者modbus
本帖子中包含更多资源
才可以下载或查看,没有帐号?
欢迎参与LabVIEW版块的讨论学习!
技术新星奖章
人才类勋章
突出贡献奖章
等级类勋章
沉静之湖泊
发帖类勋章
时间类勋章
技术导师奖章
人才类勋章
甘甜之泉水
发帖类勋章
时间类勋章
技术奇才奖章
人才类勋章
希望之星奖章
等级类勋章
时间类勋章
欢快之小溪
发帖类勋章
社区建设奖章
等级类勋章
无冕之王奖章
等级类勋章
热门推荐 /2Modbus协议下实现单片机与PLC之间的通讯
查看: 993|
摘要: 本文以Modbus通讯协议为例,详细讨论了一个人机系统中,如何用C51实现单片机和PLC之间通讯的实例。
&&&&()以其体积小,高性能,强实时等特点,越来越多的应用于工业自动化系统和设备中。它有字母、汉字、图形和图片等不同的显示,界面简单友好。配有长寿命的薄膜按钮键盘,操作简单。它一般采用具有集成度高、速度快、高可靠且价格低等优点的[1]作为其核心控制器,以实现实时快速处理。和单片机结合不仅可以提PLC的数据处理能力,还可以给用户带来友好简洁的界面。本文以Modbus通讯协议为例,详细讨论了一个人机系统中,如何用C51实现单片机和PLC之间通讯的实例。
&&&&2Modbus通讯协议
&&&&Modbus协议是应用于控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。
&&&&Modbus协议提供了主—从原则,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。主设备查询的格式:设备地址(或广播,此时不需要回应)、功能代码、所有要发送的数据、和一错误检测域。从设备回应消息包括确认地址、功能码、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。
&&&&控制器能设置为两种传输模式:ASCII和RTU,在同样的波特率下,RTU可比ASCII方式传送更多的数据,所以采用KTU模式。
&&&&(1)典型的RTU消息帧
&&&&典型的RTU消息帧如表1所示。&&&&
&&&&RTU消息帧的地址域包含8bit。可能的从设备地址是0...127(十进制)。其中地址0是用作广播地址,以使所有的从设备都能认识。主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。&&&&
&&&&RTU消息帧中的功能代码域包含了8bits,当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为;当从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应,一般是将功能码的最高位由0改为1)。
&&&&从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代码所定义的行为。这包括了像不连续的寄存器地址,要处理项的数目,域中实际数据字节数。如果没有错误发生,从从设备返回的数据域包含请求的数据。如果有错误发生,此域包含一异议代码,主设备应用程序可以用来判断采取下一步行动。
&&&&当选用RTU模式作字符帧时,错误检测域包含一16Bits值(用两个8位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测(CRC)方法得出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。
&&&&(2)所有的Modbus功能码
&&&&Modbus的功能码定义如表2所示。&&&&
&&&&3常用功能通讯程序的设计[5]
&&&&本文介绍了几个Modbus常用功能程序的设计。笔者采用单片机作为主机,在单片机上编写程序实现单片机与PLC之间的通讯。由单片机向PLC发出命令信息,PLC自动作出回应。PLC通过单片机的串行通讯口通讯,程序用C51实现。程序的子函数及其功能:
&&&&(1)串口初始化
&&&&voidProtocolInit(void)
&&&&函数功能:串口设置为异步通讯方式1(起始位1位,数据位8位,停止位1位);定时/计数器1设置为波特率发生器,通讯速率9600开串行中断,并把串行中断设置为高优先级。
&&&&(2)CRC简单函数
&&&&unsignedcharCrc16(unsignedchar*puchMsg,unsignedcharusDataLen)
&&&&函数功能:先调入一值是全“1”的16位寄存器,然后调用一过程将消息中连续的8位字节各当前寄存器中的值进行处理。每个8位字符都单独和寄存器内容相或(OR),结果向最低有效位方向移动,最高有效位以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。最终寄存器中的值,是消息中所有的字节都执行之后的CRC值。
&&&&(3)初始化变量
&&&&voidInitvar(void)
&&&&函数功能:初始化所有过程变量。
&&&&(4)串行中断服务程序
&&&&voidProtocolSerialProcess(void)interrupt4using2
&&&&函数功能:发送中断发送主机形成的命令数组,发送完后置标志位;接收中断接收PLC返回的响应数组,存入接收数组,并置标志位,且假设响应正确,留待主机处理。
&&&&(5)读N个位变量(线圈)
&&&&voidProtocolRead_bit(unsignedcharDeviceAddr/*PLC局号*/,unsignedcharRegType/*寄存器类型*/,unsignedintBitAddr/*起始地址*/,unsignedcharSubAddr/*子地址*/,unsignedintBitNum/*位数*/)
&&&&函数功能:根据函数参数,形成读N个位变量的命令数组,启动发送。等待发送完并接收完(如超时未接收完则重新发送)。分析接收数组:正确,保存读取的数据;错误,重新发送。
&&&&(6)写一个位变量
&&&&voidProtocolSetBit(unsignedcharDeviceAddr/*PLC局号*/,unsignedcharRegType/*寄存器类型*/,unsignedintBitAddr/*地址*/,unsignedcharSubAddr/*子地址*/,unsignedi
&&&&ntClrSet/*写值“1”或“0”*/)
&&&&函数功能:根据函数参数,形成置某位变量为“1”或“0”的命令数组,启动发送。等待发送完并接收完(如超时未接收完则重新发送)。分析接收数组:正确,返回;错误,重新发送。
&&&&(7)读N个字节变量
&&&&voidProtocolReadByte(unsignedcharDeviceAddr/*PLC局号*/,unsignedcharRegType/*寄存器类型*/,unsignedintRegAddr/*起始地址*/,unsignedcharSubAddr/*子地址*/,unsignedintRegNum/*个数*/)
&&&&函数功能:根据函数参数,形成读N个字节变量的命令数组,启动发送。等待发送完并接收完(如超时未接收完则重新发送)。分析接收数组:正确,保存读取的数据;错误,重新发送。
&&&&(8)写N个字节变量
&&&&voidProtocolSetByte(unsignedcharDeviceAddr/*PLC局号*/,unsignedcharRegType/*寄存器类型*/,unsignedintRegAddr/*起始地址*/,unsignedcharSubAddr/*子地址*/,unsignedintRegNum/*个数*/)
&&&&函数功能:根据函数参数,形成写N个字变量的命令数组(要写的数从某参数数组中读取),启动发送。等待发送完并接收完(如超时未接收完则重新发送)。分析接收数组:正确,返回;错误,重新发送。
&&&&4结束语
&&&&以上的程序已经通过实验,并应用于实际的人机系统中。依照类似的方法,可以编写其他不同功能的程序,实现对PLC的不同控制和操作。利用单片机和PLC进行优势互补,可以组成网络化、智能化的工业控制系统。另外整个单片机系统程序用C51语言编程,程序简洁,便于阅读与调试。单片机和人机界面结合可以实时的显示PLC的工作状况,实时的控制、设置、调整PLC工作情况,提高工业控制的自动化程度和实时性。
上一篇:下一篇:
Powered by &
这里是—这里可以学习 —这里是。
栏目导航:}

我要回帖

更多关于 威纶通触摸屏 modbus 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信