已阅读5页,还剩87页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
组织块 组织块概述 完全再启动 自动 手动 S7 300 400 PowerON 清除过程映像 非保持的M T C 允许输出 执行OB101 启动组织块 循环 循环 组织块的启动信息 OB1连续执行 中断循环程序 直到被其它OB中断 被中断的OB块的数据保存 系统调用新的OB 在执行新的OB前 保存被中断块的寄存器 日期时间中断OB10 1 日时钟OB OB10在S7 314 允许你在某一特定日期或特定间隔 中断正在循环的OB而去执行中断程序 你可以对此OB编程使其按下列间隔运行 Once 一次 只在特定日期和时间执行一次 Everyminute 每分钟 从某一特定日期和时间开始 每分钟执行一次 Hourly 每小时 从某一特定日期和时间开始 每小时执行一次 Daily 每天 从某一特定日期和时间开始 每天执行一次 Weekly 每周 从某一特定日期和时间开始 每周执行一次 Monthly 每月 从某一特定日期和时间开始 每月执行一次 Annually 每年 从某一特定日期和时间开始 每年执行一次 日期时间中断OB10 2 练习2 设置系统时间 练习3 编写日期时间中断程序 练习4 利用时间中断实现定时检测 令CPU调用一个OB以检测和控制罐的温度 从一个特定日期和时间开始每分钟执行一次 循环中断 OB35 RUN OB35 OB35 OB35 O OB1 B1 OB1 OB1 OB1 OB1 OB1 O B1 练习5 利用循环中断产生闪烁信号 延时中断 OB20 模拟输入模块 上限值 下限值 27648 0 硬件中断 OB40 模拟输入模块 断线 诊断中断 异步错误中断 OB81 87 异步错误组织块 错误类型 例子 OB 时间错误 超出最大循环扫描时间 OB80 同步错误 错误类型 例子 OB 编程错误 在程序中调用一个CPU中并不存在的块 OB121 错误类型 使用错误组织块 为避免发生某错误时CPU进入停机状态 可以在CPU中建立一个相应的空错误组织块 可以在错误OB块中编程实现所希望的响应 如果需要 在执行完规定指令后 调用系统功能SFC46申请停机 在错误组织块的启动信息中包含有错误的特征 可以在程序中使用 关于错误组织块的详细描述参见在线帮助或系统和标准功能手册 当CPU不支持某些错误OB时 相关的错误信息就不会记录在OB块中 错误组织块应用举例 错误处理OB块中的附加信息 OB122 访问错误 中的附加信息 变量类型描述OB122 EV CLASSBYTE事件类别 IDs B 16 29OB122 SW FLTBYTE错误代码 可能的值为 B 16 42 B 16 43 B 16 44 B 16 45 OB122 PRIORITYBYTE发生错误的OB块的优先级OB122 OB NUMBRBYTEOB块的号码 122 OB122 BLK TYPEBYTE发生错误的块的类型 B 16 88 OB B 16 8A DB B 16 8C FC B 16 8E FB OB122 MEM AREABYTE内存区域和访问类型OB122 MEM ADDRWORD发生错误处的内存地址OB122 BLK NUMWORD导致错误的MC7指令所在块的地址OB122 PRG ADDRWORD导致错误的MC7指令的相对地址OB122 DATE TIMEDATE AND TIMEOB块被调用的日期和时刻 控制中断组织块的系统功能块 练习6 模拟量模块的诊断中断 模拟量输入模块 额定范围 超上界 超上限 数据块 DB 中的数据存储 数据存储区 数据块 DB 功能FC10 功能FC20 功能块FB1 OB1 STEP7数据类型概述 基本数据类型 到32位 复杂数据类型 长于32位 用户定义数据类型 长于32位 STEP7基本数据类型 BOOL1True或False 1或0 BYTE8B 16 A9WORD16W 16 12AFDWORD32DW 16 ADAC1EF5CHAR8 w S5TIME16S5T 5s 200msINT16123DINT32L 65539REAL321 2或34 5E 12TIME32T 2D 1H 3M 45S 12MSDATE16D 1993 01 20TIME OF DAY32TOD 12 23 45 12 关键字 长度 位 该类型的常数举例 复杂数据类型 关键字长度 位 举例 DATE AND TIME64DT 97 09 24 12 14 55 0STRING8 字符个数 2 Thisisastring 最多254个字符的字符串 SIEMENS ARRAY用户定义测量值 ARRAY 1 20 相同数据类型的元素组 INTSTRUCT用户定义Motor STRUCT 不同数据类型的元素组 Speed INTCurrent REALEND STRUCTUDTUDTasblockUDTasarrayelement 用户定义数据类型 用户定义基本或复杂数据类型组成的STRUCTDrive ARRAY 1 4 模板 Speed INTUDT1Current REALEND STRUCT 结构举例 程序编辑器中的显示 数据块DB1 OperatingSpeed datatypeInteger RatedCurrent datatypeReal StartupCurrent datatypeReal TurningDirection datatypeBool 带有名字 Motor data 的结构 不同数据类型的几个元素 Motor data 矩阵举例 带有名字 Measuring point 的矩阵 相同数据类型的几个元素 程序编辑器中的显示 数据块DB2 Measuring point 建立新数据块 输入 保存 下载和监视数据块 寻址数据单元 0 7 8位 访问数据单元 0123456789 DB19 符号名 Values 带有元素名字 Start 的数据位0 0 传统访问方法 符号寻址 完全表示访问 1 绝对寻址 UDT块作为模板 用户定义数据类型 UDT 输入UDT块 根据数据类型建立数据块 举例 UDT中矩阵 数据查看 练习1 数据块和数据格式 IB1 DB10 DBW2 DB11 DBW8 BIN BCD QW6 DB11 DBW10 BIN BCD IB2 BCD BIN BCD BIN I0 7 0 BEC BE 1 建立一个新块FC33 并按下列要求编写程序 2 把IB1与数据块DB10中的DBW2相加 其和存储到DB11中的DBW8里 3 将IB2和IB3的数值相加 结果存在DB11的DBW10中 4 I0 7 0时 在QW6上显示 2 的计算结果 I0 7 1时 在QW6上显示 3 的计算结果 提示 IB2和IB3输入的是BCD码十进制数 在运算之前必须转换为二进制数 在转换之前必须把两位组成的BCD数 IB2 扩展为四位BCD数 练习 结构化编程 程序设计方法 线性化编程 模块化编程和结构化编程 第七章结构化编程 线性化编程是将整个用户程序放在组织块OB1中 在CPU循环扫描时执行OB1中的全部指令 其特点是结构简单 但效率低下 另一方面 某些相同或相近的操作需要多次执行 这样会造成不必要的编程工作 再者 由于程序结构不清晰 会造成管理和调试的不方便 所以在编写大型程序时 避免线性化编程 模块化编程是将程序根据功能分为不同的逻辑块 且每一逻辑块完成的功能不同 在OB1中可以根据条件调用不同的功能或功能块 其特点是易于分工合作 调试方便 由于逻辑块是有条件的调用 所以可以提高CPU的利用率 结构化编程是将过程要求类似或相关的任务归类 在功能或功能块中编程 形成通用解决方案 通过不同的参数调用相同的功能或通过不同的背景数据块调用相同的功能块 其特点是结构化编程必须对系统功能进行合理分析 分解和综合 所以对设计人员的要求较高 另外 当使用结构化编程方法时 需要对数据进行管理 传送带系统中所有交流电机的通用逻辑控制块 装配线机械中所有电磁线圈的通用逻辑控制块 造纸机器中所有驱动装置的通用逻辑控制块 结构化编程 OB1 练习 电动机启保停电路按下按钮 一个数加1 当此数值超过20时 输出指示 利用局部数据进行控制 FC1 数学功能 OB1 FC1 Input1 Input2 Input3 Output A FC1 Input1 Input2 Input3 Output A MW5 3369 MW10 QW12 QW20 MW2 6869 MW16 I0 5 I0 5 M5 1 O TEMP1 INPUT3 Output A 0 0 2 0 4 0 6 0 8 0 in in in out temp int int int int int samplemeasure1 constant offset result intermediate 局部变量 临时变量 局部数据堆栈的大小 对于S7 300 局部堆栈大小 优先级 256bytes 1 27 总容量 1 5Kbyte CPU313 316 启动程序 只执行一次 循环扫描程序 块所需要的局部数据区的长度 rechts 程序所占用的局部数据区的总长度 练习1 使用临时变量 QW6 示例 计算公式 Disturb input Report memory Acknowledge Edge mem bit Display Flash freq FC20 调用 可以分配参数的块 Ai1 2Rm40 0Ai1 3Fpm40 1Sm40 0Am40 0Am10 3OAnm40 0Ai1 3 Q4 3 不可以分配参数的块 M40 0 M40 1 I1 3 I1 2 Q4 3 M10 3 实际参数 A AcknowledgeR ReportmemoryA Disturb inputFP Edge mem bitS Report memoryA Report memoryA Flash freqOAN Report memoryA Disturb input Display 可以分配参数的块 程序 定义形式参数 使用方法 图形显示 只能读 在块的左侧 只能写 在块的右侧 参数类型 输入参数 输出参数 输入 输出参数 定义 in out In out 可读 可写 在块的左侧 形式参数 编辑一个可分配参数的块 对于无参数分配的块 此处可能是 绝对地址 I1 3 符号地址 End left Disturb input Acknowledge Flash freq Edge mem bit Display ENO EN FC20 调用一个分配了参数的块 Network3 FirstCall Network4 SecondCall M40 1 Positionerror Endleft Acknow button M10 3 M40 0 Endright Q4 1 Acknow button M10 3 M40 2 符号的 寻址方式 符号 局部符号 形式参数 M40 3 Q5 4 Report memory LAD FBD STL 在块调用时使用EN ENO参数 CALLFC1NOP0 FC1 EN ENO 无条件调用 FC20的变量声明表 练习2 生成一个分配了参数的FC块 1 练习3 调用一个分配了参数的FC块 Disturb input Report memory Acknowledge Edge mem bit Display Flash freq 第一次调用FC20时的参数分配 M40 0 M40 1 I1 3 I1 2 Q5 3 M10 3 FC20 Disturb input Report memory Acknowledge Edge mem bit Display Flash freq M40 2 M40 3 I1 4 I1 2 Q5 4 M10 3 FC20 第二次调用FC20时的参数分配 练习 将最近采集的三个数求平均 进行滤波处理 先采用模块化编程实现此功能 接着采用结构化编程实现 最后引出FB块 FB块 FB2ENDisturb inputAcknowledgeDisplayFlashfreq ENO DB2 OB1 FB块的变量声明表 用FB实现的故障信息显示 FB的声明表 生成背景数据块 1 在FB调用时生成背景数据块 多重背景模型 DB10 普通背景模型 FB20 OB1 CallFB20 DB10Disturb Input Acknowledge Flash Freq Display Parametersandstaticvariablesofthe2nd callofFB20 CallDist 2Disturb Input Acknowledge Flash Freq Display Parametersandstaticvariablesofthe1st callofFB20 CallDist 1Disturb Input Acknowledge Flash Freq Display 练习4 编写一个FB块 FB20的变量声明表 1 练习5 调用FB并调试 插入 删除块的参数可能遇到的问题 Save 调用被修改过的块时应做的更正 当调用块被打开时 单击鼠标右键 练习6 多台设备的风扇监控功能 A B C 1 S ODT TIMER NO ACKN SIG A B C R S Q 1 FLT FC101 REPORT A B C ACKN TIMER NO TV FLT SIG 功能 符号 练习7 风扇监控功能的扩展 A B C 1 S ODT TIMER NO ACKN SIG A B C R S Q 1 FLT FC101 REPORT A B C ACKN TIMER NO TV FLT 功能 符号 ENAB ENAB ENAB SIG 练习8 识别变量的类型 TYPEOFVARIABLE 总结 块的调用 CALLFC1 UCFC1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋装修协议合同书
- 房屋质量验收协议书
- 房屋隐私改造协议书
- 房租转租代租协议书
- 手写版承揽合同范本
- 手术合同的免责协议
- 手机屏蔽柜合同范本
- 手表展柜转让协议书
- 打印机押金合同范本
- 打火买挖机合同范本
- 教师防性侵培训课件
- 山东省烟台市2024-2025学年高二上学期期末数学试题(原卷版+解析版)
- 人教版小学二年级上册体育教案全册
- 《马克思主义基本原理》第一章练习试题及答案
- 自然辩证法-2018版课后思考题答案
- 治未病科管理制度
- 芯片抗干扰能力提升-洞察分析
- 医疗质量与安全管理和持续改进评价考核标准
- 【MOOC】心理学-华南师范大学 中国大学慕课MOOC答案
- 手机剪映培训
- DB32T 2888.2-2016 江苏省国家教育考试标准化考点建设技术标准 第2部分:考试综合业务系统
评论
0/150
提交评论