PLC技术资料
    V80系列PLC与变频器通信方式的实现
    发布者:用户投稿  发布时间:2008/7/29 13:15:53

                                                                       1 引言
          作为工控行业的主流产品,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 与其它协议的变频器通信:

    [NextPage]

         对于不兼容标准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与变频器的通信及其实现方法。采用这种方案,可以大大地节省成本,并具备高可靠性。

    版权声明PLC信息网转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味 着赞同其观点或证实其内容的真实性。如转载作品侵犯作者署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。联系电话:0571-87774297。
0571-87774297