作者 | 主题 |
---|---|
萌新一号 游侠 经验值: 389 发帖数: 55 精华帖: 0 |
楼主 2020-06-03 19:39:17
主题:用间接寻址做Modbus RTU通讯,遇见的一些问题 最近在玩V90,想试试200smart和V90通讯,做了一次正常的轮询,就是一路下来改地址轮询的那种,想试试能不能用简便的方法,就试了试做间接寻址,具体程序如下 具体程序就是这样,利用间接寻址改变地址和存储位置 但是运行后发现写数据一直报错102,找了半天以为是程序问题,结果就是变量的问题,只要我的addr位上是变量,写数据块就报错误码102,改成常数40100就正常运行。当我还在头疼这件事的时候,有出现了无法读出和写入数据的问题,用间接寻址无法读与存数据。 |
shine 至圣 经验值: 19950 发帖数: 8944 精华帖: 39 |
6楼 2020-06-04 15:11:15
主题:回复:用间接寻址做Modbus RTU通讯,遇见的一些问题 库内存分配的地址?有没有别的地方修改了VD500? 这是你的测试程序吧?还是把整个文件传上来看一下 |
shine 至圣 经验值: 19950 发帖数: 8944 精华帖: 39 |
8楼 2020-06-05 07:53:24
主题:回复:用间接寻址做Modbus RTU通讯,遇见的一些问题 如果是我,我是这么做的: MSG块用SM0.0调用,块的参数全部使用变量而不是立即数,需要读/写另外一个地址的时候,先把相应的数值传递到变量中,再给first一个上升沿,整个程序中只有一个msg 200中的子程序,是不具备给每个不同调用分别存储过程数据的能力的,不像300/1200/1500的FB有静态变量。分时多次调用,有点像这么一个场景:长得很像的两个人A1和A2,同一时间只有一个人是清醒的,另外一个必须休眠,在其他人看来他们就是同一个人A,即使老婆孩子也不能分辨,如果A1和老婆吵架了,然后A1去休眠,A2清醒了,但是他不知道A1曾经和老婆吵架,但老婆还在和他冷战,他就会觉得莫名其妙了 |