来源:本站原创 作者:Thgk(2007-11-20 10:31:33)
天宏模块与台达PLC的连接台达PLC分为ES/SS/EX、EP/SA/SX、EH三大类,它们之间的大部分指令通用。在它们与天宏模块通过ModBus协议连接时,其设定与程序是一致的。以下就模块与PLC的连接做一介绍。
模块与PLC的连接模式有两种:
1、模块做主机,PLC做从机。
2、模块做从机,PLC做主机。连接时首先注意以下几点:
1.PLC的通讯参数是否和模块中所设定的一致。
2.模块做从机的时候。对外它的数据放在以H9C41地址开头的寄存器中
3.PLC的通讯格式应该和仪表中设定的一样。
4.若PLC做主站时来读取仪表中的数据时,数据存放在PLC的ModBus通信寄存器D1296~D1311中。
5.PLC做从站时,仪表将数据写入到PLC的寄存器D时,寄存器的编号与地址的对应对系如表1.
表1
一、PLC做从机,模块做主机 此时PLC只需将RS485口的通信参数设定好,并保证与模块的一致即可。
图1是一个通信参数设定的PLC梯图.
图1
图2
如图所示:M1002:起始正向脉冲,仅在PLC由停止变为运转时ON一个扫描周期。D1120:为通信参数寄存器,它的值与通信参数的对应关系如图2所示。这里的通信格式为:波特率19.2kbs、7个数据位、2个停止位、无校验(H89)。M1120:485口通信设定保持,ON后D1120的内容变更无效。D1129:485口通信超时时长设定,单位为msM1143:485口通信模式设定,ON时为RTU模式,OFF时为ASCII模式。D1121:PLC的485通信地址
二、当PLC做主机时,只需在程序中加入读取数据的指令(如图3)即可。模块的数据存放地址通常为以H9C41地址开头的寄存器组中,具体请参考模块说明书。
图3
如图所示:
M1:普通辅助继电器,用于启动通信部分程序。
MODRW:PLC内ModBus通信指令,其中K1:连机设备地址、H3:操做数(多笔读)、H9C41:欲读寄存器地址、D0:数据存放来址(RTU)、K4:读取的数据笔数。
M1122:送信要求,当MODRW指令与M1122同时ON时,PLC即开始发送指令。
M1127:通信指令传送接收完毕标志。M1129:通信超时标志,当PLC发出指令后,若在D1129所规定的时间内收不到数据,则M1129会ON。
M1129:通信超时标志,当PLC发出指令后,若在D1129所规定的时间内收不到数据,则M1129会ON。
M1140:回传数据错误标志,当PLC接收到的数据有错误时,M1140会ON。
看见这段程序的功能是在M1被置ON后PLC会发出一个读设备地址为1的以H9C41为起始地址的4个寄存器内的4组数据。且回传数据会存放在D1296-D1131的ModBus通信用寄存器中。当发送完毕且接收完毕后,回传数据被传送至以D100开始的四个寄存器中;并且同时会亮Y0以指示通信成功,当通信超时或通信错误后将熄灭Y0,以表示通信失败。当通信成功或通信错误超时后,程序均会将各标志复位,并把M2置为ON,以便启动后续程序。
当需要通信的模块较多时可采用下面的通信程序。由于程序稍长所以分为三段加以说明:
图4
如图4 在程序初始化时加入了寄存器偏移地址E1、通信设备地址寄存器D50和数据地址寄存器D51的初始赋值。
图5
如图5程序中的MODRW指令中的部分参数由数据寄存器代替,设备地址由D50的内容指定,数据寄存器地址由D51的内容指定。数据传送指令BMOV的目标地址由D100为起始地址加上E1内所指的偏移地址来确定。
图6
如图6程序首先加入了一个扫描延时,如果没有此延时当第一次通信完成以后,PLC扫描一个周期的扏行结果还是M1为ON的状态,所以使程序中的[SET M1122]无效,导致通信停止;另外在RTU通信模式时,由于数据间隔是以时间长度来确定的,所以当一次通信完成后必需延时一定的时间才可以进行下一次通信,延时长度由通信的波特率来确定;波特率越低,延时就越短。延时后将E1的值加10,将D50的值加1后[RST M2] [SET M1] 。然后用设定值和D50内的值比较,如果D50内的值大于设定值则复位D50、E1,并[RST M1]、[RST M2],通信完成。[SET M3]启动后续程序。
关于模块的通信参数设定可参考我公司的相关资料。如有问题请与我公司联系