三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

200samrt 坦克世界

200samrt 坦克世界

1.坦克方向的控制

MCGS 昆仑通态触摸屏 + 西门子 200Smart 坦克小游戏完整实操笔记

一、前期素材准备:坦克四向俯视图图片

  1. 网络下载素材电脑连接网线,打开 360 浏览器,搜索卡通坦克俯视图,挑选绿色俯视坦克图片。

  2. 截图保存快捷键Alt+A(微信截图工具)截取坦克,截图边框不要留太大空白,避免画面显示异常;截图后另存到桌面。

  3. 断网接线图片保存完成后拔掉网线,用网线 / 通讯线连接西门子 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 触摸屏工程通讯搭建

  1. 新建画面,添加TCP/IP 父设备(代表网口通讯);

  2. 父设备参数设置:

    • 触摸屏本地 IP:192.168.2.190

    • 远程 IP:填写 PLC 地址192.168.2.1

    • 远程端口:默认 102(西门子 PLC 标准端口);

  3. 打开用户组态画面,准备导入坦克图片。

五、制作上下左右四方向坦克素材(MCGS 无法直接旋转位图,用 PPT 处理)

问题:MCGS 内置图片工具局限性

导入单张坦克位图后,软件自带旋转、镜像功能无法改变图片朝向,无法做出上下左右 4 个方向坦克,解决方案用 PPT 预处理素材:

  1. 新建 PPT,幻灯片设置无填充背景

  2. 插入桌面坦克原图,分别调整出 4 个朝向:左、上、右、下;

  3. 选中每个方向坦克,右键另存为图片,四张图全部保存桌面;

  4. 回 MCGS 软件,依次「装载位图」导入四张坦克图;

  5. 统一图片尺寸:宽高相等(推荐 50×50 像素,也可 100×100),保证坦克比例不变形;

  6. 画面内复制四份图片元件,分别对应左、上、右、下坦克。

六、触摸屏画面:关联 PLC 中间寄存器 M 点(画面可见性控制)

  1. 画面元件重命名,总分类命名「坦克要素」;

  2. 四个坦克图片的可见度属性绑定 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 点:

  1. VD0=1(向左):S M0.0R M0.1、M0.2、M0.3

  2. VD0=2(向上):S M0.1R M0.0、M0.2、M0.3

  3. VD0=3(向右):S M0.2R M0.0、M0.1、M0.3

  4. VD0=4(向下):S M0.3R M0.0、M0.1、M0.2核心逻辑:四组 M 点互斥,同一时间只激活一个方向。

主程序(SM0.0 持续运行)

循环调用两个子程序:

  1. 调用「初始化参数」(仅上电执行一次)

  2. 循环调用「方向控制」(实时刷新坦克显示方向)

八、整体调试运行

  1. PLC 程序下载,MCGS 触摸屏工程下载;

  2. 触摸屏启动运行,上电默认显示向右坦克;

  3. 在线监控修改VD0数值,实时切换坦克朝向:

    • VD0=1 → 向左

    • VD0=2 → 向上

    • VD0=3 → 向右

    • VD0=4 → 向下

课程核心知识点总结

  1. 工控素材处理技巧:组态软件图形功能不足时,借助 PPT 预处理多姿态图片;

  2. 200Smart 以太网通讯完整排错流程(电脑 IP、PG/PC 接口、网卡选择);

  3. MCGS 画面可视化控制:元件可见性绑定 PLC 布尔寄存器实现画面切换;

  4. PLC 互斥逻辑编程:用数字寄存器统一控制多组输出,简化互锁程序;

  5. SM0.1 上电初始化指令使用,实现设备开机默认状态;

  6. 国产昆仑通态触摸屏性价比优势,国产工控设备降低自动化落地成本。

2.坦克上下左右运动

一、新增变量规划(VD0 已占用,顺延地址)

  1. VD100:坦克 X 轴横向坐标(左右)

  2. 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做运动使能

  1. TON T37,设定值 = 1 → 定时 100ms,每 0.1s 导通一次脉冲

  2. 所有坐标加减运算串联 T37 常开触点,仅脉冲到来时才执行坐标变更,限制移动速度

核心问题 2:坦克超出画面边界,增加坐标限位判断

规定坐标区间:0 ≤ X/Y ≤ 100

  1. 向上减 Y 轴:前置条件VD104 > 0,Y 不到 0 才能向上移动

  2. 向下加 Y 轴:前置条件VD104 < 100,Y 不到 100 才能向下移动

  3. 向左减 X 轴:前置条件VD100 > 0,X 不到 0 才能向左移动

  4. 向右加 X 轴:前置条件VD100 < 100,X 不到 100 才能向右移动

