你那Q0.0是不对的,那是位输出。应该是PQW***,***表示你组态的模拟输出地址。为了编下面程序,我给你定义PQW272
L 27648 // 模拟量上限
L 5 // 载入五个档
/I // 整数相除
T MW20 // 每个档对应模拟值
A I0.0 //检查1档位状态
JNB M001 //位为0跳转到标签M001
L0 //如果为一载入0
T MW22 // 因为一档为零没有必要去乘了,直接传送去
M001: A I0.1
JNB M002 //检查2档状态
L 2
L MW20 //乘以一个档对应模拟值
*I
T MW22 //传送到MW22
M002: A I0.2 //检查3档状态
JNB M003 //RLO为0跳转
L 3
L MW20
*I
T MW22
M003 A I0.3
JNB M004
L 4
L MW20
*I
T MW22
M004: A I0.4
JNB M005
L 27648 //五档对应最大值,所有直接传送27648
T MW22
M005:L MW22 //载入MW22
T PQW272 //输出
MW20,MW22随便写的一个M区,根据实际情况选择存储区
开始没有看清输出。输出写反了的哈,五档对应的10V,1档对应0V.。你可以改一下。
[ 此帖被djljcl在2013-06-13 00:19重新编辑 ]