我做了个Modbus TCP测试小程序,在我的windows电脑上编译OK的,上传到VF2之后报错。
我使用的VF2 image 是官方的Industry_application / 2024Q1\Debian\sd\starfive-jh7110-JH7110_VF2_515_v5.11.4-58-SD-minimal-desktop-wayland.img
上面预装了OPENPLC V3 runtime , 我windows电脑的editor 是 最新的
然后我看了一下报错的行数,那个地方都不是我的代码,是自动生成的。。。 是否有版本冲突的问题,谁能知道?
另外我还有个树莓派,传到树莓派上是没事的 。。。
1 Like
modbus_test.zip (65.8 KB)
我试了一下官方的案例,windows编译也没问题,上传VF2也没问题.
所以说不存在版本冲突,是我的代码有问题…
搜了一下,论坛上有大佬说%M 的location 还不能用,所以我删掉了%M的变量定义,还是报错… 
我的猜想可能是我用ST的关系…官方的example都是LD.
哎,C++转过来的,用LD很别扭… 贴上我的Modbus测试程序,可能还需要时间去打磨这个OpenPLC应用吧 
破案了,宝贝们!
是VF2 预装的openplc runtime 版本太旧了…
我为了测试Igh EtherCAT , 重装了一下runtime , 没想到就好了 
所以大家想用工业应用的话,最好重装一下OpenPLC_V3 ,不然只支持梯形图,不支持结构语言.
附上程序跑起来以后的图, 一个小小的modbus TCP测试程序, 手动强制一下click变量, 会改变modbus 寄存器的值.
1 Like