西门子S结构化编程培训讲义材料课件_第1页
西门子S结构化编程培训讲义材料课件_第2页
西门子S结构化编程培训讲义材料课件_第3页
西门子S结构化编程培训讲义材料课件_第4页
西门子S结构化编程培训讲义材料课件_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

结构化编程操作系统OB1FCFBFCFBSFCSFB其它OBs结构化编程操作系统OB1FCFBFCFBSFCSFB其它IEC1131标准第一部分:主要信息定义

PLC的术语

PLC的主要功能特点第二部分:设备要求电气,机械和功能上的要求制造商需提供的信息符合标准的规则(一致性)第三部分:编程语言梯形图,功能方框图,语句表,顺序功能图和结构化文本第四部分:用户指南系统分析和描述PLC的选择和应用安全和保护,安装和维护第五部分:通讯模式,通讯块,与ISO协议的对应关系Modul:IEC_T1D.IEC1131标准第一部分:主要信息Modul:IIEC1131内容-第三部分

编译为标准代码的规则软件模型,通讯模型,编程模型可编程逻辑控制语言中的通用元件数据类型和变量功能和功能块程序和任务

指令表(IL) (=语句表(STL))

结构化文本(ST) (=结构化控制语言(SCL))

梯形图(LD) (=LAD)

功能方框图(FBD)

顺序功能图(SFC)(=S7-GRAPH)

附加的语法规则和编程示例Modul:IEC_T1D.IEC1131内容-第三部分编译为标准代码的规则MSIMATIC管理器下的项目结构项目S7/M7程序(未分配给硬件的)用S7

块组成的用户程序,

OBs,FBs,FCs,DBs,

等STL用户程序源文件S7-300可编程的

