恭喜,你发布的帖子
发布于 2024-01-12 12:35:30
12楼
我使用楼主的Smart_MP_V1.6的mobus通信库,出现了一个问题。
1、两个站,每个站23个读任务,37个写任务。写任务不支持连续多个字,只能单独一个一个的写。
2、在任务数量超过50个的时候,会出现不正常的情况,在50个(包含)以内可以正常运行,模拟的时候,从站2并不在线,只有从站1在线。请问楼主你在做测试的时候出现过这个情况吗
1连续写,理论上是支持的(见读写24个I点;24个Q点动图),多了不好说,要看从站是否支持多写以及是否需要映射多个寄存器,有从变才写机制的时候写区域要两倍于用户数据区域长度;测试时候也可以先取消#从变才写机制(每个写任务也每次都写)以及空闲回跳到标签253机制看看。
2最多试过20个任务没问题,数量再多确实没试过,可能确实有问题,V1.6例程只提供了最简单的思路,不是标准的,只是个非标的个例,缺乏太多的边界检查,数据溢出检查,私有数据不规范检查,指针溢出,以及很多异常容错处理机制,需要使用者注意......多于50你可以看看程序里数据溢出的可能(AC累加器是不是要清零,字节,字,双字的转换时会不会有问题,有没有中断中用到AC可能,多个任务的超时时间,恢复时间是不是要考虑 因为19200下 一圈下来50*20ms==1000ms;)
请填写推广理由:
分享
只看
楼主