数据结构论坛

首页 » 分类 » 问答 » 三菱PLC编程实例,如何采用通信控
TUhjnbcbe - 2021/7/17 0:44:00

需要的硬件:三菱FX3G型PLC,通讯模块(FX3G-BD),变频器一台英威腾,触摸屏(MTIP)。

需要了解内容:PLC通信协议,发送指令,变频器通信参数设置。

接线

接线较为简单,将FX3G--BD模块插在PLC上,将SDB和RDB短接,SDA和RDA短接,在变频器上+端子引出导线接到模块的SDA和RDA上,在变频器上-端子引出导线接到模块的SDB和RDB上,采用RS接口工作半双工,它的意思就是信号的读取和写入不能同时发送,发送的时候不能读取。

接线图

变频器参数设置

将变频器的运行指令和频率指令都改成MODBUS通信设定,在P00组上P00.01运行指令通道改为2:通讯运行指令通道(缺省值0),P00.07B频率指令选择8:MODBUS通讯设定(缺省2),P00.09设定源组合方式1:B,当前频率设定为B频率指令。

通讯参数的设置,在P14组,P14.00将变频器的站号设为1,P14.01波特率设为,P14.02数据位校验设为无校验(N,7,2)forASCII。

PLC通讯参数的设定

PLC参数的设定有两种方法“

1是在软件(GX-Works2)里设置:点击导航中的参数→PLC参数→PLC的系统设置(2):

PLC系统参数设置

2采用程序设定:

梯形图参数设置

M=1,为8位运算,意思就是忽略高8位只传送数据的低8位,为什么这么做后面会说到。MOVHOC88D是指定通讯格式,它是怎么算出来的,我们看下D内容:

D内容

D是一个16位的数据,根据设定的参数来算计算,比如上述程序的H0C88是怎么来的,看下通讯方式是,波特率,7位数据长度,无奇偶校验,停止位是2,控制线是无协议的调制解调器模式(RS接口):

通讯参数计算

相关指令

串行数据发送RS,16进制转换为ASCII码ASCI,ASCII码转换为16进制数HEX.

RS:该指令是用于通过安装在基本单元上的RS-C或RS-串行通信口进行无协议通信,从而执行数据的发送和

接收的指令。

RS举例

RS指令用于指定从FX可编程控制器发出的发送数据的起始软元件和数据点数,以及保存接收数据的起始软元

件,和可以接收的最大点数,编程按照下列要领:

发送指令

接受指令

ASCII码使用指定的7位或8位二进制数组合来表示或种可能的字符,MODBUS协议有两种传输模式,ASCII和RTU模式,本次变频器采用ASCII模式传输信号,上一章的HMI控制变频器采用的就是RTU模式。因此采用ASCII模式,所以数据格式M选择8位数据模式。

PLC程序

程序大致分为4部分

5.1变频器功能说明

采用ASCII模式传输数据,在ASCII模式中,帧头为“:”(“0x3A”),帧尾缺省为“CRLF”(“0x0D”“0x0A”)。在ASCII方式下,除了帧头和帧尾之外,其余的数据字节全部以ASCII码方式发送,先发送高4位位元组,然后发送低4位位元组。ASCII方式下数据为8位长度。对于‘A’~‘F’,采用其大写字母的ASCII码。此时数据采用LRC校验,校验涵盖从从机地址到数据的信息部分。校验和等于所有参与校验数据的字符和(舍弃进位位)的补码。

MODBUS报文

ASCII帧的标准结构

MODBUS对变频器功能说明:

功能说明

程序

程序可以分5部分

6.1通讯设定

就是第3PLC通讯参数的设定的梯形图

6.2ASCII码转换

ASCII码转换

根据ASCII帧的标准结构将数据转换为ASCII码,

起始符START:3AH

地址Address:就是站号,两个ASCII码组成,例如站号1,地址就是01H,转成ASCII码就是30,31,PLC监控:

程序中显示的是10进制。

功能码Function:就是要写入数据还是读取数据,由两个ASCII码组成,写入是06H,读取是03H。

功能码

1
查看完整版本: 三菱PLC编程实例,如何采用通信控