基于PLC 的条码监控系统-PLC技术网(www.plcjs.com)-可编程控制器技术门户


基于PLC 的条码监控系统

 (点击题目可以在互联网中搜索该题目的相关内容)
日期:2006-4-25 0:01:40     来源:本文摘自《PLC&FA》   作者: 点击:
点击【  大  中   小 】,可以选择字体的大小,以便你阅读.

1  引言
     随着物流技术的发展,条码检测已越来越多被采用。基于S7-200 PLC 的条码监控系统在上位机的监控下,对采集的条码信息进行处理,利用PLC控制物件流向,并把管理信息送至上位机,使系统工作效率大大提高,节约了人力物力,有广泛的应用前景。

2  系统功能结构
     如图1,该系统在物件运送的辊道上安装条码扫描器,当物件通过时自动识别物件上的条码标记,从而判断应采取的动作。系统根据读到的条码信息,按事先的约定进行处理,包括物件要存放的位置、是否放行、非正常情况的报警等、并和PLC、上位计算机进行数据交换。


图1     系统功能结构图


     物件的条码由条码扫描器读入并通过通讯转换送入PLC的通讯口,我们采用的PLC是S7-200系列的226 PLC。它是西门子公司生产的性能价格比很高的可编程控制器,已广泛应用于工业控制的各个领域。

3  软件设计
3.1  PLC的条码识别
     PLC采用自由通讯口方式读取条码的信息,主要用到3个寄存器SMB2、SMB3、SMB30。
通讯接收字符缓冲器SMB2用于存放在自由口通讯方式下接收到的当前字符,它是一个暂存寄存器,一般应在下一步取走其中的内容。

     通讯校验结果寄存器SMB3,在作自由口通讯时,PLC的通讯接口按由SMB30规定的奇偶校验方式对所接受到的信号作校验。若检测到错误,PLC自动把SMB3.0置1,根据此标志位,可决定当前信息的取舍,同时还可在出错的情况下,将此错误信息发给对方,要求重发。

     控制字寄存器SMB30用于存储通讯方式控制字,由用户写入,属于可读写的特殊标志位寄存器,其格式如下:


3.2  PLC程序设计
(1) 程序结构
     PLC的控制程序采用西门子的编程软件包STEP7完成, 通过上位机与PLC进行程序传送, 其程序结构图如图2:


图 2     程序结构图


(2) 程序和注释
     该程序从条形码阅读器接收信息再存入两个缓冲区, 从条形码解码器传出的信息是ASCII码形式,所接受的条形码存在SIMATIC内存中。这些数据可被程序利用,但本例中仅仅将信息存入接收缓冲区,可以用SIMATIC  S7-200程序包来查看。

MAIN(主程序):初始化程序
SBRO(子程序0):接收条形码
INT 0(中断程序0):缓冲区0接收
INT 1(中断程序1):缓冲区1接收

(3) 自由协议的定义
     西门子 S7-200系列PLC本机带有一个或两个(S7-226)485物理接口,此485口具有3种通讯协议:PPI、自由通讯协议、Profibus协议。

P     PI协议主要是用来编程、PPI组网、HMI接口等;自由协议则可以由用户定义通讯协议,将CPU与任意通讯协议公开的设备联网,如上位计算机、打印机,条码器等等。所谓自由协议,用户可以通过设置特殊寄存器 SMB30、SMB130(对应226的2#口)的参数改变485口的波特率、数据格式(数据位数、停止位、校验),以适应不同的通讯协议。226具有两个通讯口,可以同时与两个不同外设连接。

(4) 编程步骤
·首先设置通讯口,既设置SMB30、SMB130;
·根据外设的协议决定通讯协议;
·与通讯有关的指令及中断

     指令简单,例如XMT99,0既可以完成最多255个字节(字节数由VB99内设置的数决定)的发送;而接收则要由中断程序完成,每收到一个字节的数据则产生一次中断,接受到的数据保存在接收缓存器(SMB2)内,中断服务程序内您必须立即处理此数据,因为下一个接收的字节也要放在 SMB2中,也就是说接收缓存器的大小只有一个字节,本例只用到接受。

本新闻共2页,当前在第11 2  

上一篇: 基于S7-300 PLC的多功能测控车
下一: 西门子S7-200在步进电机定位控制中的应用