基于组态王组态软件监控的立体仓库设计

更新时间:2024-05-21 10:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

山东科技大学学士学位论文 摘要

摘要

本设计利用的立体仓库主体由底盘、四层十二仓位库体、运动机械及电气控制等四部分组成。其中电气控制是由西门子S7-200 CPU226型可编程序控制器(PLC)、步进电机驱动模块、开关电源、位置传感器等器件组成。

本论文首先对该课题的可行性及课题实现的现实意义和价值进行了介绍;其次对该系统的硬件组成、结构、原理进行了阐述和分析;再次对本控制系统的核心——软件进行了编写。论文中有相应的梯形图程序及利用组态软件对仓库信息的实时监控;论文最后对设计本课题所学到的知识和结论进行归纳和总结,并对立体车库今后的发展进行了科学的展望。 关键词:立体车库;PLC;组态软件

1

山东科技大学学士学位论文 摘要

ABSTRACT

The design of the three-dimensional garage is consisted of the main chassis, four floors of 12 positions, move machinery and electrical control parts. The electrical control is formed by Siemens S7-200 CPU226 programmable logic controller (PLC), stepper motor drive power modules, switching power supply, sensors and other devices .

In this paper , I introduce the feasibility,the practical significance,and the value of the subject firstly. Secondly , I expound and analyse the three-dimensional garage composition , structure and principle of the system.Last , I compile the program which is the core of the control system. There are corresponding ladder diagram and real-time monitoring information of the warehouse by configurable software in the article.Finally , I conclude and summarize the knowledge and the conclusion acquired in the design . Then , I prospect the future development of the three-dimensional garage sciencely. Key words: three-dimensional garage; PLC; configurable software

2

山东科技大学学士学位论文 目录

目 录

前言

第1章 绪论?????????????????????????1

1.1 立体仓库的国内外发展概况国内外发展概况?????????1 1.2 此课题的设计内容及主要思路???????????????2

第2章 PLC的原理和应用 ?????????????????5

2.1 PLC的基本概念和基本结构 ???????????????5 2.1.1 PLC的基本概念????????????????????5 2.1.2 PLC的基本结构????????????????????5 2.2 PLC的硬件结构和工作原理????????????????6 2.2.1 PLC的硬件结构???????????????????6 2.2.2 PLC的工作原理???????????????????7 2.3 PLC的程序设计 ????????????????????8 2.3.1 PLC的编程语言???????????????????8 2.3.2 PLC的程序结构???????????????????11

第3章 硬件部分??????????????????????12

3.1 立体仓库的基本结构??????????????????12 3.2 立体仓库的硬件结构??????????????????13 3.2.1 步进电机的原理和应用???????????????13 3.2.2 步进电机驱动器的原理和应用????????????14 3.2.3 传感器的工作原理和应用??????????????14 3.2.4 开关型稳压电源的原理和应用????????????15 3.3 PLC的选择 ?????????????????????17 3.3.1 I/O点的选择 ??????????????????17

1

山东科技大学学士学位论文 目录

3.3.2 PLC型号的选择 ?????????????????18 3.3.3 S7-200 PLC的介绍 ????????????????18

第4章 软件部分 ?????????????????????20

4.1 STEP7-Micro/WIN 编程软件???????????????21 4.2 S7-200的通信????????????????????21 4.2.1 S7-200的通信协议????????????????21 4.2.2 在编程软件中设置通信接口的参数?????????22 4.3 I/O地址分配 ????????????????????23 4.4 高速脉冲的产生和输出?????????????????24

4.4.1 S7-200 高速输出指令 ??????????????24 4.4.2 PTO 操作????????????????????24 4.4.2.1 PTO /PWM 控制寄存器?????????????25 4.4.2.2 PTO/PWM 控制字节???????????????26

4.4.2.3 脉冲输出指令(PLS) ?????????????27

4.4.2.4 PTO 初始化- 单段操作?????????????27 4.5步进电机的控制?????????????????????29 4.6堆垛机三维位置定位???????????????????29 4.7立体仓库程序流程图及程序编写??????????????32

第5章 基于组态王的监控设计 ???????????????27

5.1 组态王软件介绍 ???????????????????27 5.2 利用组态王实现上位机监控???????????????28 5.2.1 建立组态王新工程?????????????????28 5.2.2 创建组态画面???????????????????30 5.2.3 定义 I/O 设备??????????????????32 5.2.4 构造数据库????????????????????35 5.2.5 建立动画连接???????????????????36

