news 2026/9/12 6:09:10

【非标自动化】3、AutoShop快速理解(梯形图元素)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【非标自动化】3、AutoShop快速理解(梯形图元素)

Easy 系列确实基于 AutoShop,支持 LD(梯形图)等语言;另外 AutoShop 4.10.1.0 起,Easy/H5U 增加了“立即输入/输出相关指令”,所以截图里的“立即常开触点、立即常闭触点、立即输出线圈”并不是普通触点换了一个名字,而是有明确的扫描机制区别。(汇川技术)

截图里的这些元素,建议先分成6 类来理解。

1. 最基础:常开触点、常闭触点

这是整个梯形图最核心的两个元素。

常开触点—| |—

可以理解成:

如果这个变量 = TRUE / ON / 1 那么电流可以通过

例如:

X0 Y0 --| |----------( )

意思是:

X0 = ON → 条件成立 → Y0 = ON

如果 X0 是启动按钮,那么按下按钮后,PLC读取到 X0=1,Y0线圈得电。


常闭触点—|/|—

逻辑正好相反:

变量 = FALSE / OFF / 0 → 条件成立 变量 = TRUE / ON / 1 → 条件不成立

例如:

X1 Y0 --|/|-----------( )

表示:

X1 = 0 → Y0 ON X1 = 1 → Y0 OFF

注意一个很重要的概念:

梯形图里的“常开/常闭”首先描述的是程序逻辑判断方式,不一定等价于现场按钮本身的物理常开/常闭接点。

比如:

X0物理上可能接的是常闭急停按钮 程序里却仍然可以: --| |-- X0

因为程序判断的是:

X0 当前这个 bit 是 1 还是 0。


2. 边沿触点:上升沿、下降沿

这个一定要重点掌握,因为实际 PLC 程序里面非常常见。

上升沿触点:

OFF → ON 0 → 1

只在这个变化发生的那个扫描周期成立一次。

例如 X0:

扫描1:0 扫描2:0 扫描3:1 ← 上升沿,只在这里成立 扫描4:1 扫描5:1

那么上升沿触点:

扫描1 FALSE 扫描2 FALSE 扫描3 TRUE 扫描4 FALSE 扫描5 FALSE

所以它不是:

“X0只要是1就成立”

而是:

“X0刚刚从0变成1的这一瞬间成立一次。”

非常适合:

启动一次动作 计数 +1 触发拍照 触发扫码 发送一次数据 状态机切换到下一步

比如:

产品到位传感器 ↓ 上升沿 ↓ 给相机发送一次拍照触发

如果不用上升沿,而直接用常开:

X0 --| |----[发送拍照命令]

假如产品停在那里500ms,而PLC扫描周期1ms,那么理论上这段逻辑可能执行几百次。

而上升沿:

X0↑ ------[发送拍照命令]

只执行一次。

这对理解设备程序特别重要。


下降沿触点则完全反过来:

ON → OFF 1 → 0

变化发生时成立一个扫描周期。

例如:

扫描1:1 扫描2:1 扫描3:0 ← 下降沿 扫描4:0

扫描3成立一次。

典型应用:

按钮释放 传感器离开 气缸离开原位 产品离开工位 信号撤销后的动作

3. 线圈:把前面的逻辑结果写给一个位变量

截图中的:

线圈

就是普通输出线圈。

例如:

X0 X1 M0 --| |----|/|-------------( )

可以直接翻译为:

M0 = X0 && !X1;

所以如果有软件开发基础,其实可以把一条梯形图理解成:

左边是在计算布尔表达式,右边线圈是在赋值。

例如:

X0 M10 X5 Y0 --| |-----| |------|/|---------( )

其实就是:

Y0 = X0 && M10 && !X5;

这会是读 PLC 程序非常有效的思维方式。


4. 上升沿脉冲化、下降沿脉冲化

截图最下面还有:

上升沿脉冲化
下降沿脉冲化

它和“上升沿触点 / 下降沿触点”相关,但不是完全一个东西。

简单先这样理解:

上升沿触点

针对某一个具体变量:

X0 从0→1

检测 X0 的边沿。

而:

上升沿脉冲化

更像是:

把当前位置前面整段逻辑的 FALSE→TRUE 变化,转换成一个扫描周期的脉冲。

例如前面是:

X0 AND X1 AND M0

整个组合逻辑:

0 → 1

时,后面的逻辑只获得一个扫描周期的 TRUE。

所以现阶段可以记成:

上升沿触点 ≈ 检测某个bit的 0→1 上升沿脉冲化 ≈ 检测前面整个逻辑结果的 0→1

下降沿同理。

等后面碰到真实程序时再结合具体网络讲,这样最好理解。


5. “立即”触点和普通触点的区别

截图里这三个:

立即常开触点 立即常闭触点 立即输出线圈

是 AutoShop 里一个值得单独理解的东西。

汇川官方 AutoShop 4.10.1.0 更新说明明确提到:

Easy、H5U 支持立即输入/输出相关指令。(掌上汇川)

为什么需要“立即”?

这涉及 PLC 的经典扫描机制。

通常可以粗略理解为:

① 读取物理输入 ↓ ② 保存到输入映像区 ↓ ③ 执行整个PLC程序 ↓ ④ 把输出结果写给物理输出 ↓ ⑤ 下一扫描周期

普通触点,例如:

--| |-- X0

程序执行到这里时,通常使用的是本扫描周期采集进来的输入状态

如果程序运行过程中:

物理X0突然变化

普通逻辑通常不会因为执行到了这一行,就重新跑去读取一次物理端口。

立即输入的核心思想就是:

不等待正常的输入刷新时机,现在就读取输入状态。

类似:

普通输入: 读输入映像区 立即输入: 直接刷新/读取实际输入

