7.1 编译
- 编译的作用是将高级语言编写的程序转换为设备可执行的二进制代码,通过编译,程序员可以使用更易于理解的高级语言进行编程,而无需直接编写复杂的机器语言代码;编译流程包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成阶段,这些阶段共同确保了程序的正确性和高效性
7.1.1 编译简介
- 用户程序必须先经过编译才能在 CPU 中执行。每次进行更改后都需要重新编译程序
- 编译可以取消,但是不能undo/redo。如果取消编译过程,在巡视窗口中将显示一条报警(黄色)
7.1.1.1 编译方式(入口)
-
菜单栏-->“编辑”菜单-->编译(根据选中的“项目树节点”编译内容)【增量】
-
工具栏-->取消编译 / 编译(根据选中的“项目树节点”编译内容)【增量】
-
项目树右键菜单(根据选中的“项目树节点”编译内容)【增量 / 全量】
- PLC_1(编译所有软件+硬件)
- 软件及软件子节点(编译所有软件)
- 硬件及硬件子节点(编译所有硬件)
7.1.2 增量编译
7.1.2.1介绍
- 增量编译是相对于全量编译而言的。它指的是当源程序的局部发生变更后,重新编译的工作仅限于修改的部分及与之相关部分的内容,而不需要对全部代码进行编译
7.1.2.2 增量编译介绍
- 软件增量编译,即对用户软件所有涉及的修改部分进行编译
-
除了明确有修改模块,需要调用关系和依赖关系检查相关PU进行一起编译
-
更改被调用块的接口或已使用的用户自定义数据类型(UDT),可以导致在调用块和被调用块之间接口;或者UDT数据类型与使用这些数据类型的变量之间不一致的情况
-
为了避免用户程序出现此类不一致情况,在每次执行编译前,进行相关修改模块的依赖性检查,然后编译相关所有模块
-
若立即开始下载,而不是首先编译,则系统首先进行增量编译,编译成功才会下载
7.1.2.3 增量编译操作
- 增量编译:编译该设备(PLC)的APPLICATION(软件)下的所有修改的GVS,PU,UDT,TASK,IO映射表等,和项目树选择软件对象无关