2

山东科技大学学士学位论文 目录

5.2.6 运行和调试????????????????????38

第6章 结论与展望?????????????????????39

6.1 结论 ????????????????????????39 6.2 展望 ????????????????????????40

参考文献 ………………………………………?………………41 致谢 ???????????????????????????42

3

山东科技大学学士学位论文 PLC的原理和应用

接,使各模块构成一个整体。

2.2 PLC的硬件结构和工作原理

2.2.1 PLC的物理结构

根据硬件结构的不同,可以将PLC分为单元式结构和模块式结构。 1. 单元式结构PLC

单元式结构PLC又叫作整体式或箱体式,它的体积小,价格低,小型PLC一般采用整体式结构。整体式PLC将CPU模块,I/O模块和电源装在一个箱形机壳内。一个箱体就是一个完整的PLC,叫做一个单元。

2. 模块式结构

把PLC的每个工作单元都制成独立的模块,如CPU模块、输入模块、输出模块、电源模块、通讯模块等等。另外机器有一块带有插槽的母板,实质上就是计算机总线。模块插座插在框架中的总线连接板上,就构成了一个完整的PLC。优点是系统构成非常灵活,安装、扩展、维修都很方便。但缺点是体积比较大。 2.2.2 PLC的工作原理

PLC采用循环扫描的工作方式,包括内部处理、通讯操作、输入处理程 序执行、输出处理几个阶段。全过程扫描一次所需的时间称为扫描周期。 当处于RUN状态时,上述扫描周期不断循环。扫描过程如下:

6

山东科技大学学士学位论文 PLC的原理和应用

读取输入执行用户程序处理通信请求自诊断检查改写输出RUN状态

读取输入处理通信请求自诊断检查改写输出

STOP状态

2.1 PLC扫描过程

7

图山东科技大学学士学位论文 PLC的原理和应用

2.3 PLC的程序设计

2.3.1 PLC的编程语言

PLC中有多种程序设计语言,它们是梯形图语言、布尔助记符语言、功能表图语言能模块图语言及结构化语句描述语言等。梯形图语言和布尔助记符语言是基本程序设计语言,它通常由一系列指令组成,用这些指令可以完成大多数简单的控制功能,例如,代替继电器、计数器、计时器完成顺序控制和逻辑控制等,通过扩展或增强指令集,它们也能执行其它的基本操作。功能表图语言和语句描述语言是高级的程序设计语言,它可根据需要去执行更有效的操作,例如,模拟量的控制,数据的操纵,报表的报印和其他基本程序设计语言无法完成的功能。功能模块图语言采用功能模块图的形式,通过软连接的方式完成所要求的控制功能。

1、 梯形图(Ladder Diagram)

程序设计语言梯形图程序设计语言是用梯形图的图形符号来描述程的一种程序设计语言。采用梯形图程序设计语言,程序采用梯形图的形式描述。这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级是一个因果关系。在梯级中,描述事件发生的条件表示在左面,事件发生的结果表示在后面。梯形图程序设计语言是最常用的一种程序设计语言。它来源于继电器逻辑控制系统的描述。在工业过程控制领域,电气技术人员对继电器逻辑控制技术较为熟悉,因此,由这种逻辑控制技术发展而来的梯形图受到了欢迎,并得到了广泛的应用。梯形图程序设计语言的特点是:

(1)与电气操作原理图相对应,具有直观性和对应性;

(2)与原有继电器逻辑控制技术相一致,对电气技术人员来说,易于撑握

8

山东科技大学学士学位论文 PLC的原理和应用

和学习。

