飞马智科信息技术股份有限公司,安徽马鞍山 243000
摘要:文章以TIA博途为软件,西门子1500CPU及增量式、绝对值编码器为硬件基础,阐述了在TIA博途中对编码器信号的计数和测量方法的编程应用。
关键字:S7-1500 TIA博途 编码器 计数测量方法
在工业生产中编码器有着广泛的应用,主要用于现场设备的信号计数和位置测量。如何将编码器信号准确高效的在PLC程序中进行数据处理和应用显得非常重要。西门子公司的S7-1500系列PLC在实际工业中应用的较为广泛,该PLC的编程软件是TIA 博途,现在的版本已经到了V16。本文以S7-1500系列PLC 及增量式、绝对值编码器为硬件基础,TIA博途为编程软件,来探讨编码器信号在PLC程序中的计数和测量方法以及应用。
编码器是以数字化信息将角度、长度的信息以编码的方式输出的传感器。编码器把角位移或直线位移转换成电信号。按照工作原理编码器可分为增量式和绝对式两类。增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。
3.1增量式编码器
在工艺指令中调用High_Speed_Counter功能块
进入功能块组态界面,进行基本参数设置,选择相应的模块和通道。
进入扩展参数设置界面,进行计数器信号类型输入,选择信号评估。再进行附加参数配置,可以设置滤波器频率,接口标准,对信号N是否有响应。
进行计数器特征组态,设置计数特征。在这个界面可以设置计数上限、起始值、计数下限。以及对违反计数限值的响应等。
High_Speed_Counter功能块主要输入输出参数说明:
参数 | 声明 | 数据类型 | 默认值 | 说明 |
SwGate | INPUT | BOOL | FALSE | 控制软件门:上升沿:软件门打开 下降沿:软件门关闭 |
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 | 在上升沿复位以下输出参数: |
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 | 在上升沿复位以下输出参数: |
StatusHW | OUTPUT | BOOL | FALSE | 工艺模块状态位:模块已组态并准备好运行。模块数据有效。 |
Error | OUTPUT | BOOL | FALSE | 发生错误。有关出错的原因,请参考输出参数 ErrorID。 |
PositionValue | OUTPUT | DINT | 0 | 当前位置值 |
MeasuredValue | OUTPUT | REAL | 0 | 频率、周期或速度(具体取决于组态)的当前测量值 |
CompleteSSIFrame | OUTPUT | DWORD | 0 | 最后接收到的完整 SSI 帧(32 位最低有效位) |
CompareMeasuredValue | OUTPUT | BOOL | FALSE | 状态位:FALSE: 工作模式“将位置值(SSI 绝对值)作为参考”;将位置值作为参考 |
表2 SSI_Absolute_Encoder功能块主要输入输出参数说明
目前各种编码器在冶金行业运用的非常广泛,熟悉TIA博途软件中的相关计数和测量功能,对增量式和绝对值编码器信号在PLC程序中进行标准化模块化处理,有助于我们更好的运用编码器信号,完成计数、测量和控制功能,从而更好的满足相关工业生产、工艺要求。
参考文献:
s71500_system_manual_zh-CHS_zh-CHS
Programming Guideline for S7-12001500
编码器原理及应用