[AB] [转帖]三菱模拟数字转换模块A1S64AD的编程方法

[复制链接]
查看6371 | 回复43 | 2006-9-3 22:48:00 | 显示全部楼层 |阅读模式
[replyview]

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 A/D转换结果(地址10~13)

地址10~13分别是通道1~4的A/D转换结果值,其结果为带符号的16位字值,最高位b15为符号位(1为负0为正)。其格式如下图所示:

500)this.width=500>

2.6写数据出错代码(地址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:读出数据的个数。

3.2.2 写入数据(FROM,FROMP,DFROM,DFROMP)

n1:同读出指令

n2:同读出指令

S:要写入的数据

n3:写入数据的个数

3.3 编程实例

这是一个以1/8000的分辨率,读通道1至A/D变换结果的例子.通道1采用逐次逼近法进行A/D采样,通道2/3采用50次的平均处理,通道3采用1000ms的平均处理.当错误发生时,以BCD码显示错误代码.

3.3.1 系统构成

A1S64AD插于号槽,其输入/出分别为:X00-X1F,Y00-Y1F.

3.3.2 初始设定内容

1)A/D变换允许通道------1,2,3通道

2)按次数平均处理-------2通道,次数为50次

3)按时间平均处理-------3通道,时间为1000ms

4)逐次逼近转换-------1通道

5)分辨率-------"2",1/8000

3.3.3 用户使用元件

1)写数据出错复位标志------X20

2)读A/D数字结果信号------X21

3)数据出错外部BCD码输出------Y50至Y5B

4)出错代码存储寄存器-------D0

5)数据出错外部显示-------Y40

6)A/D变换结束标志------M0至M2

7)A/D数据结果存储寄存器------D10至D12

3.3.4 程序


[/replyview]
shengyupp | 2006-9-4 09:23:00 | 显示全部楼层
看看
xh198657 | 2006-9-4 17:31:00 | 显示全部楼层

先顶一下拉~

xh198657 | 2006-9-4 17:34:00 | 显示全部楼层

虽然看了

但是也看的不怎么懂啊~~~不知道其具体的意思~

gdrong | 2006-9-10 15:09:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
chinasxyhy | 2006-9-16 12:08:00 | 显示全部楼层
??
bsmtlxw | 2006-9-16 16:29:00 | 显示全部楼层
///
figo19821127 | 2006-10-6 13:22:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
collin | 2006-10-6 22:23:00 | 显示全部楼层
先顶一下!!!!!!!!!!!!
烦刹哉正反 | 2006-10-7 11:56:00 | 显示全部楼层
[em06]
shenzhenplc | 2007-12-14 00:48:00 | 显示全部楼层

很不错,顶!!!!

ssgz007 | 2007-12-22 13:20:00 | 显示全部楼层

不懂呢,学习中

gdzqhxm | 2007-12-25 20:13:00 | 显示全部楼层

顶很详尽不错!

nokia6100sh | 2008-2-21 09:28:00 | 显示全部楼层
到底是啥东东
xingtaig | 2008-2-26 21:17:00 | 显示全部楼层
想学习
cxtic | 2008-2-28 08:48:00 | 显示全部楼层
进来学习下
lv9606 | 2008-2-28 15:29:00 | 显示全部楼层
[em02][em07][em04]
wanghuozhi | 2008-3-12 17:01:00 | 显示全部楼层

是不是真的哦

lichun139 | 2008-3-12 18:58:00 | 显示全部楼层
[em01][em02][em02]
yd1988yu | 2008-3-25 15:13:00 | 显示全部楼层
ding
vaker | 2008-3-29 11:58:00 | 显示全部楼层
[em05]
chenguoron | 2008-3-29 21:31:00 | 显示全部楼层
是也看的不怎么懂啊~~~不知道其具体的
wudongjin | 2008-3-30 10:48:00 | 显示全部楼层
谢谢楼主的提供[em01]
chyongping | 2008-4-2 23:57:00 | 显示全部楼层
顶一下楼主,应该不错的东西!
dalin_shu | 2008-4-6 09:29:00 | 显示全部楼层

看了才好交流

anfax520 | 2008-4-13 10:37:00 | 显示全部楼层
jj
gordongyl | 2008-4-25 21:14:00 | 显示全部楼层
看看,学学
boney898 | 2008-4-26 16:31:00 | 显示全部楼层
支持一下。[em01]
l158abc | 2008-4-28 09:57:00 | 显示全部楼层
bulete | 2008-4-29 21:09:00 | 显示全部楼层
也许会用的着
b1b2b3 | 2009-7-15 00:57:00 | 显示全部楼层

先顶一下拉~

谢谢了
yueryuu | 2009-7-25 16:43:00 | 显示全部楼层
不知道怎么样??
wangminghao | 2009-8-4 11:43:00 | 显示全部楼层

??

valley | 2009-8-10 12:18:00 | 显示全部楼层
学习一下
valley | 2009-8-10 12:24:00 | 显示全部楼层
只可惜只显示了一大部分,有一部分看不到呀
huangyq3507 | 2009-8-13 01:27:00 | 显示全部楼层

[em01]

zfengyun | 2009-8-15 02:42:00 | 显示全部楼层

先顶一下拉~

xiongweib | 2009-8-15 09:32:00 | 显示全部楼层
值得看看,谢谢了!!!
hushuai454 | 2009-8-25 16:40:00 | 显示全部楼层
学习中,看看~!
fengyexuan | 2009-9-24 00:54:00 | 显示全部楼层

????????????

能用做称重传感器的接收吗
liuguanghuai | 2009-10-30 19:27:00 | 显示全部楼层
kan kan
xldy000 | 2009-11-11 15:11:00 | 显示全部楼层
din顶一下
zengwuhuiapi | 2009-11-29 16:10:00 | 显示全部楼层
先谢谢了!正学习三菱编程
星空一点roy | 2013-3-12 22:23:42 | 显示全部楼层
谢谢楼主分享!
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则