485转modbustcp后与plc通讯,程序怎么写

485转modbustcp后与plc通讯,程序怎么写,第1张

西门子plc与modbus设备进485通信详解(modbus多机轮询)

huasum >《西门子》

阅499转82022.06.26 江西关注

接触西门子s7-200一段时间后,接手一个通信项目,需要在触摸屏上显示三台pid温度表的温度。

一开始打算触摸屏多余的串口转485直接连接温度表,后来由于一直通信不上,怀疑触摸屏的问题,于是打算用plc来读取pid表,走的是modbus协议,即port1接三台pid表,port0用来连触摸屏以及下载程序。好了,直接上代陵搭巧码。

1、定义port1口的modbus属性,注意,定义完后,如果要再用port1口下载程序的话,必须先把plc设成stop(专家请无视)。

这里的奇偶校验是个坑,要找到合适的,否则error的值会一直是为3,没有返回值

2、这里是关键了,轮询三台485连接的pid温度表,这里利用done来实现三台pid表的msg发送工作,这样也能保证返回数据互不干扰。

打开APP查看高清大图

打开APP查看高清大图

3、同一时间只能有一个msg在工作,所以一定要让这几个m10.x分别释放

打开APP查看高清大图

4、解析返回的数据,这部分就比较简单了,到处都有范例

打开APP查看高尺键清大图

经过一周的研究,总算把三台仪表的数据稳定的传出来,但是还有个疑问,modbus返回的数据里,为什么找不到地址码信息,只有返回41001的值,如果有地址码,就更好了。

下周要继续研究分别写入三个pid表参数的功能,成功了再来分享。

最后,感谢网络上那些开源的资料,虽然弯也没有少绕,

,同时鄙视一下那些要注册才能看资料的“专业”网站,以及要各种xx币枝搭才能**的资料。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。

兴达三菱转以太网模块 之 三菱fx系列plc如何实现Modbus TCP服务器

硬缓颤件:三菱fx 一个

兴达易控三菱转以太网 CHNet-FX 一台

CHNet-FX模块太网口它支持8个连接,那么也就是说,当我们plc做ModbusTCP服务器的时候可以有同时8个Modbus TCP客户端。同时和他进行通讯,

我们所需要的一些软件这个以太网调试助手,用来调试这个调试这个plc这个服务器,调试程序,然后我们还会用到这个Modbus poll可以来模拟,ModbusTCP服务器,ModbusRTU主站,以及Modbus ASC主站,

接下来我们继续说一下这个三菱FX5U他实现Modbus TCP这个组态过程,下面就是我们做好的一个这个工程

要实现他这个Modbus TCP他这个过程呢,首先呢第一步用FX5U PLC 与CHNet-FX连接

新建 FX3U/FX3UC 工程,双击导航栏中的连接目标:Connection。

 跳出的选项板后,在计算机侧选择双击“EthernetBoard”选镇氏项,随后提醒中点击“是”;在可编程控制器侧双击“PLC Module”;

在随后的跳出的设置中,点击“搜索网络上的 FXCPU(S)”后,会搜索到 CHNet-FX所连接的 FX3UC。

按图中标号依次选择后,最后点击确认;

 在上述中选择好 IP 地址后,点击“通信测试”,即可提示与 FX3UCCPU 连接

5.随后即可“在线”选项栏中,进行 PLC 的读取、写入和监视等 *** 作。

Modbus分配地址

PLC配置

口号就是502端口,作为服务器需要设置的参数,

这个逻辑程序D0、D1、D2、D3分别付了初值是K0、K1、K2、K3在初始化的时候我们对D4、D5、D6、D7进行个清零 *** 作设置的这个参数,通讯手段默认ModbusTCP,可编程IP地址就是前面设置的,192.168.1.161端

使用了一个特殊标志位,每一分钟我们会对D0、D1、D2、D3作一个加一 *** 作,看看能不能做一扰旅败个加一 *** 作,然后会实时的判断,当D0、D1、D2、D3各自的值大于6000的时候分别各自清零,也就说d0d1d2d3的值他会每一分钟都会发生改变,并且d0d1d23d3的纸最终它是会在零到6000之间发生一个变化,(包括0和6000)

这么做的目的是为了客户端去读取PLC的寄存器的时候,D0、D1、D2、D3是变化的方便我们观察变化。这就是一小段逻辑程序

进入程序监视

此时D0、D1、D2、D3分别是0、1、2、3;过1分钟就会进行一下+1 *** 作下面就可以测PLC程序了

先用以太网调试助手进行测试

适配器是PLC通过CHNet-FX网线连接到路由器,电脑通过无线网卡连接到路由器

协议模式:客户端 Client

目标IP:CHNet-FX用户自定义IP地址

西门子1500系列PLC支持肢碧Modbus TCP通信协议,如果您需要使用Modbus TCP通信功能,需要在PLC编程中进行相应的设置。在使用Modbus TCP通信时,只需要在PLC一侧腊老进行编程即可。

具体 *** 作步骤如下:

1. 在TIA Portal软件中,打开需要进行Modbus TCP通信的PLC项目。

2. 在项目中添加Modbus TCP通信模块,例如CP343-1或CP443-1。

3. 在PLC程序中添加Modbus TCP通信相关的函数块,例如FC5、FC6等。

4. 配置Modbus TCP通信模块的IP地址、端口号等参数,确保与通信另一侧的设备参数一致。

5. 在PLC程序中编写Modbus TCP通信相关的程序,例如读取或写入寄存器等 *** 作。

6. 在通信另一侧的设备中,配置相应的Modbus TCP通信参数,例如IP地址、端口号等。

7. 在通信另一侧的设备中,编写相应的Modbus TCP通信程序,例如读取或写入寄存器等 *** 作。

需要注意的是,Modbus TCP通信协议是一种开放式协议,可以在不同厂家的设备之间进行通信。但是,不同厂家的设备在实现Modbus TCP通信时,可能存在一些差异,需要根据具体情况进行调历局举试和优化。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12439367.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存