请教大家一下:我现在通过CPU224CN及EM231(4AI)扩展,用SMB34定时中断(100ms)进行模拟量采集。我想建立先一个指针(AC1),将采集到的模拟量依次存入一段地址中,然后当绘制曲线时,再建立一个指针(AC2)依次读出存入的模拟量值。当我采集模拟量时,用的是“scale”库中的S_ITR模块,但是该模块输出都是实数VD。而建立指针时是不是也应该用MOV_R传送模块,而不能用MOV_DW 模块?可是用MOV_R建立指针,"&VB"输入数据类型却不正确,这时该怎么处理?请大家帮助一下,不胜感激!图1是存模拟量数据;图2是读模拟量数据
问题补充:
我考虑过用表格指令,但是有2个问题不好解决!
1.“AD_T_TBL”指令的TBL端操作数只能是VW整数字形,但是我现在需要存储的是实数字型(一般应该是VD吧?)。
2.表格最多可包含100个条目,加入我采集的模拟量数据大于100个,这个应该怎么处理?谢谢大家的帮助啊!不胜感激!
图片说明:
最佳答案
1、我建议采用表格指令,方便简单!
2、你的AC1加1指针指向下一个地址,不是(×AC1)加1而是(AC1)加1
3、AC1加1 指向的是VD2001而不是VD2004了,AC1应该加4
4、图2的程序永远也只是将VD2000的数据给到给VD3000
提问者对于答案的评价:
谢谢大家的无私帮助!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc252385.html