一种实现PLC按顺序功能流程编程的方法技术

技术编号:22363443 阅读:42 留言:0更新日期:2019-10-23 04:28
本发明专利技术涉及一种实现PLC按顺序功能流程编程的方法。目前能实现按顺序功能流程编程的只有顺序功能图语言(SFC)。但不是所有PLC厂商都提供SFC语言编程功能,且没有统一的SFC编程格式和环境。SFC语言编程没有得到推广应用。本发明专利技术提供一种用其他编程语言如梯形图语言(LD)实现PLC按顺序功能流程编程的方法,其特征包括三个模块:1)与顺序功能流程对应的设备状态模块,用于获取设备当前状态步;2)步任务执行命令和和控制模块,用于产生步任务执行命令和控制自动,单步,单循环运行;3)任务输出模块,用于驱动任务的输出,同时实现手动及互锁功能。本发明专利技术适应各种PLC品牌,编程简单易懂,缩短工程设计,调试和设备维修时间,节约成本,提高效益。

A method of PLC programming according to sequence function flow

【技术实现步骤摘要】
一种实现PLC按顺序功能流程编程的方法
本专利技术涉及一种实现PLC按顺序功能流程编程的方法。
技术介绍
PLC是一种通过程序来控制机器设备功能的一种工业控制装置,在工业自动化领域得到广泛应用。国际电工委员会(IEC)规定了五种PLC标准编程语言:梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)、结构文本化语言(ST)。其中梯形图语言(LD)是PLC程序设计中最基本,应用最广的编程语言。其优点是:与电气原理图相对应,而且直观,容易被电气设计人员和设备维护维修人员所掌握。顺序功能流程图语言(SFC)主要为满足PLC按顺序功能流程编程的方法而设计的编程语言。按顺序功能流程编程的优点是:结构清晰,条理清楚,程序易于理解,可以将复杂的系统分解成多个简单系统进行编程。缩短编程,调试和维修时间,提高效益。但顺序功能流程图语言(SFC)存在其缺点。主要表现在:1)不是所有PLC厂商都提供SFC语言编程功能,有的则需要另外购买软件许可;2)PLC厂商之间没有统一的SFC编程格式和编程环境,没有互换性,工程设计人员则需要掌握多种格式的SFC编程;3)掌握SFC语言的设备维护维修人员及少,有的工厂和企业规定不接受SFC语言编程;4)SFC程序难以从故障中断后恢复,故障中断后大多数情况只能从第一步重新开始,如果想从故障中断处或其他状态下启动,则需要增加附助逻辑程序,使程序变为复杂难懂。
技术实现思路
专利技术目的:用其他通用编程语言实现PLC按顺序功能流程编程,保持按顺序功能流程编程的优点,避免顺序功能流程图语言(SFC)编程的缺点和不足。同时实现自动,单步,手动运行模式和设备故障中断后的快速恢复功能,缩短工程设计,调试和设备维修时间。降低成本,提高效益。技术方案:本专利技术提供一种实现PLC按顺序功能流程编程的方法,其特征包括三个模块:(1)与顺序功能流程对应的设备状态模块;(2)步任务执行命令和控制模块;(3)任务输出模块。如图1所示。本文以梯形图语言(LD)对该技术方案进行论述。用其他通用编程语言也同样能实现该技术方案。设备在自动或单步模式下运行实际上就是设备按照顺序功能流程,顺序执行每一步中相应的任务的循环过程。也就是根据上一步任务完成的结果决定下一步任务的执行。当设备状态满足了功能流程到下一步的转换条件后,设备就进入下一步,执行下一步的任务。每一步中执行的任务定义为步任务。执行每一步中任务的命令定义为步任务执行命令。图2所示为根据顺序功能流程制作的顺序功能流程图。这里显示一个只有三步的顺序功能流程图。多步顺序功能流程图用同样方法制作。图3所示为与顺序功能流程对应的设备状态模块。该模块的功能是获取设备当前所处的状态,即设备当前处在顺序功能流程中的哪一步;其特征在于该设备状态模块中的步与顺序功能流程中的步一一对应,设备状态模块中的步任务与顺序功能流程中的步任务一一对应,设备状态模块中步之间的转换条件与顺序功能流程中步之间的转换条件一一对应;该模块包括与设备顺序功能流程中所有的步以及每一步之间转换条件相对应的条件逻辑程序,还包括用于获取设备当前所处步的逻辑程序和存储步的值的变量。图3中CON_1表示顺序功能流程第一步的转换条件,CON_2表示顺序功能流程第二步的转换条件,以此类推;STEP是用来存储设备顺序功能流程中步的值的变量。PLC执行该模块后STEP得到一个唯一的值,该值表示设备当前所处的状态,即处于顺序功能流程中的哪一步。例如当CON_1等于1,STEP被置为1,表示设备处于顺序功能流程第一步。当CON_2等于1,STEP被置为2,表示设备处于顺序功能流程第二步。以此类推。图4所示步任务执行命令和控制模块。该模块的功能是把设备状态模块中的步的值转换为步任务执行命令;其特征在于设备状态模块中的每一步的值都有一个步任务执行命令与之一一对应,在PLC的每一个扫描周期中只产生唯一的一个步的值和唯一的一个与该步对应的步任务执行命令,通过对设备状态模块中步的值到步任务执行命令的转换条件的控制,实现自动和单步模式运行控制;该模块包括设备状态模块中的所有步的值和所有步任务执行命令的变量,以及步的值到步任务执行命令的转换逻辑程序。还包括作为步的值到步任务执行命令的转换条件的自动和单步运行模式的控制变量,设备处在功能流程中不同的步时执行对应的步任务,步任务通过步任务执行命令来驱动;用步STEP产生该步任务的执行命令,步任务执行命令就与顺序功能流程中的步任务一一对应。图4中CMD_n表示顺序功能流程第n步的步任务执行命令。实现把步STEP转换为步任务执行命令可以通过多种形式。例如比较指令,当STEP等于1,只有CMD_1被置为1,其他步任务执行命令都为0,表示设备处于顺序功能流程第一步,只产生第一步的步任务执行命令。当STEP等于2;只有CMD_2被置为1,其他步任务执行命令为0。表示设备处于顺序功能流程第二步,只产生第二步的步任务执行命令。以此类推。在具体实施方式例子中还会作更详细说明。通过控制设备状态步STEP到步任务执行命令CMD-n的转换,也就控制了设备的运行。图4中CTR_a是自动模式的运行控制。在自动循环过程中如果设备出现故障或急停等其他原因引起CTR_a复位,即CTR_a为0,设备状态步STEP到步任务执行命令CMD-n的转换条件不满足,也就不能实现步STEP到步任务执行命令的转换,步任务执行命令CMD_n即为0,意味着没有动作输出,即停机。同样如果在自动循环的最后一步发出一个循环停止请求把CTR_a复位,即CTR_a为0,设备在完成循环的最后一步后就会终止运行,这就实现了设备的单循环运行模式。如果设备因故障等原因停止在循环中的某一步,当故障被排除后,只要把设备置回自动模式运行,即CTR_a置为1,如果这时步的转换条件滿足的话,设备就可以直接从当前状态下启动,而不需要把设备恢复到原位后再从新启动。图4中CTR_s是单步模式的运行控制。设备在单步模式下运行时,设备每执行完一步后把CTR_s置为1,设备状态步STEP到步任务执行命令CMD-n的转换条件不满足,也就不能实现步的值到步任务执行命令的转换,步任务执行命令CMD_n即为0,意味着没有动作输出,这样设备每执行完一步后即停机,直到操作员通过HMI将CTR_s手动复位后,即CTR_s置为0,才会继续下一步动作。这样设备每运行一步,操作员通过手动复位一次,设备就会一步一步运行,即实现了设备的单步模式运行。图5所示任务输出模块。该模块的功能是驱动任务输出;其特征在于把自动模式,单步模式和手动模式任务执行命令集中一起驱动任务输出;该模块包括设备状态模块中每一步在自动模式,单步模式下的步任务执行命令,手动模式下的任务执行命令,手动模式的互锁条件和任务输出逻辑程序。图5中CMD_n表示自动或单步模式下设备状态第n步对应的步任务执行命令。Y_n表示第n步对应的任务输出。PB_n表示手动模式下任务执行命令。IL_n表示该任务执行的互锁条件。每一步的任务输出都使用同一格式编程。综上所述,PLC按顺序扫描执行图3,图4和图5模块,每个模块中又按从上到下顺序扫描。从设备状态模块,得到当前设备所处的步STEP的值;通过步任务执行命令和控制模块,得到本文档来自技高网...

