直播课堂
HOME
直播课堂
正文内容
plc控制rgv编程 RGV 小车调度系统设计 要求
发布时间 : 2025-06-06
作者 : 小编
访问数量 : 23
扫码分享至微信

RGV 小车调度系统设计 要求

本文简述了调度系统的大致的 功能模块,以及这些模块所具有的功能。 着重讲述小车调度的各个方案,以及如何适用于各个项目(不同小车数量、不同站台数量)使其具有通用性。

系统

可分为 以下 几个功能 :任务管理、 进出口站台管理 、可视化 、段管理、校车管理、通信管理 、小车调度。本系统作 为 一个独立的模块处理来自 WMS 的 任务,根据 WMS 任务类型及RGV 系统 的 信息 向系统 中的 RGV 小 车发 送 任务 。 系统为为可配置型,可 根据系统下列 参数进行 配置,项目应用时不需要再进行开发工作。 RGV 调度软件扮演WCS 与 PLC 之间的桥梁 功能 WCS 是呈现给业主的界面,

待开 发 测试系统如图

轨道长度:约 88 m小车数量: 6 台

出入口数量:入口数量:1100个个

道岔::44组组((小循环小循环22个个,缓,缓存存区区22个个))

缓存位:位:低低谷时谷时部分部分小车可小车可离线离线进入进行维进入进行维护护

段::最最多多200个,可根据项目需要,可根据项目需要进行进行配置配置

1任务管理:未执行任务、正在执行任务、完成任务 、 任务被删除 、 任务初始

化 。

2进出 口站台管理:监控 各个 进出口站台当前 的 状态。

3可视化: 按系统实际的 布置 进行 组态配置,显示 小车当前位置 及 状态 信息 等 。

4段管理: 按 当 前 各段的情 况根据 系统的 要求 控制小车的启停等。 段分 为 工作

段 缓存 段 维修 段 。

5.小车管理: 了解 小车当前的状况, 是否存在故障,以及任务的进行位置。

6.通信管理:与西门子 PLC 进行通信。

7.任务 分配 周期 :在 周期 时间 内如何将 未处理 任务 进行 分配 给 小车 。

8.小车调度:如何规划好小车进行工作。

9.上电初始化配置,以及运行过程中的常规配置。

目前先按此分类进行设计,具体设计要根据开发的情况及遇到问题进行不断

改善。 理想调度系统:具有通用性,只更改参数即可适用于不同项目。

二通信管理

负责接收来自PLC 的数据 、 WMS 数据,通过解析解码发送到其他管理模块。

其他管理模块处理后,传回来的消息,又将通过通信管理发送至 PLC 、 WMS 。

具体功能如下:

1负责与西门子 PLC 的 报文发送接收 。

2:报文解析处理 。

3:将处理的信息发送给相应的管理模块 。

4:监视通信异常并报警 (心 跳) 。

三小车管理

负责检查

每一辆 小车 的 状态信息,跟踪当前小车所绑定的任务号 。 不需要设

置速度,加速度等等。因此只需配置检测信息即可。

1单辆小车的详细信息 ,以及一个周期所执行 的任务。

1):单辆小车 状态 。(小车处于离线 在线 有货 无 货等

2):操作模式 。(手动 自动)

3):运行状态 。 (执行任务 待机

4WMS 任务号 。 (由任务管理功能模块提供任务号,与该小车绑定

5托盘条码 。 (由任务管理功能模块提供 托盘条码 ,与该小车绑定。用于校

验任务的正确与否)

6小车当前位置 。 由 PLC 提供当前位置

7任务的起点位置 。 (由任务管理功能模块提供任务起始站台号,与该小车

绑定。)

8)任务的终点位置任务的终点位置。。(由任务管理功能模块提供任务终点站台号,与该小车(由任务管理功能模块提供任务终点站台号,与该小车绑定。)绑定。)

9停停准准到位信号到位信号。。(由(由PLCPLC提供小车是否停到位)提供小车是否停到位)

10小车接货完成状态位小车接货完成状态位。。(由输送机或者(由输送机或者PLCPLC提供任务完成情况)提供任务完成情况)

11小车卸货完成状态位小车卸货完成状态位。。(由输送机或者(由输送机或者PLCPLC提供任务完成情况)提供任务完成情况)

12

更新的时间。更新的时间。(获取新的消息,更新一次)(获取新的消息,更新一次)

2:上电初始化配置。:上电初始化配置。

11):上电):上电后后,根据,根据PLCPLC提供的每辆提供的每辆小车小车IDID详细信息更新小车详细信息详细信息更新小车详细信息表的位置等信息表的位置等信息。。

