下载此文档

欧姆龙可编程逻辑控制器p lc知识.doc


文档分类:通信/电子 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
SCL2指令应用案例
条件:变送器的输出信号为0-10V,对应温度为-100--200摄氏度;CP1H的模拟量输入量程设置为0-10V,分辨率选择6000
目的:使用SCL2指令将模拟量转换得到的数据0-6000(BIN)对应缩放到-100--200(BCD)摄氏度显示输出。
程序如下:
SCL2控制字解释:
200:CP1H的模拟量输入通道1
D100:偏移量(带符号BIN)详见下图
D101:ΔX(带符号BIN)详见下图
D102:ΔY(BCD)详见下图
D200:转换结果通道
结果:程序执行后就可以实现0-6000(BIN)转换到-100--200(BCD)摄氏度显示了。
注:因为BCD数是以十六进制来表示十进制数据的,因此对应的温度值应该用16进制方式去监视。例如:当200CH中的数据是&4000(),那么用十六进制监控数据D200应该显示#100。
&符号表示十进制数;#表示十六进制数。
SCL指令应用案例
条件:变送器的输出信号为0-10V,对应压力为0-400MPa;CP1H的模拟量输入量程设置为0-10V,分辨率选择6000。
目的:使用SCL指令将模拟量转换得到的数据0-6000(BIN)对应缩放到0-400MPa(BCD)显示输出。
程序如下:
结果:程序执行后就可以实现0-6000(BIN)转换到0-400(BCD)的压力值了。
注:因为BCD数是以十六进制来表示十进制数据的,因此对应的压力值应该用16进制方式去监视。例如:当200CH中的数据是&3000(即5V电压输入),那么用十六进制监控数据D200应该显示#200。
&符号表示十进制数;#表示十六进制数。
使用CPM1A-AD041的模块采集模拟量4-20ma的信号,该模拟量信号取自一位移传感器信号,代表一个0-100mm的距离,要怎么才能把输入通道里的数据转换成所对应的这个距离值呢?
可以使用SCL指令做此类的定标转换,该指令的作用是把一个16进制数据线性转换成一个BCD码的数据,这条指令有3个操作数见图1,S为源字,P1是参数首字,R是结果字,从P1到P1+3要设置4个值,P1是AY,P1+1是AX,P1+2是BY,P1+3是BX(见图2),在此例中因为输入的数据范围是0-1770 HEX,所以P1+1和P1+3分别是0和1770,而定标结果是0-100,所以P1和P1+,例如AD041的输入通道是002,把DM0作为参数首字,D10作为结果字存放0-100的距离值。
SCL  2   DM0  DM10             
在执行SCL指令前先用MOV指令对DM0-DM3里分别赋值0,0,100,1770。之后SCL指令就能把输入的模拟量值定标成0-100的距离值了。
CPM1A-MAD02-CH使用了4路输入,但是它的输入数据是每两路放一个通道的,这样就无法进行监视或处理单独一路的输入数据了,有什么办法可以把两路数据分离开吗?
可以用MOVD指令,分别把两路数据传送到一个单独的通道。该指令有3个操作数,
 
操作数排列如图1,S是源字,也就是用模拟量输入的通道,DI是指定数位号,每个数字指定方式如上图2,也就是指定从源字中哪一个数字开始传送(一个

欧姆龙可编程逻辑控制器p lc知识 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人企业资源
  • 文件大小0 KB
  • 时间2012-02-04