西门子PLC培训资料2_01C.pptx
IEC 1131 标准标准第一部分:主要信息定义 PLC 的术语 PLC 的主要功能特点第二部分:设备要求电气,机械和功能上的要求制造商需提供的信息符合标准的规则(一致性)第三部分:编程语言梯形图,功能方框图,语句表,顺序功能图和结构化文本第四部分:用户指南系统分析和描述PLC的选择和应用安全和保护,安装和维护第五部分:通讯模式,通讯块,与ISO协议的对应关系Modul:IEC_T1D.第1页/共35页IEC1131 内容内容-第三部分第三部分 编译为标准代码的规则 软件模型,通讯模型,编程模型 可编程逻辑控制语言中的通用元件数据类型和变量功能和功能块程序和任务 指令表(IL)(=语句表(STL)结构化文本(ST)(=结构化控制语言(SCL)梯形图(LD)(=LAD)功能方框图(FBD)顺序功能图(SFC)(=S7-GRAPH)附加的语法规则和编程示例Modul:IEC_T1D.第2页/共35页SIMATIC 管理器下的项目结构管理器下的项目结构项目S7/M7 程序(未分配给硬件的)用 S7 块组成的用户程序,OBs,FBs,FCs,DBs,等STL 用户程序源文件S7-300 可编程的 CPUS7/M7 程序(分配给硬件的)用户程序硬件站STL 源文件第3页/共35页STEP7的块的块第4页/共35页块的组成部分块的组成部分变量声明表 代码部分第5页/共35页 块的首部(36字节)块体 变量声明部分 和 程序部分 或 数据压缩的接口描述块的结构块的结构第6页/共35页结构化编程OB 1电机 1FC 1电机 2FC 1电机 3FC 1第7页/共35页利用局部数据进行控制利用局部数据进行控制FC1(数学功能)OB1FC1Input1Input2Input3Output_AFC1Input1Input2Input3Output_AMW53369MW10QW12QW20MW26869MW16I0.5I0.5SUB_IIN1IN2()M5.1OADD_IIN1IN2M5.0O#TEMP1#INPUT1#INPUT2#TEMP1#INPUT3#Output_A 0.02.04.06.08.0Input1Input2Input3Output_ATEMP1inininouttempintintintintintsample measure 1constantoffsetresultintermediate第8页/共35页局部变量局部变量临时变量 当相关块执行完毕后被清除 临时存储在 L stack中 可在下列块中使用 OBs/FCs/FBs静态变量当相关块执行完毕后仍然 保留 永久存储在DBs中 只能在FBs中使用局部变量/数据(只在一个块中有效)全局变量/数据(在全部程序中有效)PII/PIQ I/O M/T/C DB areas符号地址绝对地址访问方式第9页/共35页临时变量临时变量第10页/共35页执行的程序局部数据堆栈的大小局部数据堆栈的大小对于 S7-300:局部堆栈大小优先级256 bytes127总容量:1.5 Kbyte(CPU 313.316)启动程序(只执行一次)循环扫描程序256 bytes256 bytes256 bytes1232时间中断日时钟中断延时处理中断循环处理中断循环扫描中的错误处理中断256 bytes162826256 bytes事件驱动中断硬件中断启动过程中的错误处理中断第11页/共35页块所需要的局部数据区的长度块所需要的局部数据区的长度rechts第12页/共35页256 Bytes事件所占用的 L stack1OB1OB 11操作系统程序所占用的局部数据区的总长度程序所占用的局部数据区的总长度FC 2有临时变量OB1FC2FC133OB1FC144OB1FC166FC 3有临时变量OB1FC3FC155FC 1有临时变量2OB1FC127OB17第13页/共35页练习练习1.11.1:使用临时变量使用临时变量替换为临时变量QW6第14页/共35页示例:故障信息指示示例:故障信息指示DisturbanceLEDAcknowledgeReport MemoryEdge Mem.BitDisturb.InputAcknowl.Flash Freq.Disturb.InputDisplayRS&=1&QSRPReport MemoryReport Memory解决方案要求第15页/共35页Disturb_inputReport_ memoryAcknowledgeEdge_ mem_bitDisplayFlash_freqFC 20调用可以分配参数的块可以分配参数的块A i1.2R m40.0A i1.3Fpm40.1S m 40.0A m40.0A m10.3OAnm40.0A i1.3=Q4.3不可以分配参数的块形式参数M 40.0M 40.1I 1.3I 1.2Q 4.3M 10.3实际参数A#AcknowledgeR#Report memoryA#Disturb_inputFP#Edge_mem_bitS#Report_memoryA#Report_memoryA#Flash_freq OAN#Report_memoryA#Disturb_input=#Display 可以分配参数的块程序第16页/共35页定义形式参数定义形式参数使用方法图形显示只能读在块的左侧只能写在块的右侧 参数类型输入参数输出参数输入/输出 参数 定义inoutIn_out可读/可写在块的左侧 形式参数FC 20 的变量声明表第17页/共35页编辑一个可分配参数的块编辑一个可分配参数的块对于无参数分配的块,此处可能是:绝对地址:I1.3 符号地址:“End_left”第18页/共35页Disturb_inputAcknowledgeFlash_freqEdge_mem_bitDisplayENOENFC20调用一个分配了参数的块调用一个分配了参数的块Network 3:First CallNetwork 4:Second CallM40.1“Position error”“End left”.“Acknow.button”M10.3M40.0“End right”Q4.1“Acknow.button”M10.3M40.2符号的绝对的寻址方式符号局部符号-形式参数符号表全局符号Disturb_inputAcknowledgeFlash_freqReport_memoryEdge_mem_bitDisplayENOENFC20M40.3Q5.4Report_memory第19页/共35页LAD/FBDSTL在块调用时使用在块调用时使用ENEN/ENO/ENO参数参数CALLFC1 NOP 0例子?.?FC 1ENENOFC 2ENENOFC 3ENENO=FC 1ENENO?.?无条件调用AI 0.1 JNB_001 CALLFC1 _001:A BR =Q 5.0FC 1ENENOI 0.1=Q 5.0条件调用第20页/共35页FC 20 的变量声明表练习练习1.21.2:生成一个分配了参数的生成一个分配了参数的FCFC块块无参数的块分配了参数的块 FC 20A I1.2R M40.0A I1.3FPM40.1S M 40.0A M40.0A M10.3OANM40.0A I1.3=Q5.3A#AcknowledgeR#Report_memoryA#Disturb.:2.1.第21页/共35页练习练习1.31.3:调用一个分配了参数的调用一个分配了参数的FCFC块块Disturb_inputReport_memoryAcknowledgeEdge_mem_bitDisplayFlash_freq第一次调用FC20时的参数分配 M 40.0M 40.1I 1.3I 1.2Q 5.3M 10.3FC 20Disturb_inputReport_memoryAcknowledgeEdge_mem_bitDisplayFlash_freqM 40.2M 40.3I 1.4I 1.2Q 5.4M 10.3FC 20第二次调用FC20时的参数分配第22页/共35页FB块块 FB 2ENDisturb.inputAcknowledgeDisplayFlash freq.ENODB 2OB 1FB块的变量声明表第23页/共35页用用FB实现的故障信息显示实现的故障信息显示FB的声明表背景数据块第24页/共35页生成背景数据块生成背景数据块1.在FB调用时生成背景数据块2.创建一个新的背景数据块 第25页/共35页多重背景模型多重背景模型DB10普通背景模型 FB20OB 1Call FB20,DB10Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=DB11FB20Call FB20,DB11Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=DB12FB20Call FB20,DB12Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=多重背景模型 FB 100DB100Call FB100,DB100OB 1stat Dist_1 FB20stat Dist_2 FB20Parameters andstatic variablesof the 2nd.call of FB20Call Dist_2Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=Parameters andstatic variablesof the 1st.call of FB20Call Dist_1Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=第26页/共35页练习练习1.4:编写一个编写一个FB块块FB 20 的变量声明表1.FB 20 中的部分程序A#AcknowledgeR#Report memoryA#Disturb.:2.第27页/共35页练习练习1.5:调用调用FB并调试并调试第28页/共35页插入/删除块的参数可能遇到的问题Save第29页/共35页调用被修改过的块时应做的更正调用被修改过的块时应做的更正当调用块被打开时:单击鼠标右键第30页/共35页练习1.6:多台设备的风扇监控功能A B C=1 S_ODT TIME ACKN SIG&A B C R S Q =1FLT FC101 REPORTA B C ACKN TIME TVFLT SIG功能 符号第31页/共35页练习1.7:风扇监控功能的扩展 A B C=1 S_ODT TIME ACKN SIG&A B C R S Q =1FLT FC101 REPORTA B C ACKN TIME TVFLT SIG功能 符号 ENAB&ENAB ENAB第32页/共35页练习练习1.8:识别变量的类型识别变量的类型AbsoluteSymbolic Temporary Static ParameterL#Number_1T#Max_valueT MW 40StatementL#Number_2L#Intermediate_resultL“Number_1”T#Number_2Global Local第33页/共35页总结总结:块的调用块的调用 CALL FC1 UC FC1 CC FC1STLLADFBDFC1ENENOFC1ENENOFC1 (CALL)FB无参数,无背景数据块 UC FB1 CC FB1CALL有参数 CALL FC2 Par1:.Par2:.Par3:.FC2ENENOPar3Par1Par2FC2ENENOPar1Par2Par3有参数,有背景数据块 CALL FB2,DB3 Par1:.Par2:.Par3:.FB2ENENOPar3Par1Par2DB3FB2ENENOPar3Par1Par2DB3无参数语言FCFC1第34页/共35页感谢您的观看!第35页/共35页