台达伺服ASDA"/>
MODBUS 控制台达伺服ASDA
MODBUS 控制台达伺服ASDA-B2
- 背景
- 通讯功能设置
- 设置速度模式
- 关闭一些警告
- 控制速度
- 设定内部速度指令的三个寄存器
- 控制DI来源控制开关
- 启动控制
背景
用单CN3接口modubus做伺服速度控制, 可以用单片机/或PC开发485端口/或RS232串口直接下命令操作,特此记录一下步骤供参考,具体细节说明请结合伺服手册研究。
通讯功能设置
按说明书在面板上配置通讯口参数
P3-00:0001,MODBUS通信协议的站号设置为1,也可以设置为其它数值。
P3-01: 0011,RS-485或232通信波特率为9600,也可以设置为其它数值
P3-02: 0066, 数据格式为8,N,2。 也可以设置为其它数值
P3-05: 0000,采用MODBUS通信协议,这个选定不变。
设置速度模式
可通过DI:SPD0,SPD1 来选择
02命令来源为外部模拟电压 /内部缓存器两种来源
04命令来源内部缓存器两种来源
两种都可以
P1_01_CTL P1-01(0x0102): 0002 速度模式,
P1_01_CTL P1-01(0x0102): 0004 速度模式Sz,也可以
关闭一些警告
因为没有接CN1端子,出现ALARM和其它一些警告需关闭
P2-15: 0x122 常开
P2-16: 0x123 常开
P2-17: 0x121 常开
控制速度
DI3,DI4出厂值是116,117控制力矩
改成114、115控制速度. 这个容易漏设置。
DI3/SPD0 P2-12(0218H): 0x114 控制速度
DI4/SPD1 P2-13(021AH): 0x115 控制速度
设定内部速度指令的三个寄存器
SP1 P1-09(0112H): 2000 //正转200RPM
SP2 P1-10(0114H): -2000 //反转200RPM
SP0 P1-11(0116H): 0000 //停止
单位: 0.1r/min, 设定范围:-50000 ~ +50000
控制DI来源控制开关
P3-06控制DI来源控制开关,Bit0 ~ Bit8 对应至 DI1~DI9。
0:输入接点状态由外部硬件端子控制
1:输入接点状态由系统参数 P4-07 控制
SDI P3-06(030CH): 000D(二进制1101) //内部接通DI4,DI3, DI1(SON)
启动控制
P4-07对应位决定上述DI的状态
ITST P4-07(040EH): 0005,以SP1的速度RPM200正转.
P4-7:0005,以SP1的速度200rpm正转。
P4-7:0009,以SP2的速度200rpm反转。
P4-7:000D,以SP3的速度0rpm停转,但伺服没有停止运行。
P4-7设为0000时,伺服就停止运行了。
按以上步骤,设置这些寄存器,不用外部CN1硬件接线,串口通信直接控制伺服的速度了。
注:ASDA-B2系列的伺服modbus寄存器大多数是32位的,modbus功能码用0x10(预置多寄存器),不要用0x06功能码可能会反馈通讯错误,一次至少连着写2~10个寄存器,否则可能会出错。
================================================================
#define P1_01_CTL (0x0102)
#define P2_15_DI6 (0x021E)
#define P2_16_DI7 (0x0220)
#define P2_17_DI8 (0x0222)
#define P2_12_DI3 (0x0218)
#define P2_13_DI4 (0x021A)
#define P1_09_SP1 (0x0112)
#define P1_10_SP2 (0x0114)
#define P1_11_SP3 (0x0116)
#define P3_06_SDI (0x030C)
#define P4_07_ITST (0x040E)
e.g.
//命令来源为外部模拟电压 /内部缓存器两种来源
uint8_t _buf[4]= {0};
int32_t _temp = 0;
…
_temp = 2;
_buf[0] = 0xff& _temp>>8; _buf[1] = 0xff&_temp;
_buf[2] = 0xff& _temp>>24; _buf[3] = 0xff& _temp>>16;
MODH_WriteParam_10H(0x01,P1_01_CTL, 2, _buf) ;
…
更多推荐
MODBUS 控制台达伺服ASDA
发布评论