常见PLC自动程序的流程编写

发布时间:2024-08-06  

【导读】PLC自动步序的功能是控制设备按照事先设计好的工艺流程进行工作。PLC自动程序的流程编写也有好几种方法,下面就来做一个详细的阐述。   第一种:辅助继电器的置位复位方法 这种方法是最原始最初级的写法,也是最简单的一种写法,比如第一步置位M0,M0接通后控制某个结果,结果实现后复位M0,再置位M1,依次进行l流程控制。这种写法通用所有的PLC。

fd10aab4-1d80-11ee-962d-dac502259ad0.jpg

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

fd2b4770-1d80-11ee-962d-dac502259ad0.png

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

fd509534-1d80-11ee-962d-dac502259ad0.jpg

第四种:移位指令方法 这种方法是利用移位指令的移位原理实现步序的控制,比如欧姆龙的SFT指令,三菱的ROL、ROR等,西门子的移位指令也差不多。这种难点在于搞清移位指令的工作原理即可,也是通用所有PLC的编程。 第五种:DECO解码指令的方法 解码指令DECO:即将整数转换为Dword中对应的位置1,且当步序产生变化时,PLC必定会重新执行一个扫描周期,不会产生连续跳多个步续的情况。避免了程序中步序触发的指令没有被执行的情况。跳转和复位操作编写简单。如西门子S7-1200PLC可支持DWORD解码(32位),S7-1500可支持LWORD解码(64位)。

fd84bdf0-1d80-11ee-962d-dac502259ad0.png

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

fda081b6-1d80-11ee-962d-dac502259ad0.jpg

fdba5b86-1d80-11ee-962d-dac502259ad0.png

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

fdcce0e4-1d80-11ee-962d-dac502259ad0.jpg


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    、部分软件程序代码展示。软件的设计,使用Keil C51开发编写软件程序软件程序主要由主程序,初始化子程序,读取DSl8820传感器数据子程序。温度数据处理子程序,显示子程序。中断定时子程序以及按键设置子程序......
    引用地址:两名目击者看到他们的同事被一台用来抓取和移动新铸造的铝制汽车零部件的机器袭击,感到惊恐不已。 当时这名工程师正在为附近两台出故障的编写软件程序,该突然压住他,然后......
    一个简单的项目,你可能在嵌入式项目中找不到任何严肃的应用。该项目工作只是一个示范。 如何编写程序? 代码 是一种物理设备,当按下一个按钮时,在一定范围内随机产生一个数字。在这个项目中,当按下按钮(连接P3.0......
    保红外发射器在不同工作条件下都能稳定工作。 软件编程 根据硬件设计和编码协议的要求,编写相应的软件程序。在微控制器中编写编码程序、调制程序以及电源管理程序等,实现红外遥控发射器的功能。在编写程序时,需要......
    如何编写ARM7的启动代码(LPC2119为例);随着生活水平的提高和IT技术的进步,8位处理器的处理能力已经不能满足嵌入式系统的需要了;而16位处理器在性能和成本上都没有很大的突破。并且在8位机......
    上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编缉器(如EDIT、CCED等)编写软件编写好后,用编译器对源程序......
    数据的情况。 6 结语 采用CY7C68013A实现USB控制系统,无论在固件程序编写、主机控制界面开发,以及设备驱动程序的使用等方面,都具有简单、方便的优点。系统采用设备固件存放在主机上的方法,不但......
    计和测试在项目开始初期就关联起来,在整个软件开发生命周期都有着重要的指导意义。 传统软件开发重视业务过程和文档,若软件开发人员完全按照设计文档进行程序开发,经过很长的开发周期后提交软件程序,会导......
    的固件程序以及FPGA软件。 2.1 驱动程序 主机软件部分包括USB客户驱动程序和主机应用程序。USB客户驱程序是支持即插即用功能的标准WDM驱动程序,它为实现控制传输、中断......
    设计USB系统软件由固件程序、USB系统驱动程序和应用程序三部分构成。 2.2.1 固件程序的开发固件程序实际上是置于微控制器内部的程序文件,用来辅助硬件完成通信任务。通过ISP1581的INT中断......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>