拓展功能:移动时自动修改方向寄存器 VD0(坦克实时转向)

移动触发同时赋值 VD0,实现画面坦克自动切换朝向:

  1. Q0.0 向上导通 →MOV 2, VD0(向上,M0.1 显示)

  2. Q0.1 向下导通 →MOV 4, VD0(向下,M0.3 显示)

  3. Q0.2 向左导通 →MOV 1, VD0(向左,M0.0 显示)

  4. Q0.3 向右导通 →MOV 3, VD0(向右,M0.2 显示)

特殊效果:同时触发两个方向输出(斜向移动)

同时接通向上 + 向右,X、Y 坐标同步增减,坦克走 45° 斜线。

三、子程序 4:脉冲建立(T37 100ms 脉冲发生器)

SM0.0 常闭驱动 TON T37,PT=1,输出 T37 脉冲触点,给运动控制子程序做全局速度闸门。

四、主程序调用逻辑(SM0.0 永久调用)

  1. 上电单次调用:初始化参数(SM0.1)

  2. 循环调用 1:脉冲建立(产生 100ms 运动节拍)

  3. 循环调用 2:方向控制(根据 VD0 互锁 4 个坦克画面)

  4. 循环调用 3:运动控制(坐标增减、限位、自动改朝向)

五、MCGS 触摸屏画面坐标等比例映射设置

画面像素基准

  • 坦克初始画面坐标:X=40 像素,Y=40 像素

  • 画面可移动总区间:40 ~ 400 像素,总偏移像素 = 400 - 40 = 360px

  • PLC 坐标范围 0~100,等比例换算:PLC 数值 100 ↔ 画面偏移 360 像素

四张坦克图片统一属性设置

1. 水平移动(X 轴 VD100)

  1. 双击坦克元件 → 基本属性 → 水平移动

  2. 最大偏移量:360

  3. 表达式满值:100

  4. 关联变量:VD100(32 位有符号双整数) 四张坦克全部重复配置水平移动。

2. 垂直移动(Y 轴 VD104)

  1. 基本属性 → 垂直移动

  2. 最大偏移量:360

  3. 表达式满值:100

  4. 关联变量:VD104(32 位有符号双整数) 四张坦克全部重复配置垂直移动。

画面对齐设置

Ctrl 全选 4 个坦克图层,以背景基准执行「同心对齐」,保证四个方向坦克完全重叠、同步移动。

六、完整运行效果

  1. 上电初始化 VD0=3,坦克默认朝右,坐标 (40,40)

  2. 接通 Q0.0 向上:VD104 递减、VD0 自动赋值 2,画面切换向上坦克,Y 到 0 停止

  3. 接通 Q0.1 向下:VD104 递增、VD0=4,切换向下坦克,Y 到 100 停止

  4. 接通 Q0.2 向左:VD100 递减、VD0=1,切换向左坦克,X 到 0 停止

  5. 接通 Q0.3 向右:VD100 递增、VD0=3,切换向右坦克,X 到 100 停止

  6. 两路输出同时接通:双轴同步变化,坦克斜线行驶

  7. 100ms 脉冲限制移动速度,不会瞬间冲出画面;坐标限位杜绝边界溢出

本节课重点总结

  1. 地址规划规范:已占用 VD0,新坐标变量顺延 VD100、VD104,避免地址冲突;

  2. 速度控制技巧:利用 T37 定时器脉冲做扫描闸门,解决 PLC 运算过快画面瞬移;

  3. 坐标限位逻辑:数值比较指令限制 X/Y 最大最小值,防止坦克跑出画面;

  4. MCGS 线性等比例移动:PLC0~100 数值映射触摸屏 0~360 像素偏移;

  5. 联动转向逻辑:运动输出直接改写 VD0,实现移动时坦克图片自动切换朝向;

  6. 复合运动:双方向输出同时激活,实现斜线移动效果;

  7. 组态批量设置技巧:四张坦克统一配置移动属性,同心对齐保证同步。

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 停止按钮按下 执行动作:

  1. 全部运动输出复位:R Q0.0、R Q0.1、R Q0.2、R Q0.3,切断所有轴动作;

  2. 清除自动运行标志:VD8 赋值 0,关闭自动;

  3. 唯一允许手自动模式切换的状态,复位、自动运行时无法切换模式。

状态 2:VD4=2 【设备回零复位状态】

