发布于 2011-11-03 11:13:24
8楼
谢谢楼上,学习中。另外通道值转到VW10---VW28中之后,还得要循环转成工程值real型,能不能利用scale_I_TO_R 函数一次到位。我学着写了以下,帮看一下可行否?
LD SM0.0
MOVD 0, AC1
MOVD 0, AC2 //对两个累加器清零
LD SM0.0
FOR LW10, 1, Weight_Number:VW100 //使用了局部变量LW10,VW100为循环次数
LD SM0.0
MOVD &Weight_01_AIW0:&AIW0, AC1 //建立一个指针指向模拟量通道AIW0
MOVD &VB0, AC2 //建立一个指针指向VB0
LD SM0.0
MOVW *AC1, LW0 //将通道值放在中间变量LW0
LD SM0.0
CALL Scale_I_to_R:SBR7, LW0, 32000, 0, 5.0, 0.0, LD4 //调用Scale函数将LW0转换为工程值real型
LD SM0.0
MOVD LD4, *AC2 //将工程值赋给VD区
LD SM0.0
+D 2, AC1 //通道偏移地址
+D 4, AC2 //V区偏移地址
NEXT
请帮忙看下程序是否可行?另外问一下只有个CPU该如何测试程序正常呢?
如果你认为是对的事情,就要勇敢地去尝试;如果不去尝试,又怎么会知道结果呢?