西门子S7-300高级编程培训教材_内部教材__附录2:间接访问FC和FB参数.ppt_第1页
西门子S7-300高级编程培训教材_内部教材__附录2:间接访问FC和FB参数.ppt_第2页
西门子S7-300高级编程培训教材_内部教材__附录2:间接访问FC和FB参数.ppt_第3页
西门子S7-300高级编程培训教材_内部教材__附录2:间接访问FC和FB参数.ppt_第4页
西门子S7-300高级编程培训教材_内部教材__附录2:间接访问FC和FB参数.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

附录2 间接访问FC和FB参数 DB5 Temperature FC21 参数的赋值只能通过符号地址 程序段1 在FC21中 声明Meas Val为一个数组 CALLFC21Meas Val Temperature sequence 使用复杂数据类型的功能调用 实例 向功能传递数组 复杂数据类型的参数传递 OB1 功能FC10 执行程序 CALLFC10On Value FieldOff Q8 0 inOnARRAY 1 10 INToutOffBOOL L On 8 Off OB1 BLD1 L20 0L5TLW21LP DBX0 0TLD23UCFC10P L21 0P Q8 0BLD2 L堆栈 OB1 FieldARRAY 1 10 INT LW21 1 2 复杂的实参 L堆栈数据块 DB No 5区域交叉指针 DB5 Value 在L堆栈中建立指针 间接访问复杂数据类型 地址声明名称类型起始值注释0 0inMeas ValARRAY 1 8 4 0REAL32 0outSumREAL36 0outMean ValREALin out0 0tempDB NumWORD 网络1 确定DB No 和起始地址LP Meas Val ACCU1读入指针地址LAR1 再加载到AR1 LW AR1 P 0 0 决定DB号T DB Num 并加载到温度变量 OPNDB DB Num 打开DBLD AR1 P 2 0 决定区域指针LAR1 并加载到AR1 网络2 计算和L0 000000e 000 ACCU1清零 sum 0 0 L8 ACCU1读入计数值 ACCU2读入sum 0BEGN TAK ACCU1读入sum ACCU2读入计数值ENT ACCU3读入计数值LD AR1 P 0 0 ACCU1读入场分量 R ACCU1读入sum ACCU2读入计数值 AR1P 4 0 AR1增加4字节TAK ACCU1读入循环计数 ACCU2读入sumLOOPBEGN 循环计数减少 必要时跳转T Sum 将sum传到 Sum 指针的参数传递 OB1 功能FC10 执行程序 CALLFC10On P I0 0INT10Off Q8 0 inOnANYoutOffBOOL LP On Off OB1 BLD1 L20 0LW 16 1005TLW21L10TLW23L0TLW25LP I0 0TLD27ACFC10P L21P Q8 0BLD2 L堆栈 OB1 LW21 1 2 POINTER和ANY参数 10H数据类型 05重复 10DB号 0区域交叉指针 P I0 0 在L堆栈中建立ANY指针 参数类型的参数传递 OB1 功能FC10 程序执行 CALLFC10On DB35Off Q8 0 inOnBLOCK DBoutOffBOOL OPN ON Off BLD1 L20 0ACFC10P 4 3P Q8 0BLD2 块参数 定时器 计数器BLOCK xx OB1 DB中的基本实参和常量的特点 OB1 功能FC10 程序执行 CALLFC10On 1 I0 1On 2 DB5 DBX2 2Off DB5 DBX2 4 inOn 1BOOLinOn 2BOOLoutOffBOOl A On 1A On 2 Off OB1 BLD1 L20 0OPNDB5ADBX2 2 L20 1ACFC10P I0 1P L20 1P L20 2AL20 2OPNDB5 DBX2 4BLD2 L堆栈 OB1 DB5 LB20 0 1 0 0 0 1 0 1 0 0 1 2 3 DBB2 基本实参 常量在数据块中 0 A2 1练习 在FC中计算Date and Time参数 FC51 EN ENO IN DT Sec QB13 Min QB12 OB1 DATE TIME Hour QB8 使用复杂数据类型的FB调用 实例 传递数组到功能块 FB17 复杂参数的赋值仅通过符号地址 程序段1 CALLFB17 DB30Meas 1 Temperature CylinderSum 1 MD20Sum 2 MD30Meas 2 Temperature Shaft DB2 Temperature 间接访问输入 输出参数 AddressDeclarationNameTypeStartvalueComment0 0inMeas 1ARRAY 1 10 4 0REAL40 0outSum 1REAL0 000000e 00044 0outSum 2REAL0 000000e 00048 0in outMeas 2ARRAY 1 15 4 0in outREAL54 0statDB NumINT0 程序段1 决定Meas 1的起始地址LAR1P Meas 1 区域交叉指针加载到参数 在AR1中无地址偏移 多重执行个体 TAR2 载入ACCU1中的地址偏移量 AR1 把地址偏移量加到AR1 AR1现在指向背景DB中的参数 背景DB已经打开程序段2 访问Meas 1L0 000000e 000 ACCU1清零 Summe 0 0 L10 ACCU1读入计数值 ACCU2读入Sum 0BEGN TAK Sum在ACCU1 计数值在ACCU2ENT ACCU3读入计数值LD AR1 P 0 0 ACCU1中的域分量 R Sum在ACCU1 ACCU2读入计数值 AR1P 4 0 AR1增加4字节TAK 在ACCU1中循环计数 sum在ACCU2LOOPBEGN 减循环计数 必要时跳转T Sum 1 将sum传递到 Sum 1 间接访问输入 输出参数 AddressDeclarationNameTypeStartvalueComment0 0inMeas 1ARRAY 1 10 4 0REAL40 0outSum 1REAL0 000000e 00044 0outSum 2REAL0 000000e 00048 0in outMeas 2ARRAY 1 15 4 0in outREAL54 0statDB NumINT0 网络3 决定Meas 2的起始地址LAR1P Messung 2 POINTER读入区域交叉指针 不TAR2 读入ACCU1中地址偏移量 加到AR1 AR1 AR1现在指向背景DB中的POINTERLW AR1 P 0 0 ACCU1从POINTER读取DB号T DB Num 把DB号 或者0 设为静态变量OPNDB DB Num 打开DBLD AR1 P 2 0 区域交叉指针加载到参数LAR1 AR1读入指针 AR1指向参数网络4 访问Meas 2L0 000000e 000 ACCU1请零 Sum 0 0 L15 ACCU1读入计数值 ACCU2读入Sum 0BEGN TAK Sum在ACCU1中 计数值在ACCU2中ENT ACCU3读入计数值LD AR1 P 0 0 域分量在ACCU1 R Sum在ACCU1中 ACCU2读入计数值 嵌套传递 参数 嵌套深度 S7 300 最多8S7 400 最多16 嵌套传递决定于块 数据和参数类型 调用FC调用FCFB调用FCFC调用FBFB调用FB数据类型ECPECPECPECP输入 输入x xx x xxxx输出 输出x xx x xx 输入 输出 输入x x x x 输入 输出 输出x x x x 输入 输出 输入 输出x x x x E 基本数据类型C 复杂数据类型P 参数类型 定时器 计数器 块 x FBs FBs FCs OB A2 2练习 在FB中计算Date and Time参数 FB63 EN ENO IN DT Sec QB13 Min QB12 OB1 DATE TIME Hour QB8 FB83 IN DT 0 0inIN DTDATE AND TIMEDT 90 1 1 0 0 0 0outin out8 0statDUMMYARRAY 1 100 2 0statINT208 0statFB63 DTFB63 A2 3练习 在FB中计算In Out参数 FB64 EN ENO IO DT Sec QB13 Min QB12 OB1 DATE TIME Hour QB8 FB84 IN DT 0 0inIN DTDATE

温馨提示

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

评论

0/150

提交评论