触发条件:停止状态下按下复位 M5.1,VD4 赋值 2 回零动作带位置互锁(防止超程、反向动作):

  1. Y 轴上行置位 S Q0.0:仅当 VD104(Y 轴位置)>0 时允许,Y 轴回到原点(VD104=0)立刻复位 R Q0.0;

  2. Y 轴下行永久复位 R Q0.1;

  3. X 轴左移置位 S Q0.2:仅当 VD100(X 轴位置)>0 时允许,X 轴回零(VD100=0)立刻复位 R Q0.2;

  4. X 轴右移永久复位 R Q0.3; 自动跳转逻辑:当 X 轴位置 VD100=0Y 轴位置 VD104=0 → 双轴原点到位,复位完成,系统自动跳至状态 3。

状态 3:VD4=3 【复位完成待机状态】

两种运行分支,由 M10.0 手自动标志区分:

  1. 分支 1(M10.0=0,自动模式):等待启动按钮 M5.2 按下,按下后系统跳转至状态 4;

  2. 分支 2(M10.0=1,手动模式):调用手动子程序,支持触摸屏上下左右点动操作; 限制:此状态禁止切换手自动模式,必须切回停止 VD4=1 才能切换。

状态 4:VD4=4 【自动运行状态】

触发:待机 3 状态下 M5.2 启动按下 执行逻辑:

  1. VD8 自动状态标志置 1;

  2. 调用独立自动子程序,设备全自动循环运行; 限制:运行中无法切换手自动,按下 M5.0 停止直接切回状态 1,切断全部输出。

四、独立子程序划分(主程序从上至下调用顺序)

子程序 1:手自动切换程序(最高优先级,主程序第一行调用)

执行前置约束:仅 VD4=1(停止状态)时程序生效,其余状态直接屏蔽 逻辑:

  1. M5.3(进入自动)上升沿:R M10.0 → M10.0=0,切换自动;

  2. M5.4(进入手动)上升沿:S M10.0 → M10.0=1,切换手动;

子程序 2:手动运行子程序(仅 VD4=3+M10.0=1 时调用)

点动逻辑(互斥:同一时间仅一个轴动作):

  1. M5.5 → S Q0.0 手动上

  2. M5.6 → S Q0.1 手动下

  3. M5.7 → S Q0.2 手动左

  4. M6.0 → S Q0.3 手动右

  5. 保护逻辑:四个点动按钮全部松开时,统一复位全部 Q 输出,轴立即停止。

子程序 3:自动运行子程序(仅 VD4=4 时调用)

存放设备全自动流程、流水线逻辑,独立封装不与手动程序耦合。

子程序 4:初始化程序

PLC 上电 / 急停停止后统一初始化系统状态、寄存器、输出。

五、触摸屏 HMI 界面布局设计(操作区完整控件)

1. 核心三大基础按钮(所有设备标配)

  1. 停止按钮:红色底色、白字黑边框,文本 “停止”,关联 M5.0;

  2. 复位按钮:黄色底色,文本 “复位”,关联 M5.1;

  3. 启动按钮:绿色底色,文本 “启动”,关联 M5.2。

2. 模式切换按钮

  1. 进入自动:关联 M5.3;

  2. 进入手动:关联 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),仅手动模式下有效,自动模式点击无动作。

六、框架核心价值与学习重点

  1. 通用性:所有流水线、搬运、伺服定位设备通用,一套框架复用所有项目;

  2. 安全逻辑闭环:

    • 运行 / 复位状态禁止切换手动自动,防止误操作;

    • 回零带轴位置限位互锁,不会撞机;

    • 停止一键切断所有运动输出;

    • 手动点动互斥,不会多轴同时误动作;

  3. 技术沉淀:整套架构是十年现场工程迭代 7~8 代优化而来,自行摸索需要重复十年试错;

  4. 学习核心难点:吃透VD4 四档位状态机,分清每个状态允许 / 禁止操作、跳转条件;状态逻辑不理解,后续所有设备程序无法独立编写。

七、完整设备运行流程演示

  1. PLC 上电 → VD4=1 停止,所有输出切断,可切换手动 / 自动;

  2. 停止状态切自动 → 按复位 M5.1,VD4=2 自动回零,XY 轴自动找原点;

  3. 双轴原点到位 → VD4 自动变为 3 待机;

  4. 待机按下启动 M5.2 → VD4=4,调用自动程序全自动运行;

  5. 任意时刻按停止 M5.0 → 立刻切回 VD4=1,全部轴停止;

  6. 停止状态切换手动模式 → 复位完成待机后,可操作上下左右点动控制;

  7. 关键限制:设备复位中、自动运行、待机状态,无法切换手自动,必须停机才能切换模式。

