资讯动态

双层停车场PLC课设:博图SCL编程与WINCC仿真全流程解析

发布时间:2026/10/14 12:51:43 来源:尧图企业网站定制
简介面向自动化及相关专业学生的PLC课程设计资源以自动双层停车场为控制对象完整覆盖逻辑设计、博图编程、WINCC仿真与文档撰写环节。压缩包共78个文件、约46.23MB既含博图项目与PLCSIM仿真文件也有vsdx格式的IO接线图与程序流程图、mp4/wmv格式的讲解演示视频以及docx/pdf版课程设计报告可对照原理图、程序与演示逐步消化。设计重点展示上层车位升降与下层车位横移的联动机制通过按钮呼叫与自动让位实现双层存取车控制贴合常见课设考核点。目前已有2099人浏览/学习资源按程序、图纸、演示、报告分模块组织方便快速定位可帮助同类课题学习者节省搭建与调试时间。1. 双层停车场不是“两个车位那么简单”这份课设到底要解决什么答辩现场最紧张的一刻往往不是老师提问而是你按下启动按钮时画面里的车库纹丝不动。自动双层停车场控制设计这个题目看着只是“两个车位上上下下”实际要落地的是一整套 PLC 控制系统博图 TIA Portal 里的程序怎么写、IO 接线图怎么对应物理点位、WINCC 仿真里画面和变量怎么绑定、先横移还是先升降的动作顺序怎么定。用博图编写核心逻辑再配合 WINCC 仿真和接线图把整个流程演示清楚正是这类课设的标准交付形态。适合正在做 PLC 课设、准备毕业设计答辩或者刚接触 S7-1200 加触摸屏仿真、想把一套“能讲得清楚的控制流程”完整跑通的开发者。2. 控制对象与 IO 接线图先把“停车场”翻译成一张点位表2.1 双层停车场的机械动作与 I/O 需求双层停车场看着只有两层车位实际控制对象比想象中多。常见的课设布局是一层 3 个车位、二层 3 个车位或者一层 2 个、二层 2 个中间一条横移轨道载车板可以升降。车要停进二层某个空位得先判断一层对应位置有没有车有车就得先把载车板横移到没有车的位置再升到二层最后再横移复位。这个“先判断、再横移、后升降”的顺序就是整个程序的灵魂。做 IO 接线图之前先做的是 I/O 需求清单。输入侧通常需要启动按钮、停止按钮、手动/自动切换、每层车位的车位置传感器对射光电或接近开关、载车板的上下限位、横移的左限位和右限位、超时复位按钮。输出侧需要横移电机正转、横移电机反转、升降电机正转、升降电机反转、运行指示灯、报警指示灯、蜂鸣器。这套点位数量适中既覆盖了 PLC 控制课设必须的开关量逻辑又不会复杂到没法在 WINCC 里做仿真演示。我一般会先画一个机械俯视图标出每个车位编号和载车板的运动方向再去列点位表。没有这个图后面写程序判断空位时会晕头转向接线图也会画得逻辑混乱。记住一点双层车库不是“一层一套设备”而是一个载车板在两个维度上运动所以横移电机和升降电机都是全局共享的。2.2 IO 接线图怎么读输入回路、输出回路与安全细节拿到一份 IO 接线图不要先看线怎么走先看 PLC 型号和输入输出模块类型。常见课设用的是 S7-1200 系列 CPU比如 CPU 1214C DC/DC/DC集成 14 点输入和 10 点输出。14 点输入是否够用取决于 2.1 里列出的点位总数。如果传感器加按钮超过了 14 个就需要选更大点数的 CPU或者在接线图里表达为扩展模块 SM 1223。这一步判断对了接线图才成立。输入回路的接法遵循“源型/漏型”规则。S7-1200 默认输入是漏型接法公共端 M 接 0V传感器输出高电平有效信号从 L 流入输入端。按钮触点的一端接 L另一端接 PLC 输入点按下按钮时输入点收到高电平。接近开关是三线制棕色接 L、蓝色接 M、黑色接对应输入点。这组接法几乎每个课设接线图都长一个样把一条回路讲顺整张图就读通了。输出回路的接法要看负载类型。继电器输出型的 CPU输出公共端 1L/2L 分组每一组只能统一接同一电压交流和直流不能混在同一组。电机正反转接触器线圈、指示灯、蜂鸣器都是 220V 交流负载的话用继电器输出即可。如果用的是晶体管输出只能驱动直流负载那接触器线圈就得换成 24V 的。这块是画接线图最容易踩坑、也是老师最爱追问的地方输出分组错误会导致两个输出共用一个公共端正反转互锁失效后就烧接触器。2.3 用一张 IO 分配表反向核对接线图画完接线图后我习惯从接线图反推一张 IO 分配表。核对的方式是从 PLC 端子号反向查到现场设备看传感器是不是接到了声明为输入的点上电机是不是接到了声明为输出的点上启动按钮是不是占了急停的位置。表里还要留一列“程序变量名”这样接线图里的端子号可以直接映射到博图里的 I/O 地址避免程序写完发现地址写串位。下面是双层停车场课设里最常见的一套分配方案共 12 点输入、8 点输出供对照参考分类地址现场设备程序变量名说明输入I0.0启动按钮常开Start上升沿触发启动输入I0.1停止按钮常闭Stop常闭接线断线安全输入I0.2手动/自动切换开关ModeAutoON 为自动输入I0.3载车板上升上限位LimUp常闭触点输入I0.4载车板下降下限位LimDown常闭触点输入I0.5横移左限位LimLeft常闭触点输入I0.6横移右限位LimRight常闭触点输入I0.7一层 1 号位占位检测Sensor_L1有车为 ON输入I1.0一层 2 号位占位检测Sensor_L2有车为 ON输入I1.1二层 1 号位占位检测Sensor_U1有车为 ON输入I1.2二层 2 号位占位检测Sensor_U2有车为 ON输入I1.3超时复位按钮ResetAlarm报警后复位输出Q0.0横移电机正转右移MotorRight接接触器线圈输出Q0.1横移电机反转左移MotorLeft接接触器线圈输出Q0.2升降电机正转上升MotorUp接接触器线圈输出Q0.3升降电机反转下降MotorDown接接触器线圈输出Q0.4运行指示灯绿LampRun24V 指示灯输出Q0.5报警指示灯红LampAlarm24V 指示灯输出Q0.6蜂鸣器Buzzer报警时鸣响输出Q0.7车位状态指示灯LampWork有车时点亮注意看两个细节限位开关全部用常闭触点接入信号线断掉时 PLC 读到的是“未到限位”程序会保护性停止停止按钮也用常闭急停回路安全。这两个设计在接线图上就是两处小细节但在答辩时能明显体现你对 IO 设计的理解。手动模式下Q0.0 到 Q0.3 不参与自动流程由面板按钮直接控制这时候接线图里需要额外增加手动控制按钮的输入点所以很多课设会把这几个点预留出来或者用手动优先的硬接线方式处理。3. 程序流程图到博图工程状态机先行梯形图跟上3.1 程序流程图的核心状态转移表和步序编号拿到一个工控类课设最先做的不是打开博图拖梯形图而是画程序流程图。流程图的价值在于把“载车板怎么走”翻译成 PLC 执行逻辑。双层停车场的动作序列可以用一句口诀概括先横移动位再升降到位最后横移复位。取二层的车时顺序相反先横移让位再下降取车最后横移回原位。这个顺序如果在流程图阶段错了程序写得再漂亮演示时载车板也会挂着车强行横移。手动/自动双模式是这类课设的标配。自动模式的流程适合用“状态转移表”表达每一行是一个状态会明确“进入条件、执行输出、离开条件”三件事。这张表就是画流程图的前置产物。我的习惯是把步序写成编号Step10 等待选择、Step20 横移、Step30 升降、Step40 复位中间跳变用 M 继电器或 DB 变量记录。步序编号的好处是排查时可以直接看“当前到哪一步”比在梯形图里翻线圈高效得多。步序状态描述进入条件执行输出离开条件10待机等待启动且无报警系统指示灯闪烁有选位信号进入 2020横移到目标列已选定车位且列不一致横移电机正转/反转到达目标列限位进入 3030升降到目标层横移到位升降电机上升/下降层位限位到位进入 4040横移复位归零升降到位横移电机反向动作回到复位限位进入 1050报警停机超时或限位丢失报警灯与蜂鸣器复位按钮按下进入 10这套流程覆盖了“存二层取一层”等所有组合如果选的车位就在当前列步序 20 直接跳过如果车在二层而载车板在一层步序 40 就成了“下降取车后再复位”。流程图里每个判断框答的都是“这个步序能不能跳过”这是整个控制方案最核心的设计决策。3.2 博图 TIA Portal 工程结构与块的规划博图 TIA Portal 里建工程的套路和普通编程差别很大但块规划思路是通用的组织块 OB 管调度函数块 FB 管逻辑数据块 DB 管数据。双层停车场这套程序最合理的规划是OB1 里只做全局扫描和模式切换FB_TwoLayerParking 管主流程内部包含横移、升降、选位、报警四段逻辑FB_ButtonControl 管按钮信号处理和上升沿DB_ParkData 存放车位状态、步序号、定时器预设值。新建工程时语言选择建议用 SCL 而非梯形图。理由有两个一是状态机的 CASE 语句在 SCL 里表达起来几乎是自然映射转换成梯形图要写几十个网络二是答辩时老师看 SCL 能快速抓住你的逻辑主线梯形图反而容易陷入线圈网络的泥潭。硬件组态环节只做一件实事——正确组态 CPU 型号并分配好 IP 地址因为后面 WINCC 仿真和 PLCSIM 联调时IP 地址不能随意改。我一般会把 CPU 型号、固件版本和模块订货号核对一遍型号不一致时编译会报模块不匹配。数据块 DB_ParkData 的变量建议预先规划好不要在编程过程中随手加。规划内容包括CurrentStep 当前步序、TargetSlot 目标车位编号、CurColumn 当前列、CurLevel 当前层、AlarmCode 报警代码、TimeoutValue 超时时间。所有公共状态都放这个 DB 里HMI 变量表直接引用 DB 变量这样 WINCC 画面里的状态显示和按钮指令可以统一映射到同一处避免出现“程序里用一个变量、画面里绑另一个变量”的尴尬。3.3 核心逻辑自动存取车的 SCL 写法与参数说明自动模式的骨架是状态机扫描。下面是一段可以直接对照流程图改写的 SCL 简化版本基于 S7-1200 的 FB 结构接口变量需要与 DB_ParkData 绑定IF #ModeAuto AND #Start THEN #Step : 10; END_IF; CASE #Step OF 10: // 待机等待选位判断是否同列同层 #LampRun : TRUE; IF #TargetSlot #Empty THEN #CurColumn : SLOT_TO_COL[#TargetSlot]; // 目标列号 #CurLevel : SLOT_TO_LEV[#TargetSlot]; // 目标层号 #Step : 20; END_IF; 20: // 横移动位当前位置列与目标列不一致时动作 IF #CurColumn #CurColumnNow THEN #MotorRight : #CurColumn #CurColumnNow; #MotorLeft : #CurColumn #CurColumnNow; IF (#CurColumn #CurColumnNow AND #LimRightIn) OR (#CurColumn #CurColumnNow AND #LimLeftIn) THEN #MotorRight : FALSE; #MotorLeft : FALSE; #CurColumnNow : #CurColumn; #Step : 30; END_IF; ELSE #Step : 30; // 同列则直接跳过 END_IF; 30: // 升降动作层数不同则升降 IF #CurLevel #CurLevelNow THEN #MotorUp : #CurLevel #CurLevelNow; #MotorDown : #CurLevel #CurLevelNow; IF (#CurLevel #CurLevelNow AND #LimUpIn) OR (#CurLevel #CurLevelNow AND #LimDownIn) THEN #MotorUp : FALSE; #MotorDown : FALSE; #CurLevelNow : #CurLevel; #Step : 40; END_IF; ELSE #Step : 40; END_IF; 40: // 复位回到停车位原始列循环等待 IF #CurColumnNow #HomeColumn THEN // 方向判断与步序 20 相同此处省略 ELSE #LampRun : FALSE; #TargetSlot : #Empty; #Step : 10; END_IF; 50: // 报警停机 #LampAlarm : TRUE; #Buzzer : TRUE; IF #ResetAlarm THEN #LampAlarm : FALSE; #Buzzer : FALSE; #Step : 10; END_IF; END_CASE;逻辑说明每个步序只做一件事步序 20 和 30 里都先比较当前位置和目标位置一致就跳过不一致才动作。限位信号到达后立即切断电机输出并更新“当前位置”变量这样下一次判断有了正确的基准。报警步序 50 是所有步序的超时汇聚点只有按复位才能回待机。参数说明SLOT_TO_COL 和 SLOT_TO_LEV 是数组常量把车位编号映射到列号和层号改动车位布局只改这两个数组#Empty 是“无目标”的约定值通常填 0。SCL 块内的局部变量名建议全部加 # 前缀这是 TIA 的语法要求也避免了与全局 DB 变量重名的坑。3.4 互锁与手动/自动切换比功能更重要的保护程序主体写完真正体现控制设计水平的是互锁保护。第一个必须做的互锁是电机正反转互锁Q0.0 和 Q0.1 不能同时为 TRUEQ0.2 和 Q0.3 不能同时为 TRUE。在博图里不能只在程序里写“先断开再接通”还要做输出级联锁常见做法是在最终输出赋值处加判断比如#MotorRight : #MotorRight AND NOT #MotorLeft。更可靠的是在 WINCC 和接线图层面同步做硬件互锁用接触器的常闭触点串在对方线圈回路里这是课设里最值得讲的“双重保护”细节。第二个要做的是横移与升降的联动互锁。载车板在升降过程中横移电机必须绝对禁止启动否则车会从二层的边缘滑脱。控制逻辑上步序 20 和 30 天然互斥但还要考虑手动模式手动模式下操作员可能同时按下“上升”和“右移”所以手动回路里也要加相同的互锁判断。很多课设程序只做了自动模式的状态互锁手动模式完全裸奔演示时展示手动操作环节就会翻车。第三个是超时保护。电机从动作到限位触发一般有时间上限比如横移 8 秒、升降 6 秒超过这个时间限位还没来就判定为机械卡死或传感器故障进入步序 50 停止输出并报警。超时计时用 TON 定时器定时值放在 DB_ParkData 里作为可调参数答辩时可以直接修改演示“超时报警”功能。这个功能单独占五分之一的演示时间都不夸张因为它是“PLC 程序有工程保护意识”的直接证据。4. WINCC 仿真让画面动起来的变量映射与运行设置4.1 画面、变量表与 PLC 的三种连接关系WINCC 仿真的核心不是画得好看而是变量映射正确。TIA Portal 集成环境下WINCC 的画面对象按钮、指示灯、车位移位块本身不直接知道 PLC 地址它们读写的是 HMI 变量表里的条目再由变量表指向 PLC 的 I/O 点或 DB 变量。理解这层关系仿真连不上的问题就解决了一半。三种常见连接关系需要分清第一种是直接访问 IO 地址比如按钮访问 I0.0、指示灯访问 Q0.4适合简单点位第二种是访问 DB 变量比如车位状态访问 DB_ParkData.TargetSlot适合跨画面共享的数据第三种是 HMI 内部变量只存在 WINCC 内部、不连 PLC适合画面上的临时计算或本地显示设置。做双层停车场画面时建议把“当前步序”“当前列”“当前层”“报警代码”全部用 DB 变量这样 PLC 仿真里的人一跑画面状态就能实时看到变化把按钮按下状态和画面切换逻辑用内部变量避免按钮误触发 PLC 逻辑。新建变量表时要注意数据类型必须与 PLC 侧完全一致布尔对布尔、整数对整数。最容易出错的是把 PLC 侧的 Bool 变量在 HMI 侧定义成 Int画面里指示灯永远亮不了。另外HMI 变量表里每个变量都有一个“采集周期”设置默认 1 秒如果想让车位移块动起来更流畅可以把关键变量采集周期改成 100ms。这个参数在仿真视频录制时特别影响观感。4.2 WINCC 运行仿真步骤与显示刷新设置在博图里跑 WINCC 仿真标准的启动顺序是先启动 PLCSIM 下载程序再启动 WINCC 运行仿真。顺序反了也能启动但经常遇到“画面能开、变量全灰”的情况。操作步骤拆开是四条每条之间逻辑关系明确——没有 PLCSIM 里的 PLCWINCC 只是空壳画面。第一步在博图左侧项目树选中 PLC点击“仿真”按钮选择 PLCSIM V15 以上版本PLCSIM 会弹出一个小窗口。第二步把 PLC 程序下载到 PLCSIM 虚拟 PLC 里下载完成后把 CPU 切换到 RUN 模式。第三步回到项目树选中 HMI 设备点击“仿真”按钮WINCC Runtime 会自动启动。第四步在 WINCC Runtime 里观察画面左下角的连接状态图标绿色的连接图标代表 HMI 与 PLCSIM 通信正常红色或灰色代表变量地址或连接配置有问题。显示刷新这一块检查两处参数。第一处是 HMI 变量表里每个变量的采集周期建议把电机输出、限位信号、步序号这些“动作型”变量都改成 100ms指示灯和车位占用状态可以保留 500ms 或 1 秒减少不必要的通信负载。第二处是按钮的“按键”属性WINCC 里按钮一般配置为“按下时置位、释放时复位”如果配成“切换”模式按一下就会卡住状态PLC 那边有时序逻辑就会错乱。做演示前把每个按钮都点一遍观察变量表里对应位是否按预期变化这一步能省下正式演示时至少五分钟的现场排错。4.3 按钮、指示灯、报警文本的参数配置先聊按钮。存车、取车、复位这几个按钮在 WINCC 里的动作全部是写变量存车按钮把目标车位号写入 DB 变量取车按钮同理复位按钮把 ResetAlarm 置位。不要在按钮的事件里直接对 PLC 的 I 点赋值因为输入点 I 区在 PLCSIM 里是只读的运行时会报错。常见做法是在画面里加一个“车位选择”下拉列表或数字输入框把选中的车位号写到 DB_ParkData.TargetSlot再配合一个“确认”按钮触发步序。再聊指示灯。每个车位的状态显示不要用单个圆点颜色变化建议画成一个小矩形填充色由变量驱动变量为 FALSE 时填充灰色空位变量为 TRUE 时填充红色占用。填充颜色的动态属性有“背景颜色”对话框新值填 0 和 1 对应的颜色。载车板的位置显示是画面设计的重心可以用一个矩形的 X 坐标或垂直位置绑定当前位置变量PLC 程序里位置变化后画面中的车位移块也会跟着移动。注意位置绑定用的是“画面内坐标”不是 PLC 的地址需要做一个线性换算。报警文本是答辩加分项。每一条报警对应一组“报警类别 触发变量 文本”例如变量 AlarmCode 等于 1 时显示“横移超时”等于 2 时显示“升降超时”。报警文本不用写死在画面上配置在 HMI 报警表里即可运行时触发报警会在报警控件里自动弹出。把报警类别配置为“确认”演示时需要按下蜂鸣器确认按钮才能消音这一套动作完整讲下来整个系统的工程属性就立住了。5. 课设避坑与常见问题排查从“编译过”到“跑得稳”的 5 个坎5.1 现象PLCSIM 里输入点无法改变车库不动作现象程序下载到 PLCSIM 后强制 RUN画面里点启动按钮PLC 程序没有任何反应。原因PLCSIM 虚拟 PLC 不会自动模拟物理输入信号I0.0 就算接线图上接了按钮仿真环境里也不会自行变化。解决在 PLCSIM 的“输入视图”里手动强制输入变量或者在 WINCC 画面里通过 HMI 按钮直接写控制位。注意强制输入时要把输入点地址对应到变量表里的物理地址不能只改程序里的符号名。这个坑出现频率最高不是程序写错了是仿真环境的“I 区不自动刷”。明白这一点至少能少走半小时弯路。5.2 现象WINCC 能打开但全是灰色连接状态显示断开现象WINCC Runtime 正常启动画面元素也出来了但所有绑定 PLC 变量的对象全部灰色或显示无效左下角连接图标是红色。原因HMI 和 PLC 之间的连接没有真正建立最常见的是 HMI 变量表里引用了 PLC 程序里不存在的变量名或者 PLCSIM 根本没启动。解决先确认 PLCSIM 是否在运行、CPU 是否在 RUN再检查 HMI 变量的“连接”列是否选了正确的连接名称这个名称在项目树里通常是“HMI 连接_1”最后检查变量名和 PLC 侧是否完全一致。顺序排查下来九成问题出在变量表。5.3 现象编译报错“地址已被占用”或“数据类型不匹配”现象在博图里编译整套项目报错提示地址冲突或者数据类型不一致。原因同一个 I/O 地址在程序里被用了两次例如某老师在接线图里把限位接到 I0.3程序里另一个传感器也映射到 I0.3或者是在 SCL 里把一个 Bool 变量赋给了 Int。解决全局交叉引用表里按地址排序把所有 I/O 地址列一遍一个地址只能出现在一个物理设备的映射里。数据类型不匹配的报错要把所有赋值语句两端类型对齐后再编译。这步是基本功但程序长了特别容易犯。5.4 现象仿真时序太快或太慢视频演示效果不自然现象PLCSIM 仿真里电机动作几乎瞬间完成WINCC 画面里的车位移块跳变演示视频看起来像 PPT 切换而不是实际设备动作。原因仿真环境里没有物理机械惯性电机动作耗时只取决于程序里定时器或步序转移条件如果没加延时限位短时间内就到步序瞬间走完。解决把程序里的动作超时时间故意调大一些例如横移设定 5 秒、升降设定 4 秒让画面里的动作有足够时间被看到。更精细的做法是用 WINCC 脚本给动画添加过渡效果绑定车位移块时把“动画”选项打开设置移动时间这样车位移块的移动过程会平滑许多。这个调整纯粹为了演示效果但课设视频的观感差异往往就差在这些细节上。5.5 现象流程图和程序不一致答辩追问答不上现象画好的流程图是三角形判断而程序里用的是顺序步进流程图里画了“同列跳过”程序里却没有这个分支。原因很多同学画流程图是为了凑文档程序早就写完了两张图各编各的。答辩时老师照着流程图问“这个分支为什么没有实现”直接就卡住。解决方案是先画流程图并编号再按编号写程序最后回头把流程图改到与程序完全一致。每个判断框、每个输出框都要能在程序里找到对应的代码位置这个一致性的检查是答辩前必做的功课。一个可行的办法是给流程图里的每个步序标上和程序中 STEP 相同的编号这样检查时一目了然。6. 从“能演示”到“讲得清”把课设变成你自己的工程能力资源包里的讲解和演示视频多花时间看它的操作顺序而不是只看最终效果。视频里每一步点在哪里、切换了什么界面、变量变化是什么这些操作顺序就是整套方案的骨架。照着演示走一遍以后我建议你做一个“功能验证清单”把每个按钮、每个状态转移、每个报警都列出来手动测试并记录结果。下面是双层停车场最常见的测试项示例测试项操作方式预期结果自动存车底层空位选 1 号位启动直接存车无横移动作自动存车二层空位选 2 号位启动先横移再升层再复位取二层车辆选已占用二层车位启动先横移到该列再降层再复位手动模式互锁手动同时按上升和右移只有上升动作右移被禁止超时报警人为屏蔽限位信号后启动报警指示灯亮蜂鸣器响复位恢复按下复位按钮报警消除回到待机状态验证清单的价值在于它逼着你把程序里每个分支都走一遍而不是只看主流程能跑通。走完一轮清单你会发现自己对程序的理解比看十遍讲解视频都深。更进一步你可以把课设程序升级成“可调参数”的版本。把超时时间、动作顺序、车位编号映射全部收敛到 DB 变量里做成上位机可写的参数。这样答辩时老师问“如果二层再加两个车位怎么改”你可以直接回答加传感器点位、扩展 DB 里的车位映射数组流程逻辑不用动。这个回答已经不是在背报告而是真实地理解了整个方案的架构。另外一个小技巧是给程序加上“运行计时”功能。用系统时钟记录每次存取车操作的总耗时在 WINCC 画面上显示“本次操作用时 XX 秒”。这个功能不复杂但很贴合智能停车场的主题演示时也会让画面比纯开关量指示灯更接近真实产品。我自己的习惯是课设拿到手我先不看讲解视频先把 IO 接线图和程序流程图对着过一遍自己用纸画一份状态转移表再打开博图从空白工程开始写程序。视频和资源只作为校验——我写完之后再对一遍看哪些地方想得不一样为什么不一样。这套流程走下来答辩时老师问的每一条程序逻辑我都知道自己当时为什么这么写也可能知道哪里没写好。这样就算演示中途出了小状况也不会因为“照着别人的程序抄的所以讲不出来”而卡壳。希望帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