CPUS7/M7程序(分配给硬件的)用户程序硬件站STL源文件SIMATIC管理器下的项目结构项目S7/M7程序(未分STEP7的块STEP7的块块的组成部分变量声明表

代码部分块的组成部分变量声明表代码部分

块的首部(36字节)

块体变量声明部分和程序部分或数据压缩的接口描述块的结构块的首部块体压缩的接口描述块的结构结构化编程OB1电机1FC1电机2FC1电机3FC1结构化编程OB1电机1FC1电机2FC1电机3F利用局部数据进行控制FC1(数学功能)OB1FC1Input1Input2Input3Output_AFC1Input1Input2Input3Output_AMW53369MW10QW12QW20MW26869MW16I0.5I0.5SUB_IIN1IN2()M5.1OADD_IIN1IN2M5.0O#TEMP1#INPUT1#INPUT2#TEMP1#INPUT3#Output_A0.02.04.06.08.0Input1Input2Input3Output_ATEMP1inininouttempintintintintintsamplemeasure1constantoffsetresultintermediate利用局部数据进行控制FC1(数学功能)OB1FC1Inpu局部变量临时变量•当相关块执行完毕后被清除

•临时存储在

Lstack中•可在下列块中使用

OBs/FCs/FBs静态变量•当相关块执行完毕后仍然

保留•永久存储在DBs中•只能在FBs中使用局部变量/数据(只在一个块中有效)全局变量/数据(在全部程序中有效)

•PII/PIQ•I/O•M/T/C•DBareas符号地址绝对地址访问方式局部变量临时变量静态变量局部变量/数据全局变量/数据•临时变量临时变量执行的程序局部数据堆栈的大小对于

S7-300:局部堆栈大小优先级256bytes127总容量:

1.5Kbyte

(CPU313..316)启动程序(只执行一次)循环扫描程序256bytes256bytes256bytes1232时间中断日时钟中断延时处理中断循环处理中断循环扫描中的错误处理中断256bytes162826256bytes事件驱动中断硬件中断启动过程中的错误处理中断执行的程序局部数据堆栈的大小对于S7-300:局部堆栈大小块所需要的局部数据区的长度rechts块所需要的局部数据区的长度rechts256Bytes事件所占用的

Lstack1OB1OB11操作系统程序所占用的局部数据区的总长度FC2有临时变量OB1FC2FC133OB1FC144OB1FC166FC3有临时变量OB1FC3FC155FC1有临时变量2OB1FC127OB17256Bytes事件所占用的1OB1OB11操作系统程练习1.1:使用临时变量替换为临时变量QW6练习1.1:使用临时变量替换为临时变量QW6示例:故障信息指示DisturbanceLEDAcknowledgeReportMemoryEdgeMem.BitDisturb.InputAcknowl.FlashFreq.Disturb.InputDisplayRS&=>=1&QSRPReportMemoryReportMemory解决方案要求示例:故障信息指示DisturbanceLEDAcknowlDisturb_inputReport_

memoryAcknowledgeEdge_mem_bitDisplayFlash_freqFC20调用可以分配参数的块A i 1.2R m 40.0A i 1.3Fp m 40.1S m 40.0A m 40.0A m 10.3OAnm 40.0A i 1.3= Q 4.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可以分配参数的块程序Disturb_Report_

memoryAcknowl定义形式参数使用方法图形显示只能读在块的左侧只能写在块的右侧

参数类型输入参数输出参数输入/输出

参数

定义inoutIn_out可读/可写在块的左侧

形式参数FC20的变量声明表定义形式参数使用方法图形显示只能读在块的左侧只能写在块的右侧编辑一个可分配参数的块对于无参数分配的块,此处可能是:•绝对地址: I1.3•符号地址: “End_left”编辑一个可分配参数的块对于无参数分配的块,此处可能是:Disturb_inputAcknowledgeFlash_freqEdge_mem_bitDisplayENOENFC20调用一个分配了参数的块Network3:FirstCallNetwork4:SecondCallM40.1“Position

error”“Endleft”....“Acknow.button”M10.3M40.0“Endright”Q4.1“Acknow.button”M10.3M40.2符号的绝对的寻址方式符号局部符号-->形式参数符号表全局符号Disturb_inputAcknowledgeFlash_freqReport_memoryEdge_mem_bitDisplayENOENFC20M40.3Q5.4Report_memoryDisturb_inputAcknowledgeFlash_LAD/FBDSTL在块调用时使用EN/ENO参数

CALL FC 1 NOP0例子??.?FC1ENENOFC2ENENOFC3ENENO=FC1ENENO??.?无条件调用

A I 0.1 JNB _001 CALL FC 1_001: ABR = Q 5.0FC1ENENOI0.1=Q5.0条件调用LAD/FBDSTL在块调用时使用EN/ENO参数 CALLFC20的变量声明表练习1.2:生成一个分配了参数的FC块无参数的块分配了参数的块

FC20A I 1.2R M 40.0A I 1.3FP M 40.1S M 40.0A M 40.0A M 10.3OAN M 40.0A I 1.3= Q 5.3A #AcknowledgeR #Report_memoryA #Disturb...::::::::2.1.FC20的变量声明表练习1.2:生成一个分配了参数的F练习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时的参数分配练习1.3:调用一个分配了参数的FC块Disturb_inFB块

FB2ENDisturb.inputAcknowledge DisplayFlashfreq. ENODB2OB1FB块的变量声明表FB块FB2DB2OB1FB用FB实现的故障信息显示FB的声明表背景数据块用FB实现的故障信息显示FB的声明表背景数据块生成背景数据块1.在FB调用时生成背景数据块2.创建一个新的背景数据块

生成背景数据块1.在FB调用时生成背景数据块2.创建一个多重背景模型DB10普通背景模型

FB20OB1CallFB20,DB10 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:=DB11FB20CallFB20,DB11 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:=DB12FB20CallFB20,DB12 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:=多重背景模型

FB100DB100CallFB100,DB100OB1statDist_1FB20statDist_2FB20Parametersandstaticvariablesofthe2nd.call

ofFB20CallDist_2 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:=Parametersandstaticvariablesofthe1st.call

ofFB20CallDist_1 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:=多重背景模型DB10普通背景模型FB20OB1Call练习1.4:编写一个FB块FB20

的变量声明表1.FB20中的部分程序A #AcknowledgeR #ReportmemoryA #Disturb....::2.练习1.4:编写一个FB块FB20的变量声明表1.F练习1.5:调用FB并调试练习1.5:调用FB并调试插入/删除块的参数可能遇到的问题Save插入/删除块的参数可能遇到的问题Save调用被修改过的块时应做的更正当调用块被打开时:单击鼠标右键调用被修改过的块时应做的更正当调用块被打开时:单击鼠标右键练习1.6:多台设备的风扇监控功能A

B

C

=1

S_ODT

TIMER_NO

ACKN

SIG

&

A

B

C

R

S

Q

>=1FLT

FC101

REPORTA

B

C

ACKN

TIMER_NO

TVFLTSIG功能符号练习1.6:多台设备的风扇监控功能ABC=1S练习1.7:风扇监控功能的扩展

A

B

C

=1

S_ODT

TIMER_NO

ACKN

SIG

&

A

B

C

R

S

Q

>=1FLT

FC101

REPORTA

B

C

ACKN

TIMER_NO

TVFLT

功能符号

ENAB

&

ENAB

ENABSIG练习1.7:风扇监控功能的扩展ABC=练习1.8:识别变量的类型AbsoluteSymbolicTemporaryStaticParameterL #Number_1T #Max_valueT MW40StatementL #Number_2L #Intermediate_resultL “Number_1”T #Number_2GlobalLocalTYPEOFVARIABLE练习1.8:识别变量的类型AbsoluteSymbolic总结:块的调用•CALLFC1•UCFC1•CCFC1STLLADFBDFC1ENENOFC1ENENOFC1(

CALL

)

