MODBUS数据仿真,使用功能06(preset registers)出现下标越界提示
答案:1 悬赏:20
解决时间 2021-02-11 17:04
- 提问者网友:一人心
- 2021-02-11 06:15
MODBUS数据仿真,使用功能06(preset registers)出现下标越界提示
最佳答案
- 二级知识专家网友:时光不老我们不分离
- 2021-02-11 07:29
从这句判断:If iRefAddress > gcMAXPRESETREG - 72 Or iRefAddress < 0 Then
可知地址范围(iRefAddress)不能小于0,也不能大于(gcMAXPRESETREG - 72)这个值,
而gcMAXPRESETREG应该是存放范围最大值的常量,这样:
若 gcMAXPRESETREG <=72,则 gcMAXPRESETREG - 72 <=0,肯定报下标越界;
所以,需要检查 gcMAXPRESETREG 是否大于72,而且检查此时 iRefAddress 是否小于(gcMAXPRESETREG - 72)。可以把 gcMAXPRESETREG 设置为144,这样你预置寄存器的时候范围不大于72,测试一下是不会报错的。
可知地址范围(iRefAddress)不能小于0,也不能大于(gcMAXPRESETREG - 72)这个值,
而gcMAXPRESETREG应该是存放范围最大值的常量,这样:
若 gcMAXPRESETREG <=72,则 gcMAXPRESETREG - 72 <=0,肯定报下标越界;
所以,需要检查 gcMAXPRESETREG 是否大于72,而且检查此时 iRefAddress 是否小于(gcMAXPRESETREG - 72)。可以把 gcMAXPRESETREG 设置为144,这样你预置寄存器的时候范围不大于72,测试一下是不会报错的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