[西门子] PLC自动步序编程的7种方法,看看你常用的是哪个?

[复制链接]
查看92288 | 回复0 | 2024-2-6 22:08:17 | 显示全部楼层 |阅读模式
PLC自动步序的功能是控制设备按照事先设计好的工艺流程进行工作,PLC自动程序的流程编写也有好几种方法,下面就来做一个详细的阐述。

PART01第一种辅助继电器的置位复位方法

这种方法是最原始最初级的写法,也是最简单的一种写法,比如第一步置位M0,M0接通后控制某个结果,结果实现后复位M0,再置位M1,依次进行l流程控制。这种写法通用所有的PLC。



PART02使用步序编号的方法

使用整型变量作为步序编号,易于理解,便于维护。步序增减,跳转等操作方便,简单,易懂。复位操作时,仅需将变量值改为0。编程中需注意,当连续步序的条件同时为真时,步序号在一个PLC周期内连续增加,直至最后一条未导通步序指令,而由步序号触发的其它程序则未被执行。调试时容易漏掉此种情况。

  



PART03GRAPH(顺序功能流程图语言,也称SFC)

这种方法跟我们的设备工艺流程图非常相似,也是最直观的一种程序,第一步干什么,什么条件又开始干第二步,看上去非常清楚。虽然程序表面看上去非常清楚明了,但编写项目程序实际的操作过程并不简单,要熟悉这种写法需要时间过程,而且这种方法并不通用所有的PLC(如西门子S7-1200不支持,仅S7-1500支持),还有就是对PLC性能要求高,也占用很大的工作存储器。



PART04移位指令方法

这种方法是利用移位指令的移位原理实现步序的控制,比如欧姆龙的SFT指令,三菱的ROL、ROR等,西门子的移位指令也差不多。这种难点在于搞清移位指令的工作原理即可,也是通用所有PLC的编程。   
PART05DECO解码指令的方法

解码指令DECO:即将整数转换为Dword中对应的位置1,且当步序产生变化时,PLC必定会重新执行一个扫描周期,不会产生连续跳多个步续的情况。避免了程序中步序触发的指令没有被执行的情况。跳转和复位操作编写简单。如西门子S7-1200PLC可支持DWORD解码(32位),S7-1500可支持LWORD解码(64位)。



PART06工作和状态变量赋值的方法

这种方法是数据传送指令与比较指令相结合实现程序流程步序转换的,个人认为这种方法是最容易理解的,操作上也是最简单,建议初学者尝试使用,当然这种方式也是通用所有PLC的。设置两个变量字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的数量来增加步序。





PART07SCL编程的方法

越来越多的小型PLC都支持SCL语言,SCL是一种类似于PASCAL的高级编程语言,常用的FOR、IF、WHILE、CASE等程控语句组合起来能编写出很强大的算法和逻辑,用此写法的人也越来越多。用SCL设计自动程序主要就是结合CASE和IF语句,将Step作为程序号,如果存在比较长的分支或并行动作时需要有借助多个Step程序步,这里不做深究。



你们还有其他的方法吗?讲出来大家可以借鉴学习下,谢谢!

免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!

为你推荐



今天继续给大家带来一份超级干货~~

【888个西门子案例程序】



相信通过这些案例教学

大家都能收获自己想要的



西门子S7-200案例












西门子S7-300案例










西门子S7-400 案例


你们以为就这些了吗?

不,这次我可是给大家准备了777个案例







因内容太多 篇幅有限

只能展示部分,很肯定的告诉大家

案例都是实打实的经验教学

想不想领取?

快往下看领取方法吧!

获取方法



↓↓↓99%的工友都点击了“阅读原文”


点分享

点收藏

点在看

点点赞

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则