摘要:触摸屏(MT6071IP)。需要了解内容:PLC通信协议,发送指令,变频器通信参数设置。二,接线接线挺简单的。把 FX3G - 485 - BD 模块插到 PLC 上,把 SDB 和 RDB 短接起来,SDA 和 RDA 也短接起来。从变频器上的 485 +
一,需要的硬件:
1.三菱FX3G型PLC,485通讯模块(FX3G-485BD),
2.变频器一台英威腾,
3.触摸屏(MT6071IP)。
需要了解内容:PLC通信协议,发送指令,变频器通信参数设置。
二,接线
接线挺简单的。把 FX3G - 485 - BD 模块插到 PLC 上,把 SDB 和 RDB 短接起来,SDA 和 RDA 也短接起来。从变频器上的 485 + 端子引出导线,接到模块的 SDA 和 RDA 上,再从变频器上的 485 - 端子引出导线,接到模块的 SDB 和 RDB 上。采用的是 RS485 接口工作半双工,这意思就是说,信号的读取和写入不能同时进行,发送的时候就不能读取。
三,变频器参数设置
把变频器的运行指令和频率指令都改成 MODBUS 通信设定。在 P00 组里,把 P00.01 运行指令通道改成 2 :通讯运行指令通道(原来默认的值是 0 ),P00.07B 频率指令选择 8 :MODBUS 通讯设定(原来默认是 2 ),P00.09 设定源组合方式选 1:B ,当前频率设定成 B 频率指令。
关于通讯参数的设置,在 P14 组里,把 P14.00 中变频器的站号设成 1 ,把 P14.01 中的波特率设为 9600 ,把 P14.02 里的数据位校验设为无校验(N, 7, 2)for ASCII 。
PLC参数的设定有两种方法“
1。是在软件(GX-Works2)里设置:点击导航中的参数→PLC参数→PLC的系统设置(2):
PLC系统参数设置
2。采用程序设定:
梯形图参数设置M8161 等于 1 ,这是 8 位运算,意思就是会忽略高 8 位,只传送数据的低 8 位。为啥要这么做,后面会讲到。MOV HOC88 D8210 是用来指定通讯格式的,那它是怎么算出来的呢?咱们来看下 D8120 的内容:
D8120内容
D8210 是一个 16 位的数据,要根据设定的参数来进行计算。就比如上述程序里的 H0C88 是怎么来的呢?咱们来看下通讯方式,波特率是 9600 ,数据长度是 7 位,没有奇偶校验,停止位是 2 ,控制线是无协议的调制解调器模式(RS485 接口):
通讯参数计算
五,相关指令
串行数据发送 RS , 16 进制转换为 ASCII 码 ASCI , ASCII 码转换为 16 进制数 HEX 。 RS :这个指令是用来通过安装在基本单元上的 RS - 232C 或者 RS - 485 串行通信口进行无协议通信的,进而执行数据的发送工作。
接收的指令。
RS举例
RS指令用于指定从FX可编程控制器发出的发送数据的起始软元件和数据点数, 以及保存接收数据的起始软元件, 和可以接收的最大点数,编程按照下列要领:
ASCII 码是用指定的 7 位或者 8 位二进制数的组合来表示 128 或者 256 种可能的字符。MODBUS 协议有两种传输模式,分别是 ASCII 模式和 RTU 模式。这次变频器用的是 ASCII 模式来传输信号,上一章里 HMI 控制变频器用的则是 RTU 模式。正因如此采用了 ASCII 模式,所以数据格式 M8161 选择 8 位数据模式。
六,PLC程序
程序大致分为4部分
1 变频器功能说明
采用ASCII模式传输数据,在 ASCII 模式中,帧头为“:”(“0x3A”),帧尾缺省为“CRLF”(“0x0D”“0x0A”)。在 ASCII 方式下,除了帧头和帧尾之外,其余的数据字节全部以 ASCII 码方式发送,先发送高 4 位位元组,然后发送低 4位位元组。ASCII 方式下数据为 8 位长度。对于‘A’~‘F’,采用其大写字母的 ASCII 码。此时数据采用 LRC校验,校验涵盖从从机地址到数据的信息部分。校验和等于所有参与校验数据的字符和(舍弃进位位)的补码。
MODBUS报文
ASCII 帧的标准结构
MODBUS对变频器功能说明:
功能说明
程序
程序可以分5部分
2.1通讯设定
就是第3PLC通讯参数的设定的梯形图
2.2 ASCII码转换
ASCII码转换
根据ASCII 帧的标准结构将数据转换为ASCII码,
起始符START:3AH
地址Address:就是站号, 两个ASCII码组成, 例如站号1, 地址就是01H, 转成ASCII码就是30,31, PLC监控:
程序中显示的是10进制。
功能码Function:就是要写入数据还是读取数据,由两个ASCII码组成,写入是06H, 读取是03H。
功能码地址:就是写入或读取的地址,由两个ASCII码组成。
数据内容DATA:就是要写入或读取的数据内容, 由2n个ASCII码组成。
LRC校验值:LRC检查码,由两个ASCII码组成
结束符END:END Hi=0DH, END Lo=0AH。
RS D0 K17 D50 D15 这条指令就是发送以上内容的,D0起始符, D1D2地址,D3D4功能码,D5D6命令码高位地址,D7D8命令码低位地址,D9D10数据内容高位地址,D11D12数据内容低位地址,D13D14LRC检查码,D15D16结束符。
2.3 写入数据
写入数据
M8122 是送信指令,意思是正在发送信息。ASCI D200 D500 K4 。D200 是频率数据,要把 D200 数据转换成 ASCII 。比如说 D200 = 0ABCH ,K4 就表示 D500 = 0 ,D501 = A ,D502 = B ,D503 = C ,只转换 4 位。D101 是站号,D102 是功能码,D103 D104 是功能码高低位地址,D105 D106 是数据内容。根据变频器的 MODBUS 功能,咱们能知道写入频率的地址是 2001H ,所以高位 20H 传到 D103 ,低位 01H 传到 D104 ,接着把频率值传送到 D105 D106 ,传送完了 LRC 值就复位。这样就实现了写的功能,变频器的正反停功能按照上面的表格依次进行编程。
2.4 读取数据
由于采用半双工工作,写入和读取不能同时进行,
意思就是在读取数据的时候,得在送信、回信、写入指令之外去完成。咱们查看一下变频器功能表,读取频率的地址是 3000H 。
HMI界面:
来源:PLC技术玩一点号