德天奥 V80系列PLC与变频器通信方式的实现
作为工控行业的主流产品,PLC 与变频器在各种机械设置上的应用可谓无处不在。常见的用法是使用模拟信号(一般是电压)来完成对变频器的控制。这种方法的缺点是成本高,易受干扰(电压方式),控制精度也很难作得很高,而采用通信方式就可以很好地避免这个缺点。本文介绍了 V80 系列 PLC 与变频器的通信及其实现方法。
2 V80 系列PLC在通信方面的特点
V80系列 PLC 是深圳市德天奥科技有限公司的一款通用型高性价比的小型可编程控制器(PLC),采用32 位高性能 CPU芯片和高速逻辑解析 ASIC 芯片,相对于普通的小型 PLC,在通信应用方面具有以下特点
1、 本机具有双串口:其中一个是 RS-232 编程口,工作于 MODBUS 从模式,一般只用于编程和连接人机设备。另一个为 RS-485 接口,除了具有 MODBUS 从模式的功能外,还能工作于MODBUS 主模式、自由通信模式,具有强大的通信功能。
2、 具有 48K的程序空间,9000 个中间接点,9999 个内部寄存器,加上极其强大的应用指令,能够方便地编写很复杂的程序,较适合复杂的通信协议。
3、 V80 PLC 的默认通信协议是 MODBUS 从协议(RTU),内部变量的编址方式也是按照协议进行的,所以在 MODBUS 通信的应用性上具有无可比拟的优势。
3 与兼容标准MODBUS RTU协议的变频通信:
对于采用 MODBUS RTU从协议的设备,可以把 V80 系列 PLC 的串口 2 设置成 MODBUS 主模式与其进行直接互连。下面以东元 7200MA变频器为例,说明 V80系列 PLC 与与变频器的通信及其实现方法:
东元 7200MA变频器采用了 MODBUS RTU从协议,通信数据格式描述如下:
在 MODBUS RTU 模式的通讯协议中,一个信息(Message)由 4 个部份组成:Slave 地址、功能码、数据及 CRC-16 数据校验,并依序送出。每一个信息的开始与结束,皆以 3.5 个字符(Character)的间隔时间来做识别。
仅使用三种命令:读取、回路测试及写入。
东元 7200MA变频器采用了部分 MODBUS 从协议,支持 03、10H两种命令,对于 V80 系列PLC 而言,也就是读写寄存器 4XXXX命令,是可以与 V80 直接连接的,而 V80_PLC 的 M_BUS 指令已经封装了这些数据过程。因此,只需关心如下参数即可:
1、 读写类型及设备地址。
2、 目标设备的寄存器(线圈)号,本地存放数据的寄存器(线圈)号,信息长度。
3、 通信间隔,也就是完成两次通信所需的时间。
4、 通信参数,如波特率、奇偶校验位、通信超时时间等
编写以下程序即可实现与东元 7200MA变频器的通信。
假设东元变频器上的设备地址为 1,上图的程序完成了这样功能:把 PLC 内部 41100~41115变量的内容,写到东元变频器寄存器区域偏移为 00~015 的寄存器,中间继电器 01000每次从 0变为 1,双方通信一次。注意,在之前要对PLC进行参数设置,可参见V80 系列 PLC 的软件手册。
4 与其它协议的变频器通信:
对于不兼容标准 MODBUS RTU协议的变频器,可以采用自由通信功能块实现。相对于 M_BUS 指令,自由通信要灵活得多,类似于跟一些高级语言(如C 语言)的编程模式。用户最好具有一定的通信编程经验,并准备好如 232->485 转换器、串口监控软件等调试工具。
下面以正弦 SINE003 系列变频器为例,说明 V80PLC 的自由通信协议编程方法。正弦 SINE003 系列变频器的通信格式如下:
数据包格式
异或校验
数据含义:数据帧从机地址至数据信息的异或结果。既第 2 字节与第 3 字节异或的结果,再与第 4 字节异或,以此类推至第 13 字节。
数据类型: 16 进制,单字节。
发送方式:将校验和字节的高 4 位和低 4 位拆分并转换为 ASCII码,先高后低发送。
结果处理:当校验结果小于等于 1FH,则校验结果加 20H。
该通讯协议采用 ASCII码表示传输内容,用 STX(02H)、ETX(03H)作为开始和结束标志。首先,把数据转换成 ASCII码,V80系列 PLC 提供了 ASCBIN及 BINASC 指令,来完成 “0~H”这十六个 ASCII数字与十六进制码的互换。
当发送脉冲产生时,各数据被换成 ASC 码并存放在发送缓冲区中,每个二进制码转换后占二个字。
SINE003 采用异或校验,只针对 ASC 码部分,程序如下:
然后,对异或结果进行判断,小于 1FH则加20H,之后用字组拆分指令“PACK”把它拆成两个字节,按先高后低填到发送区。下面是发送和接收程序。
发送程序只需填一个发送长度即可,在发送的同时打开接收,接收程序使能开始字符和结束字符,并填好开始字符和结束字符,可参见 V80 系列 PLC 的软件手册,这样当接收到“02H”就认为是一帧的开始,接收到“03H”就认为是一帧的结束。也可以结合其它条件判断,如字符超时等,各种状态都可以在状态位里体现。
接收到完整的一帧后,状态位会有状态指示,然后把接收回来的数据进行校验,并重新转换成十六进制,既可进行相应处理。
5. 结束语
本文分别以东元7200MA变频器和正弦SINE003系列变频器为例,说明V80系列PLC的 MODBUS RTU 协议和自由通信协议的编程方法,并详细介绍了 V80 系列 PLC 与变频器的通信及其实现方法。采用这种方案,可以大大地节省成本,并具备高可靠性。
文章版权归西部工控xbgk所有,未经许可不得转载。