S7-200系列PLC自由口通信知识分享(3)

2017-07-11 11:24 更新 卢思敏 浏览:686人次 微信二维码

在前面的文章中与大家分享了自由口通信中的发送功能,那么进行就跟大家聊聊自由口通信中的接收功能,自由口通信中的难点就是在于接收功能的使用,当PLC通过通信端口把数据发送给下位设备后,下位设备会根据PLC发送过去的信息内容回传相应的数据给PLC,这时候PLC就需要使用接收功能进行数据的接收,S7-200系列PLC提供了一条接收指令(RCV)用于接收下位设备返回来的信息。指令格式如下所示:

 

PLC接收完下位设备回传回来的数据后,PLC会产生相应的中断事件来告知编程人员信息接收完成,此时可以编写相应的程序提取有效数据,并对这些有效数据进行转换,转换成可读性的数据。S7-200系列PLC 提供了中断事件23和中断事件24分别作为端口0和端口1的接收完成中断事件号。

PLC的信息发送过程中,PLC是主动方,会根据需要发送的数据个数进行数据的发送,当发送完成后,PLC会自动产生相应发送完成中断,而对于接收来讲,PLC是被动方,只负责数据的接收,当PLC的端口使能了接收功能后,PLC处于等待信息的接收状态,有数据过来就接收,但是接收的数据是否是有效的数据,什么时候接收完了PLC并不知道,此时就要求我们编程人员需要设置好消息的起始和接收条件,当起始条满足了,PLC把接收到的数据放入到接收缓冲区中,当满足了结束条件,PLC关断接收功能,并产生接收完成中断。

用于判断消息的的起始和结束条件有很多种方式,但用的比较多可能就以下几种方式:


今天我们先聊一聊通过起始符作为信息的起始和通过结束符作为信息的结束判断的过程及程序的设置,S7-200系列的PLC提供了两个系统存储区用于存储起始符(SMB88)和结束符(SMB89)(这里以端口0为例说明),因此若需要使用起始符和结束符做为消息的起始和结束的的判断,则需要把起始符和结束符分别放到SMB88SMB89中。

PLC在接收数据的过程中,会对接收的数据与起始符进行对比,如果与起始符不相等,这说明不是有效性的数据,不放入接收缓冲器中,会把接收到的数据丢弃,重新接收,若接收到的数据与起始符相等,则PLC会把接收到的数据放到接收缓冲区中,同时记录接收字符个数的存储器的值加1。

当起始符满足后,PLC会对接收到的字符与结束符进行对比,如果与结束符不相等,则继续数据的接收, 如果接收到的数据与结束符相等,则关断接收功能,并产生接收完成中断。因此使用起始符和结束符来讲,大部分使用的是一些特定的字符。

若使用起始符和结束符作为消息的起始和结束的判断时,需要先设置好接受功能的控制字节(SMB87)告知PLC为起始符和结束符判断消息的起始和结束。SMB87的个格式内容如下图所示:


作者:技成培训网(曾鑫)

本文版权为技成所有,未经同意,盗取必究!

推荐学习相关课程:

西门子学习机箱接线演示

西门子s7-1200 从入门到精通

西门子S7-200 Smart PLC编程应用入门

西门子200 STEP-7Micro WIN 编程软件使用


好书推荐
< >

  • 三菱 PLC 技术功能指令应用详解

    为三菱FX2N系列PLC顺控程序设计和功能指令讲解,重点是功能指令讲解。为了使读者能够在较短的时间内正确理解、 掌握和应用功能指令,书中除了对指令本身作了详细的说明外...

  • 三菱FX系列PLC定位控制应用技术

    以三菱电动机的三菱FX系列PLC为目标机型,以广大自动化技术的初学者为对象而编写的一本专门讲解定位控制技术的入门书

  • PLC模拟量与通信控制应用实践

    以三菱fx2n plc为目标机型,介绍了plc在模拟量控制和通信控制中的应用。在模拟量控制中, 重点介绍了三菱fx2n plc模拟量特殊模块和pid控制应用...

  • 工控技术应用数学

    本书是针对工作在生产第一线的电工编写的。他们或因数学知识没有学好,或因时间长了有所遗忘等种种原因, 在学习和应用电工电子技术...

  1. 1
  2. 2