[西门子] 在 STEP 7 (TIA 博途) 中,如何使用用户自定义数据类型 (UDT)?

[复制链接]
查看48991 | 回复0 | 2024-2-28 08:58:32 | 显示全部楼层 |阅读模式
描述
本条目将阐述“用户自定义数据类型(UDT)的应用”及在STEP 7 V5.x 和 STEP 7 (TIA 博途) 不同的处理方法。

用户的目标
在许多程序中需要使用连续的数据记录,这些记录在程序的不同地方被使用,例如:

    材料跟踪的数据记录

    设置电机参数所需的一套数据

    各种配方

在运行的程序中以上数据需要进行优化甚至更改。

在 STEP 7 V5.x 中的步骤

    在数据块中以结构体变量(声明一个 "Struct" 作为匿名的数据类型)的方式创建一个数据记录,然后可以通过所显示的绝对地址进行部分寻址。

    对于在程序块中进行符号寻址编程的处理,可以先定义一个新的本地结构体变量,然后拷贝 DB 中声明的结构体变量,并将其粘贴过来。

    编程时,可以像使用基本数据类型那样使用用户自定义数据类型来声明变量,只是这种方式不是经常使用。

    这样处理的原因是性能的提高源自于符号寻址的性能和用户自定义数据类型(UDT)的使用。

在许多带有符号声明的块中,符号并未被后来的程序所使用。这影响了程序的可读性,不得不使用注释来增加可读性。基本结构的修改将导致大 量的更改。在 TIA 博途中访问此类数据将会导致系统中大量的内部检查,进而降低了系统性能。

在 STEP 7 (TIA 博途)中的步骤

    尽可能地定义 PLC 数据类型的数据记录时分配一个适当的名称,例如 "Material tracking"。

    在块接口中使用这个数据类型来声明变量和形式参数。

    在调用程序块时,对于参数化实际参数时也要符合相应正确的数据类型。

优点

    结构变量继承了 PLC 数据类型的所有属性。

    修改了 PLC 数据类型将导致所有衍生的变量都会自动的修改。

    这意味着程序更易于读懂,因为有统一的符号名称。

图 01给出了一些用PLC数据类型变量编程结构化变量的例子。输入变量“MotorControl”定义为PLC数据类型“Monitoring”。分配给结构化变量和PLC数据类型变量的数据类型必须一致。



S7-1200/S7-1500 结构的最大数量
在 S7-1200/S7-1500 的一个数据块中,可以定义最多 252 个结构,与结构中的数据类型无关。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则