补充实操排坑点

复位失败常见原因:

  1. 轴位置 VD100/VD104 数值未归零,不满足跳转状态 3 条件;

  2. 程序内存在 M5.0 停止信号常闭触发,持续打断复位流程;

  3. 输出复位指令冲突,上下左右输出被强制切断。

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 指针数值分支传送当前轴坐标至保持区:

  1. VD200=1(保存第 1 个点) MOVDW VD100, VD1000 MOVDW VD104, VD1004

  2. VD200=2(保存第 2 个点) MOVDW VD100, VD1008 MOVDW VD104, VD1012

  3. VD200=3(保存第 3 个点) MOVDW VD100, VD1016 MOVDW VD104, VD1020

  4. 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 状态图表核对。

五、完整现场示教实操流程(严格遵守重型框架权限限制)

  1. PLC 系统状态 VD4=1【停止模式】,允许切换手自动;切换至手动模式(M10.0=1)

  2. 按下复位 M5.1,设备回原点,XY 轴全部归零后 VD4 自动变为 3【复位完成待机】

  3. 使用手动上下左右按钮(M5.5/M5.6/M5.7/M6.0)点动坦克移动至第一个矩形拐角

  4. HMI 试教输入框填写数字 1,点击【试教】按钮,当前 XY 坐标存入保持区 VD1000、VD1004

  5. 点动小车移动至第二个拐点,指针改为 2,再次点击试教保存二号点位

  6. 重复操作,依次保存 3 号、4 号矩形拐点坐标

  7. 全部点位存储完成后,表格内可查看 8 组坐标;PLC 断电后坐标不会丢失,无需重复示教

  8. 切回自动模式,按下启动 M5.2,自动程序读取 VD1000 起的 4 组坐标,沿矩形循环运行,跑完自动回原点

六、核心权限约束(和前一节框架规则统一)

  1. 手自动切换仅 VD4=1 停止状态可用;复位、待机、自动运行状态禁止切换模式

  2. 示教保存操作仅在 VD4=3 手动待机状态生效,自动运行时无法保存点位,防止误覆盖坐标

  3. 地址分区规范: VD0~VD99:整机状态、基础交互数据 VD100~VD199:伺服轴实时位置 VD200~VD999:HMI 人机交互专用(试教指针) VD1000 往后:断电保持存储区 分区相互隔离,不会出现数据覆盖问题

七、这套示教功能的工程价值

  1. 通用性:所有伺服定位、搬运、走轨迹非标设备通用;

  2. 灵活性:现场更换工装、调整轨迹不用修改 PLC 程序,触摸屏直接重新示教点位;

  3. 实用性:保持寄存器永久存储坐标,断电重启数据留存;

  4. 学习定位:整套重型框架的收尾进阶内容,吃透后可独立完成完整伺服轨迹设备程序。

补充口误汇总(方便你听课对照)

  1. 视觉指针 → 试教指针

  2. 宝石范围 → 断电保持范围

  3. moddw → MOVDW(西门子双字传送指令)

  4. 视角按钮 / 视角程序 → 试教按钮 / 示教程序

  5. 系统锁动 → 手动模式

5 自动程序编写

自动轨迹程序完整梳理(承接前面重型框架 + 4 点示教存储)

一、前置补充 HMI 图层问题

画面坦克轨迹框遮挡小车,解决:右键图形→排列→置于底层; 隐患:PLC / 触摸屏重新下载程序,普通 V 区数据会清空,因此点位坐标统一存VD1000 起断电保持区,断电、下载不丢失坐标。

二、新增全局地址定义

  1. VD12:读取指针(自动程序专用,读取第几个示教点位) 初始值 = 0,每次循环起点自动 + 1

  2. VD16:执行 X(当前要前往的目标 X 坐标)

  3. VD20:执行 Y(当前要前往的目标 Y 坐标)

  4. VD8:自动运行标志位(VD8=1 代表自动程序允许执行;VD8=100 代表 4 个点位全部跑完,轨迹结束)

  5. T38:点位到位停留定时器,定时 2S

三、自动程序完整分步逻辑(四步循环流程)

第一步:读取指针自增

自动程序启动(VD8=1),先将 VD12=VD12+1,跳转第二步读取点位坐标。 约束:总共 4 个示教点位,仅允许指针 1~4 执行轨迹;

  • VD12>4:4 个拐点全部走完,执行结束逻辑

  • VD12≤4:正常读取对应点位 XY 坐标