22):判断):判断每辆每辆小车是否都在线,是否存在异常等等检测。小车是否都在线,是否存在异常等等检测。

33):检测完毕,):检测完毕,判断是否有任务判断是否有任务绑定在小车上绑定在小车上,若有任务继续执行,若无,若有任务继续执行,若无任务则让小车任务则让小车原地或原地或移至不影响后车执行任务的位置移至不影响后车执行任务的位置等待任务的分配等待任务的分配

四..段管理段管理

段是小车的运动段是小车的运动轨迹轨迹的分段可定义的最小工作区域,段的分段可定义的最小工作区域,段的状态的状态确定了小确定了小车进入的动车进入的动力力参数参数及停止及停止位置位置。。定定义义小车的速度,加速小车的速度,加速度,停止都通过段度,停止都通过段参数参数来来管理管理。。需要初始化配置,配置表还需具备可维护性。需要初始化配置,配置表还需具备可维护性。

1

1:段的:段的配置清单配置清单

11):段的数量。):段的数量。INTINT((最大最大::200200))

22):段的开始值。):段的开始值。DINTDINT(可设置)(可设置)

33):段的结束值。):段的结束值。DINTDINT(可设置)(可设置)

44):):段中站台的具体位置。段中站台的具体位置。DWORDDWORD

无锡中鼎集成技术有限公司 10 / 13

55):):行驶速度。行驶速度。INTINT(每段速度都可设定,根据路程以及站台的情况(每段速度都可设定,根据路程以及站台的情况设定)设定)

66):):加速度选择。加速度选择。BOOLBOOL(小车内部设置(小车内部设置22个档位)个档位)

77):):减速度选择。减速度选择。BOOLBOOL(小车内部设置(小车内部设置22个档位)个档位)

88):小车之间的安全距离。):小车之间的安全距离。INTINT(根据实际现场来设置,尽量实现无(根据实际现场来设置,尽量实现无缝贴合)缝贴合)

99):):距离控制。距离控制。BOOLBOOL

1010):行驶方向。):行驶方向。BOOLBOOL(目前使用单一方向,后期优化考虑双方向)(目前使用单一方向,后期优化考虑双方向)

1111):注销段。):注销段。BOOLBOOL(当设定完毕,一般情况下不注销)(当设定完毕,一般情况下不注销)

1111):具有站台的段,停止是否时能使能。):具有站台的段,停止是否时能使能。BOOLBOOL(根据任务来使能)(根据任务来使能)

2

2::段初始化段初始化

段段最长可以设置最长可以设置200200个个段,段,数量数量一定一定而而长度不长度不固定固定,,因此为因此为适应每个项目适应每个项目,,设置设置每个每个项目都为项目都为200200段。段。

在软件软件中可以中可以对对段长度进行段长度进行修改修改设置设置。需。需手动设置为:手动设置为:站台站台所在段所在段。。站台为站台为唯一,唯一,因此因此选择后不可重复选择选择后不可重复选择(软件也(软件也有有限制限制)。)。其余参数其余参数均均有有默认值,亦可默认值,亦可手动手动进行修改。进行修改。

段段初始化初始化主要用于主要用于项目开始项目开始的的安装配置安装配置,初始,初始化会将之前所有的配置全清化会将之前所有的配置全清空空,因此,因此不对业主进行不对业主进行开放。开放。

五..出入库出入库站台管理站台管理

1

1::设计设计前提前提。。

用于显示

用于显示数据给业主查看站台当前信息,数据给业主查看站台当前信息,在在软件软件内部进行内部进行配置配置即可。即可。

无锡中鼎集成技术有限公司 11 / 13

2

2::设计设计方案方案。。

站台需要进行存货或卸

站台需要进行存货或卸货,小车需要进行任务校验,判断是否绑定的货物就货,小车需要进行任务校验,判断是否绑定的货物就是该站台所需货物,是该站台所需货物,是就接收,否是就接收,否不不接收,并报警。接收,并报警。

1

