4模式小车系统设计 200smart
A1 HMI系统设立1. S7-200 SMART PLC 工程准备打开 STEP 7-MicroWIN SMART 编程软件新建空白工程删除程序块中默认的无用程序段将主程序 OB1 重命名便于识别点击「通信」→「查找 PLC」确认 PLC 默认 IP 为192.168.0.1通信正常后保存工程2. MCGS 触摸屏工程与通讯设置打开 MCGS 组态软件新建触摸屏工程确认屏型号后进入组态界面打开「设备窗口」添加TCP/IP 父设备再添加西门子 S7-200 SMART 子设备触摸屏本地 IP 设置为192.168.0.190需与 PLC 同网段PLC 设备地址填写192.168.0.1与实际 PLC 一致点击「文件」→「工程另存为」保存到桌面完成基础工程搭建二、用户窗口框架搭建在「用户窗口」中新建 3 个基础窗口作为整个项目的页面框架封面窗口开机锁屏页作为初始启动画面欢迎画面窗口功能导航过渡页监控画面窗口核心动画与控制页三、封面与欢迎画面细节制作1. 封面页面制作右键画面空白处→「装载位图」导入背景底图调整大小铺满画面添加「按钮」构件取消背景图设置填充色按钮文本改为「欢迎进入」按钮操作属性设置为「打开用户窗口」目标选择「欢迎画面」可选优化文本可设置跑马灯滚动效果调整字号与颜色提升视觉效果2. 欢迎页面制作1标题与装饰装载西门子 LOGO 位图调整大小后放置在画面合适位置添加「标签」构件输入文本基于西门子S7-200 SMART的四模式小车系统扩展属性勾选「跑马灯」方向设为向左步进值自定义解决长文本显示不全的问题设置无填充、无边线调整字号至合适大小2日期与时间显示添加标签构件选择「显示输出」→「字符串输出」关联系统变量$Date用于显示日期复制该标签修改关联变量为$Time用于显示时间两个标签并排摆放3导航按钮组添加 1 个按钮文本设为「进入监控」操作属性选择「打开用户窗口」目标为「监控画面」复制该按钮文本改为「返回锁屏」操作属性选择「打开用户窗口」目标为「封面」填充色改为红色做区分选中两个按钮通过「对齐」工具设置左对齐、上下等间距保证排版整齐4背景优化调整画面背景色为浅色系提升内容辨识度也可导入坦克素材作为装饰背景四、监控画面坦克运动动画组态这是核心功能部分通过 PLC 变量控制坦克的移动方向和位置。1. 素材与轨道准备准备正反两个方向的坦克侧位图纯色背景最佳通过 PPT 处理后导出为位图保存到桌面在监控画面中添加矩形构件模拟导轨设置填充色调整长度与位置用取色器提取坦克图底色将画面背景色设为同色实现无缝融合2. 实时数据库变量定义新增 3 个关联 PLC 的变量表格变量名类型PLC 地址功能说明向左显示布尔型M0.0控制左向坦克图的可见性向右显示布尔型M0.1控制右向坦克图的可见性坦克位置数值型VD0控制坦克水平位移范围 0~1003. 坦克构件与可见度设置导入左向坦克位图属性→「可见度」表达式填写M0.01即 M0.0 接通时显示左向坦克复制坦克构件替换位图为右向坦克可见度表达式填写M0.11选中两个坦克图执行「中心对齐」保证正反切换时位置不偏移4. 水平移动动画配置通过 VD0 的数值变化控制坦克在导轨上的位置分解坦克组合单元单独选中左向坦克图属性→「动画连接」→「水平移动」最大偏移量填写导轨的实际像素行程终点坐标 - 起点坐标示例中为 560 像素表达式对应值填写100关联变量选择VD0即 VD00 时在最左端VD0100 时在最右端右向坦克图执行完全相同的水平移动配置保证正反移动行程一致选中导轨构件设置「排列→置于最上层」遮挡坦克超出轨道的部分五、PLC 程序编写1. 脉冲生成子程序控制移动速度新建子程序重命名为「脉冲生成」作用是产生固定周期的脉冲降低坦克移动速度。网络逻辑SM0.0运行时常开串联 T37 的常闭触点驱动 T37 定时器线圈PT 值设为 1原理T37 为 100ms 时基定时器自复位后产生周期 100ms 的脉冲用这个脉冲触发位置加减避免移动过快2. 运动控制子程序新建子程序重命名为「运动控制」包含方向控制和位置计算两部分。1上电初始化网络 1SM0.1首次扫描导通一个周期触发置位 M0.1向右显示复位 M0.0向左显示功能PLC 上电时默认显示右向坦克2方向切换控制网络 2Q0.0左行输出常开触点触发置位 M0.0向左显示复位 M0.1向右显示网络 3Q0.1右行输出常开触点触发置位 M0.1向右显示复位 M0.0向左显示功能小车行驶方向切换时同步切换触摸屏显示的坦克方向3位置计算带行程限位网络 4左行减计数条件为 SM0.0 且 T37 常开 且 Q0.0 常开 且 VD00执行减法指令VD0 - 1 → VD0网络 5右行加计数条件为 SM0.0 且 T37 常开 且 Q0.1 常开 且 VD0100执行加法指令VD0 1 → VD0功能每 100ms 更新一次位置同时限制 VD0 在 0~100 之间防止坦克超出导轨行程3. 主程序调用在主程序 OB1 中网络 1SM0.0 常开触点调用「脉冲生成」子程序网络 2SM0.0 常开触点调用「运动控制」子程序六、下载调试将 PLC 程序下载到 S7-200 SMART 中切换到 RUN 模式MCGS 点击「工程下载」→「启动运行」进入模拟运行或下载到触摸屏测试验证强制 Q0.1 导通坦克应匀速向右移动到最右端自动停止强制 Q0.0 导通坦克应切换方向并匀速向左移动到最左端自动停止切换画面、锁屏功能均正常生效A2 模式选择承接前面坦克运动工程新增 4 种运行模式切换包含 PLC 变量规划、符号表、模式子程序、触摸屏箭头切换动画、模式选择按钮全套操作。一、PLC 变量规划规避原有地址冲突之前坦克动画占用了 M0.0、M0.1、VD0模式功能地址全部错开防止地址覆盖冲突。1. 新建符号表 1smi 交互模式选择中间继电器 M 区右键程序块 → 插入符号表命名smi交互起始地址M5.0避开前面 M0.x表格地址名称说明M5.0模式一手动模式触发M5.1模式二模式二触发M5.2模式三模式三触发M5.3模式四模式四触发2. 新建符号表 2数字量数据模式存储 VD 寄存器右键插入符号表命名数字量数据起始地址VD100远离 VD0 坦克位置变量无冲突表格地址名称说明VD100模式数值32 位整数存储当前模式 1/2/3/4二、PLC 子程序模式选择核心逻辑右键子程序 → 插入子程序重命名模式选择主程序 OB1 中用 SM0.0 常开调用该子程序全程循环执行子程序内梯形图逻辑分两段网络 1上电初始化默认模式 1SM0.1PLC 首次扫描脉冲 → MOVE 双字传送指令 IN1OUTVD100 作用上电直接赋值模式 1避免 VD1000 导致触摸屏箭头全部隐藏。网络 2按钮触发切换对应模式数值四条并联传送支路M5.0 常开接通 → MOVE DW 1 → VD100选模式一M5.1 常开接通 → MOVE DW 2 → VD100选模式二M5.2 常开接通 → MOVE DW 3 → VD100选模式三M5.3 常开接通 → MOVE DW 4 → VD100选模式四三、触摸屏素材制作四方向箭头WPS PPT打开 PPT新建空白页面删除默认元素插入圆形尺寸 10×10白色填充再插入箭头形状向上箭头组合圆形 箭头 → 右键另存为图片 2桌面图形旋转 90°右箭头→ 另存图片 3旋转 180°下箭头→ 另存图片 4旋转 270°左箭头→ 另存图片 5 最终得到 4 张独立箭头位图上、右、下、左。四、监控画面组态模式箭头动态切换打开监控画面添加位图构件装载【向上箭头图片 2】固定尺寸 100×100复制 3 份位图分别装载右、下、左箭头分别设置可见度动画VD100 为判断条件向上箭头可见表达式VD100 1向右箭头可见表达式VD100 2向下箭头可见表达式VD100 3向左箭头可见表达式VD100 4框选四个箭头 → 排列 - 同心对齐 → 合成单元叠放在同一位置 效果当前模式数值是几就只显示对应方向箭头其余自动隐藏。五、触摸屏模式切换按钮制作添加标准按钮构件取消背景、自定义填充色文字进入模式一按钮【操作属性】按下置 1、松开清 0按 1 送 0关联 PLC 变量 M5.0复制三个按钮批量修改按钮 2文字 模式二关联 M5.1按钮 3文字 模式三关联 M5.2按钮 4文字 模式四关联 M5.3框选全部按钮使用对齐工具均匀排布美化界面。六、下载与调试步骤先将完整 PLC 程序运动控制 脉冲生成 模式选择下载至 200SMARTMCGS 工程保存后点击【工程下载】启动模拟运行功能测试PLC 上电箭头默认显示向上模式 1VD100 初始值 1点击「模式二」按钮M5.1 导通VD100 赋值 2画面切换向右箭头点击模式三 / 四箭头同步切换下、左方向无冲突说明M5.x 独立分区不会覆盖之前坦克 M0.0/M0.1VD100 和坦克位置 VD0 地址隔离互不干扰。A3手动模式A4 随动模式承接前文四模式切换工程新增滑块滑轨随动定位功能拖拽滑块小车自动追踪目标位置同时解决手动 / 随动模式输出干涉、互锁限位、实时位置显示全套流程。一、PLC 变量新增数字量数据符号表扩展原有VD0坦克当前位置 0~100、VD100模式数值 1/2/3/4 新增地址VD104无地址冲突表格地址名称数据类型作用VD104目标数值32 位有符号双字触摸屏滑块拖拽设定目标位置二、MCGS 触摸屏滑轨滑块构件制作监控画面拖入滑块构件滑块宽度、滑轨宽度统一设 50 像素界面规整美观滑块动画关联变量VD104数值上下限设置0~100滑块读写属性读写模式拖拽时实时修改 PLC 内 VD104 目标位置界面排版滑块居中摆放预留下方数据显示区域三、实时位置监视文本组态直观显示当前 / 目标位网络 2位置对比 左行输出当前位置 目标位置网络 3到位停机当前位置 目标位置比较指令VD0 VD104复位指令R Q0.0, 1、R Q0.1, 1左右电机全部停止关键要点软硬互锁五、主程序条件调用解决模式干涉核心六、下载调试现象说明七、当前工程现存缺陷与优化思路1. 模式切换干涉问题问题模式一手动、模式二随动切换瞬间电机输出状态不会自动复位切换后小车会短暂窜动。 优化方案 在「模式选择」子程序增加逻辑VD100 数值变化时复位 Q0.0、Q0.1 左右行输出切换模式前小车强制停机。2. 界面构件排版杂乱问题模式按钮、滑块、数值文本上下左右不对齐。 优化方案 MCGS 框选全部构件使用工具栏对齐工具左对齐、上对齐、横向等间距、纵向等间距标准化 UI 布局。3. 无模式切换停机缓冲进阶优化模式切换时增加 T37 延时 0.1 秒停机缓冲等小车完全停稳再切换控制逻辑动作更平稳。八、整套功能运行流程总结拖入矩形框文字标注实时位置监视作为分区标题添加标签勾选【显示输出】→【数值量输出】表达式VD0小车实时位置单位填写米模拟单位仅界面展示复制标签关联变量VD104用于显示滑块设定的目标位置框选两个数值标签使用上对齐、等间距排版解决按钮错位不美观问题四、PLC 子程序随动程序模式二专用逻辑新建子程序命名「随动程序」仅 VD1002模式二时主程序调用核心梯形图逻辑SM0.0 全程循环网络 1位置对比 右行输出当前位置 目标位置比较指令VD0 VD104互锁逻辑AN Q0.0断开左行置位S Q0.1, 1右行输出小车向右靠近目标比较指令VD0 VD104互锁逻辑AN Q0.1断开右行置位S Q0.0, 1左行输出小车向左靠近目标软件互锁启动右行时切断左行输出启动左行切断右行杜绝两路输出同时导通短路风险行程限位依托 VD0 0~100 数值范围不会出现小车超轨主程序内通过比较触点判断当前模式 VD100选择性调用子程序VD1001调用运动控制手动模式VD1002调用随动程序滑块追踪模式VD1003/4预留后续两种模式子程序调用位故障根源未做条件调用时手动、随动程序同时运行Q0.0/Q0.1 被两套逻辑反复置复位输出冲突、小车动作紊乱。优化方案单一模式同一时间仅执行一套控制子程序模式切换时自动切断另一套逻辑。上电默认模式 1手动点击模式二按钮后 VD1002随动程序启动拖拽触摸屏滑块到 60 → VD10460小车自动走到 58 左右停止微小差值为 PLC 扫描周期、通讯延迟硬件误差无持续抖动滑块拖至 100小车运行至轨道最右端停机拖至 0自动回到最左端切回模式一滑块随动逻辑立即失效恢复手动按钮控制小车PLC 上电 → SM0.1 初始化 VD1001默认手动模式触摸屏点击模式二按钮 → M5.1 导通MOVE 2→VD100主程序检测 VD1002调用随动子程序拖拽滑块修改 VD104 目标数值PLC 实时对比 VD0 与 VD104根据大小关系自动输出左 / 右行到位双输出复位停机画面实时显示当前位置 VD0、目标位置 VD104直观观察追踪效果切回模式一随动程序停止恢复手动点动控制小车A5 自动模式基于前面手动模式 1、滑块随动模式 2新增模式三自动三工位循环包含限位仿真、自动启停逻辑、多步流程、运行状态文字提示、模式切换冲突问题说明。一、PLC 地址扩容不与原有地址冲突原有占用 M0.0/M0.1 坦克方向M0.2/M0.3/M0.4 工位限位 M5.0~M5.3 模式选择VD0 坦克位置VD100 模式数值VD104 随动目标值1. 新增 M 区中间继电器M5.6自动启动按钮触摸屏按钮按 1 松 0 触发M5.7自动停止按钮2. 数字量数据符号表新增寄存器表格地址名称类型功能VD108自动状态32 位有符号自动流程步序0 停止1 复位回 A2 前往 B3B 点延时4 返回 A5 前往 C6 回到 A 完成一轮循环二、触摸屏工位限位指示灯制作A/B/C 三点仿真限位监控画面插入 3 个矩形方框灰色底色得电变为红色分别绑定可见度一号灯A 工位M0.21二号灯B 工位M0.31三号灯C 工位M0.41框选三个灯使用「上对齐、横向等间距」规整排版原理依靠 VD0 坦克位置模拟物理限位无需外接真实传感器。三、子程序 1限位模拟全程循环执行子程序命名限位模拟SM0.0 常开持续扫描 梯形图三段比较赋值VD0 0→ 输出 M0.21到达 A 工位限位VD0 50→ 输出 M0.31到达中间 B 工位限位VD0 100→ 输出 M0.41到达 C 工位限位 坦克走到对应坐标对应限位指示灯自动变红模拟传感器信号。四、子程序 2自动程序仅 VD1003 模式三才调用基础规则启动联锁只有 VD1080自动停止状态时M5.6 启动信号才生效运行中按启动无响应防止流程错乱。停止逻辑M5.7 按下复位 VD1080同时复位 Q0.0 左行、Q0.1 右行电机立即停机。流程总逻辑六步循环步 1 VD1081自动复位回 A 工位置位 Q0.0 左行 触发 M0.2A 限位到位后复位左行输出MOVE 2→VD108 进入第二步。步 2 VD1082A→B 右行置位 Q0.1 右行 触发 M0.3B 限位到位断开右行MOVE 3→VD108。步 3 VD1083B 工位延时停留使用 T38 定时器避开已占用的 T37 脉冲定时器延时 2s 定时到后 MOVE 4→VD108。步 4 VD1084B 返回 A 左行置位 Q0.0 左行到达 A 限位 M0.2复位左行MOVE 5→VD108。步 5 VD1085A→C 右行置位 Q0.1 右行到达 C 限位 M0.4断开右行MOVE 6→VD108。步 6 VD1086C 返回 A 左行置位 Q0.0 左行回到 A 限位 M0.2复位左行输出 MOVE 0→VD108一轮循环结束回到停止等待状态。如需无限循环在 VD1086 完成后直接 MOVE 1 而不是 0自动重复往返。五、触摸屏自动启停按钮制作自动启动按钮填充绿色、黑色边框、黑色文字 START操作属性按 1 送 0绑定 M5.6。自动停止按钮填充红色、黑色边框、白色文字 STOP操作属性按 1 送 0绑定 M5.7。六、自动运行状态文字监视多状态切换显示新建 3 个文本标签叠放同一位置依靠 VD108 步序控制可见度文本 1系统停止中等待启动 可见条件VD108 0文本 2系统复位中 可见条件VD108 1文本 3系统运行中 可见条件VD108 1三者合并单元画面根据自动流程自动切换提示文字。七、主程序调用逻辑VD1001模式一手动调用运动控制子程序VD1002模式二随动调用随动程序VD1003模式三自动调用自动程序限位模拟子程序全程 SM0.0 调用所有模式共用工位限位信号八、整机运行测试效果切模式三按下 START 第一步自动左行回到 A 原点复位 再右行到 B停留 2 秒返回 A再跑到 C最后回 A 停机运行中按下 STOP电机立刻停机状态显示「系统停止中」停机后才可再次启动运行状态按启动无任何反应。九、现存核心缺陷多模式运行干涉问题现象自动模式正在运行时直接切换到随动 / 手动模式Q0.0、Q0.1 输出未复位电机继续运转但画面提示文字错乱模式切换瞬间两套控制逻辑同时作用于左右行输出程序冲突、坦克动作失控、甚至扫描卡死。冲突根源仅靠 VD100 条件选择性调用子程序但模式切换瞬间没有强制停机、清除步序标记自动模式运行时 VD108≠0切去其他模式后自动步序未清零左右行输出 Q0.0/Q0.1 保持原有导通状态其他模式程序继续驱动电机。解决方案下一课时优化重点在「模式选择子程序」增加模式切换判断只要 VD100 数值发生变化立即复位 Q0.0、Q0.1切断电机输出模式切换时复位 VD108 自动步序、VD104 随动目标值清空所有模式运行标记增加互锁任意模式运行期间屏蔽另外两种模式的控制逻辑输出模式切换增加短延时缓冲待电机完全停机后再启用新模式控制。A6 模式协调协调子程序彻底解决四大模式切换冲突完整教程一、模式冲突根源回顾之前三套子程序手动、随动、自动采用条件调用但切换模式时存在 3 类遗留问题电机输出锁存Q0.0 左行、Q0.1 右行置位后不会自动断开切模式后电机持续运转自动步序残留VD108 存储自动流程步数中途切模式不清零再次切回自动会错乱运行随动无扰切换失效VD104 滑块目标值与小车当前位置 VD0 不一致切进随动瞬间小车自动窜动。解决方案新增协调子程序全程循环扫描任意模式切换瞬间统一清理所有运行标记、输出、寄存器实现无扰动、无冲突切换。二、新建协调子程序基础配置右键程序块 → 插入子程序重命名协调程序主程序 OB1 使用 SM0.0 常开全程调用协调程序所有模式共用永久执行核心触发条件捕捉模式切换动作M5.0/M5.1/M5.2/M5.3 任意模式按钮按下上升沿触发复位逻辑三、协调子程序完整梯形图逻辑分 4 大网络网络 1捕捉模式切换信号触发全局复位并联四条支路M5.0、M5.1、M5.2、M5.3四个模式选择按钮整条支路添加上升沿 EU 指令作用只有点击切换模式的一瞬间执行下方清理逻辑不会持续重复复位。网络 2强制切断电机左右行输出干掉底层执行机构上升沿触发后执行复位指令R Q0.0, 1复位左行输出R Q0.1, 1复位右行输出 效果切换模式瞬间电机立刻停机杜绝两套程序同时驱动输出冲突、短路风险。网络 3清空自动模式步序标记清除自动程序残留状态使用 MOV 双字传送指令IN0 → OUTVD108原理自动模式依靠 VD108 判断流程步数切换模式直接清零步序下次进入自动强制从头复位不会延续上次未走完的工位流程。网络 4随动模式无扰同步解决切随动小车窜动问题MOV 双字传送指令INVD0小车实时位置 → OUTVD104滑块目标位置核心作用 切换到随动模式瞬间直接把小车当前坐标赋值给滑块设定值滑块目标 小车实际位置进入随动模式小车原地不动只有手动拖动滑块才会跟随移动完美消除切换窜动。四、整套程序运行逻辑对应实操现象自动模式运行中直接切手动 / 随动协调程序捕捉模式切换上升沿Q0.0/Q0.1 立刻复位小车停机VD108 清零自动流程作废VD104 同步当前小车坐标后续切随动不会窜动。随动模式拖动滑块至 60切换自动模式电机立刻停止自动步序归零重新点启动优先回 A 工位复位流程不受之前滑块数值干扰。手动点动小车到 100切换随动模式VD104 直接等于 100滑块自动对齐当前位置画面、小车都静止拖动滑块才会运动。五、设计思路总结程序逻辑类比人生能直接清除的全部清零电机输出 Q、自动流程步序 VD108 属于 “正在执行的动作”切换新模式必须全部终止不保留旧状态相当于开启新状态前清空旧事务。无法直接消除的做同步补偿随动模式目标值与实际位置存在差值会引发动作不能简单清零采用同步赋值欺骗逻辑让目标与现状统一实现平稳过渡。统一管理所有模式状态 协调程序作为整套小车系统的 “总管家”所有模式切换动作统一在此处理每个独立控制子程序只负责对应模式运行互不干涉模块化结构清晰后期新增模式仅需在此新增对应复位逻辑即可。六、整机完整程序结构梳理永久循环调用SM0.0限位模拟子程序、协调子程序条件选择性调用依靠 VD100 模式数值VD1001运动控制手动模式VD1002随动程序滑块追踪VD1003自动程序A-B-C 三工位循环模式选择子程序触摸屏按钮赋值 VD100 切换模式协调程序模式切换瞬间统一停机、清状态、同步随动坐标彻底解决多模式干涉 bug。