FB无参数,无背景数据块•UCFB1•CCFB1CALL有参数•CALLFC2Par1:...

Par2:...Par3:...FC2ENENOPar3Par1Par2FC2ENENOPar1Par2Par3有参数,有背景数据块•CALLFB2,DB3Par1:...

Par2:...Par3:...FB2ENENOPar3Par1Par2DB3FB2ENENOPar3Par1Par2DB3无参数语言FCFC1总结:块的调用•CALLFC1STLLADFBD结构化编程操作系统OB1FCFBFCFBSFCSFB其它OBs结构化编程操作系统OB1FCFBFCFBSFCSFB其它IEC1131标准第一部分:主要信息定义

PLC的术语

PLC的主要功能特点第二部分:设备要求电气,机械和功能上的要求制造商需提供的信息符合标准的规则(一致性)第三部分:编程语言梯形图,功能方框图,语句表,顺序功能图和结构化文本第四部分:用户指南系统分析和描述PLC的选择和应用安全和保护,安装和维护第五部分:通讯模式,通讯块,与ISO协议的对应关系Modul:IEC_T1D.IEC1131标准第一部分:主要信息Modul:IIEC1131内容-第三部分

编译为标准代码的规则软件模型,通讯模型,编程模型可编程逻辑控制语言中的通用元件数据类型和变量功能和功能块程序和任务

指令表(IL) (=语句表(STL))

结构化文本(ST) (=结构化控制语言(SCL))

梯形图(LD) (=LAD)

功能方框图(FBD)

顺序功能图(SFC)(=S7-GRAPH)

附加的语法规则和编程示例Modul:IEC_T1D.IEC1131内容-第三部分编译为标准代码的规则MSIMATIC管理器下的项目结构项目S7/M7程序(未分配给硬件的)用S7

块组成的用户程序,

OBs,FBs,FCs,DBs,

等STL用户程序源文件S7-300可编程的

