s7-200如何设定英威腾变频器的频率

如何用通讯的方式设定变频器的频率,是随意设定,不是固定的几个值

1.预先设置变频器以下参数:

PC0.0=1 //变频器通讯地址为1

PC0.1=3 //通讯波特率9.6K

PC0.2=1 //通讯数据偶校验

P0.01=2 //变频器的运行指令采用通讯方式

P0.03=7 //变频器的A频率设定采用通讯方式
2.发送指令XMT缓冲区(写/读)

VB100 //xmt指令要发送的字节个数

VB101 //变频器通讯地址(01)

VB102 //modbus功能码(06/03)

VB103 //变频器被写地址高位/变频器被读起始地址高位

VB104 //变频器被写地址低位/变频器被读起始地址低位

VB105 //被写数据高位/被读数据字个数高位

VB106 //被写数据低位/被读数据字个数低位

VB107 //被发送数据CRC低位

VB108 //被发送数据CRC高位
3.接收指令RCV缓冲区

VB200 //rcv指令要接收的字节个数

VB201 //变频器地址(01)

VB202 //modbus功能码(06/03)

VB203 //变频器被写地址高位/被读数据字节个数高位

VB204 //变频器被写地址低位/被读数据字节个数低位

VB205 //被写数据高位/被读数据高位

VB206 //被写数据低位/被读数据低位

VB207 //被接收数据CRC低位

VB208 //被接收数据CRC高位

VB217 //被接收数据CRC验算低位

VB218 //被接收数据CRC验算高位
4.局部变量
(1)输入型局部变量(VAR_INPUT)

1d_0:DWORD; // 待发送数据地址指针变量

lw_4:WORD; // 待发送数据字节个数变量

(2)输出型局部变量(VAR_OUTPUT)

lb_6:BYTE; // CRC校验值高位变量

lb_7:BYTE; // CRC校验值低位变量

(3)临时局部变量(VAR)

lw_8:WORD; // 待发送数据字节个数计数变量

lw_10:WORD; // 待发送数据每字节8位二进制数计数变量

Network 1

LD SM0.0

MOVW 16#FFFF, LW6 //将16位CRC校验寄存器LW6全置为1

Network 2

LD SM0.0

FOR LW8, +1, LW4 //对待发送数据字节个数(LW4)计数(LW8)循环

Network 3

LD SM0.0

XORB *LD0, LB7 //使待发送数据的第一个字节(*LD0)与

//CRC校验寄存器低位字节(LB7)进行异或运算

Network 4

LD SM0.0

INCD LD0 //ld_0指向待发送数据的下一个地址

Network 5

LD SM0.0

FOR LW10, +1, +8 //对每字节8位二进制数计数(LW10)循环

Network 6

LD SM0.0

SRW LW6, 1 //CRC校验寄存器LW6右移一位

Network 7

LD SM1.1 //若移位后的溢出值SM1.1为1

XORW 16#A001, LW6 //则使值16#A001与LW6进行异或运算

Network 8

NEXT //结束每字节8位二进制数计数循环

Network 9

NEXT //结束每数据帧字节个数计数循环

5.初始化子程序
Network 1

LD SM0.0

MOVB 16#49, SMB30 //设置自由通信口格式

MOVW +0, SMW90 //空闲行间隔检测时间0ms

MOVW +5, SMW92 //字符间定时器超时检测时间5ms

MOVB 20, SMB94 //接收信息的最大缓冲区20字节

MOVB 148, SMB87 //设置自由通信口的数据接收格式

FILL +0, QW0, 1 //输出印象寄存区复位

FILL +0, MW0, 1 //标志寄存区复位

FILL +0, VW100, 5 //发送缓冲区复位

FILL +0, VW200, 5 //接收缓冲区复位

ATCH INT_0, 23 //接收完成中断

ATCH INT_1, 9 //发送完成中断

ENI //在全局启用中断
基本上所有的都在了,欢迎加QQ315225822
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-09-18
RCV\XMT指令
一天内搞定
需付费
Q45814036
第2个回答  2009-09-18
最简单的办法是用自由口协议来完成了。
相似回答