2019/10/7SIMATICPCS7标准培训CFC编程SciampleTraining---SIMATICPCS722019/10/7内容CFC简介CFC编程环境CFC编程步骤CFC技术块CFC编程实例2019/10/7SciampleTraining---SIMATICPCS73CFC简介CFC是连续控制图,为英文单词ContinuousFunctionChart的缩写。CFC是基于图形用户界面的编辑器,它通过给预先编辑好的块指定参数或者建立连接,从而实现创建CPU程序结构。2019/10/7SciampleTraining---SIMATICPCS74CFC的编程环境(1)2019/10/7SciampleTraining---SIMATICPCS75CFC的编程环境(2)打开CFC块,缺省只有一个级,可以通过添加达到26个级,分别以英文字母A-Z表示,在每个级中又分6页右边为库,包括西门子自身提供的和用户预先编写好的块,对于熟悉块名称的用户可以在右下角直接输入块名搜索到你需要使用的块2019/10/7SciampleTraining---SIMATICPCS76CFC的编程环境(3)快捷键部分:通过该上下选择,可以切换当前浏览的页面切换到所有页面总览模式切换到具体某一页面浏览模式2019/10/7SciampleTraining---SIMATICPCS77CFC的编程环境(4)快捷键部分:运行顺序,确定程序结构2019/10/7SciampleTraining---SIMATICPCS78CFC的编程环境(5)快捷键部分:编译下载测试模式CFC块交叉索引2019/10/7SciampleTraining---SIMATICPCS79CFC的编程环境(6)快捷键部分:定义CFC块的接口,用于实现在CFC中调用另一个预先编好的CFC块实现步骤(1)创建一个CFC块,定义好接口,用于在另外的CFC块中调用(2)打开一个新的CFC块,从库的Charts目录中选择预先编好的CFC块,拖到程序中即可2019/10/7SciampleTraining---SIMATICPCS710CFC的编程环境(7)CFC编程步骤:组态编译下载测试(1)组态:从主数据库中把需要用到的块拖到相应的程序区域中,修改参数值,连接相应块的输入输出接口。2019/10/7SciampleTraining---SIMATICPCS711CFC的编程环境(8)(2)编译:2019/10/7SciampleTraining---SIMATICPCS712CFC的编程环境(9)Generatemoduledrivers,生成模块驱动Updatesamplingtime,系统可以在编译之前,检查并查找相关块所安装的OB,并在输入端“SAMPLE_T”(相当于块的采样时间)进行相应的输入Deleteemptyrun-timegroups,删除存在于S7程序中的空运行时间功能块组2019/10/7SciampleTraining---SIMATICPCS713CFC的编程环境(10)(3)下载,把用户组态的工程下载到相应的PLC中(4)测试选择菜单命令DebugTestMode,激活测试模式选择菜单命令DebugWatchOn,所有在块属性中以测试模式激活的块I/O以黄色背景显示SciampleTraining---SIMATICPCS7142019/10/7CFC技术块驱动技术块控制技术块转换技术块数学运算技术块操作技术块信息技术块2019/10/7SciampleTraining---SIMATICPCS7151、驱动技术块1(1)CH_AI:FC275实现功能:模拟量输入信号处理MODE:CFC块编译时选择“产生模块驱动”,系统自动连接到MOD块VALUE:模拟量输入信号VHRANGE、VLRANGE:定义模拟量输入信号的码值线性转换后的量程SIM_ON为真值时,输出由仿真值SIM_V给出SUBS_ON为真值时,输出由替换值SUBS_V给出2019/10/7SciampleTraining---SIMATICPCS7161、驱动技术块2V:输出值QUALITY:质量代码,具体有以下几种形式16#80有效值16#60仿真值16#44上一个有效值16#48替换值16#00无效值2019/10/7SciampleTraining---SIMATICPCS7171、驱动技术块3(2)CH_AO:FC276实现功能:模拟量输出信号处理MODE:CFC块编译时选择“产生模块驱动”,系统自动连接到MOD块SIM_ON为真值时,输出VALUE由仿真值SIM_U给出;为假值时,由U给出UHRANGE、ULRANGE定义量程内的数转换回码值的量程2019/10/7SciampleTraining---SIMATICPCS7181、驱动技术块4(3)CH_DI:FC277CH_DO:FC278实现功能:开关量输入输出信号处理MODE:CFC块编译时选择“产生模块驱动”,系统自动连接到MOD块SIM_ON为真值时,由仿真值SIM_I给出到块输出;为假值时,分别由块输入VALUE、I给出到块输出SUBS_ON为真值时,由替换值SUBS_I给出到块输出2019/10/7SciampleTraining---SIMATICPCS7192、控制技术块1(1)常规PID控制块CTRL_PID:FB61适用场合:固定设定值控制串级控制比例控制比值控制2019/10/7SciampleTraining---SIMATICPCS7202、控制技术块2控制块本身可以实现的功能模式:手动、自动、跟踪判断过程值状态并且生成相应信息抑制扰动设定值跟踪输入值、设定值、输出值的设限死区比例、积分、微分根据需要激活2019/10/7SciampleTraining---SIMATICPCS7212、控制技术块3控制块工作原理:2019/10/7SciampleTraining---SIMATICPCS7222、控制技术块4CTRL_PID技术块图解12019/10/7SciampleTraining---SIMATICPCS7232、控制技术块5该图解释了SP值的产生1、2、图中U_HL、U_LL和SPEXTHLM、SPEXTLLM分别起到在不同情况下给出SP值的限幅作用SP_TRK_ONSPEXTSEL_OPSP提供说明00011SP_OPSP_EXTPV_IN不考虑内部设定外部设定跟踪设定2019/10/7SciampleTraining---SIMATICPCS7242、控制技术块6CTRL_PID技术块图解22019/10/7SciampleTraining---SIMATICPCS7252、控制技术块7CTRL_PID技术块图解32019/10/7SciampleTraining---SIMATICPCS7262、控制技术块8以上两幅图解释了块输出LMN的产生从OS站可以更改块的运行模式(AUTO_ON_OP值1为自动,0为手动)在手动模式下,输出由MAN_OP决定(要求允许手动输入MAN_OP_EN为1,且MAN_OP在上下限MAN_HLM、MAN_LLM之间)在自动模式下,输出通过PID计算给出(其中PV_IN为反馈,GAIN为比例,TN为积分,TV为微分)2019/10/7SciampleTraining---SIMATICPCS7272、控制技术块9调节方向由比例系数正负值决定在跟踪模式下,LMN和LMN_TRK相连,以避免手自动切换产生异常波动,不利于生产工况。串级系统中,主回路输出LMN应连接到副回路输入SP_EXT;考虑到两个回路在断开和建立串级之间的切换产生波动,主回路跟踪输入LMN_TRK应连接到副回路的SP需要考虑内外部给出设定值SP之间的无扰动切换,由管角SP_TRK_ON决定2019/10/7SciampleTraining---SIMATICPCS7282、控制技术块10(2)MEAS_MON:FB65实现功能:监控一个模拟量,含有上下限报警和警告U为监控的模拟量U_AH、U_AL为报警的上下限值,U_WH、U_WL为警告的上下限值;QH_ALM、QL_ALM、QH_WRN、QL_WRN分别对应上下限报警或警告的给出2019/10/7SciampleTraining---SIMATICPCS7292、控制技术块11(3)MOT_REV:FB67实现功能:用于控制双向运转电机模式切换:从OS站对管角AUT_ON_OP进行修改,可以切换运行模式,1为自动,0为手动;可以由QMAN_AUT验证在FW_OP_EN,RV_OP_EN,OFFOP_EN允许情况下(1为允许,0为禁止),决定正转、反转以及停止分别由FORW_ON、MOT_OFF和REV_ON决定;正转、反转或停止只能有一种成立,建议电气上也应实现互锁2019/10/7SciampleTraining---SIMATICPCS7302、控制技术块12模块提供可监视电机运行停止时间,在管角MONITOR为1的情况下,由TIME_ON和TIME_OFF可知道当前电机运行、停止的时间错误复位由管角RESET决定START_OFF决定CPU切换到运行时电机的状态;1为电机停止,0为保持上一个运行状态2019/10/7SciampleTraining---SIMATICPCS7312、控制技术块13(4)MOT_SPED:FB68实现功能:用于控制单向运转,有快速和慢速运行之分的电机基本解释见MOT_REVSP1_ON,SP2_ON,MOT_OFF决定电机快速运行、慢速运行和停止;三个只能一个有效。2019/10/7SciampleTraining---SIMATICPCS7322、控制技术块14(5)MOTOR:FB66实现功能:用于控制电机,电机运行状态可选择监视模式切换:从OS站对管角AUT_ON_OP进行修改,可以切换运行模式,1为自动,0为手动;可以由QMAN_AUT验证LOCK和LOCK_ON决定电机立即运行或停止,优先级最高,其中LOCK让电机立即停止,在LOCK为0时,LOCK_ON让电机立即运行FB_ON为电机反馈状态2019/10/7SciampleTraining---SIMATICPCS7332、控制技术块15(6)VALVE:FB73实现功能:用于控制阀的启停模式切换:从OS站对管角AUT_ON_OP进行修改,可以切换运行模式,1为自动,0为手动;可以由QMAN_AUT验证VL_OPEN和VL_CLOSE在V_LOCK为0的情况下决定阀的开或关,同时VL_CLOSE锁定VL_OPEN,即二者都为1时阀关闭;V_LOCK为1时阀立即关闭2019/10/7SciampleTraining---SIMATICPCS7342、控制技术块16VALVE:FB73FB_CLOSE和FB_OPEN对应阀的开关反馈信号,对于单反馈或没有反馈的阀可以只连接一个管角或不连2019/10/7SciampleTraining---SIMATICPCS7352、控制技术块17(7)INTERLOCK:FB75实现功能:开关量的逻辑运算输入信号最多为10个,分成两组I1_1..5,I2_1..5当NEG1_1..5和NEG2_1..5中任意某一个为1时,相应的输入信号取反再进行逻辑运算当NEGRES_1或NEGRES_2为1时,表示对第一组或第二组信号的结果取反再进行逻辑运算AND_OR1..3,为1时进行逻辑与运算,为0时进行逻辑或运算;AND_OR1..2表示对第一组或第二组进行逻辑运算性质,AND_OR3表示对两组信号逻辑运算结果再运算的性质2019/10/7SciampleTraining---SIMATICPCS7362、控制技术块18INTERLOCK:FB