




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Logix5000控制器Modbus RTU主从通信一、适用的控制器Logix5000控制器通过自带的串行口可以实现Modbus RTU主从通信。这里提到的Logix5000控制器,包括:ControlLogix控制器(1756)CompactLogix控制器(1769)FlexLogix控制器(1794)当此串行口组态为用户模式实现Modbus RTU主从通信时,那么此端口不能再用于编程连接。二、机械接口与功能特性Logix5000控制器自带的串行口接口方式为常见的DB-9,RS232C,接口功能特性如下:三、接线方式1、接入RS232-Modbus通信当需要将Logix5000控制器接入RS232-Modbus实现点到点Modbus通信,可以订购以下电缆实现Logix5000控制器与通信设备的连接:1747-CP3(用于SLC系列,使用后控制器盖无法关闭)1756-CP3(用于Logix5000控制器)这两种电缆都可以实现RS232C连接,长度为3米。当然,你也可以自制通信电缆来实现Modbus通信,但长度限制为15米。接线方法如下:2、接入RS485-Modbus通信可以通过AIC+高级接口转换器(1761-NET-AIC)将Logix5000控制器连接到RS485网络实现Modbus一主多从通信。接线方法如下:四、波特率和通信距离Logix5000控制器串行口的通信波特率有110bps、300 bps、600 bps、1200 bps、2400 bps、4800 bps、9600 bps、19200 bps、38400 bps。默认为19200 bps。通信距离与接口转换器质量、电缆材质和线径、波特率、从站数量和现场环境有关,遵循Modbus协议规定。五、支持的功能码Logix5000控制器串行口实现Modbus通信仅支持以下功能码:六、需要准备的软件RSLogix5000 V17(PLC编程软件)RSLinx V2.54(PLC通信软件)ModbusMaster.ACD例程(从AB官方网站下载)ModbusSlave.ACD例程(从AB官方网站下载)七、Modbus RTU主站通信ModbusMaster.ACD文件帮助你使用Logix5000控制器作为Modbus主站,ACD文件包括:11个控制器标签1个周期性任务2个用户自定义数据类型使用Logix5000控制器作为Modbus主站,你必须完成下面的步骤:1、从ModbusMaster.ACD文件中复制用户自定义数据类型到你的RSLogix5000工程。2、从ModbusMaster.ACD文件中复制控制器标签到你的RSLogix5000工程。3、从ModbusMaster.ACD文件中复制周期任务到你的RSLogix5000工程。4、配置控制器通讯端口。5、配置新的控制器标签。6、使用新的程序。7、校验工程并下载到控制器。复制用户自定义数据类型1、启动RSLogix5000。2、打开ModbusMaster.ACD文件。3、在另一个RSLogix5000窗口中,打开你的RSLogix5000工程。4、复制用户自定义数据类型:Mod_Command_StructureMod_Status5、粘贴用户自定义数据类型到你的RSLogix5000工程。6重复上面的步骤完成第二个用户自定义数据类型的复制和粘贴。复制控制器标签1、在ModbusMaster.ACD文件中复制所有控制器标签。2将复制的所有控制器标签粘贴到你的RSLogix5000工程。3至此,所有的11个控制器标签都已经复制到你的RSLogix5000工程。下面是这11个控制器标签的描述:标签名称标签类型描述有效值Mod_ActiveBOOLModbus通讯使能位0=不使能1=使能Mod_Cmd_NumberDINT有效的命令数量1-40Mod_CommandsCommand40Modbus命令数组 Mod_Commandsx.EnableINT命令使能0=不使能1=始终使能2=按扫描使能3=仅使能1次 Mod_Commandsx.EchoReceivedINT如执行成功,则响应一个值和Enbale相同 Mod_Commandsx.ScanNumberINT确定从站在哪一次扫描执行命令0-12缺省为12 Mod_Commandsx.AddressOffsetinMasterINT主站数据表字级别的偏移量0=不偏移0有偏移 Mod_Commandsx.SlaveAddressINT指定从站地址0-255 Mod_Commandsx.FunctionCodeINT指定功能码支持1、2、3、45、6、15、16 Mod_Commandsx.StartingAddressINT起始地址根据应用指定 Mod_Commandsx.NumberofpointsINT指定读/写数据数量位:1-2000寄存器:1-120 Mod_Commandsx.Spare1INT不用 Mod_Commandsx.Spare2INT不用Mod_CommdMaxDINT最大的命令数量缺省40Mod_Data_Array_MaxDINT数据寄存器最大长度1-65537Mod_Data_Coils0INT250主站发送的输出位Mod_Data_Contacts1INT250主站接收的输入位Mod_Data_InpReg3INT250输入寄存器Mod_Data_HoldReg4INT250保持寄存器Mod_Echo_MaxTimeDINT响应超时时间ms默认350Mod_Scan_PresetDINT主站将要执行的扫描数0-40推荐至少为2复制周期任务 完成上面的动作后,你必须复制ModTask任务和相应的Modbus_Interface程序到你的工程。1、从ModbusMaster.ACD文件中复制ModTask任务2、粘贴ModTask任务到你的RSLogix 5000工程。3、从ModbusMaster.ACD文件中复制Modbus_Interface程序。4、将Modbus_Interface程序粘贴到你的RSLogix 5000工程中的ModTask任务中。配置控制器通讯端口 完成以上的步骤后,下一步就是配置控制器通讯端口。1、访问控制器属性2、配置Serial Port(串行口)选项卡。3、配置User Protocol(用户协议)选项卡,如果需要。配置新的控制器标签 一旦你的控制器标签被复制到你的RSLogix 5000工程,你需要配置下表中的标签: 配置上述标签之前,确保你已经理解如何从主站数据表和从站之间读写数据。Modbus主站数据表标签数组 Modbus主站数据表有四个标签组:线圈数据(Mod_Data_Coils0标签)数据以位格式从读或写入这个数组。触点数据(Mod_Data_Contacts1标签)数据以位格式写入这个数组。输入寄存器数据(Mod_Data_InpReg3标签)数据以字格式写入这个数组。保持寄存器数据((Mod_DataHoldReg4标签)数据以字格式从读或写入这个数组。 在这个解决方案中,Mod_Commands标签根据你的配置,Modbus主站:使用四个数组中的一个(决定于功能码)读/写数据从/到一个指定的位置(决定于地址偏移和起始地址)读/写一个指定的数据量(决定于number of points)读数据(写到一个从站)或写数据(从一个从站读)到指定位置。例子如果你希望以下命令被执行:命令总是被使能主站从线圈数据表中字2开始写入数据从Modbus从站节点2读取线圈数据主站在线圈数据表中字2从位3开始写入从一个从站读取32位线圈数据配置通信命令标签如下:Mod_Commands0.Enable = 1Mod_Commands0.AddressOffsetinMaster = 2Mod_Commands0.SlaveAddress = 2Mod_Commands0.FunctionCode = 1Mod_Commands0.StartingAddress = 4Mod_Commands0.Numberofpoints = 32使能新的程序 最后,在运行程序之前,你必须使能新的程序。为了使能新的程序,你必须改变控制器标签Mod_Active的值为1。校验程序并下载运行 一旦你从ModbusMaster.ACD文件中复制了所有部件到你的RSLogix5000工程中,并对新的控制器标签作了相应的配置,然后使能新的程序后,那么你需要对新的程序进行校验,然后下载运行。从站数据地址与主站数据表对应关系Modbus主站与从站通信,实现位或字类型的数据的读写操作。当进行读操作时,Modbus主站将读取的数据放置到主站的分类数据表中;当进行写操作时,Modbus主站将需要写出的数据也放置到对应的分类数据表中。主站分类数据表作为控制器标签,数据格式为整型数组,有四个,包括:线圈、离散输入、保持寄存器和输入寄存器,如下图所示:Mod_Data_Coils0数据表为线圈数据,适用于功能码1、5和15。Mod_Data_Contacts1数据表为离散输入数据,适用于功能码2。Mod_Data_HoldReg4数据表为保持寄存器数据,适用于功能码3、6和16。Mod_Data_InpReg3数据表为输入寄存器数据,适用于功能码4。当Modbus主站从某些从站读取到位或字类型的数据时,它们被放置到了哪里?怎么让这些数据像我们希望的那样在分类数据表中放置?当Modbus主站要向某些从站写入位或字类型的数据时,它们应该被放置到哪里?如何准确地将数据写入到从站的正确位置?在这里要提到命令中的两个标签:Mod_Commandsx.AddressOffsetinMaster和Mod_Commands0.StartingAddress。前一个表示在主站数据表的地址偏移,后一个表示相应从站的起始地址。两个标签都是以字为单位进行操作的。实例1:读取5个离散输入状态(功能码2)情况一:Mod_Commandsx.AddressOffsetinMaster=0Mod_Commands0.StartingAddress=0命令设置如下:主站读取的离散量状态放置位置图,如下:在这种情况下,从站数据没有任何偏置,主站数据表的数据也没有偏移。情况二:Mod_Commandsx.AddressOffsetinMaster=2Mod_Commands0.StartingAddress=0命令设置如下:主站读取的离散量状态放置位置图,如下:在这种情况下,从站数据没有任何偏置,主站数据表的数据偏移2个字。情况三:Mod_Commandsx.AddressOffsetinMaster=0Mod_Commands0.StartingAddress=3命令设置如下:主站读取的离散量状态放置位置图,如下:在这种情况下,从站数据偏置3位,主站数据表的数据偏移3位。情况三:Mod_Commandsx.AddressOffsetinMaster=2Mod_Commands0.StartingAddress=3命令设置如下:主站读取的离散量状态放置位置图,如下:在这种情况下,从站数据偏置3位,主站数据表的数据偏移2个字3位。实例2:向从站写5个保持寄存器(功能码16)情况一:Mod_Commandsx.AddressOffsetinMaster=0Mod_Commands0.StartingAddress=0命令设置如下:主站向从站写保持寄存器数据位置如下:在这种情况下,从站保持寄存器不偏移,主站保持寄存器数据表也不偏移。情况二:Mod_Commandsx.AddressOffsetinMaster=2Mod_Commands0.StartingAddress=0命令设置如下:主站向从站写保持寄存器数据位置如下:在这种情况下,从站保持寄存器不偏移,主站保持寄存器数据表偏移2个字。情况三:Mod_Commandsx.AddressOffsetinMaster=0Mod_Commands0.StartingAddress=3命令设置如下:主站向从站写保持寄存器数据位置如下:在这种情况下,从站保持寄存器偏移3个字,主站保持寄存器数据表偏移3个字。情况四:Mod_Commandsx.AddressOffsetinMaster=2Mod_Commands0.StartingAddress=3命令设置如下:主站向从站写保持寄存器数据位置如下:在这种情况下,从站保持寄存器偏移3个字,主站保持寄存器数据表偏移5个字。八、Modbus RTU从站通信ModbusSlave.ACD文件帮助你使用一个Logix5000控制器作为一个Modbus从站。ACD文件包含:10个控制器标签1个周期性任务使用Logix5000控制器作为Modbus从站,你必须完成下面的步骤:1、 从ModbusSlave.ACD文件复制控制器标签到你的RSLogix5000工程。2、 从ModbusSlave.ACD文件复制ModTask任务到你的RSLogix5000工程。3、 配置新的控制器标签。4、 使能新的程序。5、 校验程序并下载运行。复制控制器标签1、 启动RSLogix5000。2、 打开ModbusSlave.ACD文件。3、 另外启动一个RSLogix5000,打开你的工程。4、 从ModbusSlave.ACD文件中复制控制器标签。5、 粘贴控制器标签到你的RSLogix5000工程。6、 粘贴完成后,如图所示:7、 新的控制器标签的说明复制ModTask任务1、 从ModbusSlave.ACD文件中复制ModTask任务。2、 将ModTask任务粘贴到你的RSLogix5000工程中。3、 从ModbusSlave.ACD文件中复制Modbus_Slave程序4、 将Modbus_Slave程序粘贴到你的RSLogix5000工程中。使能新的程序 最后,在运行程序之前,你必须使能新的程序。为了使能新的程序,你必须改变控制器标签Mod_Active的值为1。校验程序并下载运行 一旦你从ModbusSlave.ACD文件中复制了所有部件到你的RSLogix5000工程中,并对新的控制器标签
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2017正规租房合同范本
- 植物学奥赛题目及答案
- 人员培训与开发试题及答案(一)
- 人教版高一上学期语文期末考试试卷(含答案)
- 直营店招聘合同范本
- 法律咨询服务合同
- 俄语试卷题目及答案
- 健康保障考试试题题库及答案
- 2025年实验幼儿园教职工考核量化细则
- CN222960731U 环形跟踪上料站 (温州优匠工品科技有限公司)
- 土石方工作安全培训课件
- 人民医院开展“改善就医感受提升患者体验”主题活动实施方案
- 2025中华医学会肺癌临床诊疗指南解读课件
- 神经外科专科建设与发展
- 考研英语二语法总结
- 银行科技安全审计方案(3篇)
- 2025标准建设银行贷款合同范本
- 校家社培训家长课件
- 2025年北京市中考道德与法治试卷试题真题(含答案详解)
- 产品偏离许可管理办法
- 食品行业标准化管理体系的构建研究
评论
0/150
提交评论