PLC程序自动步序七种常见写法 PLC程序自动步序常见写法 PLC自动程序的功能是控制设备按照设计的流程进行工作。PLC自动程序的流程编写也有好几种方法,常见的有以下几种: 1.SET/RESET 使用M变量标识步序,当满足步序跳转条件后,将下一步M变量置位,同时将当前步M变量复位。原理简单,易于上手。 在调试中,增减步序时,会造成M变量的排序混乱,不利于程序维护,易产生错误。在复位操作中,容易有遗漏,增加程序出错几率。 常用于动作少,流程简单的流程编写。
SET / RESET 2.STEP NUM 使用整型变量作为步序编号,易于理解,便于维护。 步序增减,跳转等操作方便,简单,易懂。 复位操作时,仅需将变量值改为0。 编程中需注意,当连续步序的条件同时为真时,步序号在一个PLC周期内连续增加,直至最后一条未导通步序指令,而由步序号触发的其它程序则未被执行。调试时容易漏掉此种情况。
STEP NUM 3.WORK & STATE WORD 设置两个变量state word,work word. state word中的位作为步序标志,work word作为跳转目标步序标志。 当前步序state word中步序位对应的条件满足时,触发work word中下一步对应的位。而后,在PLC顺序扫描至传送指令时,将work word的值赋值给state word,完成步序跳转。 优点是没有置位,复位操作,同一时刻只有唯一的位置1,跳步时只用将对应的work word 中的位置1即可。复位时,将state word与work word清零,程序会自动将state word中第一位点亮。 当步序大于16时,可改为DWORD或增加word的数量来增加步序。
4.Wait & Output 需要先建立对应的DB块,用来存储每一步对应的跳转条件和输出对应的word代码。 再编写对应的wait程序(步序条件),编写时需将条件逻辑逆转编写(即跳转条件不满足时,对应的wait_pending为导通状态。比如跳转条件为需要一个传感器亮,则wait条件中要写此传感器OFF的指令) 每一步激活wait编码对应的步序条件,当激活的跳转条件完全满足时,wait_pending 会为0,则程序会将步序自动加1,然后激活下一步wait编码对应的条件。程序跳转时,直接改变步序号即可。 使用对应的表格进行编程,速度快,维护简单,维护人员碰到设备停止状况,只要查找那条wait指令为导通状态即可。 但步序条件编程逻辑需要写成反向,初次使用者不容易理解。如无流程记录文件,流程的理解比较困难,对改造,维护并不友好,目前很少看到。
表格示例
5. C语言编写 C语言形式为代码形式,阅读理解不如梯形图直观,需要一定的编程基础,对于日常设备维护不是很友好。 常用于特定功能块的编写,数据的处理等,调试完成后进行封装。
6.GRAPH 流程图 流程图形式编程,不是所有品牌PLC都支持,且只有大型PLC才支持。(1200不支持,仅1500支持) 图形化界面,易于理解。跳步编写简单,对于日常维护非常友好。 复位,单步运行,都有对应的FB接口。 但PLC占用资源较多,根据经验,西门子315 PLC,使用step number方式编程,可多写一倍的顺控程序。且当graph中步序达到一定数量后,step 7软件监控会出现卡顿,宕机等情况。
7.DECO 解码指令 解码指令DECO,即将整数转换为Dword中对应的位置1,且当步序产生变化时,PLC必定会重新执行一个扫描周期,不会产生连续跳多个步续的情况。避免了程序中步序触发的指令没有被执行的情况。 跳转,复位操作编写简单。 1200PLC可支持DWORD解码(32位),1500可支持LWORD解码(64位)
各种写法应用场景不同,使用者的技术背景不同,编程习惯不同,并没有哪种更好的区分。此处只是笔者对已有经验的一个总结。希望给大家带来一些启发。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/90818.html