quote:以下是引用n次看你的背影在2012-07-23 21:51:54的发言:
哥们:如果需要帮助可以参考一下:
1. 从DB1.DBD0开始的400个实数,每个减22,然后依次存放到从DB2.DBD100里,参考代码如下:
LAR1 P#0.0 //定义起始指针P#0.0,将其装载到地址寄存器AR1里面
L 400 //将整数400装载到累加器1里面(定义LOOP循环次数)
NEXT: T LW 20 //将累加器1当前的内容写到LW20(NEXT为LOOP循环标签)
OPN DB 1 //打开共享数据块DB1,DB寄存器1指向DB1
L DBD [AR1,P#0.0] //将DBD[AR1+0]内容装载到累加器1里面
L 2.200000e+001 //将DBD[AR1+0]的内容移到累加器2,浮点数22.0装载到累加器1里面
-R //将累加器2的内容减去累加器1的内容,结果保存在累加器1
OPN DB 2 //打开共享数据块DB2,DB寄存器1指向DB2
T DBD [AR1,P#100.0] //将当前累加器1的内容写到DBD[AR1+100]里面
+AR1 P#4.0 //地址寄存器AR1里面的内容加4个字节,并存储在地址寄存器AR1里面
L LW 20 //将LW20里面的内容装载到累加器1里面
LOOP NEXT //将LW20里面的内容减1保存到累加器1,并跳转到NEXT标签
//当LW20里面的内容为0,离开LOOP循环,程序往下执行
希望能对你有帮助,哥们,建议研究一下SIEMENS官方S7-300/400的间接寻址资料,里面讲的很详细。
2、WinCC画面里面对象的显示与不显示(隐藏)可以这样处理:分别打开对象1(图1)、对象2(图2)属性组态窗口,在Miscellaneous\Display用动态对话框结合你的这个变量组态一下就好了,这样可能最简单。
谢谢!