台达ISPsoft是Delta Electronics提供的PLC编程软件,支持梯形图(LD)、指令表(IL)、功能块图(FBD)等多种编程语言。其程序层级结构清晰,便于工程师组织和管理控制逻辑。以下是ISPsoft的典型程序层级结构说明:
1. 项目(Project)
层级最顶层,代表一个完整的PLC项目。
包含PLC型号、通信配置、全局参数等设置。
2. 程序组织单元(POU, Program Organization Unit)
在ISPsoft中,程序由多个POU组成,POU分为以下类型:
(1) 主程序(Main Program)
默认执行的顶层程序(如
Main
)。通常包含初始化逻辑和子程序调用。
在循环扫描中周期性执行。
(2) 子程序(Subroutine)
可重复调用的独立程序模块(如
Sub1
、Sub2
)。通过
CALL
指令或背景数据块调用。适用于分段控制逻辑(如电机启动、报警处理)。
(3) 中断程序(Interrupt Routine)
由特定事件触发(如定时中断、输入信号中断)。
用于实时性要求高的任务(如紧急停止)。
(4) 功能块(Function Block, FB)
带记忆功能的模块(如PID控制块)。
需要关联背景数据块(DB)存储数据。
可封装复杂逻辑,提高复用性。
(5) 函数(Function, FC)
无记忆功能的模块(如数学运算)。
直接处理输入参数并返回结果,不占用存储区。
3. 数据块(Data Block, DB)
存储POU的变量和数据。
全局数据块(Global DB):所有POU共享。
背景数据块(Instance DB):专属于某个FB实例,存储其状态数据。
包含变量(
VAR
)、常量(CONST
)、临时变量(TEMP
)等。
4. 变量与地址分配
全局变量:跨POU使用(如
"Global".Var1
)。局部变量:仅在POU内有效(如
"Main".LocalVar
)。直接地址:映射到PLC的I/O或内部寄存器(如
M0
、D100
)。
5. 程序结构示例
plaintextProject: MyProject├── PLC Configuration (型号: DVP-EH3)├── Global Data Block (Global_DB)│ ├── Var1: BOOL│ └── Timer1: TIMER├── Main Program (Main)│ ├── CALL Sub1│ └── FB_Instance1 (PID_FB)├── Subroutine (Sub1)│ └── 逻辑控制代码├── Function Block (PID_FB)│ └── 背景数据块 (PID_DB)└── Interrupt (Emergency_Stop)
6. 关键特性
层级调用:主程序 → 子程序/FB/FC → 中断程序。
模块化设计:通过FB/FC实现代码复用。
数据管理:DB确保数据隔离,避免冲突。
7. 编程建议
模块化:将不同功能(如温控、传送带)拆分为独立FB/FC。
注释:为POU和变量添加注释,便于维护。
优化中断:减少中断程序中的复杂逻辑,确保实时性。
通过合理利用ISPsoft的层级结构,可以提升程序的可读性、可维护性和执行效率。如需更具体的操作指导,可参考台达官方手册或ISPsoft内置的帮助文档。