使用PLC 数据类型
PLC 数据类型(UDT) 是可自定义的数据结构,可以在程序中多次使用。该结构可以包含不同数据类型的多个元素。在声明PLC 数据类型期间,您可以定义各个元素的数据类型。
如果需要各种数据类型的装配数据记录,则经常使用PLC 数据类型,并且将从程序中的不同点进行处理。例如,该数据可以是:
用于物料跟踪的数据记录
电机设置的参数集
公式
使用PLC 数据类型具有以下优点:
PLC 数据类型元素也可以间接寻址,这意味着地址是可变的并且直到运行时才计算。
基于PLC 数据类型的变量继承PLC 数据类型的所有属性。如果更改PLC 数据类型,则基于该PLC 数据类型的所有变量都会自动修改。
使用统一的符号表示可以提高程序的可读性,因为PLC 数据类型的各个元素的名称都显示在程序中。
可以最佳地利用S7-1500 CPU 的高性能。
PLC 数据类型可以作为块调用的完整结构进行传输。
由于需要提供的参数较少,因此简化了调用接口。
STEP 7 V5.x 中的步骤
STEP 7 V5.x 已允许用户使用STRUCT 数据类型或PLC 数据类型(UDT) 将数据记录创建为结构化变量。但由于使用符号寻址,对性能会有一定的影响。
数据块中的声明大多作为匿名结构实现。然后,对该块本身进行编程,将该结构的值作为实际参数传递,并将计算出的值复制回该结构中。这使得传输数据块编号并在块内使用绝对寻址成为可能。需要提供的参数数量通常很大。实际数据存储在数据块中,计算值则传输到其他块中。然而,当传输数据块变量时,没有可用的符号表示。
STEP 7 TIA Portal 中的编程示例
形式参数和实际参数可以分配给PLC 数据类型。这意味着无需声明每个单独的参数。如果块具有PLC 数据类型的输入参数,则必须将相同PLC 数据类型的变量作为实际参数传送。
以下示例说明了具有两个形式参数的功能块(FB) 的调用和参数分配:
要创建PLC 数据类型,请双击项目树中“PLC 数据类型”文件夹中的“添加新数据类型”命令。
这将创建并打开一个新的声明表来创建PLC 数据类型。
将PLC 数据类型重命名为“UDT_Material”。
在PLC 数据类型中声明以下行:
文章编号数据类型:DINT
文章名称数据类型:STRING
金额数据类型:REAL
单位数据类型:STRING 在全局数据块中,使用PLC 数据类型。 PLC 数据类型可以直接指定为数据块的数据类型或数据块中变量的数据类型。
要为此创建全局数据块,请按照下列步骤操作:
双击“添加新块”命令。
这将打开“添加新块”对话框。
单击“数据块(DB)”按钮。
指定名称“DB_MaterialBuffer”。
选择数据块类型“ARRAY DB”。
选择PLC 数据类型“UDT_Material”作为ARRAY 数据类型。
指定“1000”作为ARRAY 限制。
单击“确定”。在功能块调用中,全局数据块“DB_MaterialBuffer”中的变量相互连接。
创建一个SCL 功能块并将其命名为“FB_Material”。
声明块接口如下:
编写如下程序代码:
在OB1 中调用“FB_Material”功能块,并将形状参与者与全局数据块“DB_MaterialBuffer”的变量互连。材料数据已移动到全局数据块“DB_MaterialBuffer”中。
审稿人:刘庆