上一篇:《台达PLC开发笔记(一):台达PLC连接介绍,分别使用485、网口与台达PLC建立连接》
下一篇:敬请期待…
前言
前面使用485和网口与台达成功建立通讯,但是485是使用用的ASICC模式,多数情况下是使用RTU模式提升通讯效率。
官网下载地址:https://downloadcenter.delta-china.com.cn/DownloadCenter?v=1&q=ISP&sort_expr=cdate&sort_dir=DESC
配置需要通过网线,使用HWCONFIG软件进行配置:
(先安装前面的commgr通讯管理软件)
下载后,如下图:
安装后,如下图:
(端口默认是ASCII方式,RTU方式会返回一个固定长度固定的数据,应该是错误检测)
使用ISPSoft软件配置台达PLC的485由ASCII转为RTU
(若没有之前使用网线连接,会出现提示,之前是需要先网线连接到PLC的)
正在下载,提示处理中,如下图:
下载超时,是需要使用网口连接的。
(为hex了,不是acsii了,成功)
Qt的modbus全方面测试读取M、D、Y、X对应的寄存器附近几个值都为0。
直接使用modbus rtu测试
是没有问题的,但是Qt返回值依然是:
其他部分在此尝试过了,总共四种类型,相关的M、D、X、Y变量都设置过类似的,全部读取成功,但是值都为0与实际不符,好像架空了一样。
测试单个线圈,使用libmodbus可以读出来
测试单个线圈,使用QModbus还是无法读出
测试读取寄存器,使用libmodbus可以读出
测试读取寄存器,使用QModbus可以读出
Qt有些东西确实鸡肋,没必要死磕。
网友评论