(3)与原有的继电器逻辑控制技术的不同点是,梯形图中的能流(Power FLow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此,应用时需与原有继电器逻辑控制技术的有关概念区别对待。 (4)与布尔助记符程序设计语言有一一对应关系,便于相互的转换和程序的检查。

2、布尔助记符(Boolean Mnemonic)

程序设计语言布尔助记符程序设计语言是用布尔助记符来描述程序的 一种程序设计语言。布尔助记符程序设计语言与计算机中的汇编语言非常相似,采布尔助记符来表示操作功能。

3、功能表图(Sepuential Function Chart)

程序设计语言功能表图程序设计语言是用功能表图来描述程序的一种程序设计语言。它是近年来发展起来的一种程序设计语言。采用功能表图的描述,控制系统被分为若干个子系统,从功能入手,使系统的操作具有明确的含义,便于设计人员和操作人员设计思想的沟通,便于程序的分工设计和检查调试。

4、 功能模块图(Function Block)

程序设计语言功能模块图程序设计语言是采用功能模块来表示模块所具有的功能,不同的功能模块有不同的功能。它有若干个输入端和输出端,通过软连接的方式,分别连接到所需的其它端子,完成所需的控制运算或控制功能。功能模块可以分为不同的类型,在同一种类型中,也可能因功能参数的不同而使功能或应用范围有所差别。

5、结构化语句(Structured Text)

描述程序设计语言结构化语句描述程序设计语言是用结构化的描述语 句来描述程序的一种程序设计语言。它是一种类似于高级语言的程序设计

9

山东科技大学学士学位论文 PLC的原理和应用

语言。在大中型的PLC系统中,常采用结构化语句描述程序设计语言来描述控制系统中各个变量的关系。它也被用于集散控制系统的编程和组态。结构化语句描述程序设计语言采用计算机的描述语句来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。 2.3.2 PLC的程序结构

PLC的控制程序由主程序,子程序和中断程序组成。 1.主程序

主程序是程序的主体,每一个项目都必须并且只能有一个主程序。在主程序中可以调用子程序和中断程序。主程序通过指令控制整个程序的执行,每次CPU扫描都要执行一次主程序。

2.子程序

子程序是一个可选的指令的集合,仅在被其他程序调用时执行。同一个子程序可以在不同的地方被多次调用,使用子程序可以简化程序代码和减少扫描时间。设计得好的主程序容易移植到别的项目中去。

3.中断程序

中断程序是指令的一个可选集合,中断程序不是被主程序调用,它们在中断事件发生时由PLC的操作系统调用。中断程序用来处理预先规定的中断事件,因为不能预知何时会出现中断事件,所以不允许中断程序改写可能在其他程序中使用的存储器。

10

山东科技大学学士学位论文 软件部分

第四章 软件部分

4.1 STEP7-Micro/WIN 编程软件

STEP7-Micro/WIN是专门为S7-200设计的,在个人计算机Windows操作系统下运行的编程软件,它的功能强大,使用方便,简单易学。CPU通过PC/PPI电缆或插在计算机中的CP5511、CP5611通讯卡通讯。通过PC/PPI电缆,可以在Windows下实现多主站通信方式。

STEP7-Micro/WIN的用户程序结构简单清晰,即通过一个主程序调用主程序,在中断事件出现时调用中断程序,还可以通过数据块进行变量的初始化设置。用户可以用语句表、梯形图和功能块图编程,不同的编程语言编制的程序可以相互转换,可以用符号表来定义程序中使用变量地址对应的符号,例如指定符号启动按钮对应地址I0.0,使程序便于设计和理解。

STEP7-Micro/WIN可以为用户提供两套指令集,即SIMATIC指令集(S7-200)和国际标准指令集(IEC61131-3方式)。通过调制解调器可以实现远程编程,可以用单次扫描和强制输出等方式来调试程序和进行故障。

4.2 S7-200的通信

4.2.1 S7-200的通信协议

S7-200支持多种通信协议,例如点对点接口(PPI)、多点接口(MPI)和PROFIBUS。这些协议基于7层开放系统互连模型(OSI),通过一个令牌环网来实现,令牌环网遵循标准(IEC61185)和欧洲标准(EN50170),它们都是基于字符的异步通信协议,带有起始位、8位数据、偶校验和1个停止位。协议支持一个网络中的个地址,最多个主站,网络中各设备的地址不能重叠,运行的计算机默认地址是0,PLC默认地址是2。

S7-200的通信接口是RS-485,计算机可以使用RS-232或USB通信接口,多主站PPI电缆用于计算机和S7-200之间的通信,有RS-232/PPI和USB/PPI

21

山东科技大学学士学位论文 软件部分

两种电缆。

4.2.2 在编程软件中设置通信接口的参数

在STEP7-Micro/WIN中选择菜单命令“检视”→“元件”→“设置PG/PC接口”或双击浏览或指令数中的“设置PG/PC接口”图标,都可以进入设置接口对话框如图4.1。

图4.1

在“设置PG/PC接口”对话框中设置的是计算机通信接口的参数。此外还应该为S7-200设置波特率和站地址,在STEP7-Micro/WIN中选择菜单命令“检视”→“元件”→“系统块”或双击指令树中的系统块文件夹下面的“通信端口”图标,将打开设置的通信参数的选项卡如图4.2。设置好参数后把系统块下载到中才会其作用。

22

山东科技大学学士学位论文 软件部分

图4.2

在STEP7-Micro/WIN中双击浏览栏或指令树中的“通信”图标,或执行菜单命令“检视”→“元件”→“通信”,将出现“通信”的对话框。在将新的设置下载到S7-200之前,应设置远程站即的地址,使它与的地址相同。

图4.3

双击图4.3中“双击刷新”旁边的蓝色箭头组成的图标,编程软件将会自动搜索连接在网络上的S7-200,并用图标显示搜索到的S7-200。选中“通信”对话框左下角的“搜索所有波特率”复选框,可以实现全波特率的搜索。图4.4显示计算机连接到S7-200。

23

山东科技大学学士学位论文 软件部分

图4.4

24

山东科技大学学士学位论文 软件部分

4.3 I/O地址分配

根据立体仓库的控制要求,对PLC控制系统的输入点分配如下表。

I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7 I1.0 I1.1 I1.2 I2.7 I1.4 I1.5 I1.6 I1.7 I2.0 I2.1 I2.2 I2.3 I2.4 X轴左限位 X轴右限位 Y轴上限位 Y轴下限位 键盘值输入一位 键盘值输入二位 键盘值输入三位 键盘值输入四位 货台到位限位 货台回位限位 货台是否有物 检验0号仓库 检验1号仓库 检验2号仓库 检验3号仓库 检验4号仓库 检验5号仓库 检验6号仓库 检验7号仓库 检验8号仓库 检验9号仓库 I2.5 I2.6 I2.7 Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5 Q0.6 Q0.7 Q1.0 Q1.1 Q1.2 Q1.3 Q1.4 Q1.5 检验10号仓库 检验11号仓库 检验12号仓库 X轴脉冲 Y轴脉冲 X轴方向 Y轴方向 货台前身 货台后退 就绪 取出 放置 十位显示 BCD输出一位显示 BCD输出二位显示 BCD输出三位显示 BCD输出四位显示 表4.1 I/O地址分配

25

山东科技大学学士学位论文 软件部分

图4.4 Q0.0脉冲输出梯形图

4.5 步进电机的控制

与交直流电动机不同,仅仅接上供电电源,步进电机不会运行的。为了驱动步进电动机,必须由一个决定电动机速度和旋转角度的脉冲发生器(在该立体仓库控制系统中采用PLC作脉冲发生器进行位置控制)、一个使电动机绕组,电流按规定次序通断的脉冲分配器、一个保证电动机正常运行的功率放大器,以及一个直流功率电源等组成一个驱动系统,如图4.5所示。

图4.5步进电机驱动系统的组成

将PLC的输出端口Q0.0和Q0.1接在步进电机驱动器的X轴和Y轴脉冲端口,用于给步进电机发送高速脉冲,通过改变输入脉冲的数目就能控制步进电动机转子机械位移的大小,将PLC 的Q0.2和Q0.3接在步进电机驱动器X轴和Y轴方向端口,通过改变输入脉冲的通电相序,就能控制步进电动机转子机械位移的方向,实现位置的控制。

4.6 堆垛机三维位置定位

本系统中堆垛机由水平、垂直及伸叉机构三部分组成。水平、垂直部

分运动分别由X轴、Y轴步进电动机驱动丝杠完成,伸叉机构由上层的铲叉和底层的丝杠传动机构组成,铲叉可前后伸缩,其运动由Z轴直流电动机正反转控制。为保证堆垛机取货、存货准确安全,对堆垛机位置控制的可靠

31

山东科技大学学士学位论文 软件部分

性有很高的要求,主要包括:

1)定位精度 在使堆垛机能准确寻找目标仓位进行存取操作,并在避免各种碰撞的基础上,各机构应保证较高的定位精度。

