S7200SMART自由口通信实例解读分析课件_第1页
S7200SMART自由口通信实例解读分析课件_第2页
S7200SMART自由口通信实例解读分析课件_第3页
S7200SMART自由口通信实例解读分析课件_第4页
S7200SMART自由口通信实例解读分析课件_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、S7-200 Smart 自由口通信解读2022/9/27S7-200 Smart S7200 Smart自由口通信:S7-200 Smart串口通讯主要包括:1)ModbusPLC与支持Modbus RTU协议的第三方设备通讯RTU Master-Protocol(RTU主站协议)RTU Slave-Protocol(RTU从站协议)2)USSS7-200PLC与SIEMENS驱动设备的通讯(如MM440等)3)自由口通讯S7-200PLC与自由协议的第三方设备间的通讯 S7200 Smart自由口通信:S7-200 Smart(2)自由口通讯S7-200 smart CPU的通信口可以设置

2、为自由口模式。选择自由口模式后,用户程序就可以完全控制通信端口的控制,通信协议也完全受用户程序控制。所谓的自由口通讯,就是通讯协议是由用户自由定义的。对于S7-200 smart PLC而言,基于本体自带的485端口的网络所应用的协议,除了PPI协议以外,其他都是自由口协议。例如USS协议、Modbus协议等等都是特定的自由口通讯协议。 S7200 Smart自由口通信:(2)自由口通讯 S7200 Smart自由口通信:1)自由口通讯硬件西门子S7 -200 smart系列PLC的自由口是基于RS485的硬件,采用正负两根信号线作为传输线路。两线间的电压差为+2V6V表示逻辑1:两线间的电压

3、差为-2V-6V表示逻辑0。西门子串口的插头是九针标准插头,其中各个针脚的定义在下表中得以体现,最重要的两根线是表中红线标出的3号脚和8号脚,也就是通常说的3正8负,其中3对应信号B,8对应信号A,其它的引脚可以完成一些额外的功能,比如24V直流电的供应,5V直流电的供应以及发送请求等。但是对于最基本的串口通讯而言,3脚和8脚两根线就足够了,所以下面将着重介绍这两根线的逻辑。 S7200 Smart自由口通信:1)自由口通讯硬件 S7200 Smart自由口通信:自由口的指令一共有两条,一条是发送指令,一条是接收指令。我们在谈及发送或接收的时候往往会对立地去看读或写两个概念,但是读与写,发送与

4、接收并不是相同的概念,一般在谈及读或写的时候往往是基于一些相对高级的通讯,比如主从之间的通讯,主站可以对从站进行读或写的操作。相对于读和写的概念而言,发送和接收指令更为基本例如A和B两个通讯对象,A发送一个报文给B,这是一个发送的过程,B接收到A发送给它的报文,这是接收的过程。而对于读和写则复杂的多,例如A作为主站想要读取B的数据内容,则需要A首先发一个读请求给B,B接收到了A发送过来的读请求之后作出判断,从而将A想要的数据由B再发送给A,由A接收到这个数据从而完成一次读的过程。所以相对读和写,发送和接收的过程要基本的多,而自由口通讯用到的指令就是发送和接收指令。 S7200 Smart自由口

5、通信:自由口的指令一共有两条,一条是发送指令,一条是接收指令。我们 S7200 Smart自由口通信:SMB30 和 SMB130 分别组态通信端口 0 和 1以进行自由端口操作,并提供波特率、奇偶校验和数据位数的选择。右图显示了自由端口控制字节。对于所有组态,都生成一个停止位。 S7200 Smart自由口通信:SMB30 和 SMB1 S7200 Smart自由口通信实例:RCV 接收指令实例 例子 1 :S7-200 SMART CPU集成的RS485 端口(端口 0 )实现与条码扫描枪通信。条码扫描枪通常为 RS232 端口,其与 S7-200 SMART CPU 集成的 RS485

6、端口连接时需要使用 RS232/485 转换设备或 RS-232/PPI 多主站电缆。 条码扫描枪接收到条码后会自动通过 RS232 端口发送报文,S7-200 SMART CPU 需要调用 RCV 指令接收报文,并在接收完成中断中再次使能 RCV 指令循环接收报文。 S7200 Smart自由口通信实例:RCV 接收指令实例1.设置 SMB30 = 2#00001001 (自由口通信,波特率 9600,8 位数据位,无校验);2.设置 SMB87 = 2#10010100,使用空闲线检测为信息接收的起始条件,使用字符间定时器为信息接收的结束条件 ; S7-200 SMART CPU集成的RS

