西门子S7300400高级编程培训教材精选课件

PPT
  • 阅读 167 次
  • 下载 0 次
  • 页数 27 页
  • 大小 220.943 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
西门子S7300400高级编程培训教材精选课件
可在后台配置第一页与第二页中间广告代码
西门子S7300400高级编程培训教材精选课件
可在后台配置第二页与第三页中间广告代码
西门子S7300400高级编程培训教材精选课件
可在后台配置第三页与第四页中间广告代码
西门子S7300400高级编程培训教材精选课件
西门子S7300400高级编程培训教材精选课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 27
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
文本内容

【文档说明】西门子S7300400高级编程培训教材精选课件.ppt,共(27)页,220.943 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-45663.html

以下为本文档部分文字说明:

西门子S7300400高级编程培训教材精选用于结构化编程的块整个任务的模块化:单个任务在各自块中予以解决参数分配法使得使用更加灵活•示例:钻孔循环程序的钻孔深度为可分配参数块的可再利用性能:块可以按需要随时加以调用限制因素:•不允许访问

全局地址空间•只能通过参数列表进行通信OB1电机1FB1阀FB2控制器FB10FC5限制阀复制SFC.....CALLFB1,DB2Start:=I0.0Stop:=I0.1Motor_on:=Q12.0Speed:=QW14..FB1地址声明名称类型0.0inStartB

OOL0.1inStopBOOL2.0outMotor_onBOOL4.0outSpeedINT6.0statSpeed_oldINT0.0tempCalc_1INT...A#StartAN#Stop=#Motor_on.DB2

OB1STEP7块概述属性组织块(OB)-用户程序接口-优先级(0到27)-在局部数据堆栈中指定开始信息块的类型功能块(FB)-参数可分配(可以在调用时分配参数)-具有(收回)存储空间(静态变量)功能(FC)-参数可分配(必须在调用时分配参数)-基本上没有存储空间(只有临时变量)数

据块(DB)-结构化的局部数据存储(背景数据块DB)-结构化的全局数据存储(在整个程序中有效)系统功能块(SFB)-FB(具有存储空间),存储在CPU的操作系统中并可由用户调用系统功能(SFC)-FB(无存储空间),存储在CPU的操作系统中并可由用户调用系统数据块(SDB)-用于配

置数据和参数的数据块功能及功能块中的参数声明"Motor"ENENOStart地址声明名称类型初始化值...0.0输入StartBOOLFALSE0.1输入StopBOOLTRUE2.0输入SpeedINT02.0输出Motor_onBOOLF

ALSE8.0输出SetpointINT010.0输入/输出EMER_OFFBOOLFALSE...静态............临时........SetpointEMER_OFFMotor_onStop输入参数输入/输出参数输出参数参数是信息传递的通道输入参数:Caller->Block输

出参数:Block->Caller输入/输出参数:Caller<->Block参数形成了块的一个“shell”:参数位于代码段与“局部”变量类似参数可以为任何数据类型在调用期间进行数据类型检查例外情况:

POINTER,ANY调用接口与编程语言无关PLC编程语言可以混合使用Speed功能的属性参数可分配的块:具有足够多的输入,输出,输入/输出参数无存储区,也即只有临时变量IEC61131-3标准一致

性要求:足够多的输入参数仅有一个输出参数RET_VAL不允许访问全局变量和绝对地址使用同一输入参数提供相同的结果扩展了处理器的指令集程序执行CALLFC10On_1:=I0.1On_2:=I0.2Off:=Q8.0功能FC10输入On_1BOOL输入On_2BO

OL输出OffBOOL......A#On_1A#On_2=#Off...基本数据类型传送机理OB1功能FC10程序执行CALLFC10On_1:=I0.1On_2:=I0.2Off:=Q8.0输入On_1BOOL输入On_2BOO

L输出OffBOOL......A#On_1A#On_2=#Off...OB1BLD1=L20.0UCFC10P#I0.1P#I0.2P#Q8.0BLD210010010...IB0基本类型实际参数位于于:位存储地址区域过程映像调用的局

部堆栈块参数实际参数形式参数复杂数据类型的功能调用示例:向功能传递一个ARRAYDB5"Temperature"FC21只能通过符号来进行参数的赋值Network(段)1:在功能FC21里,声明一个数组Mes_ValCALLFC21Mes_Val:="T

emperature".sequence调用(主调)功能的特点CALL指令指令为宏指令寄存器内容可能会被覆盖掉,甚至是DB寄存器请注意B堆栈中内容的解释调用之后,可能会打开另一个DBCALL指令的处理时间取决于实际参数的数目和存储单元位置CALL指

令确保了块参数被正确地赋予当前数据示例:CALLFC10On_1:=I0.1On_2:=I0.2Off:=Q8.0调用指令UC和CC不依赖于RLO的块调用(UC)或取决于RLO的块调用示例:UCFC20或CCFC20当FC没有参数的时候,才可使用这些指令FB5输入StartBOOL输