1))::进出口进出口站台站台按创建按创建时间时间顺序顺序进行排列进行排列要要接收或卸货任务,接收或卸货任务,当有小车当有小车停下停下执行任务时,取执行任务时,取创建时间创建时间最最长的长的任务任务((正在正在执行)执行)与与条码进行比较,判断该任务条码进行比较,判断该任务执行是否正确。执行是否正确。

2

2):软件):软件中中在在进出口页面可以进行各个站台信息查询。进出口页面可以进行各个站台信息查询。

3

3):):进出口站台进出口站台界面显示界面显示当前当前正在执行的任务正在执行的任务。。

3

3::初始化配置初始化配置

不同的项目同的项目进出进出口站台数量不同口站台数量不同,,所以在所以在软件软件运行运行之前进行之前进行站台站台数量配置。数量配置。同样同样不对不对业主进行业主进行开放开放。。

要满足使用过程中进行满足使用过程中进行增删改增删改。。不对不对业主业主开放开放。。

六..任务管理任务管理

任务是调度系统的服务对象,本系统就是根据任务的信息来进行优化,任务是调度系统的服务对象,本系统就是根据任务的信息来进行优化,得出最佳路径来调度小车,因此将任务进行分类处理非常重要。任务大致可分为得出最佳路径来调度小车,因此将任务进行分类处理非常重要。任务大致可分为三类三类::未处理任务信息、正在执行任务信息、已完成任务信息,三类的信息配置未处理任务信息、正在执行任务信息、已完成任务信息,三类的信息配置格式相同。格式相同。未执行任务分配未执行任务分配给小车时,将涉及小车任务周期分配。给小车时,将涉及小车任务周期分配。

1

1:任务:任务信息信息配置配置(未处理任务信息、正在执行任务信息、已完成任务信息(未处理任务信息、正在执行任务信息、已完成任务信息、、被删任务被删任务))

11):):WMSWMS任务号。(任务号。(WMSWMS下发任务)下发任务)

22):托盘条码。():托盘条码。(WMSWMS下发任务)下发任务)

无锡中鼎集成技术有限公司 12 / 13

33):任务类型。():任务类型。(WMSWMS下发任务)下发任务)

44):任务状态。(未执行):任务状态。(未执行//正在执行正在执行//任务完成)任务完成)

55):小车):小车IDID。(若任务为未执行,则为空,有小车领取任务,则标记该小。(若任务为未执行,则为空,有小车领取任务,则标记该小车车IDID号)号)

66):起点。():起点。(WMSWMS下发任务)下发任务)

77):终点。():终点。(WMSWMS下发任务)下发任务)

88):更新时间。(任务信息有改变则更新一次)):更新时间。(任务信息有改变则更新一次)

99):创建时间。(任务开始创建的时间)):创建时间。(任务开始创建的时间)

2

任务 分配 。

每个存货取货站台,都有自己的任务序列。如何分配任务将关系到小车调

度的效率问题。

小车 调度

及到如何高效地使用小车,节约成本又不浪费时间,是算法优化关注的对象。

小车 调度采用最 近 取货原则。 出入 库口有任务申请时系统以最近可执行任务的 小

车去领取任务。 当 有小车阻碍后车执行任务,系统可 将 前车移至下一个 开 放段 。

设计一套具有通用性的算法,适用于各个项目。

无锡中鼎集成技术有限公司 13 / 13

八..可视化可视化

实现

实现功能:功能:以组态以组态形式进行画面的形式进行画面的设计设计并可集成于整个并可集成于整个WMSWMS中中。。

1

1)动画)动画背景背景站台位置站台位置能进行修改能进行修改。。

2

2))环穿轨道环穿轨道要要有段的有段的编号编号。。(由于段与段之间密集,若全编号将影响(由于段与段之间密集,若全编号将影响美观,因此修改为在小车上显示小车所在段号)美观,因此修改为在小车上显示小车所在段号)

3

3))小车的小车的IDID号号显示显示在小车上在小车上以及小车上显示当前所在段以及小车上显示当前所在段

4

4))有任务与无任务的小车用不同颜色区分开。有任务与无任务的小车用不同颜色区分开。

自动化工程师:纯干货讲解,西门子S7-1200PLC与外接设备实例

此次主要讲解如何通过自由口协议实现S7-1200 与第三方设备的通信,当中会涉及到控制系统原理、软硬件需求、组态等知识要点。

