您好,欢迎访问三七文档
欧姆龙自动化(中国)有限公司营业技术中心2012年2月SFC编程介绍目录一、SFC编程介绍.....................................................................................1二、SFC的结构.........................................................................................3(一)、SFC步的介绍………………………………………………………………………3(二)、SFC的转移分类……………………………………………………………………3(三)、动作块………………………………………………………………………………7(四)、SFC编程的一些规则………………………………………………………………10(五)、SFC任务控制指令…………………………………………………………………10三、SFC编程示例..................................................................................11SFC编程第1页一、SFC编程介绍PLC编程语言主要有以下几种,梯形图(LAD)、指令表(LI)、顺序功能图(SFC)、结构化编程语言(ST)、功能块(FB),大家昀熟悉的一般是梯形图和指令表。这五种编程语言都是符合IEC61131-3标准的编程语言(IEC61131是世界范围内第一个实现标准化的用于PLC系统的编程语言标准规范)。PLC昀初的出现是为了取代继电器控制系统,用软元件的逻辑运算来代替硬接线逻辑,以满足工业产品型号规格的不断变化及批量小、交货期短的市场需求。因此早期PLC的软件功能比较简单,主要进行“与”、“或”等基本的逻辑运算。用PLC的基本逻辑指令进行编程,其基本的设计方法同继电器-接触器控制系统的设计方法是相似的,通常有经验设计法和逻辑设计法两种。经验设计法自然与设计者的经验有关,要求设计者有丰富的设计经验、熟悉比较多的控制线路等,尽管如此,在联锁比较复杂的情况下,也难免出现设计漏洞,理论上不能保证设计的完备性。逻辑设计法比较复杂,一般设计人员难以掌握,虽然从理论上讲是完备的,但实际在设计过程中同样要渗进不少经验和人为的因素,尤其在工序步进动作比较复杂的情况下更是如此。顺序功能图(SFC)的出现解决了以上困难:SFC:SequentialFunctionChart顺序功能图,也称为顺序功能流程图,是一种强大的描述控制程序的顺序行为特征的图形化语言,可对复杂的过程或操作由顶到底地进行辅助开发。SFC允许一个复杂的问题逐层地分解为步和较小的能够被详细分析的顺序。(一)梯形图编程的难点:1、一是梯形图编程中需要考虑复杂的电路互锁信号,这样就往往是程序设计者由于考虑不周到而忘掉复位的信号,增加了编程人员的负担。2、梯形图没有固定的编程规则,不同的设计者按照各自不同的编程习惯、思路、方法来设计出相同功能的程序,以至于其他人要理解起来比较困难。3、梯形图主要以触点和线圈的组合来表示,且其程序没有与设备运行顺序相一致的表达,如果由于某些故障导致设备停止,则必须要检查整个程序来找出程序中的错误。(二)SFC编程的优点:1、在程序中可以很直观地看到设备的动作顺序。比较容易读懂程序,不同的人员都比较容易理解其他人编写的程序,因为程序按照设备的动作顺序进行编写,规律性较强。2、在设备故障时能够很容易的查找出故障所处在的工序,从而不用检查整个冗长的梯形图程序。3、不需要复杂的互锁电路,更容易设计和维护系统。SFC编程第2页SFC编程第3页二、SFC的结构:SFC图由描述一系列机器工序的各个工序运行的“步”组成,“步”的输出由“动作块”执行,从一个工艺到其他工艺的步与步之间为“转换条件”。(一)、SFC步的介绍步分为初始步、普通步(中间步)和子图步:1、初始步在程序开始执行时无条件活动,此时其它所有步都不执行。可放在程序中任何地方,不需要放在程序开头。2、每一个程序只能有1个初始化步(注:三菱FX系列只能添加10个SFC图。每个SFC图的初始步为S0~9中的一个,且必须放置在程序开头。)3、一步可包含多个动作块。(注:三菱SFC没有动作块,只是在每个步后面直接添加此步执行的动作。)4、步控制指令(StepControlInstructions)包括:SA、SE、TSR、TSW四条指令:SA激活步、SE结束步、TSR读取步定时器值、TSW写入步定时器值在以上指令中,步标志规定如下:•在同一个任务中[stepname].X•在不同任务中[programname].[stepname].X在以上指令中,步定时器规定如下:•在同任务的步中[stepname].T•在不同任务的步中[programname].[stepname].T•同一任务的子图步中[subchartname].[stepname].T•不同任务的子图步中[programname].[subchartname].[stepname].T(二)、SFC的转移分类1、串行转移:当满足转移条件时进入当前步后面一步处理的转移格式:SFC程序的运行从初始步开始,每次转换条件成立时执行下一步并且在遇到END步结束一系列的运行:A、当起动SFC程序时,首先执行初始步。在初始步处理期间检查下一个转移条件(上面示图中的“转移条件1”)以确定是否满足该转移条件。SFC编程第4页B、初始步处理继续,直到满足转移条件1。当满足转移条件1时,初始步处理停止并开始下一步(上面示图中的第1步)的处理。C、在第1步处理期间,检查下一个转移条件(上面示图中的转移条件2)以确定是否满足该转移条件。D、当满足转移条件2时,停止第1步处理并开始下一步(上面示图中的第2步)的处理。E、SFC程序的处理以该方式继续按顺序执行步直到到达END步为止。2、选择转移:是若干步以并行方式汇合在一起的转移格式并且只处理首先满足转移条件的步;SFC编程第5页如果一个分歧的多个转换条件同时满足,默认时优先权将赋予昀左边一个步。(一个分歧的转换只能发生一步)。如果步的优先权改变了,激活状态的转换将根据优先权顺序。(右键在分歧横线上,取消选择“使用默认转换优先”,可显示执行顺序数字,双击相应数字就可改变默认优先权顺序)3、选择汇合:一个单步连接到两个或多个转换以后。合并一个已被(如分歧)分割为两个或多个分支工艺流程的工艺流程。4、并行转移:是在满足相关的转移条件时同时处理并行链接的若干步的转移格式;转换条件达到,活动状态将同时转换到分歧后的所有步,紧跟转换,双线后的步同时激活,执行顺序按照编辑的动作块的先后顺序执行。5、并列汇合:一个转换连接到两个或多个步之后,合并一个已被(如并列分歧)分割为两个或多个分支工艺流程的工艺流程。转换条件达到,转换以前的所有步的活动状态将同时转换到转换后跟着的步。6、跳转:是指当满足转移条件时在同一块内跳转至指定步。对于跳转,在转换后有一个箭头和跳转目的地步号;一个跳转入口表示为跳转目的地步(转换后的)正前面的箭头。SFC编程第6页当跳转源步后的转换条件满足,活动状态转移图2、SFC的转移分类图SFC编程第7页(三)动作块一个单步可以注册多个动作块,与一个动作块一起登记的动作的数目上没有极限。动作块包括:AQ:动作限定符;ActionName:动作名称;IndicatorVariable:指标变量1、动作块的执行:当一个步被活动,动作块中的所有动作根据动作限定符的条件设定执行。当一个步在活动状态,动作块中的每个动作每周期执行一次。2、动作限定符:AQ为每个动作定义运行时序;它能决定当步活动时动作如何执行;每个动作只可指定一个AQ。动作类型决定了当步变为非活动状态时输出是保持还是复位。需要时,改变初始设置或向程序中添加复位过程。•对于位,如果保持动作限定符(S)未被指定,输出将复位;如果保持动作限定符(S)已指定,输出将保持。•对于梯形图程序,输出默认复位,默认设置可变为保持输出状态。•对于ST程序,默认输出状态保持,必要时,在程序中写入复位过程并使用动作标志(当ST程序中对应步变为非活动时,该标志变为ON)来控制复位过程。AQ列表AQ符号名称功能需要设置定时器D延时从步活动开始,过去用户指定时间后动作执行。如果在用户指定时间到期之前步变为非活动,动作将不执行。是DS延时置位执行时类似SD。同SD不同,如果步在用户指定延迟时间到期之前变为非活动,动作将不操作。要取消执行,使用R限定符。是L限期执行当步活动后,动作执行直到用户指定时间到达。如果步变为非活动,动作执行将终止。是N普通(默动作执行跟步活动时间一样长。SFC编程第8页认)P脉冲若昀终扫描功能使能,当步活动时动作执行2个扫描周期。若昀终扫描功能非使能,当步活动时,动作执行1个周期。P1上沿脉冲每当步变为活动时动作执行一次。P0下沿脉冲每当步变为非活动时动作执行一次。R复位当步变为活动,且他的动作是由“S、SL、SD或DS”限定符,指定动作停止并复位。如果动作正在执行,但不是由“S、SL、SD或DS”限定符执行,动作只是复位(不停止)。复位操作设置如下:OUT/OUTNOT指令:“OFF”,TIM/TIMH指令:“复位”;其它定时器/计数器/转换寄存器:“保持”S置位步活动时动作执行,即使步变成非活动也持续执行,要取消执行,使用R限定符。是SD置位延时步活动后直到用户指定时间到达,动作开始执行,即使步变成非活动也持续执行,要取消执行,使用R限定符。是SL置位限制步活动时动作执行,直到用户指定时间到期。与“L”不同的是,即使步变成非活动也持续执行,要取消执行,使用R限定符。是D,DS,L控制动作执行的时序,使用步定时器,时间单位与动作块被分配的步的定时器一致。SD和SL用与步定时器不同的定时器控制时间,因为他们操作独立于步状态。如果动作限定符设置为“N”,梯形图程序将不能正确检测步的上升沿激活状态。因此,如果一个过程根据步的激活状态只执行一次,需要使用“P1”动作限定符。SFC编程第9页SFC编程第10页(四)、SFC编程的一些规则:1、三要素:驱动负载、转移条件、转移目标。转移条件、转移目标二者不可缺,驱动负载视具体情况而定。2、先驱动负载,后状态转移,不可颠倒。3、转换程序中不能用定时器指令,因定时器超时后不能复位。4、不同时启动的双线圈是允许的,相邻的状态使用的“T、C”不能相同。5、转移条件可以是多个元件的逻辑组合。6、分支、汇合的组合流程和虚拟状态的编程需具体情况,具体分析,具体处理。7、某些指令不支持。不支持的指令块程序指令(所有指令,包含BPRG和BEND)子程序指令(SBS,GSBS,RET,MCRO,SBN,GSBN,和GRET)跳转指令(JMP,CJP,CJPN和JME)步进梯形图指令(STEP和SNXT)I/O刷新指令(IORF)TMHH和TMHHX指令(除了CJ1-H-R和CJ2CPU单元)特殊指令(FRMCV和TOCV)记录位置操作指令(PUSH,FIFO,LIFO,SETR,GETR)故障点检测指令(FPD)索引寄存器设置指令(MOVRW)8、如果在梯形图中使用功能块,功能块中使用的输出的状态将被保持。(五)、SFC任务控制指令:1、SFCOFF结束任务执行;2、SFCPR暂停任务执行并复位输出;3、SFCPRN暂停SFC任务执行且不复位输出;4、SFCON重新执行SFC任务。SFCOFF结束SFC任务的执行。被结束的任务中正在执行的动作的任何输出将保持并结束处理过程。当再次用SFCON指令重新执行任务时,将从初始步执行。SFCPR所有被暂停任务的输出将复位,处理将暂停。请注意,在使用这个指令时,在其它任务中也被使用的输出也将被复位。当使用SFCON指令重新启动执行时,将从任务被暂停前的激活步开始。即使当步暂停时,暂停步的步定时器将仍然继续执行。SFCPRN所有被暂停任务的输出将保持,处理将暂停
本文标题:SFC编程
链接地址:https://www.777doc.com/doc-6149123 .html