嘉峪关西门子S7-300代理商
一、引言
在各种机械设置上,PLC与变频器的应用可谓无处不在。常见的用法是使用模拟量模块(一般是电压)来对变频器进行控制。这种方法的主要的缺点是成本高,并且容易受干扰(电压方式),控制精度也很难作得很高,而采用通信方式就可以很好地避免这个问题。但是,一般PLC的通信编程是一件很不容易的事。本文介绍了V80系列PLC与变频器的通信方法。
二、V80 PLC介绍
V80系列PLC是深圳德维森科技有限公司开发的一款通用型高性价比的小型可编程控制器(PLC),采用32位高性能CPU芯片和高速逻辑解析ASIC芯片,相对于一般的小型PLC,在通信应用方面具有以下特点:
1、本机自带双串口,其中一个是232编程口,工作于MODBUS从模式,一般只用于编程和连接人机设备。另一个口为485接口,除了具有串口1所具有的功能外,还能工作于MODBUS主模式、自由通信模式,具有强大的通信功能。与一般的PLC相比,它不需要额外购买连接电缆和通信组件。
2、具有48K的程序空间,9000个中间接点,9999个内部寄存器,加上极其强大的应用指令,能够方便地编写很复杂的程序,甚至是复杂的通信协议。
3、V80 PLC的默认通信协议就是MODBUS从协议(RTU),甚至内部变量的编址方式也是按照协议进行的,所以在MODBUS通信的应用性上具有无可比拟的优势。对于不支持MODBUS协议的设备,则可以通过自由通信方式编写。
三、与兼容标准MODBUS RTU协议的变频通信
对于采用MODBUS RTU从协议的设备,可以把V80PLC的串口2设置成MODBUS主的方式与其进行直接互连。下面以东元7200MA变频器为例,下面是引用其说明书上的一段文字:
东元7200MA变频器采用了MODBUS RTU从协议,它的通信数据格式描述如下:
在MODBUS RTU 模式的通讯协议中,一个信息(Message)乃由4 个部份组成:Slave 地址、功能码、数据及CRC-16数据校验,并依序送出。每一个信息的开始与结束,皆以3.5个字符(Character)的间隔时间来做识别。
对于V80系列PLC,上面的信息只是证明了它采用了部分MODBUS从协议(只支持03、10H这两种命令,也就是读写寄存器4XXXX命令),是可以与V80直接连接的,而具体的细节就不需要关心了,因为V80_PLC的M_BUS指令已经封装了这些数据过程。我们只关心如下参数:
1、读写类型及设备地址。
2、目标设备的寄存器(线圈)号,本地存放数据的寄存器(线圈)号,信息长度。
3、通信间隔,也就是多久通信一次。
4、一些通信参数,如波特率、奇偶校验位、通信超时时间等
根据这几项参数,用以下程序就可以实现与东元变频器的通信了。
假设东元变频器上的设备地址为1,上图的程序完成了这样一种功能:把PLC内部41100~41115变量的内容,写到东元变频器寄存器区域偏移为00~015的连续16个寄存器里去,中间继电器01000每次从0变为1,双方通信一次。当然在之前要对PLC进行一下参数设置,具体可参见V80PLC的软件手册。
四、与其它协议的变频器通信
对于不兼容标准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码,V80PLC提供了ASCBIN及BINASC指令,来完成 “0~H”这十六个ASCII数字与十六进制码的互换。
当发送脉冲产生时,各数据被换成ASC码并存放在发送缓冲区中,每个二进制码转换后占二个字。
SINE003采用异或校验,只针对ASC码部分,这部分程序如下:
实际上还有几个字节的异或指令没列出来,然后对异或结果进行判断,小于1FH则加20H,之后可以用字组拆分指令“PACK”把它拆成两个字节,按先高后低填到发送区,这部分比较简单,不再单独列出,下面是发送和接收程序。
发送程序比较简单,只需填一个发送长度即可,而接收的情况则要复杂一点(图里没有体现出来)。在发送的同时就打开接收,使能开始字符和结束字符(通过设置控制位,这里没画出来),并把开始字符和结束字符填好,还有一些超时时间之类的设置(有兴趣的可以参见V80PLC的软件手册),这样当接收到“02H”就认为是一帧的开始,接收到“03H”就认为是一帧的结束,当然也可以结合其它条件,如字符超时等,各种状态都可以在状态位里体现。
接收到完整的一帧后,状态位里会有指示,然后把接收回来的数据进行校验,并重新转换成十六进制,就可以进行各种处理了。
第1节 传动之星系列变频器串口通讯协议
一、适用网络
单监控主机多变频器从机控制网。即单主多从方式。
单监控主机单变频器从机控制网。即单主单从方式。
单监控主机可以由变频器代替,能实现同步的启动和停止。
二、物理接口
1)接口方式
RS485/232接口,异步,半双工
2)数据格式
1位起始位、8位数据位、无奇偶校验位、1位停止位
1位起始位、8位数据位、偶校验位、1位停止位
1位起始位、8位数据位、奇校验位、1位停止位
3)波特率
300bps 600bps 1200bps 2400bps 4800bps 9600bps 19200bps 38400bps
三、通讯协议功能
通过通讯协议格式建立主机和变频器之间的相互访问,达到控制变频器的目的。
四、通讯方式
1)上位机为主机,主机可为计算机、PLC可编程控制器等,变频器为从机。采用主机轮询,从机应答的点对点通讯方式。主机广播时,从机不允许应答。
2)利用键盘设定变频器串行接口通讯参数,包括本机地址(从站地址),波特率,串行接口地址等。
3)为保证半双工的可靠工作,发送数据帧与接收数据帧之间时间间隔应不小于5ms,数据帧的字节之间的时间,间隔应不小于1ms。
五、通讯出错
通讯时,若出现校验和错误或数据超出范围,从机变频器将发送报错数据包,并准备接收下一帧数据。
六、协议数据包格式格式
发送顺序
定义 头地址区状态区命令区代码区数据区校验尾
发送字节 1 2 2 2 2 4 21
注意:除去数据包头和数据包尾其他数据都要转化为ASCⅡ码。字节计算方法是除去数据包头和数据包尾各算一个字节,其他数据都要转化为ASCⅡ码后‚一个ASCⅡ码表示一个字节。例如:1号从机地址为01H,则高位ASCⅡ码30H,低位ASCⅡ码31H。共两个字节。
七、协议格式解释(以下提到的D99,D100,D101,D102等数据都是PLC中的地址)
1)数据包头=7EH
数据包的起始字节,不用转换为ASCⅡ码,记为一个字节。
2)D99=从机地址
数据含义:变频器为从机,变频器的本机地址即为从机地址。
发送方式:将从机地址的高4位和低4位拆分并转换为ASCⅡ码,先高后低发送。
例如:1号从机地址为01H,则高位ASCⅡ码30H,低位ASCⅡ码31H。共两个字节。先发送30H,再发送31H共两个字节,其他字节的发送方式与此一致。
3)状态代码(编程时发送包里状态码永远置为00H,而接收包里为其他的6个状态码,具体是哪个要看是变频器所处的状态)
数据含义:从机变频器的状态代码。即参数设定状态、运行状态(01H)、停车状态(02H)、故障状态(03H)和工厂测试状态,接收的数据帧中ASCⅡ码有错(90H),数据或命令超出可设定的范围(80H),运行中该参数不可修改(70H)
先高后低发送。
状态代码定义:
00H=保留
01H=从机运行
02H=从机停车
03H=从机故障
90H=接收的数据帧中ASCⅡ码有错误
80H=数据或命令超出可设定的范围
70H=运行中该参数不可修改
其他=预留
4)D100=命令代码
数据含义:主机发送的命令代码,对从机进行相应操作,如读、写、启动、停车、清除故障等。
发送方式:先高后低发送。
命令代码定义:
00H=变频器运行状态查询
01H=启动变频器运行
02H=变频器停车
03H=复位变频器故障
04H=读对应功能代码内容
05H=写对应功能代码内容
06H=读取监视参数
07H=读取历史故障信息
08H=恢复默认值
09H=机给定频率设定
其他=非法
5)D101=数据地址
数据含义:数据地址的定义,即变频器的功能代码地址编号(参见功能代码表及意义)。
发送方式:将功能代码的高4位和低4位拆分并转换为ASCⅡ码,先高后低发送。
6)D102=数据信息高字节,D103=数据信息低字节
数据含义:数据信息的定义,范围:0-32000。无小数点,是否为小数和有几位小数见功能代码说明,若功能代码内容为10.00,发送的数据为1000,转换成16进制为03E8H。
数据类型:十六进制,双字节。
发送方式:先发高字节,再发低字节,将数据信息双字节的高4位和低4位拆分并转换为ASCⅡ码,先高后低发送。
若发送16进制的03E8H,则依次发送30H,33H,45H,38H
7)校验码
数据含义:数据帧中,从从机地址至数据信息12个字节ASCⅡ码值的累加和的低字节。
8)数据包尾=0DH
第2节 科威PLC自由协议通信说明
一、自由协议收发函数
通过对通信格式字D8120的设置来完成通信。更多具体示例参见科威PLC《编程手册》第十一章<自由协议说明及应用>
1〕相关标志位及寄存器
特殊数据寄存器
特殊数据寄存器 描述
D8120 通信格式
D8121 待发送字节数
D8122 发送剩余字节数
D8123 待接收字节数
D8124 已接收字节数
D8125 接收起始符
D8126 接收终止符
D8127 发送接收超时
D8128 发送起始单元
D8129 接收起始单元
D8130 超时剩余时间
特殊辅助继电器
特殊辅助继电器 描述
M8120 奇偶校验错标志
M8121 发送请求标志
M8122 发送成功标志
M8123 接收请求标志
M8124 接收成功标志
M8125 接收起始符标志
M8126 接收终止符标志
M8127 发送接收超时标志
- 兰州西门子S7-300代理商 2024-05-08
- 甘肃西门子S7-300代理商 2024-05-08
- 商洛西门子S7-300代理商 2024-05-08
- 安康西门子S7-300代理商 2024-05-08
- 榆林西门子S7-300代理商 2024-05-08
- 汉中西门子S7-300代理商 2024-05-08
- 延安西门子S7-300代理商 2024-05-08
- 渭南西门子S7-300代理商 2024-05-08
- 咸阳西门子S7-300代理商 2024-05-08
- 宝鸡西门子S7-300代理商 2024-05-08