入StopBOOL输出Motor_onBOOL输出SpeedINT静态...临时......A#StartAN#Stop=#Motor_on...功能块的属性属于可分配参数的块:IEC61131-3标准一致性块有足够满足需

要的输入,输出,输入/输出参数有存储区域,即不仅有临时变量而且还有静态变量使用本身数据区域进行调用(创建背景)“数据封装”应用:定时器和计数器功能使用内部状态控制过程设备锅炉电机,阀,等等。CALLFB5,DB16Start:=I0.0Stop:=I0.1M

otor_on:=Q8.0Speed:=QW120.0StartBOOL0.1StopBOOL2.0Motor_onBOOL4.0SpeedINTDB16电机构建功能块实例Drive_1FBx+DByDrive_1状态数据控制算法OB,FB或FCCALLFBx,DBy......使

用背景DB的FB调用CALL#Motor_1.CALL#Motor_2DBx...statMotor_1FBxstatMotor_2FBxDrive_2状态数据Drive_3状态数据FBxFB实例控制算法FBDrive_2Drive_3FB内的声明(多重背景)在一个FB调用过程

中的参数传递OB1FB10程序执行CALLFB10,DB16Start:=I0.4Stop:=I0.0Motor_on:=Q8.1Speed:=QW120.0inStartBOOL0.1inStopBOOL2.0ou

tMotor_onBOOL4.0outSpeedINT......A#StartAN#Stop=#Motor_on...BLD3=L24.0TDBOPNDI16TAR2LD20AI0.4=DIX0.0AI0.0=DIX0.1LAR2P#DBX0.

0UCFB10LAR2LD20ADIX2.0=Q8.1LDIW4TQW12TDBBLD410010010...IB010010010QB8DB16............01..............................1123...块参数实际参数形式参数...使用复杂数据类型的FB

调用过程示例:将一个ARRAY传送到一个功能块FB17只允许用符号对复杂参数进行相关分配Network1:CALLFB17,DB2Meas_1:="Temperature".CylinderSum_1:=MD20Sum_2:=MD30Meas_2:="Temperature".ShaftD

B2"Temperature"功能块调用的特性“按值”传递参数(复制数值):CALL过程中FB参数的赋值:无需为某些FB参数赋值可以从“外部”进行赋值和取消赋值例如:直接通过操作面板进行例外:复杂数据类型的输入/输出参数(STRUCT,ARRAY,STRING以及DATE_AND_

TIME)初始化:FB参数可以在声明部分进行初始化例外:复杂数据类型的输入/输出参数(STRUCT,ARRAY,STRING以及DATE_AND_TIME)使用DI和AR2寄存器在内部访问形式参数如果DI或者AR2寄存器被覆盖,将不再允许访问背景数据。附加调用指令UC和

CC示例:UCFB20或者CCFB20只有当FB没有背景数据时才能使用(参数+静态变量)主罐瓶子传感器I16.6瓶子传感器I16.5瓶子传感器I16.7Q9.0漏斗练习6:罐装生产线中的传送带模型Q20.5传送带正转

Q20.6传送带反转练习6.1a:罐装生产线–工作模式选择生产线ON/OFFI0.0:Start(NO,瞬动开关)I0.1:Stop(NC)Q8.1:Plant_on手动/自动方式I0.4:自动/手动I0.5

:确定模式Q8.2:选定手动方式A8.3:选定自动方式FB15:“模式选择"ENStartPlant_onStopOM_ManAuto_ManOM_AutoOM_activateENODB15...I0.

0I0.1I0.4I0.5Q8.1Q8.2Q8.3练习6.1b:罐装生产线–传送带手动方式I0.5:正向点动I0.6:反向点动Q20.5:传送带正向运转Q20.6:传送带反向运转自动方式I16.6:传感器:罐装位置I16.7:传感器:

计算瓶数Q9.0:罐装启动QW12::满瓶显示FB16:“传送带控制"ENOM_ManOM_AutoConv_forJog_forConv_backJog_backFilling_activeSensor_fillFull_bottlesSensor_fullENOQ20.5Q20

.6Q9.0QW12DB16...Q8.2Q8.3I0.2I0.3I16.6I16.7多重背景模型的结构FB10钻床数据FB10的背景DBCALLDrill.CALLMotor_1.CALLMotor_2DB10...statDrillFB1statMotor_1FB2sta

tMotor_2FB2Motor_1的数据Motor_2的数据FB1FB2钻孔算法马达控制例如OB1.CALLFB10,DB10.使用多重背景模型实现面向对象的编程Press_2Press_1传送示例:

冲压生产线技术划分通过FB背景,对程序进行技术划分FB:"Pressline"FB:#TransportFB:#Press_1冲压头防护装置FB:#PunchFB:#GuardFB:#Press_2FB:#PunchFB:#Guard用STEP7来实现一个“冲压生产线”

FB10:"Pressline"FB10的背景DBCALL#Press_1.CALL#Press_2.CALL#TransportDB10...statPress_1FB1statPress_2FB1statTransportFB2...FB1:"Press"...statPunchFB4stat

