1.坦克方向的控制
MCGS 昆仑通态触摸屏 + 西门子 200Smart 坦克小游戏完整实操笔记
一、前期素材准备:坦克四向俯视图图片
网络下载素材电脑连接网线,打开 360 浏览器,搜索卡通坦克俯视图,挑选绿色俯视坦克图片。
截图保存快捷键
Alt+A(微信截图工具)截取坦克,截图边框不要留太大空白,避免画面显示异常;截图后另存到桌面。断网接线图片保存完成后拔掉网线,用网线 / 通讯线连接西门子 S7-200 Smart PLC 和电脑。
二、软件介绍:MCGS 昆仑通态触摸屏(国产工控优势)
同时打开两款软件:西门子 200Smart PLC 编程软件、MCGS Pro 昆仑通态组态软件
早年国外触摸屏垄断市场:西门子、三菱黑白触摸屏单价上万,价格天价;
昆仑通态国产触摸屏问世后大幅拉低行业价格,2 台仅 300 元;
国产工控核心价值:解决设备有无问题,倒逼外资品牌降价,降低国内自动化设备使用成本。
三、PLC 电脑网络通讯排查(TCP/IP 网卡连接)
1. 软件内搜索 PLC
软件通讯接口必须选择网卡,选错接口会搜不到 PLC;搜索不到 PLC 按以下步骤排查:
2. PG/PC 接口配置
打开电脑控制面板 → PG/PC 接口设置,检查MW Smart在线访问节点,确认是 TCP/IP 对应网卡。
3. 电脑以太网 IP 修改
打开网络和共享中心→以太网属性,修改电脑 IPv4 地址: PLC 默认 IP:192.168.2.1电脑 IP 设置为192.168.2.150规则:前三段网段一致,最后一段数字不同,保存确认。
4. 程序下载运行
通讯正常后,将 PLC 程序下载至控制器,点击运行,提前保存工程文件。
四、MCGS 触摸屏工程通讯搭建
新建画面,添加TCP/IP 父设备(代表网口通讯);
父设备参数设置:
触摸屏本地 IP:
192.168.2.190远程 IP:填写 PLC 地址
192.168.2.1远程端口:默认 102(西门子 PLC 标准端口);
打开用户组态画面,准备导入坦克图片。
五、制作上下左右四方向坦克素材(MCGS 无法直接旋转位图,用 PPT 处理)
问题:MCGS 内置图片工具局限性
导入单张坦克位图后,软件自带旋转、镜像功能无法改变图片朝向,无法做出上下左右 4 个方向坦克,解决方案用 PPT 预处理素材:
新建 PPT,幻灯片设置无填充背景;
插入桌面坦克原图,分别调整出 4 个朝向:左、上、右、下;
选中每个方向坦克,右键另存为图片,四张图全部保存桌面;
回 MCGS 软件,依次「装载位图」导入四张坦克图;
统一图片尺寸:宽高相等(推荐 50×50 像素,也可 100×100),保证坦克比例不变形;
画面内复制四份图片元件,分别对应左、上、右、下坦克。
六、触摸屏画面:关联 PLC 中间寄存器 M 点(画面可见性控制)
画面元件重命名,总分类命名「坦克要素」;
四个坦克图片的可见度属性绑定 PLC M 寄存器:
向左坦克:可见 =
M0.0向上坦克:可见 =
M0.1向右坦克:可见 =
M0.2向下坦克:可见 =
M0.3逻辑:同一时间仅 1 个 M 点为 1,只显示对应方向坦克,其余隐藏。
七、西门子 200Smart PLC 程序编写(2 个子程序 + 主程序调用)
全局变量规则
VD0:方向寄存器,数值对应坦克朝向
VD0=1 → 左
VD0=2 → 上
VD0=3 → 右
VD0=4 → 下
子程序 1:初始化参数(上电默认方向)
触发条件:SM0.1(PLC 上电第一个扫描周期仅导通一次) 指令:MOV DW传送指令,初始给VD0赋值 3 效果:设备上电默认 VD0=3,坦克初始朝右。
子程序 2:方向控制(SM0.0 永久循环执行)
用双整数等于比较指令,判断 VD0 数值,置位对应 M 点、复位其余三个 M 点:
VD0=1(向左):
S M0.0,R M0.1、M0.2、M0.3VD0=2(向上):
S M0.1,R M0.0、M0.2、M0.3VD0=3(向右):
S M0.2,R M0.0、M0.1、M0.3VD0=4(向下):
S M0.3,R M0.0、M0.1、M0.2核心逻辑:四组 M 点互斥,同一时间只激活一个方向。
主程序(SM0.0 持续运行)
循环调用两个子程序:
调用「初始化参数」(仅上电执行一次)
循环调用「方向控制」(实时刷新坦克显示方向)
八、整体调试运行
PLC 程序下载,MCGS 触摸屏工程下载;
触摸屏启动运行,上电默认显示向右坦克;
在线监控修改
VD0数值,实时切换坦克朝向:VD0=1 → 向左
VD0=2 → 向上
VD0=3 → 向右
VD0=4 → 向下
课程核心知识点总结
工控素材处理技巧:组态软件图形功能不足时,借助 PPT 预处理多姿态图片;
200Smart 以太网通讯完整排错流程(电脑 IP、PG/PC 接口、网卡选择);
MCGS 画面可视化控制:元件可见性绑定 PLC 布尔寄存器实现画面切换;
PLC 互斥逻辑编程:用数字寄存器统一控制多组输出,简化互锁程序;
SM0.1 上电初始化指令使用,实现设备开机默认状态;
国产昆仑通态触摸屏性价比优势,国产工控设备降低自动化落地成本。
2.坦克上下左右运动
一、新增变量规划(VD0 已占用,顺延地址)
VD100:坦克 X 轴横向坐标(左右)VD104:坦克 Y 轴纵向坐标(上下) 控制输出点位定义:
Q0.0 = 向上按键 / 输出
Q0.1 = 向下按键 / 输出
Q0.2 = 向左按键 / 输出
Q0.3 = 向右按键 / 输出
二、子程序 3:运动控制程序(SM0.0 循环执行)
坐标增减规则(触摸屏画面坐标系逻辑)
向上 (Q0.0):Y 轴
VD104 = VD104 - 1向下 (Q0.1):Y 轴
VD104 = VD104 + 1向左 (Q0.2):X 轴
VD100 = VD100 - 1向右 (Q0.3):X 轴
VD100 = VD100 + 1
核心问题 1:PLC 扫描速度过快,坦克瞬间飞边
解决方案:增加100ms 时钟脉冲 T37做运动使能
TON T37,设定值 = 1 → 定时 100ms,每 0.1s 导通一次脉冲
所有坐标加减运算串联 T37 常开触点,仅脉冲到来时才执行坐标变更,限制移动速度
核心问题 2:坦克超出画面边界,增加坐标限位判断
规定坐标区间:0 ≤ X/Y ≤ 100
向上减 Y 轴:前置条件
VD104 > 0,Y 不到 0 才能向上移动向下加 Y 轴:前置条件
VD104 < 100,Y 不到 100 才能向下移动向左减 X 轴:前置条件
VD100 > 0,X 不到 0 才能向左移动向右加 X 轴:前置条件
VD100 < 100,X 不到 100 才能向右移动
拓展功能:移动时自动修改方向寄存器 VD0(坦克实时转向)
移动触发同时赋值 VD0,实现画面坦克自动切换朝向:
Q0.0 向上导通 →
MOV 2, VD0(向上,M0.1 显示)Q0.1 向下导通 →
MOV 4, VD0(向下,M0.3 显示)Q0.2 向左导通 →
MOV 1, VD0(向左,M0.0 显示)Q0.3 向右导通 →
MOV 3, VD0(向右,M0.2 显示)
特殊效果:同时触发两个方向输出(斜向移动)
同时接通向上 + 向右,X、Y 坐标同步增减,坦克走 45° 斜线。
三、子程序 4:脉冲建立(T37 100ms 脉冲发生器)
SM0.0 常闭驱动 TON T37,PT=1,输出 T37 脉冲触点,给运动控制子程序做全局速度闸门。
四、主程序调用逻辑(SM0.0 永久调用)
上电单次调用:初始化参数(SM0.1)
循环调用 1:脉冲建立(产生 100ms 运动节拍)
循环调用 2:方向控制(根据 VD0 互锁 4 个坦克画面)
循环调用 3:运动控制(坐标增减、限位、自动改朝向)
五、MCGS 触摸屏画面坐标等比例映射设置
画面像素基准
坦克初始画面坐标:X=40 像素,Y=40 像素
画面可移动总区间:40 ~ 400 像素,总偏移像素 = 400 - 40 = 360px
PLC 坐标范围 0~100,等比例换算:PLC 数值 100 ↔ 画面偏移 360 像素
四张坦克图片统一属性设置
1. 水平移动(X 轴 VD100)
双击坦克元件 → 基本属性 → 水平移动
最大偏移量:360
表达式满值:100
关联变量:VD100(32 位有符号双整数) 四张坦克全部重复配置水平移动。
2. 垂直移动(Y 轴 VD104)
基本属性 → 垂直移动
最大偏移量:360
表达式满值:100
关联变量:VD104(32 位有符号双整数) 四张坦克全部重复配置垂直移动。
画面对齐设置
Ctrl 全选 4 个坦克图层,以背景基准执行「同心对齐」,保证四个方向坦克完全重叠、同步移动。
六、完整运行效果
上电初始化 VD0=3,坦克默认朝右,坐标 (40,40)
接通 Q0.0 向上:VD104 递减、VD0 自动赋值 2,画面切换向上坦克,Y 到 0 停止
接通 Q0.1 向下:VD104 递增、VD0=4,切换向下坦克,Y 到 100 停止
接通 Q0.2 向左:VD100 递减、VD0=1,切换向左坦克,X 到 0 停止
接通 Q0.3 向右:VD100 递增、VD0=3,切换向右坦克,X 到 100 停止
两路输出同时接通:双轴同步变化,坦克斜线行驶
100ms 脉冲限制移动速度,不会瞬间冲出画面;坐标限位杜绝边界溢出
本节课重点总结
地址规划规范:已占用 VD0,新坐标变量顺延 VD100、VD104,避免地址冲突;
速度控制技巧:利用 T37 定时器脉冲做扫描闸门,解决 PLC 运算过快画面瞬移;
坐标限位逻辑:数值比较指令限制 X/Y 最大最小值,防止坦克跑出画面;
MCGS 线性等比例移动:PLC0~100 数值映射触摸屏 0~360 像素偏移;
联动转向逻辑:运动输出直接改写 VD0,实现移动时坦克图片自动切换朝向;
复合运动:双方向输出同时激活,实现斜线移动效果;
组态批量设置技巧:四张坦克统一配置移动属性,同心对齐保证同步。
3.系统框架 手动程序编写
一、前置基础
前期已完成:脉冲控制、运动控制、初始化参数、方向控制仿真调试,环境搭建完毕。本节课核心:系统重型设备运行框架(工控十年迭代 7~8 代成熟架构,整套设备程序核心骨架)。
轻型框架 vs 重型框架
轻型:仅实现简单启停运动; 重型:从设备完整运行生命周期做状态分层逻辑约束,规范手动 / 自动互锁、复位回零、安全输出切断、权限切换限制,所有非标设备通用。
二、全局地址规划(核心寄存器、中间变量)
1. 触摸屏按钮中间 M 点(SMI 交互按钮映射)
表格
地址 | 功能定义 |
|---|---|
M5.0 | 停止按钮 |
M5.1 | 复位按钮 |
M5.2 | 启动按钮 |
M5.3 | 切换自动模式按钮 |
M5.4 | 切换手动模式按钮 |
M5.5 | 手动上行 |
M5.6 | 手动下行 |
M5.7 | 手动左移 |
M6.0 | 手动右移 |
2. 32 位数据寄存器 VD(状态、轴位置)
表格
地址 | 含义 |
|---|---|
VD4 | 系统总状态(核心状态机,值 1/2/3/4 四档位) |
VD8 | 自动运行状态标志 |
VD100 | X 轴实时位置 |
VD104 | Y 轴实时位置 |
3. 模式切换标志位
M10.0:手自动模式标志
M10.0=0 → 自动模式
M10.0=1 → 手动模式
4. 执行输出 Q(XY 轴运动输出)
Q0.0:Y 轴上行 Q0.1:Y 轴下行 Q0.2:X 轴左移 Q0.3:X 轴右移
三、主程序四层状态机逻辑(VD4 系统状态 1/2/3/4)
状态 1:VD4=1 【停止状态】
触发条件:PLC 上电瞬间 / M5.0 停止按钮按下 执行动作:
全部运动输出复位:R Q0.0、R Q0.1、R Q0.2、R Q0.3,切断所有轴动作;
清除自动运行标志:VD8 赋值 0,关闭自动;
唯一允许手自动模式切换的状态,复位、自动运行时无法切换模式。
状态 2:VD4=2 【设备回零复位状态】
触发条件:停止状态下按下复位 M5.1,VD4 赋值 2 回零动作带位置互锁(防止超程、反向动作):
Y 轴上行置位 S Q0.0:仅当 VD104(Y 轴位置)>0 时允许,Y 轴回到原点(VD104=0)立刻复位 R Q0.0;
Y 轴下行永久复位 R Q0.1;
X 轴左移置位 S Q0.2:仅当 VD100(X 轴位置)>0 时允许,X 轴回零(VD100=0)立刻复位 R Q0.2;
X 轴右移永久复位 R Q0.3; 自动跳转逻辑:当 X 轴位置 VD100=0且Y 轴位置 VD104=0 → 双轴原点到位,复位完成,系统自动跳至状态 3。
状态 3:VD4=3 【复位完成待机状态】
两种运行分支,由 M10.0 手自动标志区分:
分支 1(M10.0=0,自动模式):等待启动按钮 M5.2 按下,按下后系统跳转至状态 4;
分支 2(M10.0=1,手动模式):调用手动子程序,支持触摸屏上下左右点动操作; 限制:此状态禁止切换手自动模式,必须切回停止 VD4=1 才能切换。
状态 4:VD4=4 【自动运行状态】
触发:待机 3 状态下 M5.2 启动按下 执行逻辑:
VD8 自动状态标志置 1;
调用独立自动子程序,设备全自动循环运行; 限制:运行中无法切换手自动,按下 M5.0 停止直接切回状态 1,切断全部输出。
四、独立子程序划分(主程序从上至下调用顺序)
子程序 1:手自动切换程序(最高优先级,主程序第一行调用)
执行前置约束:仅 VD4=1(停止状态)时程序生效,其余状态直接屏蔽 逻辑:
M5.3(进入自动)上升沿:R M10.0 → M10.0=0,切换自动;
M5.4(进入手动)上升沿:S M10.0 → M10.0=1,切换手动;
子程序 2:手动运行子程序(仅 VD4=3+M10.0=1 时调用)
点动逻辑(互斥:同一时间仅一个轴动作):
M5.5 → S Q0.0 手动上
M5.6 → S Q0.1 手动下
M5.7 → S Q0.2 手动左
M6.0 → S Q0.3 手动右
保护逻辑:四个点动按钮全部松开时,统一复位全部 Q 输出,轴立即停止。
子程序 3:自动运行子程序(仅 VD4=4 时调用)
存放设备全自动流程、流水线逻辑,独立封装不与手动程序耦合。
子程序 4:初始化程序
PLC 上电 / 急停停止后统一初始化系统状态、寄存器、输出。
五、触摸屏 HMI 界面布局设计(操作区完整控件)
1. 核心三大基础按钮(所有设备标配)
停止按钮:红色底色、白字黑边框,文本 “停止”,关联 M5.0;
复位按钮:黄色底色,文本 “复位”,关联 M5.1;
启动按钮:绿色底色,文本 “启动”,关联 M5.2。
2. 模式切换按钮
进入自动:关联 M5.3;
进入手动:关联 M5.4; 配套状态指示箭头控件:
箭头指向自动:M10.0=0(自动模式可见);
箭头指向手动:M10.0=1(手动模式可见)。
3. 系统状态监视文本(读取 VD4 32 位有符号数)
根据 VD4 数值切换显示文本:
VD4=1 → 文本:系统停止中
VD4=2 → 文本:设备复位回零中
VD4=3 → 文本:复位完成待机
VD4=4 → 文本:自动运行中
4. 手动点动四向按钮
上 (M5.5)、下 (M5.6)、左 (M5.7)、右 (M6.0),仅手动模式下有效,自动模式点击无动作。
六、框架核心价值与学习重点
通用性:所有流水线、搬运、伺服定位设备通用,一套框架复用所有项目;
安全逻辑闭环:
运行 / 复位状态禁止切换手动自动,防止误操作;
回零带轴位置限位互锁,不会撞机;
停止一键切断所有运动输出;
手动点动互斥,不会多轴同时误动作;
技术沉淀:整套架构是十年现场工程迭代 7~8 代优化而来,自行摸索需要重复十年试错;
学习核心难点:吃透VD4 四档位状态机,分清每个状态允许 / 禁止操作、跳转条件;状态逻辑不理解,后续所有设备程序无法独立编写。
七、完整设备运行流程演示
PLC 上电 → VD4=1 停止,所有输出切断,可切换手动 / 自动;
停止状态切自动 → 按复位 M5.1,VD4=2 自动回零,XY 轴自动找原点;
双轴原点到位 → VD4 自动变为 3 待机;
待机按下启动 M5.2 → VD4=4,调用自动程序全自动运行;
任意时刻按停止 M5.0 → 立刻切回 VD4=1,全部轴停止;
停止状态切换手动模式 → 复位完成待机后,可操作上下左右点动控制;
关键限制:设备复位中、自动运行、待机状态,无法切换手自动,必须停机才能切换模式。
补充实操排坑点
复位失败常见原因:
轴位置 VD100/VD104 数值未归零,不满足跳转状态 3 条件;
程序内存在 M5.0 停止信号常闭触发,持续打断复位流程;
输出复位指令冲突,上下左右输出被强制切断。
4.示教程序
一、承接上一节重型框架的遗留问题
整套设备框架能实现:停止 / 复位 / 待机 / 自动、手动点动、手自动互锁切换,但自动运行缺少目标点位坐标。 需求:伺服坦克小车沿矩形 4 个拐点循环跑圈,现场坐标不固定,不用手动改写程序,采用手动示教保存坐标方案;坐标断电不丢失,是 S7-200 SMART 整套课程最难的核心拓展功能。
二、PLC 地址分区(严格分区,杜绝地址重叠冲突)
1. 实时轴位置(动态刷新,上电清零)
VD100:X 轴实时脉冲坐标 VD104:Y 轴实时脉冲坐标
2. 整机状态核心寄存器
VD4:系统四档位状态机(1 停止 / 2 复位 / 3 复位完成待机 / 4 自动运行) VD8:自动运行标志位
3. HMI 交互专用区(试教指针,人机操作)
VD200:试教指针(口误说成视觉指针),数值 1~4,代表当前要存储第几个拐点
4. M 点新增按钮地址
M6.1:触摸屏【试教保存】触发按钮
5. 断电保持寄存器区 Keep Data(口误 “宝石”= 保持)
起始地址:VD1000,需在 PLC 系统块配置断电保持范围 单个拐点占用 2 个 VD(X 坐标 + Y 坐标),4 个拐点合计 8 个 32 位寄存器 1 号拐点:VD1000(X1)、VD1004(Y1) 2 号拐点:VD1008(X2)、VD1012(Y2) 3 号拐点:VD1016(X3)、VD1020(Y3) 4 号拐点:VD1024(X4)、VD1028(Y4)
三、示教程序核心逻辑(指令 MOVDW 32 位双字传送,口误 moddw)
常通条件 SM0.0,上升沿触发 M6.1 试教按钮,根据 VD200 指针数值分支传送当前轴坐标至保持区:
VD200=1(保存第 1 个点) MOVDW VD100, VD1000 MOVDW VD104, VD1004
VD200=2(保存第 2 个点) MOVDW VD100, VD1008 MOVDW VD104, VD1012
VD200=3(保存第 3 个点) MOVDW VD100, VD1016 MOVDW VD104, VD1020
VD200=4(保存第 4 个点) MOVDW VD100, VD1024 MOVDW VD104, VD1028
四、触摸屏 HMI 全部控件制作步骤
1. 轴坐标实时监视框
X 轴位置显示:绑定 VD100,数据格式 32 位有符号整数
Y 轴位置显示:绑定 VD104,数据格式 32 位有符号整数 放大字号方便现场观察实时位置
2. 试教指针数值输入框
绑定地址 VD200 参数限制:最小值 1,最大值 4,仅显示整数、无小数; 作用:手动输入数字,选定本次要存储的拐点序号。
3. 试教保存按钮
文本:试教,关联 M6.1,按键模式 “按 1 松 0”,按下执行坐标存储逻辑。
4. 点位数据表格(必备控件)
读取 VD1000~VD1028 共 8 组坐标,可视化查看全部保存拐点,不用频繁打开 PLC 状态图表核对。
五、完整现场示教实操流程(严格遵守重型框架权限限制)
PLC 系统状态 VD4=1【停止模式】,允许切换手自动;切换至手动模式(M10.0=1)
按下复位 M5.1,设备回原点,XY 轴全部归零后 VD4 自动变为 3【复位完成待机】
使用手动上下左右按钮(M5.5/M5.6/M5.7/M6.0)点动坦克移动至第一个矩形拐角
HMI 试教输入框填写数字 1,点击【试教】按钮,当前 XY 坐标存入保持区 VD1000、VD1004
点动小车移动至第二个拐点,指针改为 2,再次点击试教保存二号点位
重复操作,依次保存 3 号、4 号矩形拐点坐标
全部点位存储完成后,表格内可查看 8 组坐标;PLC 断电后坐标不会丢失,无需重复示教
切回自动模式,按下启动 M5.2,自动程序读取 VD1000 起的 4 组坐标,沿矩形循环运行,跑完自动回原点
六、核心权限约束(和前一节框架规则统一)
手自动切换仅 VD4=1 停止状态可用;复位、待机、自动运行状态禁止切换模式
示教保存操作仅在 VD4=3 手动待机状态生效,自动运行时无法保存点位,防止误覆盖坐标
地址分区规范: VD0~VD99:整机状态、基础交互数据 VD100~VD199:伺服轴实时位置 VD200~VD999:HMI 人机交互专用(试教指针) VD1000 往后:断电保持存储区 分区相互隔离,不会出现数据覆盖问题
七、这套示教功能的工程价值
通用性:所有伺服定位、搬运、走轨迹非标设备通用;
灵活性:现场更换工装、调整轨迹不用修改 PLC 程序,触摸屏直接重新示教点位;
实用性:保持寄存器永久存储坐标,断电重启数据留存;
学习定位:整套重型框架的收尾进阶内容,吃透后可独立完成完整伺服轨迹设备程序。
补充口误汇总(方便你听课对照)
视觉指针 → 试教指针
宝石范围 → 断电保持范围
moddw → MOVDW(西门子双字传送指令)
视角按钮 / 视角程序 → 试教按钮 / 示教程序
系统锁动 → 手动模式
5 自动程序编写
自动轨迹程序完整梳理(承接前面重型框架 + 4 点示教存储)
一、前置补充 HMI 图层问题
画面坦克轨迹框遮挡小车,解决:右键图形→排列→置于底层; 隐患:PLC / 触摸屏重新下载程序,普通 V 区数据会清空,因此点位坐标统一存VD1000 起断电保持区,断电、下载不丢失坐标。
二、新增全局地址定义
VD12:读取指针(自动程序专用,读取第几个示教点位) 初始值 = 0,每次循环起点自动 + 1
VD16:执行 X(当前要前往的目标 X 坐标)
VD20:执行 Y(当前要前往的目标 Y 坐标)
VD8:自动运行标志位(VD8=1 代表自动程序允许执行;VD8=100 代表 4 个点位全部跑完,轨迹结束)
T38:点位到位停留定时器,定时 2S
三、自动程序完整分步逻辑(四步循环流程)
第一步:读取指针自增
自动程序启动(VD8=1),先将 VD12=VD12+1,跳转第二步读取点位坐标。 约束:总共 4 个示教点位,仅允许指针 1~4 执行轨迹;
VD12>4:4 个拐点全部走完,执行结束逻辑
VD12≤4:正常读取对应点位 XY 坐标
第二步:根据读取指针调取保持区点位
通过 VD12 数值匹配 VD1000~VD1028 保存的示教坐标,用 MOV 指令赋值给 VD16(目标 X)、VD20(目标 Y):
VD12=1:MOV VD1000→VD16;MOV VD1004→VD20
VD12=2:MOV VD1008→VD16;MOV VD1012→VD20
VD12=3:MOV VD1016→VD16;MOV VD1020→VD20
VD12=4:MOV VD1024→VD16;MOV VD1028→VD20 读取完成统一跳转第三步,轴定位运动。
第三步:XY 轴双向互锁定位控制(核心互锁逻辑)
X 轴(VD100 当前位置 / VD16 目标位置,输出 Q0.2 左、Q0.3 右)
当前 X < 目标 X:小车在左侧,需向右走 → S Q0.3,同时 R Q0.2(左右互锁,不能同时输出)
当前 X > 目标 X:小车在右侧,需向左走 → S Q0.2,同时 R Q0.3
当前 X = 目标 X:X 轴到位 → R Q0.2、R Q0.3,切断 X 轴运动
Y 轴(VD104 当前位置 / VD20 目标位置,输出 Q0.0 上、Q0.1 下)
当前 Y < 目标 Y:小车偏上,需向下走 → S Q0.1,同时 R Q0.0(上下互锁)
当前 Y > 目标 Y:小车偏下,需向上走 → S Q0.0,同时 R Q0.1
当前 Y = 目标 Y:Y 轴到位 → R Q0.0、R Q0.1,切断 Y 轴运动
到位判断跳转
当X 轴坐标 = VD16 且 Y 轴坐标 = VD20,判定当前点位到达,跳转第四步延时。
第四步:点位停留 + 循环判断
触发 T38,定时 2 秒,小车在当前拐点暂停;
计时完成,回到第一步,读取指针再次 + 1,读取下一个点位;
循环边界判断:VD12>4(4 个点位全部跑完)
赋值 VD8=100,标记轨迹运行完毕,跳出自动循环
四、轨迹跑完收尾复位逻辑(VD8=100 触发)
主程序检测 VD8=100,直接将整机系统状态 VD4=2(自动执行设备回零复位);
XY 轴自动回到原点,复位完成后 VD4 自动变为 3(待机状态,等待下次启动);
关键清零操作(防止下次启动错乱,两处清零,双重保险) ① 自动程序正常跑完结束:清零 VD12 读取指针 = 0、清零 VD8 自动标志; ② 运行中人工按下停止 M5.0(VD4=1 停止状态):强制清零 VD12、VD8;
重点:不清零 VD12,下次启动指针保留 4/5,直接跳过前几个点位,轨迹错乱。
五、完整设备自动运行实操流程
停止状态(VD4=1)切手动,复位回原点(VD4=3);
手动点动示教 1~4 号拐点,坐标存入 VD1000~VD1028 保持区;
切回自动模式,点击启动 M5.2 → VD4=4、VD8=1,调用自动子程序;
小车依次走完 1、2、3、4 四个示教点,每个点位停留 2 秒;
4 个点位跑完,VD12=5>4 → VD8=100,触发整机自动回零;
回原点完成进入待机 VD4=3,可再次启动重复跑轨迹。
六、点位拓展限制说明
当前程序仅适配4 个示教点:矩形、三角形均可使用(三角形只用前 3 个点位,第四个点位可复用原点);
无法直接走五角星(超过 4 个点位),如需更多轨迹点,拓展保持寄存器地址、增加读取指针分支程序即可;
坐标写入:PLC 状态图表监视 VD1000 起保持区,可手动粘贴示教数值写入,重新下载程序数据不丢失。
七、核心设计要点总结
双指针分离:VD200(HMI 示教保存指针)、VD12(自动轨迹读取指针),分工互不干扰;
轴输出硬互锁:左右、上下输出永远不会同时导通,避免驱动器短路;
断电保持存储示教坐标,不用每次开机重新示教;
双重清零保护读取指针,杜绝二次启动逻辑异常;
整套程序依托前面四状态重型框架,手自动权限、停止复位逻辑完全统一,是一套完整可落地的伺服轨迹控制系统。