模块化编程中OB1起着主程序的作用,FC或FB控制着不同的过程任务,相当于主循环程序的子程序。模块化编程中被调用块不向调用块返回数据。

模块化程序的执行

模块化编程中OB1起着主程序的作用,FC或FB控制着不同的过程任务,相当于主循环程序的子程序。模块化编程中被调用块不向调用块返回数据。

模块化编程实例

1.模块化编程实例1 - 液位监视

• 监视一个慢变得过程不需要每次扫描都进行。如果过程每隔一定时间或根据需要进行处理,程序将更有效。• 在OB1循环扫描处理时,可以按照一定的周期对液位进行监视。

设计方法:

• 确定液位监视的组成部分和它们的关系;

• 设计完成所要求控制任务的功能;

• 规划从OB中调用块完成功能的程序执行

过程;

• 对程序块的每个段加上文字注释和标题。

解决方案:

• 建立一个功能FC,可以监视和控制任务;

• 建立一个OB,其中每隔一定时间调用块

(功能)。

2.模块化编程实例2

有两台电动机,控制模式是相同的,按下启动按钮(电动机1为I0.0,电动机2为I1.0),电动机起动运行(电动机1为Q4.0,电动机2为Q4.1);按下停止按钮(电动机1为I0.1,电动机2为I1.1),电动机停止运行。

分析:

这是典型的起保停电路,采用模块化编程的思想,分别在FC1和FC2中编写电机的控制程序,在主程序OB1中进行FC1和FC2的调用。

结构化编程

Ø 将复杂的任务分解成一些能够反映过程的工艺、功能或可以反复使用的单独解决的小任务,这些任务由相应的程序块来表示;

Ø 某些程序块可以用来实现相同或相似的功能;

Ø 调用者可以是各种逻辑块,包括用户编写的OB、FB、FC和系统提供的SFB与SFC;

Ø 被调用的块是OB之外的逻辑块;

Ø 通用的数据和代码可以共享。

结构化编程

结构化编程的优点:

1各单个任务块的创建和测试可以相互独立地进行;

2通过使用参数,可将块设计得十分灵活;

3块可以根据需要在不同的地方以不同的参数数据记录进行调用;

4在预先设计的库中,能够提供用于特殊任务的“可重用”块。

结构化编程实例-油漆调制

1选择产品添加剂,需要决定哪个罐的成分要加到混合罐内。

2在选择开关的选择基础上,组织块调用相应的程序块,分配当前的参数,控制混合罐的流入量。

设计方法:

1. 确定哪些部件和操作可以应用于所有的罐和相关的控制;

2. 建立功能或功能块,完成所要求的控制;

3. 建立块的变量定义表,以便于对要操作的罐和控制进行地址分配;

4. 设计一个程序来根据选择开关调用功能或功能块。

解决方案:

1. 建立一个功能块或功能控制罐的流出量;

2. 为相关的块建立变量定义表;

3. 建立一个OB块来根据选择开关调用功能或功能块。


来源:网络,版权归原作者所有

往期推荐

1、2020最新完整版电工题库(国家版)

2、电气高手私藏工具包(电工仿真软件+16套电气行业PPT)

3、师傅说:不会CAD就别想当电气工程师了(附CAD软件包)

喜欢点这里

