您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > SIMATIC-STEP7培训系列14-结构化编程
SIMATICSTEP7培训系列14-结构化编程操作系统OB1FCFBFCFBSFCSFB其它OBsIEC1131标准第一部分:主要信息定义PLC的术语PLC的主要功能特点第二部分:设备要求电气,机械和功能上的要求制造商需提供的信息符合标准的规则(一致性)第三部分:编程语言梯形图,功能方框图,语句表,顺序功能图和结构化文本第四部分:用户指南系统分析和描述PLC的选择和应用安全和保护,安装和维护第五部分:通讯模式,通讯块,与ISO协议的对应关系Modul:IEC_T1D.IEC1131内容-第三部分编译为标准代码的规则软件模型,通讯模型,编程模型可编程逻辑控制语言中的通用元件数据类型和变量功能和功能块程序和任务指令表(IL)(=语句表(STL))结构化文本(ST)(=结构化控制语言(SCL))梯形图(LD)(=LAD)功能方框图(FBD)顺序功能图(SFC)(=S7-GRAPH)附加的语法规则和编程示例Modul:IEC_T1D.SIMATIC管理器下的项目结构项目S7/M7程序(未分配给硬件的)用S7块组成的用户程序,OBs,FBs,FCs,DBs,等STL用户程序源文件S7-300可编程的CPUS7/M7程序(分配给硬件的)用户程序硬件站STL源文件STEP7的块块的组成部分变量声明表代码部分块的首部(36字节)块体变量声明部分和程序部分或数据压缩的接口描述块的结构结构化编程OB1电机1FC1电机2FC1电机3FC1利用局部数据进行控制FC1(数学功能)OB1FC1Input1Input2Input3Output_AFC1Input1Input2Input3Output_AMW53369MW10QW12QW20MW26869MW16I0.5I0.5SUB_IIN1IN2()M5.1OADD_IIN1IN2M5.0O#TEMP1#INPUT1#INPUT2#TEMP1#INPUT3#Output_A0.02.04.06.08.0Input1Input2Input3Output_ATEMP1inininouttempintintintintintsamplemeasure1constantoffsetresultintermediate局部变量临时变量•当相关块执行完毕后被清除•临时存储在Lstack中•可在下列块中使用OBs/FCs/FBs静态变量•当相关块执行完毕后仍然保留•永久存储在DBs中•只能在FBs中使用局部变量/数据(只在一个块中有效)全局变量/数据(在全部程序中有效)•PII/PIQ•I/O•M/T/C•DBareas符号地址绝对地址访问方式临时变量执行的程序局部数据堆栈的大小对于S7-300:局部堆栈大小优先级256bytes127总容量:1.5Kbyte(CPU313..316)启动程序(只执行一次)循环扫描程序256bytes256bytes256bytes1232时间中断日时钟中断延时处理中断循环处理中断循环扫描中的错误处理中断256bytes162826256bytes事件驱动中断硬件中断启动过程中的错误处理中断块所需要的局部数据区的长度rechts256Bytes事件所占用的Lstack1OB1OB11操作系统程序所占用的局部数据区的总长度FC2有临时变量OB1FC2FC133OB1FC144OB1FC166FC3有临时变量OB1FC3FC155FC1有临时变量2OB1FC127OB17练习1.1:使用临时变量替换为临时变量QW6示例:故障信息指示DisturbanceLEDAcknowledgeReportMemoryEdgeMem.BitDisturb.InputAcknowl.FlashFreq.Disturb.InputDisplayRS&==1&QSRPReportMemoryReportMemory解决方案要求Disturb_inputReport_memoryAcknowledgeEdge_mem_bitDisplayFlash_freqFC20调用可以分配参数的块Ai1.2Rm40.0Ai1.3Fpm40.1Sm40.0Am40.0Am10.3OAnm40.0Ai1.3=Q4.3不可以分配参数的块形式参数M40.0M40.1I1.3I1.2Q4.3M10.3实际参数A#AcknowledgeR#ReportmemoryA#Disturb_inputFP#Edge_mem_bitS#Report_memoryA#Report_memoryA#Flash_freqOAN#Report_memoryA#Disturb_input=#Display可以分配参数的块程序定义形式参数使用方法图形显示只能读在块的左侧只能写在块的右侧参数类型输入参数输出参数输入/输出参数定义inoutIn_out可读/可写在块的左侧形式参数FC20的变量声明表编辑一个可分配参数的块对于无参数分配的块,此处可能是:•绝对地址:I1.3•符号地址:“End_left”Disturb_inputAcknowledgeFlash_freqEdge_mem_bitDisplayENOENFC20调用一个分配了参数的块Network3:FirstCallNetwork4:SecondCallM40.1“Positionerror”“Endleft”....“Acknow.button”M10.3M40.0“Endright”Q4.1“Acknow.button”M10.3M40.2符号的绝对的寻址方式符号局部符号--形式参数符号表全局符号Disturb_inputAcknowledgeFlash_freqReport_memoryEdge_mem_bitDisplayENOENFC20M40.3Q5.4Report_memoryLAD/FBDSTL在块调用时使用EN/ENO参数CALLFC1NOP0例子??.?FC1ENENOFC2ENENOFC3ENENO=FC1ENENO??.?无条件调用AI0.1JNB_001CALLFC1_001:ABR=Q5.0FC1ENENOI0.1=Q5.0条件调用FC20的变量声明表练习1.2:生成一个分配了参数的FC块无参数的块分配了参数的块FC20AI1.2RM40.0AI1.3FPM40.1SM40.0AM40.0AM10.3OANM40.0AI1.3=Q5.3A#AcknowledgeR#Report_memoryA#Disturb...::::::::2.1.练习1.3:调用一个分配了参数的FC块Disturb_inputReport_memoryAcknowledgeEdge_mem_bitDisplayFlash_freq第一次调用FC20时的参数分配M40.0M40.1I1.3I1.2Q5.3M10.3FC20Disturb_inputReport_memoryAcknowledgeEdge_mem_bitDisplayFlash_freqM40.2M40.3I1.4I1.2Q5.4M10.3FC20第二次调用FC20时的参数分配FB块FB2ENDisturb.inputAcknowledgeDisplayFlashfreq.ENODB2OB1FB块的变量声明表用FB实现的故障信息显示FB的声明表背景数据块生成背景数据块1.在FB调用时生成背景数据块2.创建一个新的背景数据块多重背景模型DB10普通背景模型FB20OB1CallFB20,DB10Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=DB11FB20CallFB20,DB11Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=DB12FB20CallFB20,DB12Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=多重背景模型FB100DB100CallFB100,DB100OB1statDist_1FB20statDist_2FB20Parametersandstaticvariablesofthe2nd.callofFB20CallDist_2Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=Parametersandstaticvariablesofthe1st.callofFB20CallDist_1Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=练习1.4:编写一个FB块FB20的变量声明表1.FB20中的部分程序A#AcknowledgeR#ReportmemoryA#Disturb....::2.练习1.5:调用FB并调试插入/删除块的参数可能遇到的问题调用被修改过的块时应做的更正当调用块被打开时:单击鼠标右键练习1.6:多台设备的风扇监控功能ABC=1S_ODTTIMEACKNSIG&ABCRSQ=1FLTFC101REPORTABCACKNTIMETVFLTSIG功能符号练习1.7:风扇监控功能的扩展ABC=1S_ODTTIMEACKNSIG&ABCRSQ=1FLTFC101REPORTABCACKNTIMETVFLTSIG功能符号ENAB&ENABENAB练习1.8:识别变量的类型AbsoluteSymbolicTemporaryStaticParameterL#Number_1T#Max_valueTMW40StatementL#Number_2L#Intermediate_resultL“Number_1”T#Number_2GlobalLocal总结:块的调用•CALLFC1•UCFC1•CCFC1STLLADFBDFC1ENENOFC1ENENOFC1(CALL)FB无参数,无背景数据块•UCFB1•CCFB1CALL有参数•CALLFC2Par1:...Par2:...Par3:...FC2ENENOPar3Par1Par2FC2ENENOPar1Par2Par3有参数,有背景数据块•CALLFB2,DB3Par1:...Par2:...Par3:...FB2ENENOPar3Par1Par2DB3FB2ENENOPar3Par1Par2DB3无参数语言FCFC1
本文标题:SIMATIC-STEP7培训系列14-结构化编程
链接地址:https://www.777doc.com/doc-3615473 .html