【玩转485】2.数据的发送【连载2】

【玩转485】2.数据的发送【连载2】

ID:21522671

大小:902.00 KB

页数:12页

时间:2018-10-22

【玩转485】2.数据的发送【连载2】_第1页
【玩转485】2.数据的发送【连载2】_第2页
【玩转485】2.数据的发送【连载2】_第3页
【玩转485】2.数据的发送【连载2】_第4页
【玩转485】2.数据的发送【连载2】_第5页
资源描述:

《【玩转485】2.数据的发送【连载2】》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、【玩转485】2.数据的发送【连载2】说到通讯大家都觉得很难,觉得学起来没有头绪,其实我刚看到通讯的时候也是这样的感觉,资料找了一大堆都是理论,看来看去总感觉无从下手,最后终于搞懂后才发现,其实学不懂的主要原因并不应该用难来形容,而是这个东西它太复杂了,想要一次全部看懂消化是不太可能的事情,只有分步骤将这个复杂的知识一点点的进行拆分,循序渐进的进行理解,才能最终将这个复杂的知识掌握。      上一篇文章我首先给大家普及了一下通讯的基本原理(到底什么是通讯),什么是RS485,首先帮助大家先对RS485通讯建立一个基本的概念。本文我们就从通讯中最简单的步骤,数据的发送(PLC向

2、电脑发数据)向大家讲起。      1、实验工具    第一要告诉大家我们这篇文章中要用到的工具。      1.S7-200CPU1个(型号无所谓,最好有两个通讯口)    图1-1      2.串口调试软件    图1-2      3.Usb转485转换接头1个(RS232转RS485接头也可)    图1-3  4.9针接头公头1个        图1-4      5.两芯电缆        图1-5      2、实验流程    实验目的:从PLC向电脑发送一个字节的数据。  实验操作:用S7-200PLC向电脑发送一个字节的数据,通过串口调试软件接收,由于现在的

3、电脑都没有RS485通讯接口,因此我们要使用Usb转485转换接头才能保障电脑可以接收到来自PLC的数据,另外接线要注意9针头的3脚接Usb转485接头的信号“+”,8脚接Usb转485接头的信号“-”      3、自由口模式    说到程序的编写首先大家必须了解S7-200的自由口模式,由于S7-200的默认通讯方式是PPI通讯,因此不能自由收发数据,如果想自由收发数据,就必须先将S7-200的通讯接口设置为自由口模式,控制S7-200自由口的是特殊位寄存器SMB30和SMB130。其中SMB30是控制CPU通讯口0的,SMB130是控制通讯口1的,当然如果只有一个通讯端口

4、就只能使用SMB30这个特殊位寄存器了。下面我们一起来看看这8个位,分别表示什么含义如图3-1所示。        图3-1      1)0、1位:协议选择  mm:  00=点到点接口协议(PPI/从站模式)  01=自由口协议  10=PPI/主站模式  11=保留(缺省是PPI/从站模式)      2)2、3、4位:自由口波特率设置  bbb:  000=38400bps  001=19200bps  010=9600bps  011=4800bps  100=2400bps  101=1200bps  110=115200bps  111=57600bps     

5、   3)5位:每个字符的数据位  d:  0=8位/字符  1=7位/字符      4)6、7位:效验选择  pp:  00=不效验  01=偶效验  10=不效验  11=奇效验      这里还要和大家补充一个概念,在通讯的过程中每次发送与接收的最小单位是字符而不是位,1个字符通常包括1个起始位表示字符的开始,1个停止位表示字符的结束,一个奇偶效验位用于验证字符错对,和8个或者7个数据位用于传递信息。这里奇偶效验位可有可无,数据位通常情况下是8个位也就是1个字节,因此如果一个字符包含奇偶效验位通常是11个位,不包含奇偶效验位则是10个位。      通过上面对自由口模式

6、的介绍,如果我们在S7-200CPU的通讯端口0使用自由口模式,通讯速率为9600bps传输的字符不要奇偶效验位,那么我们就必须将SMB30中的数据配置成00001001如图3-2所示换算成16进制就是16#9        图3-2  4、程序编写    在开始编写程序之前,我们首先要掌握S7-200发送指令的使用。    图4-1      XMT发送指令有两个管脚,TBL和PORT。      PORT:通讯端口编号,如果用0端口则写0,如果用1端口则写1.      TBL:定义发送缓冲区的起始地址和缓冲区的大小,如果TBL中写VB100,VB100中存放1,则发送缓冲

7、区是VB101,发送数据时将VB101中的数据发送出去。如果VB100中存放2,则发送缓冲区为VB101和VB102,发送数据时将VB101、VB102的数据发送出去。      下面我们来看程序的具体写法。    图4-2      图4-2所示的程序就是一个最简单的发送程序,首先用SMB30将通讯口0定义为自由口,通讯速率9600bps,然后定义VB101为发送缓冲区(因为VB100中存放的是1),通过SM0.5将VB101中的16进制的CC以1秒钟为单位发送给电脑。最终我们电脑将会以1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。