陈 娟 ,钟永彦 ,朱建红 ,王于艳,朱海荣
(1.南通大学 电气工程学院,南通 226019;2.上海慧桥电气控制工程有限公司,上海 200233)
物流控制系统在产品包装、流水作业、检测等相关行业中应用广泛,对控制系统的准确性、可靠性以及自动化水平都有很高的要求;高等院校的人才输出应结合社会生产实际,以培养应用型人才为主。针对这些情况,本文设计了物流控制实验系统。
物流控制实验系统如图1所示,该系统具有出库和入库的任务管理功能。入库操作流程是:入库操作命令→堆垛机动作→入货台→堆垛机动作,将货物送到指定仓位。出库操作流程是:出库操作命令→堆垛机动作→出货台、线性输送链动作→三维链S1和辊轴链动作→条码扫描、奇偶判断,若条码为偶数,则三维链动作→辊轴链动作→三维链S2动作、颜色识别→平板链动作→分拣台分拣;若为奇数,则三维链动作、平板链动作→入货台动作。
根据物流控制实验系统工作流程和功能要求,设计物流控制实验系统为两层结构:监控层和执行层,拓扑结构如图2所示。
图1 物流控制实验系统组成示意图
图2 物流控制实验系统拓扑结构
监控层:作为整个控制系统的人机交互接口,该层通过PC机实现了对整个系统的自动操作、运行状态监控、故障诊断、报警记录、数据报表查询等功能,采用组态王6.52软件和ACCESS数据库编程开发人机交互界面。
执行层:该层由各种执行机构和传感器组成,包括全自动堆垛机、立体仓库、PLC网络、传感器、辊轴链、三维链、条形码识别传感器、颜色识别传感器、光电传感器、认址片、按钮、开关、显示灯等现场设备。采用主从站工作方式,实现对整个系统设备的组合和单机控制。堆垛机、线性输送链、辊轴链、分拣台和三维链的手动控制、自动控制和故障报警等动作分别由4个S7-200从站控制,系统的协调工作则由S7-300主站实现。堆垛机的控制采用变频控制,其中X方向的行走、Y方向的升降/Z方向的叉伸由两个MM440控制。
上位监控PC机内置CP5611网卡,通过MPI口与S7-300相连,而S7-200与S7-300则通过分别利用各自DP端口构成PROFIBUS-DP现场总线网络。S7-300的CPU选用集成有PROFIBUS-DP通信接口的CPU315-2DP;S7-200选用CPU226,由于S7-200没有PROFIBUS-DP接口,系统增设了EM277模块和PROFIBUS-DP模板,通过EM277模块可以设置不同的地址区分4个从站。
2.1.1 硬件安装
1个S7-300PLC和4个S7-200分别安装在5个控制柜中,安装时需注意PLC安装规范,PLC接地端、传感器电缆、PROFIBUS信号电缆屏蔽层要接到机柜上,机柜接到大地上,接地的好坏对系
统运行和数据传输是否稳定有直接的影响[1]。
系统采用两路电源,其中PLC由PS307电源模块供电,而其他设备所用电源(12V,24V)由另一路电源供电,可有效防止干扰并保证系统安全。电源变压器采用AC380/220V,在电源处与信号处均安装避雷模块。
控制柜中强弱电分开布线,进出柜内的电缆走金属桥架,这样做既美观又安全,且方便了故障查找。
2.1.2 硬件组态
网络的构成包括正确的物理连接和整个网络的组态两部分,网络组态需与实际的物理连接相同,否则整个网络将无法工作。网络组态的主要工作是为网络结点分配网络地址,确定网络的通信速率等。
本系统采用STEP7 V5.3软件完成S7-300站的组态[2]。具体操作过程为:1)创建一个新项目并命名,生成站;2)插入一个S7-300站,在硬件目录中按硬件安装次序和订货号一次插入机架、电源、CPU进行硬件组态,并在DP属性对话框中设置CPU315-2DP为主站;3)设置EM277为DP从站模式并分别设置地址,选择8字入/8字出的通讯方式;4)配置EM277中V存贮区I/O偏移量(设置为10);5)编译并下载至PLC中。硬件组态如图3所示。
由于S7-300与S7-200通过EM277进行PROFIBUS-DP通信,在S7-200中不需要对通讯进行组态和编程,只需要将要进行通讯的数据存放在V存储区,且注意与S7-300组态EM277从站时的硬件I/O地址相对应[3]。
2.2.1 PLC程序设计
根据物流控制实验系统工作流程以及电气设计要求,堆垛机、辊轴链、分拣台和三维链这4个
图3 PROFIBUS-DP硬件组态
S7-200PLC子控制系统能独立运行,各子控制系统与其它环节的自然衔接则通过在S7-200中设置中间变量。程序设计中首先确定各环节的中间变量,这些中间变量实际上就是驱动各子系统中动作执行的电机、电磁阀等的启动和停止信号。然后添加光电信号及传感器信号等可以通过不同的S7-200PLC系统传至主站供系统调度。本系统中PLC程序包括四个S7-200子程序以及一个S7-300主程序,其中主程序框图如图4所示。
2.2.2 监控系统的设计
执行现场的运行状态可通过上位机进行实时监控,上位机向下位机发出指令,由下位机来控制系统执行出库、入库操作。根据监控系统的要求,组态出系统工作现场情况的监控画面、历史报警查询画面、实时报警画面和报表管理画面等,操作员能方便地利用鼠标或键盘,根据菜单和对话框上的提示,完成各个界面的切换。在组态王6.52工程管理器中,选择“数据库数据词典”,双击“新建图标”,弹出“变量属性”对话框,根据PLC编程中用到的数据类型及寄存器类型,建立数据变量,并修改其属性[4]。在TOUCHVEW运行时,数据库自动执行管理工作。监控软件的总体框图如图5所示。
图4 主程序流程图
图5 监控软件的总体框图
2.3.1 PROFIBUS-DP通信实现
设计S7-300的M区为S7-200存放I/O数据。在组态环境下,上位机通过调用S7-300的M区而直接调用对应S7-200从站的数据。功能块通过调用FC1''DP_send ''来发送数据,通过调用FC2 ''DP_RECV''来接收数据[5]。程序如下:
S7-300SFC发送功能块
CPLADDR:=W#16#100
SEND:=P#M 10.0 BYTE 8
DONE:=M1.0
ERROR:=M1.1
STATUS:=MW20
NOP 0
S7-300SFC接收功能块:
CALL ''DP_RECV''
CPLADDR:=W#16#100
RECV:=P#M 50.0 BYTE 8
NDR:=M1.2
ERROR:=M1.3
STATUS:=MW4
DPSTATUS:=MB6
NOP 0
把每个硬件网络组态信息连同通信功能块直接下载至S7-300的CPU,则PROFIBUS子系统通信网络建立成功。
2.3.2 MPI通信的实现
PC机与S7-300通过MPI网络实现数据传输与监控,可采用不需要组态连接的双向通讯方式,在已知对方站MPI地址、发送或接收数据有效区域、数据包或检测数据包的标识符的情况下,直接在OB35中调用SFC65和SFC66功能模块实现[6]。程序如下:
S7-300SFC65发送功能块
CALL''X_SEND''
REQ:=M0.0
CONT:=M0.1
DEST_ID:=W#16#4
REQ_ID:=DW#16#1
SD:=P#DB1_DBX0.0 BYTE76
RET_VAL:=MW10
BUSY:=M0.5
S7-300SFC66接收功能块
CALL''X_RCV''
EN_DT:=M0.0
RET_VAL=MW10
REQ_ID:=MD12
NDA:=M0.1
RD:=P#DB2_DBX0.0 BYTE76
该实验系统利用MPI通讯实现了上位监控计算机与现场执行设备信号的可靠传输,利用
PROFIBUS现场总线技术实现S7-300与S7-200的通讯,很好地模拟了工程实践,实现了货物的出库、入库任务管理。同时,该实验系统集教学与科研功能于一体,涵盖现场总线、检测、监控等多种技术,既可用于本科生及研究生的实验教学、课程设计、毕业设计,又可用于教师从事现场总线控制系统的开发、应用和培训等。
[1] 罗文.电器控制与PLC技术[M].陕西:西安电子科技大学出版社,2009.
[2] 西门子STEP7 V5.3编程手册[Z].德国:Siemens AG,2004.
[3] S7-300和M7-300可编程序控制器模板规范[Z].德国:Siemens AG,2003.
[4] 组态王6.0使用手册[Z].北京:亚控自动化软件科技有限公司,2001.
[5] 朱建红,吴晓,堵俊.基于S7-300物流控制系统设计[J].制造业自动化,2009,31(2):116-117,39.
[6] 朱建红,堵俊,吴晓.现场物流传输系统网络构建初探[J].微计算机信息,2009,25(5-3):108-110,123.