2)速度特性 为提高作业效率,必须提高各机构的运行速度,加快起、制动过程。

3)位置、速度控制与方向判断 位置控制能使堆垛机在接近指定位置减速,到达指定位置准确停车。

在此系统中,当堆垛机平台运行到目标库位后,铲叉需伸入库内取、放货物,然后向后缩回,因此,整个运行过程需要对堆垛机进行三维位置控制。我们先用两路脉冲控制X轴、Y轴步进电动机,完成堆垛机的二维定位任务。然后,再采用分时切换的方法,控制直流电动机驱动铲叉入、出库等后续动作。

堆垛机的二维位置定位采用了控制脉冲个数的定位方式,该方式是以水平、垂直方向步进电动机每转输出的脉冲数为基础,对立体仓库的每个货格都予以确定相应的脉冲个数。当堆垛机运行时,PLC根据目的地址和原点基准地址之间的脉冲差值来控制电动机的位移。因此,在初始化程序中 要预先写入步进电动机起动、制动、正常运行的期望时间、脉冲数以及每货格的相应脉冲数,然后利用了S7-200的高速脉冲指令PLS来触发电动机运行。PLS指令通过Q0.0和Q0.1作为高速脉冲输出,Q0.2、Q0.3为方向控制端。 图4.6和图4.7是两路脉冲控制X轴和Y轴的梯形图。