GuardFB5...CALL#Punch.CALL#Guard...statPunchFB4statGuardFB5...CALL#Punch.CALL#Guard......FB2:"Transport"FB4:"Punch"FB5:"Guard"CALLFB1

0,DB10OB1FB1:"Press"FB4:"Punch"FB5:"Guard"Press_1的数据传送带的数据Press_1.GuardPress_2.PunchPress_2.GuardPress_2的数据FB10的数据Press_1.Punch多重背景模型的属性多重背景模型的优点

:多个实例只需要一个DB在为各个实例创建“private”数据区时,无需任何额外的管理工作多重背景模型使得“面向对象的编程风格”成为可能(通过“集合”的方式实现可重用性)最大嵌套深度为8级FB的必备条件:在FB内不允许直接访问过程信号(I,Q)只有使用FB参数访问过程信号,或者与其它过

程单元进行通讯FB只能使用静态变量来记忆其过程状态,而不使用全局DB或者位存储器。注意事项:背景数据还可以从“外部”进行访问例如在OB1中:L"Pressline".Press_2.Punch.<VarName>练习6.2:生产线中的传送带模型"H4"LED接近开关"INI1","INI2

","INI3"光栅"LB1"“S4”确认开关工位的处理顺序工件的处理成形处理向传送带上放置工件等待原材料工件从传送带中取原材料工件传送带的处理顺序等待成型的工件传送到总装线总装,插入原材料工件传送到工作站“S1”,“S2”

,“S3”确认开关"H1","H2","H3"LED练习6.2a:一个工作站的程序结构程序的技术划分传送带工作站1工作站2工作站3OB1CALLFB1,DB1......CALLFB2,DB2FB1:"Station"InitialLEDProxy_switch

Transp_reqAcknowledgeClock_bit_qClock_bit_sConv_busyDB1M10.1"S1""INI1"I0.0"H1"DB2FB2:"Transport"InitialLEDL_

BarrierConv_rightAcknowledgeConv_leftTransp_reqClock_bit"H4""K1_CONVR"K2_CONVLI0.0"LB1""S4"M10.1M10.3FB1“Station”的工

作原理FB1:"Station"Take_piece_from_conv:LED快速闪烁Piece_finished:LED慢速闪烁Process_pieceLED连续点亮IN参数:数据类型:InitialBOOLProxy_switc

hBOOLAcknowledgeBOOLClock_bit_qBOOLClock_bit_sBOOLOUT参数:LEDBOOLTransp_reqBOOLI/O参数:Conv_busyBOOL静态变量:StateSTRUCTProcess_pieceBOOLPiece_finished

BOOLPlace_part_on_convBOOLWait_for_pieceBOOLTake_piece_from_convBOOLEND_STRUCT状态模型:AAcknowledgeANProxy_switchATransp_

reqFB1中的声明:Wait_for_piece:LED熄灭Place_part_on_conv:LED快速闪烁ANConv_busyAProxy_switchANProxy_switchAInitialFP...FB2“Transport”的工作原理Conv_leftLED闪烁Con

v_rightLED闪烁A#Transp_reqWaitingLED熄灭AN#Tansp_reqAN#LBarrierAssemblyLED连续点亮A#Acknowledge状态模型:FB2的接口:IN参数:数据类型:Ini

tialBOOLL_BarrierBOOLAcknowledgeBOOLTransp_reqBOOLClock_bitBOOLOUT参数:LEDBOOLConv_rightBOOLConv_leftB

OOL静态变量:StateSTRUCTWaitingBOOLConv_rightBOOLAssemblyBOOLConv_leftBOOLEND_STRUCTFB2:"Transport"AInitialFP...

练习6.2b:扩展到3个站FB10Station_1的数据FB10的背景数据块CALLStation_1CALLStation_2CALLStation_3CALLTransportDB10...statStation_1F

B1statStation_2FB1statStation_3FB1statTransportFB2Transport的数据FB1FB2OB1.CALLFB10,DB10.Station_2的数据Station_3的数据块参数之间的联锁#Station_1I

nitialLEDProxy_switchTransp_reqAcknowledgeClock_bit_qClock_bit_sConv_busy"LB1"#TransportInitialLEDL_Barr

ierConv_rightAcknowledgeConv_leftTransp_reqClock_bit"H4""K1_CONVR""K2_CONVL"I0.0"S4"M10.1M10.1"S1""INI1"I0.0"H1"#Statio

n_2"H2"#Station_3"H3"FB10:"Assembly_line"DB10:"Assembly_line_DB"M10.3#Station_2InitialLEDProxy_switchTr

ansp_reqAcknowledgeClock_bit_qClock_bit_sConv_busyM10.1"S2""INI2"I0.0M10.3#Station_3InitialLEDProxy_switchTransp_reqAcknowledg

eClock_bit_qClock_bit_sConv_busyM10.1"S3""INI3"I0.0M10.3

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?