dll模块化设计与编程_PLC模块、结构化编程到底强在哪里?相关推荐

  1. dll模块化设计与编程_FPGA设计原则经验分享

    一.面积和速度如何折中  面积和速度是芯片设计中一对相互制约.影响成本和性能的指标,贯穿FPGA设计的始终.在FPGA设计中,面积是指一个设计消耗的FPGA内部逻辑资源的数量,可以用消耗的触发器和查 ...

  2. PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

    目录 PCB模块化设计24--DCDC电源模块PCB布局布线设计规范 1.DCDC电源概述 2.BUCK DC-DC工作时的电流通路 3.DCDC设计 1.芯片手册的下载 2.原理图分析 3.布局 1 ...

  3. FPGA程序如何模块化设计?

    综合与可综合的HDL设计 综合的定义 综合就是针对给定的电路实现功能和实现此电路的约束条件,如速度.功耗.成本及电路类型等,通过计算机进行优化处理,获得一个能满足上述要求的电路设计方案.  被综合的文 ...

  4. Python函数详解:函数定义、调用,lambda函数,高阶函数map,filter,reduce,函数式编程,模块化设计、代码复用、函数递归、enumerate()

    一.函数 函数是一段具有特定功能的.可重用的语句组,通过函数名来表示和调用. 函数是一段代码的抽象和封装 函数是一段具有特定功能的.可重用的语句组 函数是一种功能的抽象,表达特定功能 两个作用:降低编 ...

  5. 编程思想-模块化-产品模块化设计:产品模块化设计

    ylbtech-编程思想-模块化-产品模块化设计:产品模块化设计 产品模块化设计就是将产品分成几个部分,也就是几个模块,每一部分都是具有独立功能,具有一致的几何连接接口和一致的输入.输出接口的单元,相 ...

  6. 编程思想-模块化-模块化设计:模块化设计

    ylbtech-编程思想-模块化-模块化设计:模块化设计 模块化设计,简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序.子程序.子过程等框架把软件的主要结构和流程描述出来,并 ...

  7. PCB模块化设计20——光耦模块PCB布局布线设计规范

    目录 PCB模块化设计20--光耦模块PCB布局布线设计规范 1.简介 2.光耦的分类 3.布局布线分析要点 PCB模块化设计20--光耦模块PCB布局布线设计规范 1.简介 光耦的全称是光耦合器,英 ...

  8. PCB模块化设计14——MIPI模块PCB布局布线设计规范

    目录 PCB模块化设计14--MIPI模块PCB布局布线设计规范 1.简介 2.MIPI联盟的MIPI DSI规范 3.MIPI信号布局布线要求--checklist PCB模块化设计14--MIPI ...

  9. 基于ASP.NET Core的模块化设计: 虚拟文件系统

    土牛亲自录制的本文介绍视频 Abp中文网(https://cn.abp.io/)提供翻译字幕 基于ASP.NET Core的模块化设计: 虚拟文件系统 简介 创建模块化的应用程序很困难. 构建模块化的 ...

  10. 单片机c语言模块化实例程序设计,单片机C语言模块化设计

    原标题:单片机C语言模块化设计 keil中实现 模块化编程.doc 在使用 KEIL 的时候,我们习惯上在一个.c 的文件中把自己要写的东西按照 自己思路的顺序进行顺序书写.这样是很普遍的写法,当程序 ...

最新文章

  1. 知乎热议:国家何时整治程序员的高薪现象?网友:用命和头发换的钱都被人眼红!...
  2. C#时间(DateTime)格式化
  3. 如何保住我们的头发?初级程序员的碎碎念
  4. Mac更新VSCode写权限被拒绝 Cannot update while running on a read-only volume
  5. CRM Fiori:Complex note optimization design
  6. 导演李大为婚礼全过程(二)
  7. linux密文解密工具,Linux之加密解密工具openssl的用法以及自建CA
  8. 用ABC三个字母简洁归纳2018年物联网趋势
  9. PyQt5自定义信号与槽带示例讲解
  10. 计算机语言的比较英文论文,科学网—撰写高质量英文科技论文的心态、布局、程序和方法 - 岳中琦的博文...
  11. python中list和numpy的array的转换
  12. Extjs6开发环境搭建
  13. 全球20大半导体企业无1家入围,中国半导体任重道远
  14. 奇怪的同床人:指纹现象……或state.gov与facebook.com
  15. Reservior Sampling(蓄水池采样) in Data Streams
  16. 私网地址与公网地址转换
  17. unity3d学习笔记-报错
  18. android .9图片有黑线,用draw9patch.bat绘制的气泡图片用在Android程序中有黑线,怎么解决?...
  19. 使用Python进行交易策略和投资组合分析
  20. 五折交叉验证/K折交叉验证, python代码到底怎么写

热门文章

  1. 1015 德才论 (25 分)—PAT (Basic Level) Practice (中文)
  2. 2019.03.25 bzoj4572: [Scoi2016]围棋(轮廓线dp)
  3. eMMC基础技术2:eMMC概述
  4. 走进AngularJs(一)angular基本概念的认识与实战
  5. 锋利的jQuery-4--图片切换的一个例子(自己理解后写的,以备忘记时看看)
  6. VC++动态链接库(DLL)编程深入浅出:QA(原创)
  7. mysql 查询 int类型日期转换成datetime类型
  8. 将一个数转化为二进制java_java将一个整数转化成二进制代码示例
  9. datatable 操作列根据权限动态展现_不会Excel透视表?教你一招轻松做出动态报表...
  10. 华为MUX VLAN原理和实验