西门子博途:使用PLC数据类型 (UDT)

发布时间:2024-07-31  

使用 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 data types) 文件夹中的命令“新增数据类型”(Add new data type)。
这样,将创建并打开一个用于创建 PLC 数据类型的新声明表。
将 PLC 数据类型重命名为“UDT_Material”。
在 PLC 数据类型中声明以下行:
ArticleNumber > 数据类型: DINT
ArticleName > 数据类型: STRING
Amount > 数据类型: REAL
Unit > 数据类型: STRING
26854ba2-2097-11ee-962d-dac502259ad0.png
26854ba2-2097-11ee-962d-dac502259ad0.png

在全局数据块中,使用 PLC 数据类型。 可以将 PLC 数据类型直接指定为数据块的数据类型或在数据块中作为变量的数据类型。

要为此创建全局数据块,请按以下步骤操作:

双击“添加新块”(Add new block) 命令。
这样会打开“添加新块”(Add new block) 对话框。
单击“数据块 (DB)”(Data block (DB)) 按钮。
指定名称“DB_MaterialBuffer”。
选择数据块类型“ARRAY DB”。
选择 PLC 数据类型“UDT_Material”作为 ARRAY 数据类型。
指定“1000”作为 ARRAY 上限。
单击“确定”(OK)。
26c47ed0-2097-11ee-962d-dac502259ad0.png
26c47ed0-2097-11ee-962d-dac502259ad0.png

在函数块调用中,将形参与全局数据块“DB_MaterialBuffer”中的变量互连。

创建一个 SCL 函数块并将其命名为“FB_Material”。
按如下方式声明块接口:
27116a74-2097-11ee-962d-dac502259ad0.png
27116a74-2097-11ee-962d-dac502259ad0.png
编写以下程序代码:
27443c38-2097-11ee-962d-dac502259ad0.png
27443c38-2097-11ee-962d-dac502259ad0.png
在 OB1 中调用“FB_Material” 函数块,并将形参与全局数据块“DB_MaterialBuffer”的变量互连。
27912a8e-2097-11ee-962d-dac502259ad0.png
27912a8e-2097-11ee-962d-dac502259ad0.png

在全局数据块“DB_MaterialBuffer”中移动了物料数据。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    200PPI转以太网与易控modbusTCP客户端通信配置;西门子200PLC与易控INSPEC软件通过以太网连接西门子S7200系列PLC利用兴达易控PPI-ETH-XD1.0通讯模块为PLC提供......
    默认为11位),并且PLC的波特率和PPI、组态王要一致; 3)要求编程软件必须是离线时启动运行组态王。 (五)西门子200plc通过modbus协议与组态王通讯时,组态王中定义的寄存器地址与plc地址......
    300PLC转以太网与易控 INSPEC 上位机软件ModbusTCP客户端通讯;易控 INSPEC 软件通过以太网连接西门子 S7300 系列 PLC, 兴达易控MPI-ETH-XD1.0通讯......
    的好控制。区别非常大的。芯片肯定是有所不同的(体现在容量和运算速度上)但最大的区别还是体现在编程软件的思路和结构上。 三菱(日系的中高端品牌)PLC软件至少落后西门子5年以上。大中型的暂且不说,就拿......
    器人之间提供一个统一的接口。通过将SRCI完全集成UR系列软件,能够显著提升了优傲协作机器人的交互能力,并与西门子PLC实现无缝集成。目前西门子是自动化市场上率先支持SRCI的PLC供应商。优傲战略伙伴关系全球总监Daniel......
    简称“PLC”)和机器人之间提供一个统一的接口。通过将SRCI完全集成UR系列软件,能够显著提升了优傲协作机器人的交互能力,并与西门子PLC实现无缝集成。目前西门子是自动化市场上率先支持SRCI的PLC......
    令较多。而西门子PLC是德国品牌,指令比较抽象,学习难度较大,但指令较少,所以学习三菱和学习西门子的周期是一样的。  个人认为三菱(日系的中高端品牌)PLC软件至少落后西门子5年以上,大中......
    讲解西门子PLC的学习要点;学习西门子PLC没有想象中那么难,一句话可以总结为:对初学者来说,大致掌握PLC的硬件组成、编程软件、系统指令和程序结构等内容就够了! 接下来,就让我们一一讲解PLC......
    关于PLC的学习要点讲解;学习西门子PLC没有想象中那么难,一句话可以总结为:对初学者来说,大致掌握PLC的硬件组成、编程软件、系统指令和程序结构等内容就够了! 接下来,就让我们一一讲解PLC的学......
    西门子S7-200SMART PLC问题解答;西门子S7-200SMART PLC问题 问:西门子S7-200SMART PLC 什么是漏型接法? 答:你可以这样理解,电流正极流出就是漏型。 问......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>