32

山东科技大学学士学位论文 软件部分

图4.6 X方向准确运动梯形图

图4.7 Y方向准确运动梯形图

4.7 立体仓库程序流程图及程序编写

立体仓库运行的技术要求如下:

1)在输入仓位号后,系统自行判定所选仓位的库存情况,并通过数码管的稳定显示与闪烁显示来表示仓位无货和有货的信息。

2)选择要执行的动作类型(送或取)并判断此命令的合法性,即对有货的仓位,“取”指令有效;对无货的仓位,“送”指令有效。对于合法的命令,堆垛机将自动运行到指定仓位,执行操作,并且相应的状态显示灯亮;而对不合法的指令,系统不予响应。

3)指令完成后,机械自动返回到入口位,各元件复位。图4.8为程序设计流

33

山东科技大学学士学位论文 软件部分

程图,由控制流程图可看出,整个软件设计包括两个子程序模块:数码管显示模块和堆垛机三维位置定位模块。

开始选择动作类型初始化水平、垂直运动步进、直流电动机复位切换电动机伸叉运动切换电动机数码管稳定显示仓位有物?步进电动机复位选择仓位号数码管闪烁显示结束

图4.8 程序流程图

34

山东科技大学学士学位论文 基于组态王的监控设计

第 5 章 基于组态王的监控设计

5.1 组态王软件介绍

组态王6.0x是运行于Microsoft Windows 98/2000/NT/XP中文平台的中

文界面的人机界面软件,采用了多线程、COM+组件等新技术,实现了实时多任务,软件运行稳定可靠。

组态王6.0x软件由工程浏览器(TouchExplorer)、工程管理(ProjManager)和画面运行系统(TouchVew)三部分组成。在工程浏览器中您可以查看工程的各个组成部分,也可以完成数据库的构造、定义外部设备等工作;工程管理器内嵌画面管理系统,用于新工程的创建和已有工程的管理。画面的开发和运行由工程浏览器调用画面制作系统TOUCHMAK和工程运行系统TOUCHVEW来完成的。

TOUCHMAK是应用工程的开发环境。您需要在这个环境中完成画面设计、动画连接等工作。TOUCHMAK具有先进完善的图形生成功能;数据库提供多种数据类型,能合理地提取控制对象的特性;对变量报警、趋势曲线、过程记录、安全防范等重要功能都有简洁的操作方法。

PROJMANAGER是应用程序的管理系统。PROJMANAGER具有很强的管理功能,可用于新工程的创建及删除,并能对已有工程进行搜索、备份及有效恢复,实现数据词典的导入和导出。

TOUCHVEW是“组态王6.0x”软件的实时运行环境,在应用工程的开发环境中建立的图形画面只有在TOUCHVEW中才能运行。TOUCHVEW从控制设备中采集数据,并存在于实时数据库中。它还负责把数据的变化已动画的方式形象地表示出来,同时可以完成变量报警、操作记录、趋势曲线等监视功能,并按实际需求记录在历史数据库中。

35

本文来源:https://www.bwwdw.com/article/2kf7.html

Top