科威PLC通过自由协议与深圳传动之星变频器通信说明第1节传动之星系列变频器一、单监控主机多变频器从机控制网。即单主多从方式。单监控主机单变频器从机控制网。即单主单从方式。单监控主机可以由变频器代替,能实现同步的启动和停止。二、物理接口1RS485/232接口,异步,半双工21位起始位、8位数据位、无奇偶校验位、1位停止位1位起始位、8位数据位、偶校验位、1位停止位1位起始位、8位数据位、奇校验位、1位停止位3)波300bps600bps1200bps2400bps4800bps9600bps19200bps38400bps通过通讯协议格式建立主机和变频器之间的相互访问,达到控制变频器的目的。1)上位机为主机,主机可为计算机、PLC可编程控制器等,变频器为从机。采用主机轮询,从机应答的点对点通讯方式。主机广播时,从机不允许应答。2)利用键盘设定变频器串行接口通讯参数,包括本机地址(从站地址),波特率,串行接口地址等。3)为保证半双工的可靠工作,发送数据帧与接收数据帧之间时间间隔应不小于5ms,数据帧的字节之间的时间,间隔应不小于1ms。五、通讯出错通讯时,若出现校验和错误或数据超出范围,从机变频器将发送报错数据包,并准备接收下一帧数据。发送顺序头地址区状态区命令区代码区数据区校验尾12222421注意:除去数据包头和数据包尾其他数据都要转化为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,38H7数据含义:数据帧中,从从机地址至数据信息12个字节ASCⅡ码值的累加和的低字节。8)数据包尾=0DH第2节科威PLC自由协议通信说明一、自由协议收发函数通过对通信格式字D8120的设置来完成通信。更多具体示例参见科威PLC《编程手册》第十一章自由协议说明及应用1〕相关标志位及寄存器特殊数据寄存器特殊数据寄存器描述D8120通信格式D8121待发送字节数D8122发送剩余字节数D8123待接收字节数D8124已接收字节数D8125接收起始符D8126接收终止符D8127发送接收超时D8128发送起始单元D8129接收起始单元D8130超时剩余时间特殊辅助继电器2〕自由协议发送函数UART1_SEND功能:将设置好的数据等信息进行发送。函数号:D8200=29函数调用:M82003〕自由协议接收函数UART1_REV功能:将设置好的数据等信息接收。函数号:D8200=30函数调用:M8200特殊辅助继电器描述M8120奇偶校验错标志M8121发送请求标志M8122发送成功标志M8123接收请求标志M8124接收成功标志M8125接收起始符标志M8126接收终止符标志M8127发送接收超时标志二、自由协议的通信格式自由协议的通信格式由D8120控制,在运行过程中,根据通信对象的不同,可以改变控制字。但专用协议和自由协议,在运行时不允许相互切换。嵌入式PLC串口1通信,一旦选择专有协议,其各项通信指标是固定的。只有选择自由协议,各项通信参数才根据D8120而变化。专有协议有主从站设置和地址设置类信息,而自由协议的的主从信息、地址信息是隐含在编程中。如,主从信息表现在主动发信息还是被动发信息的编程上,地址信息包含在规划的报文格式中及解读报文的编程中。D8120的协议选项(D8120_Bit14),决定是自由协议还是专有协议,其他选项都是针对自由协议的。当选择专有协议时,其他各项可以不选。嵌入式PLC每次上电,D8120都有一个默认初值D8120=H6881,也就是默认选择为专有协议。当选择为自由协议时,才需要对D8120进行重新赋值。位置选项OFF时含义ON时含义D8120_Bit15未定义未定义D8120_Bit14自由协议专有协议D8120_Bit13未定义未定义D8120_Bit12未定义未定义D8120_Bit11未定义未定义D8120_Bit10未定义发送结束自动转接收D8120_Bit09未定义接收终止符有效D8120_Bit08未定义接收起始符有效D8120_Bit07D8120_Bit07_06_05_04=xxxx,.波特率选项xxxx=0000:1200bpsxxxx=0001:2400bpsxxxx=0010:4800bpsxxxx=0011:9600bpsxxxx=0100:14400bpsxxxx=0101:19200bpsD8120_Bit06D8120_Bit05D8120_Bit04D8120_Bit031停止位2停止位D8120_Bit02D8120_Bit02_01=xx,.奇偶校验选项。xx=00:无奇偶校验;xx=01:奇校验;xx=11:偶校验;D8120_Bit01D8120_Bit007位数据8位数据如D8120=H0431,表示自由协议,发送结束自动转接收,通信速率为9600bps,7位数据,无奇偶校验。自由协议的通信格式总共是11位,其中起始位1位,数据位9位(B0----B7+TB8/RB8),1停止位,如图所示。嵌入PLC与其它控制器通信,如与计算机通信,以自由协议方式,9600bps速率,发送自动转接收为例,可选设置项如下:①、7位数据+无奇偶校验+1停止位:请按第②种情况设置。②、7位数据+无奇偶校验+2停止位(Bit7=1)D8120=H0438③、7位数据+奇校验+1停止位(Bit7=奇校验)D8120=H0432④、7位数据+偶校验+1停止位(Bit7=偶校验)D8120=H0436⑤、7位数据+奇校验+2停止位(Bit7=奇校验,TB81/RB81=1)D8120=H043A⑥、7位数据+偶校验+2停止位(Bit7=偶校验,TB81/RB81=1)D8120=H043E⑦、8位数据+无奇偶校验+1停止位D8120=H0431⑧、8位数据+无奇偶校验+2停止位(TB81/RB81=1)D8120=H0439⑨、8位数据+奇校验+1停止位(TB81/RB81=奇校验)D8120=H0433⑩、8位数据+偶校验+1停止位(TB81/RB81=偶校验)D8120=H0437⑾、8位数据+奇校验+2停止位:请按第⑨种情况设置。⑿、8位数据+偶校验+2停止位:请按第⑩种情况设置。三、自由协议通信中常用功能函数1〕常用功能函数函数号函数名功能说明25ASCII_HEX函数将指定寄存器的ASCII码转换为十六进制数HEX26HEX_ASCII函数将指定寄存器的十六进制数HEX转换为ASCII码27BYTE_BYTE函数将指定寄存器的字进行拆分和组合28CRC函数将和校验区ASCII码的十六进制数相加后,取后两位字符29自由协议发送函数将设置好的数据等信息进行发送。30自由协议接收函数将设置好的数据等信息接收。2〕自由协议相关函数在工控通信中,根据不同的情况,各工控厂家有不同的通信协议。有的以16进制的方式传输,有的以ASCII码传输,有的以BCD码传输;校验方式有和校验,异或校验;传输顺序有的从高字节开始,有的从低字节开始;传输单位一般是以字节为单位,而PLC在梯形图中多以字为单位。而自由协议的发送区和接收区是以字节为单位的连续区。为适应各家协议,必须有相关的辅助函数,才能更好发挥自由协议的作用。辅助函数只针对数据寄存器区。1.ASCII码字符转HEX数值(函数号:25)将ASCII码表示的“0---9,A---F”字符转换成16进制的数值0---9,A---F。如ASCII值为31323342(表示字符“123B”),经函数转换后成HEX值为123B,四个字节变成二个字节。2.HEX数值转换成ASCII码字符(函数号:26)将HEX表示的数值变换为ASCII码,与25号函数功能相对。如将HEX值AB23转换为ASCII码字符“AB23”,ASCII值为41423233。3.区域移动(函数号:27)将字节拼成字,或将字拆成字节,或字区的移动。如,填写发送字节时,将字节赋给字单元的低字节,我们会觉得方便;但对发送而言,发送的是连续字节区,因此发送前,又必须将不连续的低字节变成连续的字节,即连续的字区。4.区域求和(函数号:28)在有和校验的协议中,以字节为单位进行求和运算。因此对接收字可能需拆成字节,而后进行求和运算。如11H22H33H44H55H66H77H的7个字节,求和结果为01DCH。如果只传两个字的ASCII码值,则只传“DC”,ASCII码值为44H43H。以上提供的辅助函数在自由协议方式下,使用的频率较高,辅助函数的调用方式也大体相同。入口参数:输入的元件号(D8201):如D8201=K100,表示从D100开始。输入的有效字节数(D8202):如D8202=K10,表示10个字节。起始字节高/低选择(M8201):如SETM8201表示从低字节开始。字/字节有效选择(M8202):如SETM8202表示字节方式。出口参数:输出元件号(D8203):如D8203=K1000,表示结果存在D1000超始区。起始字节高/低选择(M8203):如SETM8203表示从低字节开始。字/字节有效选择(M8204):如SETM8204表示字节方式。以上函数的具体示例参见科威PLC《编程手册》第八章常用功能函数说明第3节科威PLC通过自由协议与深圳传动之星变频器通信实现一、程序流程图二、资源分配1)资源分配总体情况字元件位元件标签P定时器D0〜D4M11〜