西门子S7-1200紧凑型PLC在当的市场中有着广泛的应用,由于其性价比高,所以常被用作小型自动化拉制设备的控制器,这也使得它经常与第三方的设备进行通讯,这里就以超级终端为例介绍自由口通讯。

1、控制系统原理

2、硬件需求

S7-1200PLC目前有3种型的CPU:

1) S7-1211C CPU

2) S7-1212C CPU

3) S7-1214C CPU

这三种类型的CPU都可以连接三个串口通信模版

本例中使用的PLC硬件为:

PM207电源、S7-1214C、CM1241 RS232

3、软件需求

编程软件step7 Basic V10.5

4、组态

我们通过下述的实际操作来介绍如何在Sep7 Basic V10.5中组态S7-1214C和超级网络终端,通信点击桌面上的“ Totally Integrated Automation Portal V10图标,打开如下图:

首先需要选择“ Create new project”选项,然后在“ Project name”里输入PTP;在“Path:”修改项目的存储路径为“C:\”,点击“ Create”,这样就创建了一个文件PTP的新项目。创建后的窗口如下图所示:

点击门户视图左下角的“ Project View”切换到项目视图下,如下图:

打开后,在“ Devices”标签下,点击“ Add new device,在弹出的某单中输人设量名“PLC-1”并在设备列表里选择CPU的类型,选择后如下图:

插入CPU后,点击CPU左边的空槽,在右边的“ Catalog”里找到“ Communication

下的RS232模块,拖拽或双击此模块,这样就把串口模块插入到硬件配置里,接下来就需配此RS232模块硬件接口参数,选择RS232模块,在其下方会出现该模块的硬件属性配置窗口,在属性面口里有两个选项,一个是“general”;一个是“RS232 interface“。

在“ Genera”里括了此模块的“项目信息”和“订货信息”;而在“Rs232 interface“里包括了此模块“项目信息”、“端口的距置”、“发送信息的配置”、“接收信息的配置”和“硬件识别号”,在这里我们选择“RS232”,在“端口”配置的选项里,进行端口的参数配置,

波特率为:9600

校验方式:无

数据位为:8

停止位:1

硬件流控制:

等待时间:1ms

设置参数如下图:

此时确认一下“硬件识别号”为11

此时,完成了硬件的组态,接下来需要编写串口通讯程序,在这里我们实现两个功能:

一、S7-1200发送数据给超级终端

二、超级终端发送数据给S7-1200

对于第一个功能:S7-1200发送数据始超级终端,实际上是S7-1200是数据的发送方,超缓终端是数据的接收方,对于S7-1200需要编写发送程序,而对于超级终端来说,只要打开超级终端程序,配置硬件接口参数与前面S7-1200的端口参数一致即可。

下面的步骤将具体介绍此功能实现的步骤:

①、在PLC中编写发送程序,在项目管理视图下双击“Device”下的程序块下的Main(OB1),打开OB1,在主程序中调用 SEND- PTP功能块加下图所示:(注:SEND -PTP在指令库下的扩展指令中通讯指令下)

要对 SEND -PTP赋值参数,首先需要创建 SEND- PTP的背景数据块和发送缓冲数据块,双击“ Devices”-->“PLC_1”-->“ Program Block”--“ Add new block”,在弹出的串口命名 DB- Send -PTP,选择DB块,在Tyoe后选择“ SEND -PTP(SFB113)”

插入背景DB后,再插入发送缓冲DB块,重复上面的步骤,只是在选择DB类型为“ Global DB”,并去掉“ Symbolic access only选项勾(这样可以对该DB块进行直接地址访问),并取名该DB块为 DB- SEND -BUFF。建好这两个DB块后,双击打开DB- SEND- BUFF预先定义好要发送的数据,如下图所示:

定义完发送缓冲区后,接下来就可以对 SEND- PTP赋值参数,赋值参数后如下图:

在上面的编程块里需要注意的是,在指定发送缓冲区时。字符的开始地址是从第二个字节,而不是零字节开始,即是P#DB2.DBX2.0 Byte10而不是P#DB2DBX0.0 Byte10,原因是由于S7-1200对字符串的存放的格式造成的,S7-1200对字符串的前两个字节的定义第一字节是最大的字符长度,第二个字节是实际的字符长度。接下来才是存放实际字符。如下图

