三菱模拟数字转换模块A1S64AD的编程方法 点击:182 | 回复:1



江湖混混-余辉

    
  • [版主]
  • 精华:53帖
  • 求助:44帖
  • 帖子:3351帖 | 28451回
  • 年度积分:603
  • 历史总积分:131640
  • 注册:2006年4月25日
发表于:2013-05-25 20:48:07
楼主

1、A1S64AD与CPU进行信号交换时,共使用32点输入和32点输出,如下表所示为A1S64AD位于0号槽位置时,其使用的输入输出信号地址分配(X0~X1F,Y0~Y1F),在其它插槽其输入输出地址可做相应的改变,如位于1#插槽时,其输入输出信号就变成了X20~X3F,Y20~Y3F。这些输入输出信号只是做为A1S64AD模块和CPU交换信息用,其在物理并没有实际的输入输出点(注:元件X表示A1S64AD向CPU的输入信号,元件Y表示CPU向A1S64AD的输出信号)。 

表1:A1S64AD输入/输出信号一览表 

注意:在程序中可根据需要在处理有关A1S64AD有关指令时,可象普通接点一样使用X0~X1F;而Y12仅作为A1S64AD出错后的复位信号(置若罔闻后,A1S64AD复位),不能用作他用,更不能用来作为输出来控制外部元器件。Y0~Y11,Y13~Y1F这些未用的信号则在程序中不能使用,如在程序中被ON/OFF,则可能会造成A1S64AD的不正常工作。 

2、A1S64AD在CPU的内在中专门开辟了一块数据区作为与CPU进行数据交换的存储器。其地址分配如2所示(每个地址对应一个子6位的寄存器); 

2.2 A/D变换允许/禁止设定(地址0) 

设定A1S64AD四个通道(CH1~CH4)A/D变换允许还是禁止(1:允许,0:禁止)。通道不使用时,须设成禁止状态,可以缩短采样周期的时间。 

设定方法: 

2.3 转换方法的敲定(地址1) 

A1S64AD的A/D转换方法有两种:逐次逼近法和平均值法。 

2.3.1 逐次逼近法 

A1S64AD把结果寄存器逐位置1,每次把数字结果又经过D/A转换后得到的模拟量和输入的模拟量相比较,如果得到的模拟量值大于输入模拟量值,则该位清0,否则,该位置1。每个位依次如此比较,最后得到实际的A/D转换结果值。 

2.3.2 平均值法 

A1S64AD按设定的次数或时间对模拟信号进行A/D转换,并将最大值和最小值所除的和值加以平均后,作为A/D变换的结果值。 

2.3.3 设定方法 

说明:1、使用平均值法时,必须设定是时间平均还是次数平均(在地址1设定),并在地址2~5设定好用来做平均的时间或次数; 

2、使用逐次逼近法时,平均法的设定(地址1的b0~b3位,地址2~5)均无效。 

2.4 平均时间/次数的设定(地址2~5) 

当在地址1中指定了平均法采样后,必须在地址2~5的相应通道内设定进行平均的次数或时间。可设定的范围如下: 

按次数的平均处理:1~500次 

按时间的平均处理:80~1000ms 

2.5 写数据出错代码(地址18) 

地址18是当CPU写入数据出错产生的出错代码,如下表所示: 

表3:出错代码一览表 

说明:(1)同时产生几个错误时,只保存最先发生的错误代码; 

(2)出错代码复位的方法是将出错复位信号Y12置1; 

(3)地址18写入营,则出错复位。 

2.7 A/D变换结束标志(地址19) 

数据格式如下: 

2.8 A/D变换率设定(地址20) 

A1S64AD有三种分辨率:1/4000,1/8000,1/12000。其设定及输出值范围如表4所示: 

表4:分辨率的设定及输出值 

3、编程 

3.1 编程步骤如下图所示: 

3.2 基本指令 

3.2.1 读出指令(从A1S64AD数据缓冲区中读出数据)FROM,FROMP,DFROM,DFROMP 

格式: 

n1:A1S64AD第一个输入/输出号码的高2位(用16进制3位数来表示)。如当A1S64AD分配输入/输出是X130~X14F,Y130~Y14F时,n1就为H13; 

n2:从A1S64AD数据缓冲区读出数据的地址,如读出通道1的A/D转换结果,n2=K10(10为CH1的A/D转换结果在数据区中的地址); 

D:存放读出数据的第一寄存器; 

n3:读出数据的个数。



楼主最近还看过



王者-曹建军

  • 精华:2帖
  • 求助:0帖
  • 帖子:818帖 | 2407回
  • 年度积分:0
  • 历史总积分:16025
  • 注册:2011年12月25日
发表于:2013-05-25 21:08:53
1楼

哇!学习了!谢谢小灰灰          


热门招聘
相关主题

官方公众号

智造工程师