同理,普通输出:

Y0 ( )

通常先修改输出映像状态,到输出刷新阶段再真正作用到硬件

立即输出则是:

当前程序执行到这里时立即刷新相关物理输出,而不是等待正常输出刷新。

所以:

普通触点/线圈 → 日常设备逻辑 立即触点/立即线圈 → 对响应时间要求较高的特殊场景

普通非标设备程序里,首先学普通版本就够了。


6. 剩下这些现在先知道“是什么”即可

截图还有:

步进点 比较触点 应用指令 子程序 执行块 横线 竖线 反向器 删除竖线

可以先这样分类。

步进点

用于顺序控制 / 步进流程。

例如设备:

S0 等待产品 ↓ S1 夹紧 ↓ S2 拍照 ↓ S3 判断结果 ↓ S4 放行

跟现在正在学习的“设备工序状态机”非常相关,但先不用急着深入。


比较触点

用于数值比较。

普通触点只能问:

M0 是不是1? X0 是不是1?

比较触点则可以问:

D0 > 100 ? D10 == D20 ? 温度 >= 80 ? 当前位置 <= 500 ?

例如:

D0 >= 100 Y0 ----[比较]-------------( )

对应高级语言大致:

if (D0 >= 100) { Y0 = true; }

这个实际项目里也非常常见。


应用指令

这个就进入 PLC 的“函数/指令”世界了。

例如:

MOV ADD SUB MUL CMP 计时 计数 通信 运动控制 ……

可以把它近似理解成:

触点 = if条件 线圈 = bool赋值 应用指令 = 函数调用/数据运算

子程序

这个和高级语言非常接近:

Main() { CylinderControl(); VisionControl(); }

梯形图也可以把一部分逻辑封装成子程序,再调用。


执行块

AutoShop 后续版本支持在 LD 编辑器中插入 ST 执行块,汇川官方更新说明也明确提到了这一点。(掌上汇川)

也就是可以出现这种思路:

梯形图 ↓ 某个条件成立 ↓ 执行一小段ST代码

这个现在也不用优先学。


横线、竖线、反向器则更偏向编辑梯形图结构

横线 —— 串联路径 竖线 │ 形成并联支路

例如:

X0 ----| |---------+ | X1 | ----| |---------+------(Y0)

本质是:

Y0 = X0 OR X1

所以梯形图其实根本没有看起来那么神秘。

可以先建立这个转换关系:

梯形图高级语言思维
常开触点 X0X0 == true
常闭触点 X0X0 == false/!X0
串联&&
并联||
线圈 Y0Y0 = 逻辑结果
上升沿false → true事件
下降沿true → false事件
比较触点> < == >= <=
应用指令函数/运算
子程序方法/函数

现阶段建议的学习顺序

截图里的东西不要平均用力

第一批先彻底搞懂:

常开触点 常闭触点 串联 并联 线圈

然后:

上升沿触点 下降沿触点 上升沿脉冲化 下降沿脉冲化

再然后:

比较触点 应用指令

最后再看:

步进点 立即触点 立即线圈 子程序 执行块

尤其第一批非常关键。如果“常开/常闭 + 串并联 + 线圈”真正理解透,大量普通梯形图其实就已经能直接翻译成布尔表达式了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/1 20:52:42

MCU+FPGA安全关键平台:AURIX与Zynq异构计算实战解析

做汽车电子和工业控制的朋友&#xff0c;这几年应该都有同一个感受&#xff1a;单靠一颗MCU&#xff0c;已经很难扛下越来越重的算力需求&#xff0c;同时还得守住功能安全这条红线。无论是ADAS域控制器、线控底盘还是机器人控制器&#xff0c;主控板上经常能看到“MCUFPGA”的…

作者头像 李华
网站建设 2026/9/3 7:11:06

场景资产引用查找器 - EditorWindow

目录一、背景二、功能介绍三、实现思路四、脚本继承检测逻辑五、完整核心代码六、使用场景七、目前工具限制八、后续优化方向九、总结Unity‑Editor 工具&#xff1a;场景资产引用查找器完整教程一款编辑器工具&#xff0c;一键检索当前场景内所有游戏物体对目标资源、脚本组件…

作者头像 李华
网站建设 2026/9/2 14:05:56

机械键盘连击拦截指南:让每个按键只敲出一个字符

机械键盘连击拦截指南&#xff1a;让每个按键只敲出一个字符 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 想打 "the"&…

作者头像 李华
网站建设 2026/8/29 21:49:42

AI开放训练如何实现可复现?从代码公开到完整实验记录

Marin 项目最近被不少 AI 开发者当作“开放训练”的标杆来讨论。原因不是它用了多么前沿的模型结构&#xff0c;也不是它刷了多么惊人的榜单分数&#xff0c;而是它把一件在 AI 领域里最难、最容易被忽略的事做到了位&#xff1a;让训练过程可以被完整复现。 很多 AI 项目的 G…

作者头像 李华
网站建设 2026/8/31 2:45:45

裸辞!一个好的开始?

裸辞&#xff01;想起来已经是好几年之前的事情&#xff0c;要不是这两天看到好多文章写到了。而且千遍一律的以职场人的身份说裸辞的危害。 裸辞一时爽&#xff0c;生活火葬场 裸辞一时爽&#xff0c;事后悔断肠 过来人经验:再难也别裸辞&#xff0c;三个后果早看明白 我只是…

作者头像 李华
网站建设 2026/9/2 2:56:54

【单片机课程设计/毕业设计】基于 STM32 的多环境因子采集与参数阈值控制系统设计 基于 STM32 的农田气象环境监测报警终端设计(010605)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机&#xff0c;Java、小程序技术领域和毕业项目实战 ✌️…

作者头像 李华