ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

3×3立体仓库PLC控制与MCGS组态实战:从选型到调试全解析

3×3立体仓库PLC控制与MCGS组态实战:从选型到调试全解析 做过工控的兄弟看到“69#”这种编号应该都知道这是哪一类项目——教学实验台、培训考核设备或者干脆就是毕业设计里的经典题目。这个项目的主角是3×3立体仓库也就是一组9个货位的立体仓储模型用西门子或三菱PLC控制三轴搬运机构完成入库出库动作同时用MCGS组态触摸屏做人机交互界面。别看仓位少它把PLC选型、运动控制、传感器保护、通讯组网、触摸屏组态、故障调试这些环节全部串在了一起是个典型的“麻雀虽小五脏俱全”的综合训练项目。这篇就按我做这类设备的思路把方案拆解、硬件配置、程序逻辑、MCGS画面设计以及调试中容易踩的坑一次性讲透。这套系统适合自动化、电气工程、机电一体化方向的学生也适合刚入行的技术人员作为PLC入门实践。如果你已经会写梯形图但没碰过运动控制和组态屏从这个项目入手是最划算的。所有环节都能在小实验台上有直观反馈调起来不烧钱又能把“坐标寻址”“状态机”“脉冲定位”“变量映射”这些工业现场最常用的概念全部过一遍。1. 项目需求与总体方案设计1.1 3×3立体仓库控制对象到底有哪些先把这个项目的物理对象说清楚。一个典型的3×3立体仓库模型包含三部分货架、搬运机构、控制柜。货架就是9个仓位通常按3列×3层排布每个仓位有固定的坐标。搬运机构由三个轴组成水平移动轴负责把机械手送到目标列垂直升降轴负责把机械手送到目标层货叉伸缩轴负责把货物推进或者拉出货位。有些方案会把货叉做成固定高度抬升结构但绝大多数教学模型都是这种“X轴水平移动、Z轴垂直升降、Y轴货叉伸缩”的三轴结构。这个结构最大的好处是逻辑清晰每个轴对应一组电机和驱动学生一眼就能看懂位置和动作的关系。控制系统的完整流程是这样的入库时操作员在MCGS触摸屏上选择目标货位按下启动按钮PLC先判断该货位是否有货没货就执行搬运流程——机械手回原点X轴移动到目标列Z轴升到目标层货叉伸出放下货物缩回。出库则相反先判断有货机械手定位到目标货位货叉伸出托住货物收回再回到下料位。这个流程里每个环节都有到位检测任何一个环节没有完成都不会进入下一步而这正是PLC程序设计的核心难点。MCGS触摸屏在系统里担任操作员面板的角色显示货位状态、设备当前位置、运行模式同时提供启动、停止、复位、手动/自动切换等操作按钮。触摸屏与PLC之间通过串口或以太网交换数据PLC负责真正的逻辑运算触摸屏负责画面展示和参数下发。1.2 为什么这套项目要西门子和三菱同时出现标题里同时出现西门子和三菱不是噱头而是这类教学项目最常见的做法。同一个3×3立体仓库机械平台通常要搭配两套PLC方案一套西门子一套三菱方便不同课程体系的学生分别练习。西门子这边常选S7-200 SMART或者S7-1200三菱这边常选FX3GA或者FX3U。两台PLC轮流接到同一套机械平台上哪个课时用哪个就切换过去。从技术上来说这两大品牌的差异非常典型。编程软件不同西门子用STEP 7-MicroWIN SMART或者TIA博途三菱用GX Works2或GX Developer运动控制指令不同西门子用向导生成的PTO位置控制功能块三菱用DDRVI、DDRVA、DZRN这类定位指令通讯协议也不同S7-200 SMART自带以太网口三菱FX系列多用串口或者扩展485。正因为差异大学生学完这两套之后再碰到其他品牌的PLC基本都能触类旁通。实际做项目时我不建议把两套PLC的接线做成随时插拔的方式频繁换线容易烧端口。更稳妥的做法是在控制柜里预留两个独立的接线端子区PLC输出信号通过继电器或中间端子切换或者干脆做两个抽屉式控制底座。这个细节如果前期没考虑好调试阶段会浪费大量时间。1.3 MCGS组态系统在项目里的定位与分工很多人以为MCGS只是个“画画面”的软件实际上它包含设备通信、实时数据库、用户窗口、运行策略四大块画面只是最表面的一层。设备窗口负责和PLC通信把PLC里的位元件、寄存器映射成组态变量实时数据库负责管理和运算这些变量用户窗口就是操作员看到的界面运行策略则用来做报警、配方、数据记录等后台逻辑。在这个项目里MCGS要做的事情很明确显示X轴和Z轴的当前位置、显示9个货位的占用状态、显示运行模式和工作步骤、提供手动操作的按钮和输入框。更复杂的逻辑比如坐标换算、状态跳转、运动互锁全部放在PLC里不要试图在触摸屏里搞太多脚本否则现场调试时会发现画面刷新的时序和PLC扫描周期对不上问题很难查处。MCGS的优势在于上手快、驱动库丰富、触摸屏一体机价格低。对一个3×3的教仪项目来说昆仑通态的TPC7062K七寸屏已经完全够用画面不需要太复杂关键是让操作者看得清楚当前机构走到哪一步。这个项目里触摸屏的变量规划是否合理直接影响程序调试和后期维护后面我会专门讲变量映射的做法。2. 硬件配置、电气设计与执行机构选型2.1 点位计算与PLC I/O表设计开工之前先算I/O点数这是最基础也最不能省的一步。按照3轴立体仓库的控制需求输入信号包括X轴原点、X轴左右限位Z轴原点、Z轴上下限位货叉前后限位货位有货检测再加上启动、停止、手动/自动切换、复位、急停。输出信号包括步进电机的脉冲和方向、三相步进驱动器的使能、货叉伸缩控制、运行指示灯、报警指示灯、蜂鸣器。我一般按三菱FX3GA-40MR或者西门子S7-200 SMART SR40来配置点数三菱版本的点表如下三菱地址信号名称功能说明X0X轴原点开关水平轴机械原点X1X轴左限位水平轴左边界保护X2X轴右限位水平轴右边界保护X3Z轴原点开关升降轴原点X4Z轴上限位升降轴顶部保护X5Z轴下限位升降轴底部保护X6货叉前限位货叉伸出到位X7货叉后限位货叉缩回到位X10货位光电检测检测当前仓位是否有货X11启动按钮自动运行启动X12停止按钮自动运行停止X13手动/自动切换模式选择X14复位按钮故障复位X15急停按钮紧急停止输出侧Y0和Y1给X轴步进驱动器脉冲和方向Y2和Y3给Z轴步进驱动器脉冲和方向Y4和Y5给货叉伸缩电机或电磁阀Y6是运行指示灯Y7是报警指示灯。这样算下来输入15点左右、输出8点左右选40点PLC刚好够用还留出了备用点。西门子版本的点位逻辑一样把三菱地址换成I和Q即可。做I/O表时有个习惯必须养成所有限位开关默认接常闭触点程序里按常闭逻辑处理。道理很简单限位线断掉时PLC会立刻判断为限位触发设备停下来比常开接法更安全。很多人接线图省事把限位接成常开断线了都不知道设备直接飞出去这种事故我见过不止一次。2.2 运动执行机构为什么选步进电机而不是伺服这个项目的机械负载其实很轻结构件一般用铝型材加直线导轨整个移动部件加上货物不超过10公斤所以电机选型有两条路步进电机加细分驱动器或者伺服电机加伺服驱动器。绝大多数情况下我推荐步进原因很实在第一精度够用立体仓库模型要求±0.5毫米就算很好步进电机配合丝杆导轨完全能达到第二成本低一套57步进电机加驱动器两三百块伺服驱动器加电机起步就一两千第三调试简单步进只有脉冲频率和方向两个输入学生很容易理解“多少个脉冲等于多少距离”。如果是对速度平稳性要求更高的版本比如把节拍从10秒缩短到3秒或者机械手要带着很重的负载快速升降那才需要考虑伺服。尤其是垂直轴如果有坠落风险一定要选择带抱闸的伺服电机或者用蜗轮蜗杆自锁结构这已经不是精度问题而是安全问题。曾经有个项目学生图便宜用了普通不带抱闸的步进电机做升降轴断电瞬间电机反转机械手直接砸下来还好当时下面没有人后来全部换成带电磁抱闸的电机才解决。脉冲当量的计算是运动控制的核心参数。举例说明步进电机步距角1.8度驱动器细分设为16丝杆导程10毫米。电机每转一圈需要360/1.8乘以16等于3200个脉冲每转一圈丝杆带动移动部件走10毫米所以每个脉冲对应的位移是10除以3200等于0.003125毫米约等于0.003毫米。如果目标位置是120毫米那么PLC需要发出的脉冲数就是120乘以320等于38400。这个换算关系必须在程序里写成参数方便以后调整。2.3 传感器布置方案传感器是整个系统的“眼睛”布置方案是否合理直接决定程序好不好调。每个轴都需要两个信号原点和限位。原点开关装在轴的机械零点附近负责建立坐标基准限位开关装在行程两端负责硬性保护。有的方案还增加一个减速开关放在距离原点几十毫米的位置让高速回原点的机械手先减速再低速爬到原点避免高速撞击。升降轴的传感器布置更讲究因为存在自重坠落风险。上下限位绝对不能少上限位必须装在升降机构到达机械顶点之前下限位装在最低点。如果使用气动或电动推杆做货叉前后限位也要装到位而且最好用磁感应开关检测气缸活塞位置或者用行程开关检测推杆末端位置。货位有货检测我建议用对射光电开关或者漫反射光电开关安装在货架每个仓位的前沿。这个信号是判断“能否入库”“能否出库”的关键依据必须可靠。实际调试中光电开关很怕外部强光直射安装时要注意遮挡方向灵敏度不要调得太高中间档位最稳。还有一种做法是只在搬运机构上装一个光电靠机构移动到每个仓位前来检测这样省传感器但检测逻辑复杂我建议教学项目还是每个仓位装一个简单直观。2.4 触摸屏和通讯硬件选择MCGS触摸屏选型看尺寸和通讯需求就行。7寸TPC7062K适合紧凑控制柜10寸和12寸适合教学展示。软件方面嵌入式触摸屏用MCGS嵌入版组态环境现在主流版本是7.7网上能找到相关资源。安装时注意嵌入版和通用版是两个不同的软件别下错了。通讯硬件是项目里最容易出问题的地方。S7-200 SMART自带以太网口MCGS屏可以选择对应的以太网驱动接线就是一根普通工业网线把PLC和触摸屏的IP设在同一个网段比如PLC设为192.168.0.10触摸屏设为192.168.0.11。S7-1200也用类似方式但额外要在博途里把PLC的“允许来自远程对象的PUT/GET通信访问”选项打开很多“博途和第三方组态屏不兼容”的问题都出在这个开关没勾上。三菱FX3GA的情况不太一样它通常通过串口和触摸屏通信要么用PLC自带的编程口要么扩展一个485通信模块。连接时注意A/B线不能接反通信参数里的波特率、数据位、校验位必须和MCGS设备驱动程序里的设置一致。很多时候触摸屏显示通信失败不是协议选错而是波特率对不上或者PLC编程软件GX Works2还占着同一个串口把软件关掉就好了。3. 程序核心逻辑坐标寻址、状态机与运动控制3.1 用状态机思路管理整个存取流程写这套程序我强烈建议用状态机而不是一堆散乱的梯形图。把整个存取流程切成几个固定状态待机、回原点、X轴移动、Z轴升降、货叉动作、回归原点、结束。每个状态对应一段独立的逻辑只有满足当前状态的完成条件才允许跳转到下一个状态。这样调程序的时候看着PLC里的状态号就能判断设备卡在哪一步。具体来说状态定义可以这样安排S0待机S1回原点S2X轴移动到目标列S3Z轴升到目标层S4货叉入库动作S5货叉缩回S6Z轴下降S7X轴软停等待S8结束复位。如果把所有动作条件混在一起写一旦某个传感器没触发逻辑就会乱套。用状态机最大的好处是故障点清晰哪个状态超时报警界面直接提示“第几步超时”几分钟就能定位问题。状态跳转的条件必须设计成边沿加完成信号而不是纯电平。比如X轴脉冲发送完成信号在三菱里是M8029在西门子向导里是Done位这些信号往往只持续一个扫描周期或者非常短如果不加置位复位处理后面的逻辑很容易丢掉脉冲。我通常会在每个状态完成时把“完成标志”置位进入下一个状态时再复位这样避免漏信号。3.2 坐标映射表和寻址逻辑9个货位的坐标必须有一张表不能靠if else硬写死。最简单的方法是用货位号做索引把每个货位的X轴目标位置和Z轴目标位置存成数据块。比如把货位号L01到L09分别对应列号1到3、层号1到3那么X轴目标脉冲和Z轴目标脉冲直接查表得到。这是所有立体仓库项目的通用思路。具体映射表可以这样建立货位号列号层号X轴目标脉冲Z轴目标脉冲L011100L0212012000L0313024000L0421160000L05221600012000L06231600024000L0731320000L08323200012000L09333200024000表中脉冲数是按脉冲当量算出来的示意值实际项目要根据机械参数重新计算。我一般把这张表放在PLC的数据块里触摸屏只下发货位号PLC内部查表得到实际目标脉冲。这样做的好处是以后机械结构调整了只需要改PLC数据块里的脉冲数触摸屏程序完全不用动。如果相反把坐标存在触摸屏里卸载程序或者更换屏幕时很容易漏改坐标。3.3 西门子S7-200 SMART版本的程序要点S7-200 SMART做运动控制我习惯先用向导组态运动轴。在STEP 7-MicroWIN SMART里选择运动控制向导指定轴0和轴1设置PTO输出、顺时针方向、输入信号极性然后选择“相对运动”或“绝对运动”功能块。向导会自动生成AXIS0_CTRL、AXIS0_RUN、AXIS0_HOME等子程序调用时注意EN端每个扫描周期都要接通而RUN指令必须用边沿触发否则程序会一直给轴发运动指令。原点回归这块S7-200 SMART的向导提供了HOME功能可以设置找原点的方式先高速搜索原点开关碰到后减速再反向低速爬行直到退出原点开关并停在设定的原点偏移位置。这个偏移值建议设为0到10毫米之间的小参数作为软件原点补偿。写数据块时我建议用结构体来定义货位坐标这样程序更可读。每个货位包含货位号、X目标脉冲、Z目标脉冲、有货标志几个字段。自动流程用循环扫描货位表判断哪个货位有货需要出库或者哪个空位可以入库。这个逻辑比写一堆固定的位逻辑清晰得多。3.4 三菱FX3GA版本的程序要点三菱FX3GA的定位指令和西门子风格完全不同用DDRVI相对定位或者DDRVA绝对定位。DDRVA是按指定绝对位置发脉冲适合立体仓库这种需要精确到每个货位的场景。例如X轴要用DDRVA定位到38400脉冲的位置程序里就是写入目标值和执行指令两步。回原点指令用DZRN设置爬行速度和原点位置值执行后会把当前坐标清零。三菱程序的当前脉冲值有专门的寄存器X轴是D8140和D8141Z轴用D8142和D8143。这两个寄存器是32位格式要注意不要和普通16位字搞混。程序启动回原点成功之后用DMOV指令把D8140和D8142清零保证坐标系从零开始。如果你做了多轴控制建议在程序开头给这些寄存器定义注释不然半年后自己看都容易懵。从程序结构上说三菱推荐用STL步进梯形图写状态机。每个状态用S0到S19这类状态继电器表示STL指令后面对应一段动作步进转移条件满足后自动激活下个状态。这种结构和西门子的“跳转 置位复位”在逻辑上一模一样但STL写出来更直观。唯一的坑是三菱的STL程序里输出线圈要注意使用SET/RST不要直接在STL里用OUT不然很容易出现双线圈冲突。3.5 防呆与互锁逻辑程序好不好不在于能跑而在于出意外时不会伤人毁机。防呆逻辑这块我始终要求必须做到以下几点X轴和Z轴不允许同时运动Z轴和货叉不允许同时动作急停信号触发时所有脉冲输出立即清零所有方向输出全部复位。这三个互锁条件在PLC程序里要用常闭逻辑串进每个运动状态的允许条件里。每个运动状态还要有超时保护。比如X轴正常走完目标需要2秒钟如果超过3秒还没有到位说明机械卡住或者脉冲丢失程序必须自动进入报警状态而不是一直傻等。超时时间我一般设为正常运动时间的1.5倍留足余量但又能及时发现异常。关于断电恢复自动运行过程中突然断电重新上电后绝对不允许直接从断点继续。机械手可能悬在半空货叉可能还在货位里强行续跑会撞机。正确做法是上电后强制进入回原点状态所有轴先回到机械原点再重新判断任务。这一点教学项目里很多学生想不到但现场设备维护人员最看重。4. MCGS组态画面设计与数据变量映射4.1 MCGS工程的项目结构打开MCGS嵌入版组态环境新建工程后选对应触摸屏型号。MCGS工程有五个部分设备窗口、用户窗口、实时数据库、运行策略、主控窗口。设备窗口负责添加PLC驱动用户窗口画操作画面实时数据库建变量运行策略写后台脚本。这五个窗口有严格的执行顺序理解了这个顺序组态才算入门。设备窗口的配置是第一步也是后面所有工作的基础。添加驱动时S7-200 SMART选“西门子S7-200以太网”驱动三菱FX选“三菱FX系列编程口”驱动S7-1200选对应的S7协议驱动。每个驱动都要设置通信参数串口驱动重点检查COM口号、波特率以太网驱动重点检查IP地址。设备通道会对应到PLC的具体地址在建立变量之前必须先建好通道。真正写程序的时候我习惯先把实时数据库的变量建全再回头画画面。变量命名要有统一规则比如启动按钮叫run_btn停止按钮叫stop_btnX轴当前位置叫x_pos_mm货位状态叫slot01_occupied。不要用中文变量名虽然MCGS支持但和PLC地址对应起来容易乱后期用脚本处理也很麻烦。4.2 画面动画的制作细节画面动画是本项目的灵魂做得好设备运行逻辑一眼就看明白。立体仓库主画面可以用矩形块拼出3×3的货架每个货位旁边放一个指示灯占用时显示绿色空闲时显示灰色。PLC侧的货位状态变量发生变化指示灯颜色跟着变这就是MCGS的“颜色动画连接”。机械手动画是另一个重点。X轴的水平移动可以绑定一个小车图形用“水平移动”动画连接属性变量取PLC实时下发的X轴位置毫米值。Z轴的升降类似用“垂直移动”属性绑定Z轴位置。这里最关键的坑是像素换算画面上的移动像素和PLC的位置数值不一定线性对应如果变量是脉冲数还要在MCGS里做比例换算或者让PLC先把脉冲数转换成毫米值再下发。我建议改成毫米值下发这样调试人员看着画面就知道机械手实际在哪。按钮和指示灯用“位状态”动画连接按钮关联PLC的启动、停止、复位位按住时置位松开时复位。手动操作页面还需要输入框来设置目标速度、目标位置这些输入框绑定数值型变量参数确认后就变成了PLC里的目标值。注意输入框要设数值范围防止操作员输入负数或者超过行程的大数。4.3 变量地址映射表MCGS变量和PLC地址的对应关系必须做一张表这是现场调试和文档交接最重要的资料。以下是一段常见映射MCGS变量数据类型西门子地址三菱地址功能run_btn开关型M0.0M0启动stop_btn开关型M0.1M1停止reset_btn开关型M0.2M2复位man_auto开关型M0.3M3手动/自动x_pos_mm数值型VD100D100X轴位置z_pos_mm数值型VD104D102Z轴位置slot01开关型I0.4X10货位1有货slot02开关型I0.5X11货位2有货写表格时要注意西门子VD地址是32位浮点数或32位整数占4个字节下一个变量地址要留够间隔。三菱的D寄存器默认16位位置值超过32767时要用32位格式也就是用两个连续D寄存器比如D100和D101组成32位数据。实际调试中我看到过不少人因为寄存器长度没配对位置显示忽大忽小最后发现是数据类型选错了。4.4 报警、配方与历史数据别小看这些功能报警画面不能省。设备出现过载、超时、急停、通信失败时除了PLC侧有报警灯触摸屏上也应该弹窗并记录报警时间。MCGS里把报警变量设置成“开关型报警”触发后报警窗口自动弹出同时写入报警数据库。这个功能对调试帮助极大学生做完程序后自己就能根据报警记录排查问题。配方功能适合存放“任务清单”。比如这个立体仓库模型要模拟某种生产场景一批货物要存到指定的几个货位每种货物数量不同。MCGS配方可以把一组“货位号、货物名称、数量”打包操作员在生产前选择配方号一键下发到PLC。配方本质是参数集合不是历史数据这是初学者最容易混淆的地方。关于有人问“MCGS配方怎么当作历史数据”我实际不建议硬把配方当成历史记录用。真正的历史数据应该用MCGS的“存盘数据浏览”构件把需要记录的变量按周期存到触摸屏的存储空间里需要时查看曲线或者报表。如果把配方当历史数据只有一个当前值根本没有时间轴没法追溯。正确的做法是配方和存盘报表配合配方决定当前任务存盘报表记录每一次任务的执行结果。5. 现场调试、常见故障与排查方法5.1 调试的顺序与节奏调试这种三轴设备最忌讳一上来就全自动跑。我的固定流程是先空载通电核对PLC输入输出状态和实际设备是否对应然后用手动模式逐个轴测试确认每个轴的运动方向、限位触发位置都正确再做原点回归测试最后才允许自动运行。手动测试阶段要特别注意步进电机的方向。很多时候程序写对了但X轴向左走还是向右走没有验证自动运行后机械手直接冲到限位。手动把每个轴从头走到尾逐步调整方向和限位开关位置这一步能排除80%的机械和电气问题。手动测试完成后先在低速条件下测试一个货位的入库出库比如速度设为正常值的20%确认全部流程没问题后再提速。提速要分档20%、50%、80%、100%每档都观察到位精度和机械噪音。步进电机在中速区可能产生共振机构抖动明显这时候需要通过修改驱动器的细分或者调整脉冲频率来避开共振速度。不要硬着头皮在共振速度下跑长期运行会把机械结构震松。5.2 常见故障速查表下面这个表是我在做立体仓库项目时总结的很多问题看起来很玄原因其实就那么几个故障现象可能原因排查方法运动过程中位置越来越偏步进电机丢步加减速太陡降低速度延长加减速时间检查驱动器供电回原点后每次位置都不一样高速撞击原点开关回原点的速度没有分段增加减速开关分高速和低速两段找原点触摸屏通信失败串口被编程软件占用IP不在同一网段A/B线接反关闭GX Works2核对IP用万用表查线序触摸屏有通信但位置不动变量类型不对寄存器长度不匹配检查VD/D寄存器32位还是16位检查扫描周期急停后重启设备不能正常回原点程序没有做断电恢复急停状态没清除强制回原点检查急停回路是否复位货位检测信号频繁误动作光电传感器受环境光影响调整灵敏度加遮光罩改用对射光电自动运行中偶发超时报警机械阻力变大运动时间超过设定值清理导轨检查丝杆润滑放宽超时时间5.3 抗干扰与布线细节教仪设备虽然环境比工厂车间干净但抗干扰问题一样不能忽略。步进驱动器是典型的干扰源尤其脉冲频率高的时候会通过电源线或者信号线耦合回去。我的建议是动力线和信号线分槽敷设如果不能分槽也必须保证间距一百毫米以上脉冲信号线用屏蔽双绞线屏蔽层在PLC侧单端接地。电源方面触摸屏、PLC和步进驱动器不要共用一个24V开关电源。步进驱动器启动瞬间电流很大会把电源电压拉低导致PLC和触摸屏重启。通常控柜里配两个24V电源一个给PLC和触摸屏一个给驱动器和继电器。如果必须共用一个电源也要在驱动器电源入口加大容量滤波电容并在PLC电源端加隔离。急停回路也要讲究。急停按钮不能直接接在PLC输入端了事更靠谱的做法是让急停继电器直接切断运动控制回路的电源同时把急停状态反馈给PLC。这样即使PLC程序跑飞急停也能硬性断电安全性完全不一样。5.4 被我踩过几次的坑第一个坑是三菱的DDRVA指令目标位置寄存器写错。32位指令的目标位置如果写了16位寄存器程序运行时会读错数据设备乱跑。这个问题不踩一次根本想不到排查起来特别费时间看着逻辑都对但位置就是不对。后来我给自己立了规矩所有定位指令涉及的数据寄存器统一用两个连续D并且地址差对齐比如D100和D101必须成对写。第二个坑是S7-200 SMART向导生成的子程序调用时EN端口没有每个周期都接通。很多人用边沿触发EN结果发现轴只动一下就停了因为CTRL子程序只在边沿执行一次。实际上是这个子程序必须每个扫描周期都调用里面自带状态处理逻辑。这个现象特别迷惑人排查了一圈才发现是调用方式错了。第三个坑是MCGS修改配方参数后没有下载到触摸屏。组态环境里改完数据如果只更新了实时数据库而不重新下载工程触摸屏里跑的还是旧数据。有一次客户现场改了配方结果出库目标全部错位折腾了半天才发现是下载这个细节漏了。6. 这类项目还能怎么往后走6.1 从教学模型到真实产线的扩展如果做完3×3还不够下一步最自然的扩展是把货位增加到5×5甚至更多增加一个自动入库台和出库台模拟更真实的生产场景。这时的控制系统复杂度会明显上升单靠PLC内部查表就不够了需要引入数据库级别的仓位管理。MCGS这边可以配合做更复杂的配方管理和报表统计甚至可以对接扫码枪实现一物一码追踪。上位机方面西门子PLC可以通过OPC UA或者S7协议和C#开发的上位机通信三菱FX系列可以通过MC协议或者Modbus TCP和Java、LabVIEW这些工具对接。很多工程实际是这个走向PLC负责底层运动控制上位机负责订单调度和数据管理。3×3立体仓库正好是一个可以练手的最小模型用这个模型把上位机通信调通比直接上大型物流线稳得多。远程监控也是现在很常见的需求。MCGS物联助手可以把触摸屏数据发到云平台手机上查看设备状态、接收报警推送。配置思路是先在物联助手平台注册账号、添加网关设备然后在MCGS工程里填设备ID和密钥启动物联网功能。这块不影响PLC程序只是作为触摸屏的附加能力。6.2 一点个人经验做这种项目多了我最大的感受是机械装配精度决定项目成功率。程序、组态、通讯这些软的东西只要思路清晰都能调出来但机械装配不好丝杆间隙大、导轨不平行、限位位置偏了所有软的努力都会白费。所以拿到设备第一件事不是写程序而是手动推动机械单元感受顺畅程度量一下行程和垂直度。调试的时间分配我一般是四成在机械检查四成在电气接线和故障排查只有两成在写程序和组态。这个比例新手往往倒过来程序写半天就急着跑结果被各种机械问题折磨。建议每个做这类项目的朋友都养成一个习惯开工前把IO表、坐标表、变量映射表、机械行程参数全部写成文档调试时出了问题先查文档而不是乱试。如果你正在做毕业设计或者教学培训项目可以把这套思路直接套用先明确机械行程和脉冲当量再设计状态机然后分配PLC点位最后做MCGS画面。把这个流程走顺3×3立体仓库只是起点后面扩展几百个货位的自动化立库也不会慌。
返回列表