电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 梯形图实例 >> 正文

正确使用S7-200 SMART模拟量输出指令库 模拟量指令S_RTR和S_RTI

作者:佚名    文章来源:本站原创    点击数:    更新时间:2022-11-04

之前我曾写过一篇文章介绍西门子S7-200 SMART的模拟量指令库《S7-200 SMART怎样添加和使用模拟量指令库?》。今天这篇文章,结合我近期测试国产模拟量输出模块的实际经验,跟大家分享下该指令库使用过程中要注意的几个问题。本文主要包括如下几个主题:

西门子plc STEP7中 模拟量指令S_RTR和S_RTI的区别
怎样将实数转换为无符号整数?
1、模拟量指令S_RTR和S_RTI的区别

指令S_RTRS_RTI通常都是用来处理模拟量输出。名称中的"S""Scale"的缩写,表示"量程";"R"是"Real"的缩写,表示"实数";"T"是"To"的缩写,表示转换;"I"是"Integer"的缩写,表示"整数"。因此,从名称可以看出,S_RTR指令是把实数转换成实数,S_RTI指令是把实数转换成整数,通常情况下我使用的是S_RTI指令。

比如西门子 ET200 SP的模拟量输出模块AQ 2xI ST,它能输出4~20mA的电压信号,其对应的输出整数的范围为0~27648。对于这样的模块信号转换,我们只需要输入工程值和转换值即可。举个例子,某工程值速度信号的范围为0.0~100.0 cm/min,其实际速度存放在VD100(actualSpeed)中,要求将实际速度转换成相应的电流信号进行输出,可以使用下面的代码:

S_RTI指令,模拟量输出控制示例 
有些模拟量输出模块(比如我测试的这个国产模块),它的输出信号也是4~20mA,但是其对应的整数范围是0~65535。这种情况下,如果我们还是用这个公式,将"OSH"改成65535,就会出问题,如下图:

西门子plc S_RTI指令,模拟量输出控制示例 
"S_RTI"指令中"OSH"和"OSL"都是"16位有符号整数",其取值范围为-32768~+32767。65535超出了其取值范围,因此会产生溢出错误,我们进入其内部代码可以看的更清楚,如下图所示:

西门子plc模拟量转换 
这种情况下,我们应该使用"S_RTR"指令,它的量程范围均为实数,如下图所示:

西门子plc S_RTR指令模拟量输出控制示例 
不过"S_RTR"指令转换的输出值为实数,而我们需要写入的模拟量输出地址为无符号整数类型,比如QW130,怎么把实数转换成无符号整数呢?

2、怎样将实数转换为无符号整数

首先,我们可以使用Round指令将实数转换成近似的双整数。接下来就是问题的关键:怎样把双整数转换成无符号整数?

如果我们直接使用系统提供的指令"DI_I"会出现错误,因为这个双整数超出了有符号整数的范围。我找了半天,没有发现能直接进行转换的指令。于是自己写了一个函数(子程序)来实现这个功能。

打开STEP 7 Micro-WIN/SMART,在程序块中添加子程序,名称为Conv_DI2W,在其变量表中声明变量如下图所示:

 
在代码区编写代码如下:

 
在主程序中调用子程序Conv_DI2W,为其参数赋值即可,如下图所示:

 
好了,关于S7-200 SMART模拟量输出指令使用时注意问题就先介绍到这里。如果你想学习S7-200 SMART PLC ,可以看看这本书《西门子S7-200 SMART PLC应用技术》

Tags:模拟量指令,模拟量,指令,S7-200,SMART  
责任编辑:admin
相关文章列表
西门子plc s7-200加法指令说明 ADD_I 和ADD_R和ADD_DR
西门子plc模拟量输入编程实例公式(模拟量编程实例详解)STEP7添
西门子plc程序中 S_ITR / S_RTR / S_RTI各指令是什么意思
PLC如何读取模拟量?西门子S7_200PLC
西门子plc置位与复位指令的功能说明
西门子PLC S7-200 实数运算指令的应用的指令表及梯形图 除法
西门子plc梯形图实例 MOV指令数据传送
西门子plc梯形图实例s7-200系列plc转换指令入门教程
西门子PLC S7-200系列梯形图实例:浮点数转换指令
西门子PLC 简易机械手控制梯形图实例
西门子plc S7-200模拟量使用说明及模拟量编程实例
西门子plc功能指令一览表
模拟量的信号值转换成工程量值的计算公式
模拟量转换工程量转换公式全解,模拟量转工程量公式
三菱PLC的条件跳转指令的编程方法  CALL指令
西门子plc S7-200 断开延时定时器指令:TOF指令
西门子200PLC中的减法运算梯形图怎么写 SUB_I西门子plc梯形图实例
MOV_B MOV_W MOV_DW MOV_R 指令问题 西门子plc的传送指令
西门子PLC立即类指令的格式及说明
plc立即位逻辑指令使用方法LDI、LDNI、OI、ONI、AI、ANI
西门子PLC置位、复位指令
西门子S7-200系列PLC的MODBUS通信功能 指令MBUS_CTRL
解读PLC的四大量:模拟量、数字量、开关量和脉冲量_信号
西门子PLC地址下降沿检测指令功能说明及应用实例   NEG指令应用举
三菱plc如何用模拟量来控制变频器
西门子PLC的bcd_di指令
西门子PLC  S7 PLC移位寄存器指令(SHRB)
西门子PLC整数乘法指令(MUL_I)和整数除法指令(DIV_I)
西门子PLC整型数比较指令,CMP指令
西门子plc中R复位线圈指令符号与状态字
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
推荐文章
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询