西门子博途:使用 DB_ANY 数据类型
使用 DB_ANY 数据类型 (S7-1200/1500)
DB_ANY 数据类型用来标识任意数据块。对于 S7-1200/1500 系列的 CPU,可以选择访问编程期间尚不可用的数据块。为此,请在访问块的块接口中创建一个 DB_ANY 数据类型的块参数。数据块名称或先前分配给数据块名称的 DB_ANY 数据类型的变量将在运行期间传送到此参数。可以通过以下指令,处理数据块中用符号表示的内容:
VARIANT_TO_DB_ANY:将 VARIANT 转换为 DB_ANY
DB_ANY_TO_VARIANT:将 DB_ANY 转换为 VARIANT
有关这些指令的更多信息,请参见“基本指令 > STL/SCL > 转换操作 > VARIANT”(Basic instructions > STL/SCL > Conversion operations > VARIANT)。
该过程具有以下优势:不需要知道将要处理的数据块就能创建程序代码。
在本示例中需要使用以下对象:
编程示例
以下示例说明了如何使用 DB_ANY 数据类型:
冲孔机可以冲出各种各样的几何形状。冲孔作业将传送到机器,每个作业有特定的作业数据。作业数据的作业类型和数据值各有不同。
操作步骤 - 创建 PLC 数据类型
在个作业中,将在一块金属板上冲出一个圆孔。要使冲孔机能够执行此作业,需要提供中心点坐标以及圆孔的半径。可以通过 PLC 数据类型 (UDT) 将这些作业数据一起传送到冲孔机。
创建 PLC 数据类型“UDT_Hole”以传送作业数据:
在项目树中,双击“PLC 数据类型”(PLC data types) 文件夹中的命令“新增数据类型”(Add new data type)。 这样,将创建并打开一个用于创建 PLC 数据类型的新声明表。 在 PLC 数据类型中声明以下行: X-coordinate > REAL Y-coordinate > REAL Diameter > REAL |
在第二个作业中,将在一块金属板上冲出一个矩形。对于此作业,需要提供两个坐标,分别定义此矩形的左上角和右下角。可以通过 PLC 数据类型“UDT_RectangleWindowStatic”将这些作业数据一起传送到冲孔机。
创建 PLC 数据类型“UDT_RectangleWindowStatic”:
这样,将创建并打开一个用于创建 PLC 数据类型的新声明表。
在 PLC 数据类型中声明以下行:
X1-coordinate > REAL
Y1-coordinate > REAL
X2-coordinate > REAL
Y2-coordinate > REAL