第二步:根据读取指针调取保持区点位

通过 VD12 数值匹配 VD1000~VD1028 保存的示教坐标,用 MOV 指令赋值给 VD16(目标 X)、VD20(目标 Y):

  1. VD12=1:MOV VD1000→VD16;MOV VD1004→VD20

  2. VD12=2:MOV VD1008→VD16;MOV VD1012→VD20

  3. VD12=3:MOV VD1016→VD16;MOV VD1020→VD20

  4. VD12=4:MOV VD1024→VD16;MOV VD1028→VD20 读取完成统一跳转第三步,轴定位运动。

第三步:XY 轴双向互锁定位控制(核心互锁逻辑)

X 轴(VD100 当前位置 / VD16 目标位置,输出 Q0.2 左、Q0.3 右)

  1. 当前 X < 目标 X:小车在左侧,需向右走 → S Q0.3,同时 R Q0.2(左右互锁,不能同时输出)

  2. 当前 X > 目标 X:小车在右侧,需向左走 → S Q0.2,同时 R Q0.3

  3. 当前 X = 目标 X:X 轴到位 → R Q0.2、R Q0.3,切断 X 轴运动

Y 轴(VD104 当前位置 / VD20 目标位置,输出 Q0.0 上、Q0.1 下)

  1. 当前 Y < 目标 Y:小车偏上,需向下走 → S Q0.1,同时 R Q0.0(上下互锁)

  2. 当前 Y > 目标 Y:小车偏下,需向上走 → S Q0.0,同时 R Q0.1

  3. 当前 Y = 目标 Y:Y 轴到位 → R Q0.0、R Q0.1,切断 Y 轴运动

到位判断跳转

X 轴坐标 = VD16 且 Y 轴坐标 = VD20,判定当前点位到达,跳转第四步延时。

第四步:点位停留 + 循环判断

  1. 触发 T38,定时 2 秒,小车在当前拐点暂停;

  2. 计时完成,回到第一步,读取指针再次 + 1,读取下一个点位;

  3. 循环边界判断:VD12>4(4 个点位全部跑完)

    • 赋值 VD8=100,标记轨迹运行完毕,跳出自动循环

四、轨迹跑完收尾复位逻辑(VD8=100 触发)

  1. 主程序检测 VD8=100,直接将整机系统状态 VD4=2(自动执行设备回零复位);

  2. XY 轴自动回到原点,复位完成后 VD4 自动变为 3(待机状态,等待下次启动);

  3. 关键清零操作(防止下次启动错乱,两处清零,双重保险) ① 自动程序正常跑完结束:清零 VD12 读取指针 = 0、清零 VD8 自动标志; ② 运行中人工按下停止 M5.0(VD4=1 停止状态):强制清零 VD12、VD8;

重点:不清零 VD12,下次启动指针保留 4/5,直接跳过前几个点位,轨迹错乱。

五、完整设备自动运行实操流程

  1. 停止状态(VD4=1)切手动,复位回原点(VD4=3);

  2. 手动点动示教 1~4 号拐点,坐标存入 VD1000~VD1028 保持区;

  3. 切回自动模式,点击启动 M5.2 → VD4=4、VD8=1,调用自动子程序;

  4. 小车依次走完 1、2、3、4 四个示教点,每个点位停留 2 秒;

  5. 4 个点位跑完,VD12=5>4 → VD8=100,触发整机自动回零;

  6. 回原点完成进入待机 VD4=3,可再次启动重复跑轨迹。

六、点位拓展限制说明

  1. 当前程序仅适配4 个示教点:矩形、三角形均可使用(三角形只用前 3 个点位,第四个点位可复用原点);

  2. 无法直接走五角星(超过 4 个点位),如需更多轨迹点,拓展保持寄存器地址、增加读取指针分支程序即可;

  3. 坐标写入:PLC 状态图表监视 VD1000 起保持区,可手动粘贴示教数值写入,重新下载程序数据不丢失。

七、核心设计要点总结

  1. 双指针分离:VD200(HMI 示教保存指针)、VD12(自动轨迹读取指针),分工互不干扰;

  2. 轴输出硬互锁:左右、上下输出永远不会同时导通,避免驱动器短路;

  3. 断电保持存储示教坐标,不用每次开机重新示教;

  4. 双重清零保护读取指针,杜绝二次启动逻辑异常;

  5. 整套程序依托前面四状态重型框架,手自动权限、停止复位逻辑完全统一,是一套完整可落地的伺服轨迹控制系统。

← 返回列表