线下实训
HOME
线下实训
正文内容
rtu和plc编程 PLC编程:三菱PLC与三菱变频器的2个通讯经典案例
发布时间 : 2025-01-19
作者 : 小编
访问数量 : 23
扫码分享至微信

PLC编程:三菱PLC与三菱变频器的2个通讯经典案例

三菱FX3U-485ADP-MB与三菱变频器MODBUS通讯案例

一、系统配置

1) FX3U PLC+FX3U-485ADP-MB( 中间需要加BD板转换)

2) 三菱变频器(700系列的都支持MODBUS通讯功能)

二、接线方法

三、变频器参数设置

Pr340: 1

Pr117: 1(站号)

Pr118: 192(波特率)

Pr119: 1(8.1)

Pr120: 2(偶校验)

Pr121: 9999(重试次数)

Pr122: 9999(通讯检查终止)

Pr123: 9999(通讯数据设定)

Pr549: 1 (RTU)

四、PLC程序

三菱FX2N+FX2N-485-BD与三菱变频器F700系列通讯案例

Modbus是PLC与主机之间的通讯而发明的串行通讯协议。其物理层采用RS232、485等异步串行标准。由于其开放性而被大量的PLC及RTU厂家采用。Modbus通讯方式采用主从方式的查询-相应机制,只有主站发出查询时,从站才能给出响应,从站不能主动发送数据。主站可以向某一个从站发出查询,也可以向所有从站广播信息。从站只响应单独发给它的查询,而不响应广播消息。MODBUS通讯协议有两种传送方式:RTU方式和ASCII方式。三菱700系列变频器能够从RS-485端子使用ModbusRTU通讯协议,进行通讯运行和参数设定。

对象:

1. 三菱PLC:FX2N+FX2N-485-BD

2. 三菱变频器:F700系列,A700系列。

两者之间通过网线连接,具体参照下图。

FX2N-485-BD与n台变频器的连接图

1.三菱变频器的设置

PLC与变频器之间进行通讯时,通讯规格必须在变频器中进行设定,每次参数初始化设定后,需复位变频器或通断变频器电源。

参数号 名称 设定值 说明

Pr331 通讯站号 1 设定变频器站号为1

Pr332 通讯速度 96 设定通讯速度为9600bps

Pr334 奇偶校验停止位长 2 偶校验,停止位长1位

Pr539 通讯校验时间 9999 不进行通讯校验

Pr549 协议选择 1 ModbusRTU协议

Pr551 PU模式操作权选择 2 PU运行模式操作权作为PU接口

进行ModbusRTU协议通讯时,Pr551必须设置为2,Pr340设置为除0以外的值,Pr79设置为0或2或6。通过RS-485端子进行ModbusRTU协议通讯时,必须在NET网络模式下运行。

2.三菱PLC的设置

对通讯格式D8120进行设置

D8120设置值为0C87,即数据长度为8位,偶校验停止位1位,波特率9600pbs,无标题符和终结符。

修改D8120设置后,确保通断PLC电源一次。

3.通讯程序

采用ModbusRTU协议与变频器通讯的部分PLC程序如下:

4.程序说明:

1.当X1接通一次后,变频器进入正转状态。

2. 当X2接通一次后,写入变频器运行频率60HZ。

3. 当X3接通一次后,变频器进入停止状态。

当指令中,变频器指令地址为0时,为广播指令,所有从站变频器只接受PLC发出指令,不向主机发送响应信息。

【如果觉得还不错,请帮忙转发一下,让更多小伙伴们看到!学会分享!

想获得更多视频资料请关注:金松工控:13928461290(微信电话同号)

三菱PLC的MODBUS RTU的CRC计算程序编写,通讯必须掌握

上一章我们介绍了MODBUS协议中的RTU数据模式中的CRC校验码的计算原理,为了方便在PLC中完成通讯控制,今天我们说下PLC中CRC校验码程序的编写。

首先,原理在上一章讲到了,我们利用三菱PLC梯形图进行编写,先看下流程图:

CRC计算流程图

从上图中发现,有两个循环过程,即单个数据的CRC的计算,主要是对首个数据的CRC暂存器进行8次移位运算,另一个大循环是所有数据的运算(先运算完一个8位数据的CRC,下一个数据与这个CRC进行运算),这样把所有数据都计算完成后即可得到CRC校验码。