7、485 端口(端口 0 )实现与条码扫描枪通信注意:此处使用的调用指令为SM0.1S7-200 SMART CPU集成的RS485 端口(端口图 2.设置空闲线定时器 SMW90 = 5 ms,字符间定时器 SMW92 = 5 ms,允许最大接收字符个数 SMB94 = 50;注意:此处使用的调用指令为SM0.1S7-200 SMART CPU集成的RS485 端口(端口 0 )实现与条码扫描枪通信图 2.设置空闲线定时器 SMW90 = 5 ms,字符间定 图 3. 连接中断子程序 INT_0 到通信端口 0 接收完成事件,并使能中断;使用 SM0.1 触发 RCV 指令地执行。注意:此处使

8、用的调用指令为SM0.1S7-200 SMART CPU集成的RS485 端口(端口 0 )实现与条码扫描枪通信 图 3. 连接中断子程序 INT_0 到通信端口 0 接收S7-200 SMART CPU集成的RS485 端口(端口 0 )实现与条码扫描枪通信CPU 中断程序1.判断信息接收结束是否为字符间超时结束(SM86.2 = 1),若是,则认为接收成功,接收成功计算器 VB200 自加一;2.消息接收成功时接收的信息拷贝到 VB300 为起始地址的存储区;3.开始下一次 RCV 指令地执行S7-200 SMART CPU集成的RS485 端口(端口接收过程首先执行RCV指令,启动接收,

9、启动之后会进入一种接收等待的状态,等待起始状态的满足,当起始条件满足以后SMB86/186=0,此时数据将按照发送的顺序进入信息缓冲区,直到结束条件的满足,结束条件满足以后SMB86/186不再等于0,之后接收过程结束并产生接收信息完成中断。在整个过程中最为重要的就是起始条件和结束条件,想要将自由口通讯学好,这两个条件是必不可少也是最为关键的部分。S7-200 SMART CPU集成的RS485 端口(端口 0 )实现与条码扫描枪通信接收过程首先执行RCV指令,启动接收,启动之后会进入一种接收2台S7-200 SMART CPU采用自由口通信方式实现相互通信。两台PLC之间也可以使用自由口通信

10、完成PLC之间的数据交换,我们以下面一个例子说明两台PLC之间的自由口通信。通信任务:CPU1 每秒触发一次 XMT 指令将 CPU 的实时时钟发送到 CPU2;CPU2 接收到 CPU1 发送的信息后立即将 CPU2 的实时时钟回复到 CPU1。 2台S7-200 SMART CPU采用自由口通信方式实现相2台S7-200 SMART CPU采用自由口通信方式实现相互通信。1、CPU1 编程1.1、CPU1 主程序编程如图所示:1. 设置 SMB30 = 2#00001001 (自由口通信,波特率 9600 bps,8 位数据位,无校验)。2. 设置 SMB87 = 2#10010100,使

11、用空闲线检测为信息接收的起始条件,使用字符间定时器为信息接收的结束条件。3. 设置空闲线定时器 SMW90 = 5 ms,字符间定时器 SMW92 = 5 ms,允许最大接收字符个数 SMB94 = 10。2台S7-200 SMART CPU采用自由口通信方式实现相2台S7-200 SMART CPU采用自由口通信方式实现相互通信。4. 连接中断子程序 INT_0 到通信端口 0 发送完成事件,并启用中断。5. 每秒钟读取一次 CPU 的实时时钟,并将发送缓冲区长度设置为 8 个字符。6. 执行 XMT 指令之前设置 SM87.7 = 0,同时执行 RCV 指令,终止消息接收。7. 每秒钟执行

12、一次 XMT 指令将 CPU 的实时时钟发送出去。2台S7-200 SMART CPU采用自由口通信方式实现相2台S7-200 SMART CPU采用自由口通信方式实现相互通信。1.2、 CPU1 发送完成中断子程序 INT_0 编程中断子程序INT_0用于恢复 SMB87 的设置(SM87.7 = 1),并执行 RCV 指令开始接收 CPU2的应答信息。程序如图所示2台S7-200 SMART CPU采用自由口通信方式实现相2台S7-200 SMART CPU采用自由口通信方式实现相互通信。2、CPU2 编程2.1、CPU2 主程序编程如图所示1. 设置 SMB30 = 2#00001001

13、 (自由口通信,波特率 9600 bps,8 位数据位,无校验)。2. 设置 SMB87 = 2#10010100,使用空闲线检测为信息接收的起始条件,使用字符间定时器为信息接收的结束条件。3. 设置空闲线定时器 SMW90 = 5 ms,字符间定时器 SMW92 = 5 ms,允许最大接收字符个数 SMB94 = 10。2台S7-200 SMART CPU采用自由口通信方式实现相2台S7-200 SMART CPU采用自由口通信方式实现相互通信。4. 连接中断子程序 INT_0 到通信端口 0 接收完成事件,中断子程序 INT_1 到通信端口 0 发送完成事件,并启用中断。 5. 使用 SM0.1 调用 RCV 指令地执行。2台S7-200 SMART CPU采用自由口通信方式实现相2台S7-200 SMART CPU采用自由口通信方式实现相互通信。2.2、 CPU2 接收完成中断子程序 INT_0 编程中断子程序INT_0用于读取 CP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论