FPWINPro第8章编制FUNFB

上传人:沈*** 文档编号:68862297 上传时间:2022-04-05 格式:DOC 页数:40 大小:2.42MB
返回 下载 相关 举报
FPWINPro第8章编制FUNFB_第1页
第1页 / 共40页
FPWINPro第8章编制FUNFB_第2页
第2页 / 共40页
FPWINPro第8章编制FUNFB_第3页
第3页 / 共40页
点击查看更多>>
资源描述
第8章 编制功能(FUN)/功能块(FB)编制功能(FUN)/功能块(FB)8-1第8章 编制功能(FUN)/功能块(FB)8-1 概要什么是功能(FUN)/功能块(FB)功能/功能块,是通过对一系列的处理进行部品化并登录、使其能够完全作为一个指令使用的功用。(POU勺类型:FUN or FB)1Meen_ValuBDota-1n DbIb 1nJD 创自.2:orta 3in Gala 3程序(POU勺类型:PRG)作为指令使用一系列的处理8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)对功能及功能块的输入和输出变量定义ClZ?AH_lNhU I_ln_Uat3_l1 VAR INPUTIn Data 22 VARJMPUTXData 33 V/ftR-0UTPLrr_Oirt_Data4 VHH-WOTK.l_o oo o OT T T 7 TININ1NIN1N8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)在对功能和功能块的输入和输出中,需要使用变量。 如上图所示,在功能及功能块内的Heade中进行了定义, 但是变量的类分别按输入 tVAR_INPUT输出tVAR_OUTPUT进行了定义。var input功能或功能块中必要的参数的输入时使用的变量。被调用的POU各变量值传送到功能或功能块(PR除外)。 VAR_INPU是在对应于功能或功能块的H eade冲进行定义的。虽然可以读出输入变量的数值,但是不能写入操作。(强制输入输出除外)var output只在功能块中使用的输出变量。当plc从 pro模式切换到RUN模式时,或者电源变为ON寸,var_outp的初始 值被设定。功能与功能块的不同功能是在程序中被调用后、进行一系列处理并将结果返回的处理。在功能中,对于输入其处理结果是一次性确定的。 功能内部不占用存储区。程序卜 In Data 1ADDWorkJWork 1Work 1-FunAdditionResult_1Result_1Result_1Result_1?Result_1 ?=2=2=2=2上图是用功能编制的进行 _ln_Data_1 + Work_1 = Work_1计算的示例,但是由于功能不占用存储区,进行加法运算的Work_侮次都为“ 0。即当输入数据(_In_Data_1)等于“2”时,/2” 0”2”_In_Data_1 + Work_1 = Work_1每次的结果都为”2”。可以看到,由于不使用存储区,功能不能用于定时器 /计数器、位置控制经过值等必须使用存储区的情况。 (如果使用了定时器/计数器,会产生编译错误)此外,在功能内部也不能使用全局变量。功能块虽然与功能一样进行一系列的处理,但是功能块本身具有记忆数值的存储区域。因此,对于相同的输入数值也 会产生不同的结果。此外,在程序中可以多次使用同一功能块。在这种情况下,在调用各个功能块时,通过添加名称(实例,instanee)加以区别。这与在程序中可以配置若干、利用附加编号来区别的定时器指令的概念 相同。调用功能块的次数受到PLC的SUB旨令的数量的限制。程序 In Daia 1Work 1ADDWork 1Result 2 = 2Result 2 = 4Result_2 = 6Result 2 = 8Result上图是一个功能块形式的、名为 _ln_Data_1 + Work_1 = Work_1的计算程序的作成示例。因为功能块占用存储区,所以每次累加计算Work_1时都能反映出前次的运算结果。因此,在输入数据(_In_Data_1)等于“ 2”的情况下,n_Data_1+ Work_1 = Work_1第1次20”2”第2次22”4”第3次24”6”第4次26”8”?结果中可以反映出前次的运算结果即,对于定时器/计数器、位置控制的经过值等必须使用存储区的情况,应该使用功能块。8-3第8章 编制功能(FUN)/功能块(FB)8-5第8章 编制功能(FUN)/功能块(FB)功能(FUN)/功能块(FB)的读取次数程序中读取功能和功能块的次数是由所使用的PLC勺机型决定的。功能和功能块在编译后被表述为SUB子程序)指令。 即,可以使用SUB旨令的次数就是读取次数的限制。功能的情况1Data 1 Da_2 MefiJi_YaJue n_D&iB1 ln_DcriD 2 n_Deri0iJesiiLl厂Dsa.5 Mi3an_ViaJiMi h_Dh!h1 J n_Dafla,2 njDad .念esuh_2在调用1个功能的情况下, 生成一个SUB旨令。功能块的情况1aadck_Pulss 2IENENO呂也鈕鼻=SM=VaJue.1 $在调用功能块的情况下, 即使是同一个功能块,也 表述为调用次数的SUB旨令。主要PLC机型的子程序调用数子程序数FPS 32K 型500FP-X全系列 500FP0R500FP?FP2SH100-I|ALL0)-TI(CALL0(ED )-(3UB0 )-功能内的程序(RETT |(CALL()-I I(CALL I :-(ED)-(SIB0)-Clock_Pulse_1功能块内的程序(RET -(3LB 0-Clock_Pulse_2功能块内的程序(RET )-8-#第8章 编制功能(FUN)/功能块(FB)8-2 功能(FUN的编制编写功能时,从新创建功能(FUN)型POUF始。Header、程序体等都与此相同地进行编辑。程序(POU勺类型:PRG的程序体画面Uean ValueSignedENENOOata_1 -In Data_1Data 2In Data 2Data 3n IData 3Resuii.1上图所示的是输入数值(Data_1Data_2? Data_3)后,返回平均值(Result)的功能。 按照如下的步骤,编写梯形图程序(LD)。操作步骤1 .新创建功能(FUN)型白POU 选择功能(FUN)作卸01的类型。请点击菜单栏中的图标 圈画面将显示POU勺新创建对话框。输入功能的名称。选择功能(FUN)。选择梯形图程序(LD)。选中使用EN/ENO将功能输出的数据类型设置为INT。8-7第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)设置完成后,请点击丨QK按钮。关于 EN/ENO8-#第8章 编制功能(FUN)/功能块(FB)指定使用EN/ENO后,将生成带有EN/EN端子的功能。 下一个功能的触发器输出。E是用于执行功能的触发器输入,而EN姿用于输出到8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)EN/ENO:v EN/ENOff用Mean Value.cENiENOp v_ln_Data_1_ln_Data_2In Data 3EN/ENO:F EN/ENOff 用 Mean_Value n_Data_1_ln_Data_2_ln_Dedta38-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)关于输出的数据类型出力 OiH():|lNT8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)2. 如下所示,在Mean_Value(Function)的OU Heade中定义任意的变量。廿 Mean_VabB8-#第8章 编制功能(FUN)/功能块(FB)旳卜8-#第8章 编制功能(FUN)/功能块(FB)NTNTNTNTo _u o O0VARJNPUT io-I1 VAR INPUT ki_Data 22 VARjNPUTita_33 VAFLWbrk 1AVAR8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)创 UHmun 声 rn- 抚I*M LHICK Mean.Value DNT (FUN, LD)8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)在工程文件引导器中显示出功能。8-#第8章 编制功能(FUN)/功能块(FB)8-9第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)可以从下拉菜单中选择变量的类及数据类型。类的指定方法廿 MeanVialuie防只VAR11VftFrwwr11Ml#険1阿Q4-.JUi利iIFH -1.-Ah- X團:11忖1 ED亡hir诃汗炖2 1疋:小1削 J号JIM仙kjulFTTH却0 AftMJ1 H如 SO IW 亍武弄W HMftW浮门甘【帖 J 划利用点击程序体,使菜单栏中显示出图标。4| I2VrAWHBirtllrt-l-iiU !Ti 聲应匕*”8-11第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)4.显示以下的对话框。OP/FUN/FB(OS#?OP/FUN/FBABSDF、FB_Test Function Tesl Ann-? -*|国阳丁 斤全S旳g r演直子切 厂力艸勺小 广5旳九力1T1询flCOSAc t iv at eS t epsO 佑 to ppedSic ADDACD TIMEAdrOf r Adr 01 VarORi AdrDTOf_Offs ftdrFLjOf Olfs AdrL4t Of Var卉入鲤El4/EN0fir4!A首先,由于需要编写计算3个输入值的合计的程序, 选择加法运算的功能ADDOP/FUM/FBI)S#?OP/FUN/FBADCABS-AC OS世:j:r/ale右 t epsO tS to ppeciS tc*8-#第8章 编制功能(FUN)/功能块(FB)DFaFB.Test Function lesl_ XAiDD TIME IJ Adr Of Var ftdr Ofl VarOffi AdrDT_Ol_Off& AdrFL_Of Olfs AdrLast Of Var8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)阳孑帛全5仆)厂滴直子Q厂力肋J啦C 7t: /aPtl-勺押入迴EN/EN0MT4!AN)5.将PIN(引脚)数量设置为,然后点击|松迥按钮。(PIN(引脚)数量在配置完程序体后也可以再修改。8-13第8章 编制功能(FUN)/功能块(FB)仝.参考PIN的数量也可以在程序体配置完后进行修改。? ADD用鼠标将右下角的部分向下拖拽。F1ii1iii1ii?ADD? I?拖拽到目标的PIN数量后, 点击程序体的空白部分。28-#第8章 编制功能(FUN)/功能块(FB)5用鼠标点击变量框使其中的“?”处于反显状态后,打开右键菜单, 点击变量的选择。画面将显示如下的对话框。显示出在Heade中已登录的变量。8-15第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)按钮。在选择“n_Data_1 ”的变量的状态下,8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)1ADD8-#第8章 编制功能(FUN)/功能块(FB)hn_Dala_2ADD Wcrkl6按照同样的步骤,对剩余的输入值2也进行变量的输入。_ln_Dala_1- ADD?Jn.Daialn Dala37.在这里,请选择在输入侧作为保存从“ _ln_Data_1”到“n_Data_3个输入值合计的区域_Work_1。8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)&然后,编制计算平均值的程序块。按照与步骤4相同的操作打开对话框, 选择功能DIV、插入程序体。(请插入到下一个程序块)仝.参考功能的查找方法在知道目标功能的情况下,由于功能是按照字母顺序排列的,如果输入功能的起始字母,就可以使光标 移动到接近的功能,因此可以高效率地选择目标功能。例如,需要选择上述的DIV时,逢gFP LibraryFP Tool Library 斗tlc n m i ii_DIV ADD-3DF FR Tpst输入起始字母“ d”(不区分大写小写字母)15I OP/FUH/FHWjgS(OP/FUN/FGdlDOOLS TO DWORD BOOLSTOKT BOOLS TO WORD CONCA-Centred faControls Ic AndBata COSDELETEHFts-全f仍护仃a 广茁目干CRC16 产叫TH光标移动到以“ D”开始的功能的“ DELETE 然后可以利用滚动杆查找到“ D。”8-#第8章 编制功能(FUN)/功能块(FB)9请按以下所示配置各个引脚中的变量。在功能的输出中请指定功能名称。不必在Header中定义输出变量。8-17第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)DIVaWork_13功能名称的变量是以 INT型登录的。2Wark_1 -DIVMe&n_Value8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)10以上完成了功能的程序。升 Mean_felue曲咖値cVAR INPUTINT01VAR INPUTjr_Data_2NT02VAR INPUTIn Data 9INT034VARVARWkJINT08-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)11. 进行对象的检查。临|力甘H外升处8-19第8章 编制功能(FUN)/功能块(FB)点击工具栏中的对象检查图标,执行检查。 检查结果对话框。如果显示“ 0错误:功能的编程即完成。8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)12. 读取导程序(PO类型:PRG)现在,将已编写完成的功能读取到程序中。 首先,请在“新创建POU中编制程序(程序语言D)。飞币0比斬規作质18-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)输入文件(程序)名称。POU勺类型设置为程序(PRG)。程序语言设置为梯形图程序(LD)。Task(任务)为Programs。8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)输入与设置完成后,请点击I k按钮。8-#第8章 编制功能(FUN)/功能块(FB)13. 从程序(P0类型:PRG读出功能(POU型:FUN。r=-功能(PO和沁牺Frni:门rn PLG70 TH*ts wr 鬲 *?bTiq? Jt丹g KW TVTi忸曲 M曲鬻 臂跡也=ff 口日础冋I Qt占 M 爲_ _g 乍暉 丿 口册血曰吨也曰 g K!一 世 pyAxtPOUfrUN. LD*打 III ooMiwtB-e-i-08-21第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)从程序(P0类型:PRG读取调用功能(P类型:FUN在工程文件引导器中双击程序(P类型:PRG)或者单击程序(POU型: PRG标签, 显示出程序体。工程文件引导器画 押泸工处XPro问1科勺泸h处1pm+ 删 PLC -龟 POUfrcsramO IClDIn Data 1Rasult_1 - 200Data_2 FDDIn Data 2Data_3 - 300-rt Data 32Mean ValueENENOData_4=冲00In Data 1fesulC2 = 600= 500 =In Data 2D 3it&_6 = i0n Data 3通过上图可以看到,即使是使用2个相同的功能,对于不同的输入,会得到不同的结果。 在这种在内部不具有存储区、对输入进行计算并输出结果的情况下,应该使用功能。 虽然也可以使用功能块,但是会消耗SUB旨令,并且使程序步数增加。8-#第8章 编制功能(FUN)/功能块(FB)8-3 功能块(FB)的编制功能块的编制,从新创建功能块(FB)型的1开始。Header、程序体等,都进行同样的编辑。Signal 120程序(P01类型:PRG的程序体画面Clock_Pulse_1Clock_PulseEN ENO 卜_Set_Value _OutputOut_Signal_1对于如上图所示Signal_1的信号变为ON寸,根据由_Set_Valu设定的时间(单何.1秒)间隔、使Out_Signal 进行ON/OF交替的功能块,可以按照以下的步骤,利用体型图程序作成。操作步骤1 .新创建功能块(FB)型BPOU 选择功能块(FB)作为O啲类型。 请点击菜单栏中的茁 图标。8-29第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)画面将显示POU勺创建对话框。输入功能块名称。选择功能块(FB)。选择梯形图程序(LD)。选中使用EN/ENO8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)设置完成后,请点击丨按钮。8-#第8章 编制功能(FUN)/功能块(FB)2.按以下内容在Clock_Pulse(FB)的POU Heade中定义任意的变量。8-31第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)* :TT;i卄 i pr口Gb lrni朋咋 rltr Clock.Pulse (FB. LOOI AI MFALSf* U 4 g 1 M wgi心 trt-ft ilditliiHjrn屮Ml-內鼻雪 -低神鱷JIT1J7 叱 WJft ft 慢 祁rFE V - -汕 H ! flG WP GKiK J3.从4在工程文件引导器中显示出功能:8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)3. 输入程序。(指令选择按钮)如下图,在已经输入了触点的状态下,点击工具栏中的画8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)选择0.1秒定时器的TM 100MS FBiOP/FUN/FBYOP/EUNFFE6汨KFP LfartfXFP Tool Library v4 m i I ,战返匿z把TMJODmsJBTlM 1 QOni$ FB aE_TON Clock.PulseTM inOiHRTIMEJO.WOFW TMJ msTWImis_F B TMjs TM Is FBTM 10msTM10ms FB TMl OOflisTOFBool 2a粘贴FB后,需要输入实例名。按插入按钮后 粘贴到程序体。BoolJJ/ ITH_i uum5_rBslartTSVEV8-#第8章 编制功能(FUN)/功能块(FB)输入实例名。 此处输入TM 18-33第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)实例名输入结束后,会相应显示出变量登录对话框。*网归|TMjM袍|TM_1QClm5_FB8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)?T燮世 pvijaOmTFE不做改动,直接点击定义按钮。8-#第8章 编制功能(FUN)/功能块(FB)I挿人镶I审乃邃量小化在Heade冲也将刚才输入的实例名TM_1作为变量自动登录。O Ctact_Pulw4 l| X丨亍一夕聖初期值=1 *训 RJNPLTTSaglLBVAR_0U7FUTOutpul展GrellVARBool 21MTDBOOLFALSEBOOLFALSEBOOLFALSE11*1 5加 1口|u 1lzSVAR8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)如果成功插入了定时器,请将回路完成至下图所示的状况。8-#第8章 编制功能(FUN)/功能块(FB)因为本次不使用,所以请删除变量项。 删除操作不会产生错误。8-#第8章 编制功能(FUN)/功能块(FB)8-35第8章 编制功能(FUN)/功能块(FB)同样地,请将回路完成至下图所示的状况。TM_1TW-lOOmS-FB slartTSVEVBoqIJ-P.-Set Value8-#第8章 编制功能(FUN)/功能块(FB)TM_:Bool_lT FTMJI OOms_FBslartT-6col_2SVEV kBool 1-J/J-以上,功能块(FB)的编写结束。4. 进行对象的检查。|朋y点击工具栏的对象检查图标实行检查。8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)检查结果对话框。如果显示“ o错误;则功能块的编程工作全部结束。8-#第8章 编制功能(FUN)/功能块(FB)面向程序(PO类型:PRG的调用8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)打开程序(PO类型:PRG在工程文件引导器中双击程序(P类型:PRG)或者单击 程序(P01类型:PRG标签,可以显示出程序体。8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)单击工具栏的指令选择图标。8-#第8章 编制功能(FUN)/功能块(FB)画面中将显示功能块选择对话框,在其中选择刚才作成的功能块。8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)库:选择 工程文件已作成的功能块被显示。选择后,请按挿的按钮在程序块1的适当位置粘贴功能块。作为实例名。在Heade中功能块的实例名被自动作为变量登录。8-37第8章 编制功能(FUN)/功能块(FB)5. 如下所示,在程序的H eader中定义2个变量。# Clock_Fjlse 口 唱 PoeramJ6. 将登录的变量配置到功能块的变量框中。此处,时钟时间设置为20(2秒间隔)。至此,向程序(PO类型:PRG中插入功能块(P(类型:FB)的操作结束。&对工程文件全体进行编译。点击工具栏中的全部编译图标,进行编译。全部编译的结果显示对话框。如果显示“ 0错误:则工程文件的编程结束。8-#第8章 编制功能(FUN)/功能块(FB)动作确认1 下载工程文件。8-39第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)2.确认功能块的动作。请确认处于监控状态。使 Signal_1 置ON1Clock Pulse 1将光标移动到Sig nal_1上,双击。点击 坐按钮。dock Pulse 1Clock PulseSignal 1-11jNd20-.SeLValuei OuLSignal 1Clock Pulse 12Clock PulseENOSel VeilLieOu1pu120以2秒钟间隔往复8-#第8章 编制功能(FUN)/功能块(FB)8-#第8章 编制功能(FUN)/功能块(FB)如上图所示,可以看到Out_Signal_1按2秒钟的间隔ON/OF交替。8-#第8章 编制功能(FUN)/功能块(FB)1Cloct Pulse 1Cloc.PulseSignel_1.ENO -20 _Set_VoJu8r- iClocl Pulse 2Cloc.PulseSignal_2ENO -5 Sei Vai up LOuhw3Out Signal lOut Sigral 2備考RR RR RR R A A A A A A AClMA.Pulse 1Clock.RuteeSiffna l_1BOOLFALSIEOutJiignaLlClodc. Pulse 2BOOLGlock Pu脸eFALSESignal 2BOOLFALSEOu* Scnal 2BOOLFALSE上图是在程序中将功能块(FB)作为各种时间值不同的时钟定时器继电器、使用!个的示例。 将时钟定时器回路库函数化、在所谓“在程序中需要多次使用”的情况下,左01类型中应 使用功能块(FB)。如同定时器在内部需要存储器的情况下,POU型中不能使用功能(FUN)。8-#
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!