6ES7516-3AP03-0AB0|维修保养

供应商
浔之漫智控技术(上海)有限公司
认证
品牌
西门子
型号
模块
产地
德国
全国服务热线
15821971992
经理
聂聪
所在地
上海市松江区广富林路4855弄88号3楼
更新时间
2023-10-26 04:00

详细介绍

默认情况下,step 7-micro/winsmart没有集成模拟量处理的指令,我们需要自己编写量程转换的子程序才能完成模拟量的处理。这种量程转换的原理可以看看我之前写的文章(怎样将模拟量的信号值转换成工程量值?)。今天这篇文章,我想告诉大家一种相对简单的模拟量处理方式——使用scale指令库。

scale指令库其实也是西门子内部人员编写的,但不是官方正式发布的。我觉的这个指令库还是蛮方便的,值得推荐给大家使用。下面我们分两个步骤介绍:1)怎样添加scale指令库?2)怎样使用里面的指令?

1、怎样添加scale指令库?

首先需要下载scale指令库。从哪里下载呢?可以到西门子的网站上搜索,另外文章的末尾提供下载的方法。

下载好后,将其放在一个指定的文件夹中。然后打开step 7-micro/win  smart,单击【工具】菜单的【选项】按钮,在弹出的对话框中,单击【项目】,你会看到一个用户库文件夹路径的设置,其默认路径如下图:

 

你可以将下载的scale指令拷贝到这个文件夹中,也可以单击【浏览】将用户库文件夹指定到你当前存放的路径,单击【确定】后,就可以在【指令】-【库】中看到你新添加的scale指令。

下面这张图是我添加用户指令库前后的对比(当然,除了scale还添加了一些其它指令库):

 

2、怎样使用scale指令库

scale指令库(v1.2)中有三条指令:s_itr、s_rtr、s_rti。名称中的"s"代表"scale",表示"量程";"i"代表"integer",即"整数";"r"代表"real",即"实数";"t"代表"to",即"转换"的意思;

这样就很好理解了,比如:s_itr,就表示 scale ,integer to real,也就是整数到实数的量程转换;而s_rti,就表示,scale,real tointeger,也就是实数到整数的量程转换;s_rtr,就表示,scale,real toreal,也就是实数到实数的量程转换;

下面来具体看一下:

2.1、s_itr

   该指令可以处理模拟量输入信号,并转换成相应的工程值,其初始添加到程序块中的状态如下图所示:

 

该指令有6个输入参数和1个输出参数,含义如下:

en:布尔值,指令使能;

input:整数,要转换的变量;

ish:input scaled high,整数,输入量程的上限;

isl:input scaled low,整数,输入量程的下限;

osh:output scaled high,实数,输出量程的上限;

osl:output scaled low,实数,输出量程的下限;

output:实数,转换后的变量;

举例说明:

    假设模拟量输入模块连接的外部压力传感器,输入信号为0~20ma的电流信号,压力的范围为0~10000mbar,输入通道的地址为:aiw16,转换后数据存放在vd0中,则代码如下:

 

如果压力传感器的信号为4~20ma,则需要把isl的值改为5530,代码如下:

 

2.2、s_rti

该指令可以将工程值转换成模拟量值进行输出,其初始添加到程序块中的状态如下:

 

该指令有6个输入参数和1个输出参数,含义如下:

en:布尔值,指令使能;

input:实数,要转换的变量;

ish:input scaled high,实数,输入量程的上限;

isl:input scaled low,实数,输入量程的下限;

osh:output scaled high,整数,输出量程的上限;

osl:output scaled low,整数,输出量程的下限;

output:整数,转换后的变量;

举例说明:

    假设使用4~20ma的模拟量输出信号控制比例阀的输出压力,其输出量程范围为:0~6000mbar,输出通道的地址为aqw32,输出压力设定值存放在vd4,则代码如下:

 

假设输出±10v的电压信号用于速度控制,正值表示正转,负值表示反转,转速juedui值的范围为:0~3000r/min,输出通道aqw34,输出设定值vd8,则代码如下:

 

2.3、s_rtr

该指令可以进行实数与实数的量程转换,它的输入参数和输出参数都是实数;

举个例子:

我们在实例1中获取了一个压力值放在vd0(pressurevalue),它是范围为0~10000mbar的数值,我们想把当前压力值以其量程的百分数表示出来,转换值存放在vd12(pressurepercentage)中,就可以使用如下的代码:

 

好了,这就是scale指令库的指令介绍,主要用于模拟量信号的处理。


西门子官方授权代理商,上海地区,PLC模块一级总代理

展开全文

我们其他产品
我们的新闻
优质商家推荐 拨打电话