上面就完成了程序的编写,对项目进行编译;右击PLC-1项目在弹出的菜单里选择“ Complies ALL”选项,这样就对硬件与软件进行编译,如下图:

编译且没有错误后就可以下载程序到PLC中,同样右击PLC-1项目,在弹出的菜单选择“ Download to Device”

②、用串口交叉线连接S7-1200的串口与计算机的串口,打开计算机的超级终端程序,并设置硬件端口参数如下图:

③、打开OB1功能块在线监控程序,在变量监控表里强制M0.0为1,触发数据的发送,此时在超级终端就会接收到发送的数据,如下图

对于第二个功能:超级终端发送数据给S7-1200,实际上是S7-1200是数据的接收方,超级终端是数据的发送方,对于S71200需编写接收程序;而对于超级终揣来说,只要打开超级终端程序,配置硬件接口参数与削面S7-1200的端口参数一致,在界面上输入发送内容即可。

下面的步骤将具体介绍此功能实现的步骤:

①、在PLC中编写发送程序在项目置理视国下双击“Device”下的程序块下的Main(OB1),打开OB1,在主程序中调用 RCV - PTP功能块加下图所示:(注: RCV -PTP在指令库下的扩展指令中通讯指令下)

要对 RCV -PTP赋值参数,首先需要创建 RGV - PTP的背景数据模块和发送缓冲数据块,双击“ Devices”-->“ PLC1”-->“ Program Block”“ Add new bloc”,在弹出的率口命名 DB -RCV -PTP,选DB块,在Type后选择“ RCV - PTP(SFB114)”

插入背景DB后,再插入接收冲DB块,重复上面的步骤,只是在选DB类型为“ Global DB”,并去掉“ Symbolic access only选项勾(这样可以对该DB块进行直接地址访问),并取名该DB块为 DB- RCV - BUFF。建好这两个DB块后,双击打开DB -RCV -BUFF定义接收缓冲区数据的类型,如下图所示:

定义完接收缓冲区后,接下来就可以对 RCV -PTP值参数,赋值参数后如下图:

在上面的编程块里需要注意的是,在指定接收缓冲区时。字符的开始地址是从第二个字节,而不是零字节开始,即是PDB2DBX20Bye10而不是PDB2DBX00Bye10,原因是由于S7-1200对字符串的存放的格式造成的,S7-1200对字符串的前两个字节的定义第一字节是最大的字符长度,第二个字节是实际的字符长度。接下来才是存放实际字符。如下图

上面就完成了程序的编写,对项目进行编译;右击PLC-1项目在弹出的菜单里选择

“ Complies ALL”选项,这样就对硬件与软件进行编译,如下图:

编译且没有错误后就可以下载程序到PLC中,同样右击PLC-1项目,在弹出的菜单选择“ Download to Device”

②、用串口交又线连接S7-1200的串口与计算机的串口,打开计算机的超级终端程序,

并设置硬件端口参数如下图:

在桌面上新建文本文件,打开此文本文件在里面输入“gfdcba”,如下图:

③、打开变量监控表,强制M0.0,使能接收。然后,在超级终端里,选择菜单“ Transfer”下的“ Send Text file,在打开的窗口里找到桌面上的文本文件。

打开 DB -RCV -BUFF数据块,在线查看接收到的数据,如下图

通过上面的例子实现了简单的应用,在实际的应用过程中,需要按第三方设备的协议进行编写S7-1200的程序。

以上,欢迎动动手分享及收藏!

相关问答

服务器总显示开小差怎么解决?

服务器开小差原因有以下几点:第一是因为网络原因信号不好,都会导致连接失败,服务器开小差。第二是因为服务器有限制的容量,超过一定的容量之后就会超过承受范...

什么叫自动化仓储系统?

[回答]在物流管理软件和PLC控制系统的调度下,将物料以最佳路径、最快速度精确地运送至各个工位,确保工厂和物流中心的高效率运营。》挑选系统电子标签挑选...

漏水传感器的工作原理是什么?,漏水报警传感器销量如何??

[回答]在跟深圳市祥为测控技术有限公司的沟通中,我看到的不仅仅是这个业务,而是整个配合完美的团队,给了我们很大的帮助,一定会继续愉快合作下去。喷砂机...

 荣誉之剑  韦斯特詹姆斯 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部