欢迎光临深圳市旺火科技有限公司!
全国伺服维修热线
18818687123
伺服维修新闻中心
全国服务热线
18818687123

手机:18818687123

电话:0755-86962699

传真:0755-86962699

邮编:518103

邮箱:sales@szwanghuo.com

地址:深圳市宝安区福永街道桥头社区新村二路8号

485通讯数据的接收

作者:信息发布员 来源:深圳市旺火科技有限公司 时间:2017/8/18 16:08:34

原创 2017-08-26 旺火 技成培训
 旺火科技『技成培训』关注中国领先制造业在线教育品牌
工控人最多最专业最集中的微信平台:深圳市旺火科技有限公司、伺服液总会

  1、 报文
  在开始具体讲解PLC如何接收数据之前,旺火首先要向大家介绍报文这个概念,所谓报文就是一段完整的信息,为报文的一种格式。
  在通讯的过程中无论是发送还是接收都是一个报文一个报文为单位的进行的,发送之所以简单就是因为旺火只要将准备在发送缓冲区的数据一次性
    的全部发送出去就好,一次发送一个报文,而接收就不同了,旺火要判断一个报文的起始与结束,还要判断接收到的这个报文是否在传输的过程中因为干扰等原因产生错误。
  2、单个报文的判断方法
  如何判断一段报文的起始与结束呢?旺火常用的有两种方法。
  第一通过给报文设定固定的起始字符和结束字符,只要接收到起始字符既是一段报文的开始,只要收到结束字符既是一段报文的结束。
  第二通过空闲时间判断,超过空闲时间没有接收到数据,旺火就认为是一段报文已经结束,之后接收的数据就算新的报文。
  那么本文旺火还是先给大家讲解如何通过起始字符和结束字符来接收数据。
  3、通过字符判断
  在编写程序之前旺火首先要明确旺火使用的特殊位寄存器的状态,下面旺火逐个按要求进行设置,这里要注意旺火统一使用S7-200CPU的端口0。

  1) 自由口模式。第0、1位
  2) 通讯速率9600bps。第2、3、4位
  3) 每个字符的数据位是8位。第5位
  4) 不选用奇偶效验。第6、7位

  1) 不使用中断条件作为检测信息的开始。第1位。
  2) 不使用空闲时间方式检测报文的开始结束。第2、3、4位。
  3)使用结束字符检测报文的结束。第5位。
  4) 使用起始字符检测报文的开始。第6位。
  5)允许信息接收功能。第7位。
  注:第0位为无效位不使用。
    用16进制AA作为报文的起始字符,只要PLC接收到字符AA说明一段报文的开始。
    用16进制BB作为报文的结束字符,只要PLC接收到字符BB说明报文接收完毕停止接收。
    定义接收缓冲区大小,此处定义为最大255字节。(注:接收缓冲区是用来存放接收到的数据的区域,最大255字节,大家可以根据通讯情况自由定义。)
  4、程序编写
   开始程序编写之前让旺火首先了解一下接收指令的使用。

  RCV接收指令有两个管脚,TBL和PORT。
  PORT:通讯端口编号,如果用0端口则写0,如果用1端口则写1.
  TBL:定义接收缓冲区的起始地址,如果TBL中写VB100,同时接收的数据是两个字节,则VB100中的数值为2,同时VB101和VB102用来存放接收到的数据。

  下面旺火来看程序的具体写法。

  
  5、接收测试
  程序旺火就编写完成了,主要是对特殊位寄存的设定,另外增加一个接收指令用于接收数据就好,下面旺火用PLC接收几组发自电脑的数据,来具体了解通过起始、结束字符判    断报文的方式来接收数据的使用方法。

    1) 接收测试1
  首先旺火使用串口调试软件发送一段报文16进制的aa 11 22 ff 23 bb一共6个字节。根据旺火上面的讲解,此段报文中aa是报文的起始字符,表示报文的开始bb是报文的结束      字符,表示该段报文的结束,起始字符和结束字符之间是要发送给PLC的数据内容,当然现在旺火发送的数据是没有任何含义的,所示。
    所示是Step7 MicroWin的状态表监控到的数据,因为旺火设定的起始地址是VB100一共发送了6个字节的数据,所以数据的存放是从VB101到VB106中。这里可能有人要问那VB100     中应该是6啊为什么是0呢?这个主要是因为在接收指令RCV之前我使用的SM0.0因此当一次数据接收完成后,就重新进入接收状态,这时会将Vb100中的数值清空,所以VB100始      终是0。

    2) 接收测试2
  上面旺火已经成功使用S7-200PLC接收到了电脑发送的数据现在旺火用电脑发送一组没有起始字符的报文看看会出现什么情况,此次旺火发送数据dd 11 22 ff 23 bb如图5?3中     内容所示。

  通过旺火可以发现PLC没有接收到任何数据,原因就是PLC没有检测到起始字符

  3) 接收测试3
  本次旺火发送给PLC的数据既有起始字符,也有结束字符,只是在结束字符后旺火再增加2个字节的数据,看看会出现什么情况,这次旺火发送aa 11 22 bb 23 45。

  旺火可以发现电脑发送的数据PLC只能接收到aa 11 22 bb,而23 45这两个字节由于出现在报文的结束字符之后PLC就无法识别了。

   分享朋友圈一起学习!

   回复以下关键词获取相关文章
   玩转485 接近开关 万用表 电工 电缆选型 
   免费上课 PLC 视频试看 变频器 控制 电工口诀
   点“www.sifuweixiu.com”查看更多精彩内容


网站首页  |  关于我们  |  产品名称  |  成功案例  |  资质认证  |  视频展示  |  新闻中心  |  联系我们
 
在线客服
维修技术客服一
维修技术客服二
扫一扫 微信公众号
扫一扫 手机二维码