PLC编程-顺序控制的编程方法
在PLC编程的过程中,常遇到需要顺序控制应用场景。选择一种合理高效的编程方式,可以快速的构建顺序控制应用场景。
顺序控制的基本思路,即要将设备的动作细分为单个动作步,每个步执行一个操作。且步与步之间通过对应的转换条件连接,及步动作切换。严格按照此思路,选择合理的程序实现结构,即可轻易完成顺序控制要求的功能。
顺序控制一般流程思路
以上控制流程,在设计程序架构时,可以选择一个中间变量来实现动作步的切换。每一个动作步中,设置一个特征值,以确定每一个步的动作。当转换条件成立时,调整中间变量的特征值,以特征值的变化实现步与步之间的切换。这种方式的程序结构简单,程序动作流程结构清晰,在需要动作步切换的位置,通过中间变量的特征值,可以实现任意动作步之间的相互切换使用非常方便。顺序控制程序示例如下:
顺序控制程序示例
PLC自动程序之编程方法!不学亏大了!
【导读】PLC自动步序的功能是控制设备按照事先设计好的工艺流程进行工作。PLC自动程序的流程编写也有好几种方法,下面就来做一个详细的阐述。
第一种:辅助继电器的置位复位方法这种方法是最原始最初级的写法,也是最简单的一种写法,比如第一步置位M0,M0接通后控制某个结果,结果实现后复位M0,再置位M1,依次进行l流程控制。这种写法通用所有的PLC。
第二种:使用步序编号的方法使用整型变量作为步序编号,易于理解,便于维护。步序增减,跳转等操作方便,简单,易懂。复位操作时,仅需将变量值改为0。编程中需注意,当连续步序的条件同时为真时,步序号在一个PLC周期内连续增加,直至最后一条未导通步序指令,而由步序号触发的其它程序则未被执行。调试时容易漏掉此种情况。
第三种:GRAPH(顺序功能流程图语言,也称SFC)这种方法跟我们的设备工艺流程图非常相似,也是最直观的一种程序,第一步干什么,什么条件又开始干第二步,看上去非常清楚。虽然程序表面看上去非常清楚明了,但编写项目程序实际的操作过程并不简单,要熟悉这种写法需要时间过程,而且这种方法并不通用所有的PLC(如西门子S7-1200不支持,仅S7-1500支持),还有就是对PLC性能要求高,也占用很大的工作存储器。
第四种:移位指令方法这种方法是利用移位指令的移位原理实现步序的控制,比如欧姆龙的SFT指令,三菱的ROL、ROR等,西门子的移位指令也差不多。这种难点在于搞清移位指令的工作原理即可,也是通用所有PLC的编程。第五种:DECO解码指令的方法解码指令DECO:即将整数转换为Dword中对应的位置1,且当步序产生变化时,PLC必定会重新执行一个扫描周期,不会产生连续跳多个步续的情况。避免了程序中步序触发的指令没有被执行的情况。跳转和复位操作编写简单。如西门子S7-1200PLC可支持DWORD解码(32位),S7-1500可支持LWORD解码(64位)。
第六种:工作和状态变量赋值的方法这种方法是数据传送指令与比较指令相结合实现程序流程步序转换的,个人认为这种方法是最容易理解的,操作上也是最简单,建议初学者尝试使用,当然这种方式也是通用所有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的数量来增加步序。
第七种:SCL编程的方法越来越多的小型PLC都支持SCL语言,SCL是一种类似于PASCAL的高级编程语言,常用的FOR、IF、WHILE、CASE等程控语句组合起来能编写出很强大的算法和逻辑,用此写法的人也越来越多。用SCL设计自动程序主要就是结合CASE和IF语句,将Step作为程序号,如果存在比较长的分支或并行动作时需要有借助多个Step程序步,这里不做深究。
你们还有其他的方法吗?讲出来大家可以借鉴学习下,谢谢!
免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!
如何获取 电气热门资料?操作指引如下!
相关问答
plc中步序号是什么?
plc中步序号是若干条指令中按顺序排列的序号。当PLC投入运行时,它首先执行系统程序和CPU自检等工作。在没有中断或跳转控制的情况下,CPU从第一条指令开始,顺序...
零基础学习PLC怎么能入门快?入门到会要经过哪些步骤?
如果是零基础的话可能学习起来需要走的路比较长,需要你很大的耐心。我建议首先买一本PLC基础教程,或者买一些零基础培训和视频课程,淘宝上很多。通过视频课程...
PLC用什么语言编程?
西门子PLC支持以下几种编程语言,其中包含梯形图:1、顺序功能图(SFC,SeauentialFuctionChart)西门子STEP7中的该编程语言是S7Graph。这是位于.....
如何学习PLC?
如何学习PLC我来分享一下之前自己学习PLC的经历。读书的时候没有接触过PLC实物,看看书了解了一下梯形图。但具体怎么样,系统架构和工作原理怎样都不懂。后来参...
序的歌词-NwZPlcOL的回答-懂得
《序》音乐欣赏,音乐欣赏,音乐欣赏《序》歌手:周迅专辑:《偶遇》音乐欣赏音乐欣赏音乐欣赏
plc行业怎么样?
PLC行业,确切的说应该叫做电气自动化行业,因为你学PLC不可能只学PLC,还要学习触摸屏、伺服、变频器等等相关的知识。PLC不是个单独的东西,需要和其他部件配合...
plc制作生产看板?
[回答]看板管理的基本要求和原则:一、看板管理的基本要求1、后工序的取货人员将必要数量的取货看板和取货用的工位器具,送往前工序的贮存处。2、当后工序...
西门子PLC怎么把16个BOOL变量用一个WORD型变量代替?
职场生存攻略提高工作效率的8大必备软件PhotoshopwordExcelDreamweaverElsegb_PlcConnected=TrueMsgBox("plc连...
S7-200的皮带秤程序,皮带开启时种序里的数据正负正负的变,不能保持正值,如1233.35-7501346.25-750?
只是皮带开启时跳变还是一直跳变?估计是干扰问题,将PLC可靠接地,并且尽量远离变频器等干扰源只是皮带开启时跳变还是一直跳变?估计是干扰问题,将PLC可靠接...
麻烦请教各位!触摸屏plc课程培训的运用特性有什么想知道
[回答]为加强自动化研究所的plc课程培训自主研发能力和公司生产设备的自动化改进及自动化程度的提升,东莞汇缘教育多方位、系统化的培训体系,以提高技术人...