







根据众神的宝贵的建议, 程序重构如下:
1,analogType类型增加模拟量通道, 只要修改通道号就可以指定通道. ob块中不再需要额外的程序.
2, 再次启用peek_word函数, 但读取Input区, 没有用input外设区, 主要考虑使用在1200的可能, 没做测试.
3, 程序风格的一点改变, 前面的程序用了过多的硬编码, 这次使用常量代替. 数组的起始索引改为1, 主要是和scl循环统一起来. 其实C等高级语言都喜欢从0开始的, 尤其是数组索引还可以是负数, 感觉很奇怪. 感觉这样只能增加程序的随意性.
FOR #index := 1 TO #lenAnalogArray DO , 说明循环 lenAnalogArray 次, 如果是C, 就要写成
for (int index = 0; index < lenAnalogArray; index++) 一般是像这种区间, 一闭一开区间[ );
4, 增加模拟量通道的错误代码, 如果通道为负数, 则屏蔽此通道, 判断通道数必需为偶数. 断线, 超限等报警还没有做出, 感觉要增加很多判断, 但很重要.
感谢Zane,宁超 等大神的建议.