CPUS7/M7程序(分配给硬件的)用户程序硬件站STL源文件SIMATIC管理器下的项目结构项目S7/M7程序(未分STEP7的块STEP7的块块的组成部分变量声明表

代码部分块的组成部分变量声明表代码部分

块的首部(36字节)

块体变量声明部分和程序部分或数据压缩的接口描述块的结构块的首部块体压缩的接口描述块的结构结构化编程OB1电机1FC1电机2FC1电机3FC1结构化编程OB1电机1FC1电机2FC1电机3F利用局部数据进行控制FC1(数学功能)OB1FC1Input1Input2Input3Output_AFC1Input1Input2Input3Output_AMW53369MW10QW12QW20MW26869MW16I0.5I0.5SUB_IIN1IN2()M5.1OADD_IIN1IN2M5.0O#TEMP1#INPUT1#INPUT2#TEMP1#INPUT3#Output_A0.02.04.06.08.0Input1Input2Input3Output_ATEMP1inininouttempintintintintintsamplemeasure1constantoffsetresultintermediate利用局部数据进行控制FC1(数学功能)OB1FC1Inpu局部变量临时变量•当相关块执行完毕后被清除

•临时存储在

Lstack中•可在下列块中使用

OBs/FCs/FBs静态变量•当相关块执行完毕后仍然

保留•永久存储在DBs中•只能在FBs中使用局部变量/数据(只在一个块中有效)全局变量/数据(在全部程序中有效)

•PII/PIQ•I/O•M/T/C•DBareas符号地址绝对地址访问方式局部变量临时变量静态变量局部变量/数据全局变量/数据•临时变量临时变量执行的程序局部数据堆栈的大小对于

S7-300:局部堆栈大小优先级256bytes127总容量:

1.5Kbyte

(CPU313..316)启动程序(只执行一次)循环扫描程序256bytes256bytes256bytes1232时间中断日时钟中断延时处理中断循环处理中断循环扫描中的错误处理中断256bytes162826256bytes事件驱动中断硬件中断启动过程中的错误处理中断执行的程序局部数据堆栈的大小对于S7-300:局部堆栈大小块所需要的局部数据区的长度rechts块所需要的局部数据区的长度rechts256Bytes事件所占用的

Lstack1OB1OB11操作系统程序所占用的局部数据区的总长度FC2有临时变量OB1FC2FC133OB1FC144OB1FC166FC3有临时变量OB1FC3FC155FC1有临时变量2OB1FC127OB17256Bytes事件所占用的1OB1OB11操作系统程练习1.1:使用临时变量替换为临时变量QW6练习1.1:使用临时变量替换为临时变量QW6示例:故障信息指示DisturbanceLEDAcknowledgeReportMemoryEdgeMem.BitDisturb.InputAcknowl.FlashFreq.Disturb.InputDisplayRS&=>=1&QSRPReportMemoryReportMemory解决方案要求示例:故障信息指示DisturbanceLEDAcknowlDisturb_inputReport_

memoryAcknowledgeEdge_mem_bitDisplayFlash_freqFC20调用可以分配参数的块A i 1.2R m 40.0A i 1.3Fp m 40.1S m 40.0A m 40.0A m 10.3OAnm 40.0A i 1.3= Q 4.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可以分配参数的块程序Disturb_Report_

memoryAcknowl定义形式参数使用方法图形显示只能读在块的左侧只能写在块的右侧

参数类型输入参数输出参数输入/输出

参数

定义inoutIn_out可读/可写在块的左侧

形式参数FC20的变量声明表定义形式参数使用方法图形显示只能读在块的左侧只能写在块的右侧编辑一个可分配参数的块对于无参数分配的块,此处可能是:•绝对地址: I1.3•符号地址: “End_left”编辑一个可分配参数的块对于无参数分配的块,此处可能是:Disturb_inputAcknowledgeFlash_freqEdge_mem_bitDisplayENOENFC20调用一个分配了参数的块Network3:FirstCallNetwork4:SecondCallM40.1“Position

error”“Endleft”....“Acknow.button”M10.3M40.0“Endright”Q4.1“Acknow.button”M10.3M40.2符号的绝对的寻址方式符号局部符号-->形式参数符号表全局符号Disturb_inputAcknowledgeFlash_freqReport_memoryEdge_mem_bitDisplayENOENFC20M40.3Q5.4Report_memoryDisturb_inputAcknowledgeFlash_LAD/FBDSTL在块调用时使用EN/ENO参数

CALL FC 1 NOP0例子??.?FC1ENENOFC2ENENOFC3ENENO=FC1ENENO??.?无条件调用

A I 0.1 JNB _001 CALL FC 1_001: ABR = Q 5.0FC1ENENOI0.1=Q5.0条件调用LAD/FBDSTL在块调用时使用EN/ENO参数 CALLFC20的变量声明表练习1.2:生成一个分配了参数的FC块无参数的块分配了参数的块

FC20A I 1.2R M 40.0A I 1.3FP M 40.1S M 40.0A M 40.0A M 10.3OAN M 40.0A I 1.3= Q 5.3A #AcknowledgeR #Report_memoryA #Disturb...::::::::2.1.FC20的变量声明表练习1.2:生成一个分配了参数的F练习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时的参数分配练习1.3:调用一个分配了参数的FC块Disturb_inFB块

FB2ENDisturb.inputAcknowledge DisplayFlashfreq. ENODB2OB1FB块的变量声明表FB块FB2DB2OB1FB用FB实现的故障信息显示FB的声明表背景数据块用FB实现的故障信息显示FB的声明表背景数据块生成背景数据块1.在FB调用时生成背景数据块2.创建一个新的背景数据块

生成背景数据块1.在FB调用时生成背景数据块2.创建一个多重背景模型DB10普通背景模型

FB20OB1CallFB20,DB10 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:=DB11FB20CallFB20,DB11 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:=DB12FB20CallFB20,DB12 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:=多重背景模型

FB100DB100CallFB100,DB100OB1statDist_1FB20statDist_2FB20Parametersandstaticvariablesofthe2nd.call

ofFB20CallDist_2 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:=Parametersandstaticvariablesofthe1st.call

ofFB20CallDist_1 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:=多重背景模型DB10普通背景模型FB20OB1Call练习1.4:编写一个FB块FB20

的变量声明表1.FB20中的部分程序A #AcknowledgeR #Reportmemory

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论