按照流程图步骤进行编写:

1、初始CRC值:FFFFH,为了方便移位,我们采用位组成的方式来表示CRC暂存器: K4M0,

采用变址寄存器V对数据进行依次运算,大的循环次数要根据传输数据的个数来决定,小的循环(单个数据的CRC)移位8次就循环8次,将数据初始化。

基本框架如下:

数据初始化

程序整体框架

2、小循环单个数据的CRC

小循环单个数据的CRC计算

首先将M100复位是为了后面的高位补零用,SFTR指令是位右移指令,表示对M0为起始位置的16数据右移1位置,高位用M100填补即高位补零,低位M0为移除的溢出数据即LSB。如果LSB=1,则需要把移位后的数据与A001H进行异或计算,结果保存到CRC暂存器K4M0中,此时将覆盖原来的K4M0中的数据,在这里需要跳转指令CJ跳过LSB=0的情况。。如果LSB=0,只要把移位后的数据放入CRC暂存器中即可。

这样首个数据就运算完成,进行下一个数据的运算(大循环)。

3、CRC校验码

全部数据运算完成后,我们要对暂存器进行高低8位调换,将CRC校验码的高位存放到D100,低位存放发到D102中。至此CRC校验码计算完成。

如果觉得麻烦,在FX3U中有现成的CRC计算指令CRC S D n,S代表要计算的数据的起始编号,D为CRC校验码保存的数据寄存器,n表示数据个数。

CRC指令

下面看下仿真结果:

我们用CRC在线计算器看下结果与PLC程序结果进行对比:

CRC计算器结果

PLC计算结果

PLC计算结果

PLC计算结果

不清楚的留言或私信。

相关问答

MODBUSRTU如何在PLC控制系统中应用?

MODBUS是一种通信协议,是电子设备通用的协议,我们可以通过它使控制器如PLC与其他设备进行通讯控制,不同的生产商的设备都可以通过线路连接组成工业网络。MODBU...

带modbusrtu的温控器怎样和plc通讯?

走485通信,接两根线就可以了。温控器与PLC通信站号,通信格式,通信模式。设置一至。然后在PLC中编程MODBUS程度。编写程序的内容主要是写:站号,功能码,通信...

在通信程序中,如何实现PLC与多台变频器的MODBUS/RTU通信?

如何实现PLC与多台变频器的MODBUS/RTU通信,首先不同的PLC、不同的变频器的设置方法和通信程序不一样,包括使用的通信指令、接线方法,MODBUS寄存器地址,需要我...

PLC技能扩展,如何实现PLC与多台变频器的MODBUS/RTU通信?

Modbus是一个请求/应答协议,并且提供功能码规定的服务,是工业中经常使用的一种协议。每种设备(PLC、变频器、HMI、控制面板、驱动程序、动作控制、输入/输出...

威纶通触摸屏和西门子PLC通讯不上,老是提示plc没反应,该怎样...

你设置同样的波特率,同样的位数,同样的停止位,站号不能相同,就是说plc和触摸屏地址不能相同,然后确定通讯线是否正常。有用(0)回复easonyangPLCNORESPONS...

三菱plc和仪表485通讯实例?

PLC的485与仪表的485均属于硬件接口。例①,PLC的485的接口多通过MUdbUS一RTU通信协议与其它没备连接进行数据交换。PLC与触摸屏之间也是通过485的9针接口,通...

西门子plc如何与丹佛斯做通讯报警?

西门子PLC和丹佛斯之间通讯和报警可以通过以下步骤实现:1.创建连接:在西门子PLC中,使用相应的通讯模块(如CP340)与丹佛斯设备建立通讯连接。连接可以通过...

三菱L02CPU加LJ71C24做MODBUSRTU通信该怎么设置?

PLC还是做从站比较方便,编辑串口参数程序就行了,PLC做主站必须要还要有通信程序,如果MCGS里用modbus转发协议了,PLC就必须编辑modbus标准协议的通信程序才行...

有没有谁了解:信捷PLC如何让程序循环,?

[回答]PLC如果没有设置密码的话,用电脑上的信捷编程软件下载。然后再上传到信捷PLC里就行。前提上传和下载需用到编程线缆,PLC要保持通电状态。(备注:个...

plc只有rtu和stop两种状态吗?

不是。plc还有离线状态。不是。plc还有离线状态。

 关键词  房小白 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部