Mod_Commands Mod_Commands[x].Enable Command[40] INT Modbus命令数组 命令使能 0=不使能 1=始终使能 2=按扫描使能 3=仅使能1次 Mod_Commands[x].EchoReceived Mod_Commands[x].ScanNumber Mod_Commands[x].AddressOffsetin INT INT INT INT INT INT INT INT INT DINT DINT INT[250] INT[250] INT[250] INT[250] DINT DINT 如执行成功,则响应 一个值和Enbale相同 确定从站在哪一次扫描 执行命令 主站数据表字级别 的偏移量 指定从站地址 指定功能码 0-12 缺省为12 0=不偏移 0≠有偏移 0-255 支持1、2、3、4 5、6、15、16 Master Mod_Commands[x].SlaveAddress Mod_Commands[x].FunctionCode Mod_Commands[x].StartingAddress Mod_Commands[x].Numberofpoints Mod_Commands[x].Spare1 Mod_Commands[x].Spare2 起始地址 指定读/写数据数量 根据应用指定 位:1-2000 寄存器:1-120 不用 不用 最大的命令数量 数据寄存器最大长度 主站发送的输出位 主站接收的输入位 输入寄存器 保持寄存器 响应超时时间ms 主站将要执行的扫描数 缺省40 1-65537 默认350 0-40 推荐至少为2 Mod_CommdMax Mod_Data_Array_Max Mod_Data_Coils0 Mod_Data_Contacts1 Mod_Data_InpReg3 Mod_Data_HoldReg4 Mod_Echo_MaxTime Mod_Scan_Preset 复制周期任务
完成上面的动作后,你必须复制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_Commands[0].Enable = 1
·Mod_Commands[0].AddressOffsetinMaster = 2 ·Mod_Commands[0].SlaveAddress = 2 ·Mod_Commands[0].FunctionCode = 1 ·Mod_Commands[0].StartingAddress = 4 ·Mod_Commands[0].Numberofpoints = 32
使能新的程序
最后,在运行程序之前,你必须使能新的程序。为了使能新的程序,你必须改 变控制器标签Mod_Active的值为1。
校验程序并下载运行
一旦你从ModbusMaster.ACD文件中复制了所有部件到你的RSLogix5000工程 中,并对新的控制器标签作了相应的配置,然后使能新的程序后,那么你需要对新 的程序进行校验,然后下载运行。
从站数据地址与主站数据表对应关系
Modbus主站与从站通信,实现位或字类型的数据的读写操作。当进行读操作时,Modbus主站将读取的数据放置到主站的分类数据表中;当进行写操作时,Modbus主站将需要写出的数据也放置到对应的分类数据表中。主站分类数据表作为控制器标签,数据格式为整型数组,有四个,包括:线圈、离散输入、保持