【技术保护点】
1.一种实现PLC按顺序功能流程编程的方法, 其特征在于以下三个功能模块:(1)与顺序功能流程对应的设备状态模块,该模块用于获取设备当前所处的状态,PLC执行该模块后得到一个唯一的表示设备当前所处状态步的值,该值即表示设备当前处于顺序功能流程中的哪一步;(2)步任务执行命令和控制模块,该模块把上述设备状态模块中获取的步的值转换为步任务执行命令,并通过对步的值到步任务执行命令的转换条件的控制,实现自动和单步模式运行的控制;(3)任务输出模块,该模块驱动所有任务的输出。

【技术特征摘要】
1.一种实现PLC按顺序功能流程编程的方法,其特征在于以下三个功能模块:(1)与顺序功能流程对应的设备状态模块,该模块用于获取设备当前所处的状态,PLC执行该模块后得到一个唯一的表示设备当前所处状态步的值,该值即表示设备当前处于顺序功能流程中的哪一步;(2)步任务执行命令和控制模块,该模块把上述设备状态模块中获取的步的值转换为步任务执行命令,并通过对步的值到步任务执行命令的转换条件的控制,实现自动和单步模式运行的控制;(3)任务输出模块,该模块驱动所有任务的输出。2.根据权利要求1所述的一种实现PLC按顺序功能流程编程的方法,其特征在于,所述与顺序功能流程对应的设备状态模块中的步与顺序功能流程中的步一一对应,所述设备状态模块中的步任务与顺序功能流程中的步任务一一对应,所述设备状态模块中步之间的转换条件与顺序功能流程中步之间的转换条件一一对应;该模块包括与顺序功能流程中所有的步以及每一步之间转换条件相对应的逻辑程序,还包括用于获取设备当前所...

【专利技术属性】
技术研发人员:江明娥
申请(专利权)人:上海软控自动化工程有限公司
类型:发明
国别省市:上海,31

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1