结构化编程

1.1 采用统一编程方法的目的

采用统一编程方法的目的

采用统一编程方法,以便:

  • 通过严密的分段结构方便地解决复杂的问题

  • 以清晰易懂的方式展示基本方法 (无需深度编程知识)

  • 提高维护、修改和扩展程序的效率

前瞻性程序规划可:

  • 使复杂的任务得以分解成几个简单的分步任务

  • 降低编程时的总耗时

  • 使相同性能的组成部分得以更换

  • 单独开发各组成部分

对一个机器人程序的 6 个要求:

1. 高效

2. 无误

3. 易懂

4. 维护简便

5. 清晰明了

6. 具有良好的经济效益

1.2 创建结构化机器人程序的辅助工具

注释有什么用处?

注释是在编程语言中补充 / 说明的部分。 所有编程语言都由计算机指令 (代码)和对文本编辑器的提示 (注释)组成。 如果进一步处理源程序 (编译、解释等)时,处理软件则会忽略注释,因此不会影响结果。

在 KUKA 控制器中使用行注释,即注释在行尾自动结束。

单凭注释无法使程序可读,但它可以提高结构分明的程序的可读性。 程序员可通过注释在程序中添加说明、解释,而控制器不会将其理解为句法。

程序员负责使注释内容与编程指令的当前状态一致。 因此在更改程序时还必须检查注释,并在必要时加以调整。

注释的内容以及其用途可由编辑人员任意选择,没有严格规定的句法。 通常以“ 人类 ” 语言书写注释,或使用作者的母语或常用语言。

  • 对程序内容或功能的说明

  • 内容和用途可任意选择

  • 改善程序的可读性

  • 有利于程序结构化

  • 注释的时效性由程序员负责

  • KUKA 使用行注释

  • 控制器不会将注释理解为句法

在什么时候和什么地方使用注释?

关于整个源程序的信息:

作者可在源程序开头处写上引言,包括作者说明、授权、创建日期、出现疑问时的联系地址以及所需其它文件的列表等等。

源程序的分段:

标题和段落可以这样标出。在此通常不仅会使用语言表达方式,而且还使用可由文字转换为图形的方式。

单行的说明:

这样可以说明文本段 (例如程序行)的工作原理或含义,以便于其他人或作者本人以后理解。

对需执行的工作的说明:

注释可以标记不完整的代码段,或者标记完全没有代码段的通配符。

变为注释:

如要临时删除以后可能还会重新使用的代码组成部分,则要将其变为注释。只要代码段包含在注释中,则编译器就不再将其视为代码,即实际上代码已经不再存在。

在机器人程序中使用 FOLD 有什么作用?

  • 在 FOLD 里可以隐藏程序段

  • FOLD 的内容对用户来说是不可见的

  • FOLD 的内容完全如通常情况在程序运行流程中得到处理

  • 通过使用 Fold 可改善程序的可读性

Fold 应用示例有哪些?

在 KUKA 控制器上通常由系统使用准备好的 Fold,例如在显示联机表单时。这些 Fold 使联机表单中输入的值更为简洁明了,并为操作人员隐藏无关的程序段。

除此之外,用户 (专家用户组以上)还可以创建自己的 Fold。这些 Fold 例如可以由程序员使用,使用时虽然可以通知操作人员在程序的一定位置处发生的事件,但在后台仍保持实际的 KRL 句法。

Fold 通常在创建后首先显示成关闭状态。

为什么要使用子程序技术进行工作?

  • 在编程中,子程序主要用于实现相同任务部分的多次使用,从而避免程序码重复。 另外,采用子程序后也可节省存储空间。

  • 使用子程序的另一个重要原因是由此会使程序结构化。

  • 子程序应该能够完成包含在自身内部并可解释详明的分步任务。

  • 子程序现在主要是通过其简洁明了、条理清晰的特点而使得维护和排除程序错

  • 误更为方便,因为现代计算机内部用于调用子程序的时间和管理成本实际上已经无足轻重了。

  1. 可以多次使用

  2. 避免程序码重复

  3. 节省存储空间

  4. 各组成部分可单独开发

  5. 随时可以更换具有相同性能的组成部分

  6. 使程序结构化

  7. 将总任务分解成分步任务

  8. 维护和排除程序错误更为方便

子程序的应用

指令行的缩进有什么作用?

为了便于说明程序模块之间的关系,建议在程序文本中缩进嵌套的指令列,并一行紧挨一行地写入嵌套深度相同的指令。

所获得的效果只是体现在外观上,它只与作为人与人之间交流方式的程序可读性有关。

合理命名的数据名称有什么作用?

为了能够正确解释机器人程序中的数据和信号函数,应在为其命名时使用意义明确的概念。 其中包括:

  • 输入和输出信号的长文本名称

  • 工具与基坐标的名称

  • 输入和输出的信号协定

  • 点的名称

1.3 如何创建程序流程图

什么是程序流程图(PAP)?

程序流程图 (PAP) 是一个程序的流程图,也称为程序结构图。 它是在一个程序中执行某一算法的图示,描述了为解决一个课题所要进行的运算之顺序。 程序流程图中所用的图标在 DIN 66001 标准中作了规定。 程序流程图也常常用于图示过程和操作,与计算机程序无关。

与基于代码的描述相比,提高了程序算法的易读性,因为通过图示可明显地便于识别结构。

以后转换成程序代码时可方便地避免结构和编程错误,因为使用正确的程序流程图 PAP 时可直接转换成程序代码。 同时,创建程序流程图时将得到一份待编制程序的文献。

  • 用于程序流程结构化的工具

  • 程序流程更加易读

  • 结构错误更加易于识别

  • 同时生成程序的文献

程序流程图图标 一个过程或程序的开始或结束

图 1-1

指令与运算的连接

图 1-2

if 分支

图 1-3

程序代码中的一般指令

图 1-4

子程序调用

图 1-5

输入 / 输出指令

图 1-6

程序流程图示例

图 1-7

如何创建程序流程图

用户总是希望问题会逐步得到细化,直至制定出的组成部分清楚到可以转换成KRL 程序。

在依次逐步开发的过程中出现的设计方案会不断地深化细节。

1. 在约 1 至 2 页的纸上将整个流程大致地划分

2. 将总任务划分成小的分步任务

3. 大致划分分步任务

4. 细分分步任务

5. 转换成 KRL 码