工控之家

 找回密码
加入工控之家

新手请教 CP1E 模拟量信号怎么编程

  [复制链接]
发表于 2012-7-12 08:53:15 | 显示全部楼层 |阅读模式
请教一下 4-20mA的信号 怎样转换成0-20之间数字?CP1E 系列的 先谢了各位
发表于 2012-7-12 11:29:36 | 显示全部楼层
在本贴结束的最后,附上整个例程的程序:
CP1E.rar  下载次数:398  

Good Luck~
回复 支持 3 反对 0

使用道具 举报

发表于 2012-7-12 09:32:20 | 显示全部楼层
其实很简单的,以下说明假设使用的机型为CP1E-N40和模拟量输入模块CP1W-AD041。

CP1W-AD041是4通道输入的AI模块,其占用4个输入字和用于设定模块参数的2个输出字,由于使用的是40点的主机,因此主机占用的输入与输出地址分别是CIO0~CIO1,CIO100.0~CIO100.7和CIO101.0~CIO101.7。
所以分配给AD041的输入通道地址为,CIO2~5,设定字地址为CIO102,103.

下面是设定字的说明:



由说明中可以看到,其最高位必须设置为1,低8位分别用于设定2个通道。
因为我们使用的是第一通道,不需要平均值,通道需要设定为启用,因此2进制就是1010.其余通道均设置成不启用。因此设置为0000.

因此设定字就是#800A,与#8000.
发表于 2012-7-12 10:11:25 | 显示全部楼层
由于在模拟量模块必须先设定再使用,因此,在程序中我们需要第一次循环标志用于设定设定字。



由于模块设定字写入需要0.1~0.2秒的时间,因此我们使用一个定时器用于延时。



此时通过直接读取模拟量输入通道我们就可以读取到模拟值。
发表于 2012-7-12 10:50:30 | 显示全部楼层
模拟量的读取值在0~6000之间,此值代表4~20mA的输入值,接下来,我们需要通过线性化整定指令将其整定到楼主要求的0~20之间。

在欧姆龙中,线性化指令分为SCL,SCL2,SCL3,其实质是一样的,只是使用的直线方程不同而已,对于一条直线来说,其直线方程可以分为两点式,截距式等等,这里我们就以SCL来描述,其使用的是两点式。

根据手册上对于SCL指令的描述,其输入值根据参数定义的范围进行整定,然后将整定后的值输出。
参数:
第一个地址:整定后的下限
第二个地址:整定前的下限
第三个地址:整定后的上限
第四个地址:整定前的上限
这里:整定后的上下限分别是20,0,而整定前的上下限分别是6000,0.
所以,在使用SCL指令前,首先要设定参数,我们在第一次循环中就做了参数的初始化,参数的初始化不需要必须在第一次循环中设定,你可以在任何SCL指令执行前予以设定。



最后,我们调用SCL指令,完成输入数据的线性整定。

发表于 2012-7-12 12:08:41 | 显示全部楼层
  明白了 太感谢兄弟了[ 此帖被381715159在2012-02-23 15:29重新编辑 ]
发表于 2012-7-12 12:47:46 | 显示全部楼层
太详细了
发表于 2012-7-12 13:26:51 | 显示全部楼层
谢谢!学习了
发表于 2012-7-12 14:05:56 | 显示全部楼层
C兄的高质量回帖很有学习价值,膜拜啊!
发表于 2012-7-12 14:45:01 | 显示全部楼层
引用

引用第8楼铭杰工控于2012-02-24 13:12发表的  :
C兄的高质量回帖很有学习价值,膜拜啊!
[/quote]
向大师致敬
您需要登录后才可以回帖 登录 | 加入工控之家

本版积分规则

QQ|手机版|小黑屋|Archiver|工控之家 ( 鲁ICP备12015736号-1 )

GMT+8, 2024-4-20 01:21 , Processed in 0.069025 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表