ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

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

【非标自动化】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读取到 X01Y0线圈得电。常闭触点—|/|—逻辑正好相反变量 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扫描10 扫描20 扫描31 ← 上升沿只在这里成立 扫描41 扫描51那么上升沿触点扫描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变化发生时成立一个扫描周期。例如扫描11 扫描21 扫描30 ← 下降沿 扫描40扫描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事件比较触点 应用指令函数/运算子程序方法/函数现阶段建议的学习顺序截图里的东西不要平均用力。第一批先彻底搞懂常开触点 常闭触点 串联 并联 线圈然后上升沿触点 下降沿触点 上升沿脉冲化 下降沿脉冲化再然后比较触点 应用指令最后再看步进点 立即触点 立即线圈 子程序 执行块尤其第一批非常关键。如果“常开/常闭 串并联 线圈”真正理解透大量普通梯形图其实就已经能直接翻译成布尔表达式了。
返回列表