【案例】S7-200SMART与扫描枪自由口通信应用

↖戳上方  蓝字  “ PLC发烧友 ”   关注我们哦!

本案例主要让读者掌握练习S7-200SMART串口通信的接线,协议的分析,熟悉使用自由口通信的发送指令和接收指令,自由口通信程序的设计等。

案例说明

通过PLC发送读取命令到扫描枪,触发扫描枪对条码进读取。扫描枪型号为ES230AT+系列扫描枪。该信号扫描枪具有USB、PS/2、RS23三种类型的接口,在本案例中选择接口为RS232的扫描枪。

通信连接说明

西门子S7-200SMART本地自带的通信端口为RS485接口,可通过扩展信号板扩展一个RS232的接口,在本示例中通过一个RS232转RS485的转换器把扫描枪的RS232接口转换为RS485接口后与西门子S7-200SMART本体上的RS485端口进行连接,如图1-1所示为连接示意图,图1-2所示为通信接线图

图1-1 连接示意图

图1-2 通信端口接线图

扫描枪参数设置

设置扫描枪的通信参数,主要设置的参数有扫描模式、波特率、数据位、奇偶校验位和停止位等参数。

扫描模式:扫描模式可设置为手动模式和自动关于模式,手动扫描需要进行触发,这里我们选择手动模式下的按键保持,自动模式选择禁止,如图1-3所示:

图1-3 扫描枪扫描模式设置

通信参数设置:在本例中波特率设置为9600bps、奇偶校验设置为无奇偶校验,数据为设置8位,停止设置为1位。如图1-4所示:

图1-4 通信参数设置

信息帧格式说明

①PLC发送数据:

开始扫描命令:“ 0x 54 ”( T),当扫描枪接收到开始扫描命令后,扫描枪会按选定的手动扫描模式进行扫描。

②扫描枪返回信息:

读取条码成功:如果扫描枪成功读取条码,扫描枪会将扫描到的信息传送给PLC。

读取条码失败:如果扫描在停止扫描前,无法成功读取条码信息,扫描枪将返回(%%NoRead)字符给PLC。

通信程序的设计

(1)初始化程序:在初始化程序中需要定义通信格式字,接收控制格式字,并连接相应的发送完成中断和接收完成中断。根据信息帧格式,本例中在接收的控制格式中使用空闲线作为消息的起始判断,使用消息定时器作为消息结束的判断,初始化程序如图1-5所示:

图1-5 初始化程序

(2)通信程序:在通信子程序的变量表中建立两个变量,一个变量用于触发发送的功能,另外一个变量用于指定需要发送数据的缓冲区(以指针的方式指定),如图1-6所示:

图1-6 变量表

在该子程序中调用发送指令XMT进行数据的发送功能以及数据发送功能激活后在一定的时间内没有接收到回传信息时关断接收功能,如图1-7所示:

图1-7 通信程序

(3)发送完成中断程序:在发送完成中断程序中调用接收指令,启用接收功能,同时置位心跳标志位,使用该标志位触发开始计时功能,用来判断在规定的时间内是否可完成接收功能,若不能则只需通信程序中的关断接收功能。程序如图1-8所示:

图1-8 发送完成中断程序

(4)接收完成中断程:进入接收完成中断后,首选复位心跳检测信号,其次对是否正常读取到条码进行判断,若正常读取条码则把读取的条码转存出来,若未正确读取到条码,则报警。程序如图1-9所示:

图1-9 接收完成中断程序

(5)主程序:在主程序中调用通信程序子程序,并分配对应的实参变量,如图1-10所示:

图1-10 主程序

来源:PLC发烧友,作者:技成-曾鑫。转载请注明出处!评论处大家可以补充文章解释不对或欠缺的部分,这样下一个看到的人会学到更多,你知道的正是大家需要的。。。

(0)

相关推荐

  • 组态王软件与S7-200 SMART 无线PPI通信方案

    在实际的工业场合应用中,人机界面跟PLC配套使用是比较常见的现场"CP组合",但是由于监控和施工的场合往往相距有一段距离,比如厂区设备操作室和中控室可能会有在几十米甚至几千米左右的 ...

  • S7-200 SMART该选择哪种通信方式

    西门子S7-200 SMART支持多种通信协议,基于RS485串口的协议有Modbus RTU,USS,PPI,自由口等协议,基于以太网接口的协议有S7协议,开放以太网通信(TCP/IP协议,iso协 ...

  • 【经典编程案例】S7-200SMART与扫描枪自由口通信应用

    本案例主要让读者掌握练习S7-200SMART串口通信的接线,协议的分析,熟悉使用自由口通信的发送指令和接收指令,自由口通信程序的设计等. 案例说明 通过PLC发送读取命令到扫描枪,触发扫描枪对条码进 ...

  • 西门子S7-200 SMART自由口通信参数如何设置?如何编写发送程序和接收程序?如何测试?

    西门子S7-200 SMART除了支持以太网通信,还可以通过CPU上或信号板上的RS485接口实现串口通信.支持的串口协议,包括自由口协议.USS协议.MODBUS协议和PPI协议.STEP7 Mic ...

  • 西门子S7-1200与第三方设备自由口通信详解

    西门子S7-1200 紧凑型PLC在当前的市场中有着广泛的应用,由于其性价比高,所以常被用作小型自动化控制设备的控制器,这也使得它经常与第三方的设备(扫描枪.打印机等设备进行通讯.因为没有第三方的设备 ...

  • 西门子S7-200系列PLC自由口通信程序设计之数据的发送

    在设计自由口通信程序时,自由口通信程序设计的核心就是使用发送指令XMT和接收指令RCV对数据进行发送和接收.接收指令RCV应用的难点,在于如何设置"判断接收消息的起始条件和结束条件" ...

  • 在自由口通信中如何实现从站恢复后自动连接

    今天我们谈一谈在自由口通信中如何实现从站重新恢复后PLC主动与从站建立连接的一个过程. 前几天有个朋友做了一个S7-200的PLC与仪表的自由口通信程序读取仪表数据的程序,程序编好调试好后可以正常读取 ...

  • 动画的方式描述自由口通信中使用接收指令接收数据的过程

    在S7-200系列的PLC的自由口通信中,其核心内容就是使用发送指令(XMT)和接收指令(RCV)来实现数据的交换,在程序的编写过程中,因PLC使用的是RS485的接口,支持的是半双工通信,所以发送和 ...

  • S7-200自由口通信知识分享(6)

    在上一篇的文章中,跟大家分享了自由口通信中,用消息定时器作为信息接收的结束条件的判断过程, 那么今天继续跟大家分享另外一个用于消息的接收过程中判断消息的结束条件 -- 字符定时器方式作为消息的结束条件 ...

  • S7-200自由口通信知识分享(5)

    在前面主要跟大家分享了下自由口通信中的一些基本概念,使用的指令及自由口通信的接收功能中如何进行消息起始的判断,那么今天跟大家分享下自由口通信中使用接收功能接收信息时,如果进行消息结束条件的判断.因为只 ...

  • S7-200系列PLC自由口通信分享(4)

    在上一篇文章中,与大家分享了S7-200系列PLC中自由口通信中的接收指令.消息接收时用于判断消息的起始和结束的几种方式,也给大家分享了下使用起始符和结束符作为消息的起始和结束的判断,那今天给大家分享 ...