若该文为原创文章,转载请注明原文出处
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/118480597

长期继续带来更多我的项目与技术分享,征询请加QQ:21497936、微信:yangsir198808

红瘦子(红模拟)的博文大全:开发技术汇合(蕴含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬联合等等)继续更新中…(点击传送门)

其余(编程相干)

上一篇:《台达PLC开发笔记(一):台达PLC连贯介绍,别离应用485、网口与台达PLC建设连贯》
下一篇:敬请期待...


前言

  后面应用485和网口与台达胜利建设通信,然而485是应用用的ASICC模式,少数状况下是应用RTU模式晋升通信效率。


下载安装台达ISPSoft软件

  官网下载地址:https://downloadcenter.delta-china.com.cn/DownloadCenter?v=1&q=ISP&sort_expr=cdate&sort_dir=DESC
  配置须要通过网线,应用HWCONFIG软件进行配置:
  
  (先装置后面的commgr通信管理软件)
  下载后,如下图:
  
  装置后,如下图:
  


配置之前测试

应用485测试ASCII通信形式

  

应用485测试RTU通信形式

  
  (端口默认是ASCII形式,RTU形式会返回一个固定长度固定的数据,应该是谬误检测)

应用ISPSoft软件配置台达PLC的485由ASCII转为RTU

步骤一:关上软件

  

步骤二:创立工程

  
  

步骤三:关上网络配置HWCONFIG

  
  

步骤四:配置COM1口等参数(ASCII改为RTU)

  
  (若没有之前应用网线连贯,会呈现提醒,之前是须要先网线连贯到PLC的)
  
  正在下载,提醒解决中,如下图:
  
  下载超时,是须要应用网口连贯的。

步骤五:应用网线形式连贯PLC

  
  
  

步骤六:再次下载新的配置(原先为485当初为网线IP)

  
  
  
  

步骤七:下载胜利,应用485RTU进行测试

  (为hex了,不是acsii了,胜利)
  


入坑

入坑一:应用Qt的modbus485读取失败

问题

  Qt的modbus全方面测试读取M、D、Y、X对应的寄存器左近几个值都为0。

解决

  间接应用modbus rtu测试

  是没有问题的,然而Qt返回值仍然是:

  其余局部在此尝试过了,总共四种类型,相干的M、D、X、Y变量都设置过相似的,全副读取胜利,然而值都为0与理论不符,如同架空了一样。

论证(2021年04月25日补充)

  测试单个线圈,应用libmodbus能够读出来
  
  测试单个线圈,应用QModbus还是无奈读出
  
  测试读取寄存器,应用libmodbus能够读出
  
  测试读取寄存器,应用QModbus能够读出
  

### 论断
  Qt有些货色的确鸡肋,没必要死磕。


上一篇:《台达PLC开发笔记(一):台达PLC连贯介绍,别离应用485、网口与台达PLC建设连贯》
下一篇:敬请期待...