基于TIA博途的编码器计数和测量方法的应用

(整期优先)网络出版时间:2021-06-21
/ 2


基于 TIA博途的编码器计数和测量方法的应用

戴隆基,薛明磊,辛辰

飞马智科信息技术股份有限公司,安徽马鞍山 243000


摘要:文章以TIA博途为软件,西门子1500CPU及增量式、绝对值编码器为硬件基础,阐述了在TIA博途中对编码器信号的计数和测量方法的编程应用。

关键字:S7-1500 TIA博途 编码器 计数测量方法

  1. 前言

在工业生产中编码器有着广泛的应用,主要用于现场设备的信号计数和位置测量。如何将编码器信号准确高效的在PLC程序中进行数据处理和应用显得非常重要。西门子公司的S7-1500系列PLC在实际工业中应用的较为广泛,该PLC的编程软件是TIA 博途,现在的版本已经到了V16。本文以S7-1500系列PLC 及增量式、绝对值编码器为硬件基础,TIA博途为编程软件,来探讨编码器信号在PLC程序中的计数和测量方法以及应用。

  1. 编码器简介

编码器是以数字化信息将角度、长度的信息以编码的方式输出的传感器。编码器把角位移或直线位移转换成电信号。按照工作原理编码器可分为增量式和绝对式两类。增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。


  1. 计数功能和测量方法的具体编程实现

3.1增量式编码器

  • 在工艺指令中调用High_Speed_Counter功能块

  • 进入功能块组态界面,进行基本参数设置,选择相应的模块和通道。

  • 进入扩展参数设置界面,进行计数器信号类型输入,选择信号评估。再进行附加参数配置,可以设置滤波器频率,接口标准,对信号N是否有响应。

  • 进行计数器特征组态,设置计数特征。在这个界面可以设置计数上限、起始值、计数下限。以及对违反计数限值的响应等。

  • High_Speed_Counter功能块主要输入输出参数说明:

参数

声明

数据类型

默认值

说明

SwGate

INPUT

BOOL

FALSE

控制软件门:上升沿:软件门打开 下降沿:软件门关闭
SwGate 与硬件门一起启用内部门。

CaptureEnable

INPUT

BOOL

FALSE

启用 Capture 功能。启用后,会在相关数字量输入的下一个组态沿处发生 Capture 事件。将在 CaptureEnable 的下降沿复位输出参数 CaptureStatus。即使未发生 Capture 事件,也会在CaptureEnable 的下降沿复位启用功能。

SyncEnable

INPUT

BOOL

FALSE

启用同步 同步方向在静态变量 SyncUpDirection 和 SyncDownDirection 中指示。将在 SyncEnable 的下降沿复位输出参数 SyncStatus 。

ErrorAck

INPUT

BOOL

FALSE

在上升沿确认报告的状态。

EventAck

INPUT

BOOL

FALSE

在上升沿复位以下输出参数:
CompResult0 CompResult1 ZeroStatus PosOverflow NegOverflow

SetCountValue

INOUT

BOOL

FALSE

在上升沿开始将静态变量 NewCountValue 中的新计数器值传送到工艺模块。完成传送后计数器值立即生效。

StatusHW

OUTPUT

BOOL

FALSE

工艺模块状态位:模块已组态并准备好运行。模块数据有效。

StatusGate

OUTPUT

BOOL

FALSE

状态位:如果设置该参数,将释放内部门

Error

OUTPUT

BOOL

FALSE

发生错误。有关出错的原因,请参考输出参数 ErrorID。

CountValue

OUTPUT

DINT

0

当前计数器值

CapturedValue

OUTPUT

DINT

0

最后采集的 Capture 值。无论输入参数 CaptureEnable 为何值,在出现下一个 Capture 事件之前,该值都会保留。

MeasuredValue

OUTPUT

REAL

0

频率、周期或速度(具体取决于组态)的当前测量值


表1 High_Speed_Counter功能块主要输入输出参数说明


3.2绝对值编码器

  • 在工艺指令中调用SSI_Absolute_Encoder功能块。

  • 进入功能块组态界面,进行基本参数设置,选择相应的模块和通道。

  • 根据实际的绝对值编码器型号,组态帧长度、代码类型、传输率、单稳态触发器时间、位置值LSB、MSB等参数

  • SSI_Absolute_Encoder功能块主要输入输出参数说明:

参数

声明

数据类型

默认值

说明

CaptureEnable

INPUT

BOOL

FALSE

启用 Capture 功能 启用后,会在相关数字量输入的下一个组态沿处发生 Capture 事件。将在 CaptureEnable 的下降沿复位输出参数 CaptureStatus。即使未发生 Capture 事件,也会在 CaptureEnable 的下降沿复位启用功能。

ErrorAck

INPUT

BOOL

FALSE

在上升沿确认报告的错误状态。

EventAck

INPUT

BOOL

FALSE

在上升沿复位以下输出参数:
CompResult0 CompResult1 ZeroStatus PosOverflow NegOverflow

StatusHW

OUTPUT

BOOL

FALSE

工艺模块状态位:模块已组态并准备好运行。模块数据有效。

Error

OUTPUT

BOOL

FALSE

发生错误。有关出错的原因,请参考输出参数 ErrorID。

PositionValue

OUTPUT

DINT

0

当前位置值

MeasuredValue

OUTPUT

REAL

0

频率、周期或速度(具体取决于组态)的当前测量值
MeasuredValue 或 CompleteSSIFrame 将有效,具体取决于在工艺对象的“测量值”(Measured value) 下进行的参数分配。

CompleteSSIFrame

OUTPUT

DWORD

0

最后接收到的完整 SSI 帧(32 位最低有效位)
MeasuredValue 或 CompleteSSIFrame 将有效,具体取决于在工艺对象的“测量值”(Measured value) 下进行的参数分配。

CompareMeasuredValue

OUTPUT

BOOL

FALSE

状态位:FALSE: 工作模式“将位置值(SSI 绝对值)作为参考”;将位置值作为参考

表2 SSI_Absolute_Encoder功能块主要输入输出参数说明



  1. 结束语

目前各种编码器在冶金行业运用的非常广泛,熟悉TIA博途软件中的相关计数和测量功能,对增量式和绝对值编码器信号在PLC程序中进行标准化模块化处理,有助于我们更好的运用编码器信号,完成计数、测量和控制功能,从而更好的满足相关工业生产、工艺要求。


参考文献:

  1. s71500_system_manual_zh-CHS_zh-CHS

  2. Programming Guideline for S7-12001500

  3. 编码器原理及应用