技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 问个数据转换的问题

问个数据转换的问题

刘玉蓉 发布于2014-11-18 17:35 22 0 标签:

300型PLC在运算中得到了一个中间实数X,比如瞬时流量,现在需要把这个实数通过AO通道用4~20MA输出送到现场的数显表去显示。
我的做法是先把X除以数显表的量程,再乘以27648.0,再截断后得到一个长整形数。
现在的问题是怎么把这长整形转换成整形数据送往AO通道??
比如长整形数放在md100,直接MOVE mw102还是有什么别的更好的指令?
有别的更好的方法把实数通过4~20ma送去现场的方法吗?

佳答案

直接使用FC106,功能块了,直接将浮点数处理直接称整数输出给模拟量输出模块
UNSCALE功能接收一个以工程单位表示、且标定于下限和上限(LO_LIM和HI_LIM)之间的实型输入值(IN),并将其转换为一个整型值。将结果写入OUT。
UNSCALE功能使用以下等式:

OUT = [ ((IN-LO_LIM)/(HI_LIM-LO_LIM)) * (K2-K1) ] + K1

,并根据输入值是BIPOLAR还是UNIPOLAR设置常数K1和K2。

BIPOLAR:假定输出整型值介于 -7648和27648之间,因此,K1 = -27648.0,K2 = +27648.0

UNIPOLAR:假定输出整型值介于0和27648之间,因此,K1 = 0.0,K2 = +27648.0

如果输入值超出LO_LIM和HI_LIM范围,输出(OUT)将钳位于距其类型(BIPOLAR或UNIPOLAR)的指定范围的下限或上限较近的一方,并返回一个错误。


FC106参数


参数 说明 数据类型 存储区 描述
EN 输入 BOOL I、Q、M、D、L 使能输入端,信号状态为1时激活该功能。
ENO 输出 BOOL I、Q、M、D、L 如果该功能的执行无错误,该使能输出端信号状态为1。
IN 输入 REAL I、Q、M、D、L、P、常数 欲转换为整型值的输入值。
HI_LIM 输入 REAL I、Q、M、D、L、P、常数 以工程单位表示的上限。
LO_LIM 输入 REAL I、Q、M、D、L、P、常数 以工程单位表示的下限。
BIPOLAR 输入 BOOL I、Q、M、D、L 信号状态1表示输入值为双极。信号状态0表示输入值为单极。
OUT 输出 INT I、Q、M、D、L、P 转换结果。
RET_VAL 输出 WORD I、Q、M、D、L、P 如果该指令的执行没有错误,将返回值W#16#0000。对于W#16#0000以外的其它值,参见"错误信息"。
错误信息

如果输入值超出LO_LIM和HI_LIM范围,输出(OUT)将钳位于距其类型(BIPOLAR或UNIPOLAR)的指定范围的下限或上限较近的一方,并返回一个错误。
ENO的信号状态将设置为0,RET_VAL等于W#16#0008。

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签