来源:PLC狂人
Lexium18 系列伺服驱动器具有RS-485的串行通讯功能,使用此功能可实现控制 伺服系统、读取和写入驱动器参数以及监视伺服系统状态等功能。
这款伺服如何使用MODBUS串行通讯?本文主要从硬件接线,通讯参数设置,程序编写三个方面进行讲解。

01硬件接线
由于M241 PLC 自带RJ45 Serial1 的串行接口,LXM18也自带RJ45 Serial1的串行接口,如下图所示,因此只需用一根网线将两个设备链接起来即可。
需要注意:
请不要将LXM18的RS-485接口直接连接至PC的以太网接口,否则有可能损坏 PC的以太网接口。


2通讯参数设置
在使用RS-485通讯时,必须通过驱动器参数P6-04设置驱动器的从站地址,P6-05设置通讯波特率,P6-06设置通讯数据格式。在本案例中,将P6-04设置为1,P6-05设置为9600,P6-06设置为1。



M241 PLC使用ESME设置通讯参数,双击Serial_Line_2,修改串行线路设置,要求跟LXM18的通讯参数(地址:1 波特率:9600 数据位:8 停止位:1 奇偶校验:无 )保持一致。

双击Modbus_Manager,进入配置,选择主站,确认传输模式、响应超时时间。

03程序编写
MODBUS通讯有两种模式,即ASCII模式与RTU模式。 Lexium18 系列驱动器仅支持MODBUS RTU通讯模式。一个MODBUS RTU的通讯帧组成结构如下所示:

每个MODBUS帧的功能通过一个字节的功能码定义(FunctionCode,FC)。下表列出了Lexium18系列伺服驱动器支持的MODBUS功能码:

读多个寄存器FC03(0x03)举例:
· 读取从站地址为2(0x02)的伺服驱动器的参数Pu-00内的数据。
· Pu-00的参数起始地址为24858(0x611A),此时Pu-00内的数据为1500 (0x05DC),数据宽度为1个双字(DWord)。



写多个寄存器FC16(0x10)举例:
· 向从站地址为2(0x02)的伺服驱动器的参数Pu-00写入数据1500(0x05DC)。
· Pu-00的参数起始地址为24858(0x611A),数据宽度为1个双字(DWord)。



读/写多个寄存器FC23(0x17)举例:
· 读取从站地址为2(0x02)的伺服驱动器的参数P4-05内的数据,同时向参数 P4-06入数据4(0x0004)。
· P4-05的参数起始地址为10504(0x2908),此时P4-05内的数据为2(0x0002), 数据宽度为1个双字(DWord)。
· P4-06的参数起始地址为10506(0x290A),数据宽度为1个双字(DWord)。



程序说明:按下I2,M241读取LXM18伺服驱动器中的实际位置(以脉冲为单位)

全部0条评论
快来发表一下你的评论吧 !