文档介绍:ABSLC500 通讯指令的灵活运用摘要根据 AB DF1 通讯协议的特点,在进行点(主站)对多点(从站)通讯时, 主站只能通过程序显式调用, 以轮循扫描的方式, 对各个分站进行依次逐个通讯。但随着通讯分站数量增加, 只能不断增加 MSG 指令的数量, 使得程序反应时间和扫描周期同步线性增长, 而在这一过程中, 由于异步执行问题,还存在 MSG 指令占用队列,相互影响的情况。针对这一问题, 本文通过改变 MSG 控制字,实现程序复用;并通过队列( FIFO )的应用, 实现系统对通讯操作的自动调度,实现了缩短系统响应时间的目的。【关键词】 AB SLC500 通讯指令灵活运用 1 引言在应用单主从网络通讯的控制系统中, 随着节点数量增多、导致网络通讯负荷同步上升, 出现了系统数据更新周期延长, 无法满足控制系统的数据采集实时性、操作安全性要求的情况。针对这一问题, 本文通过对工程实例中通讯程序的优化, 实现了对控制系统通讯性能、功能的改进; 并且通过对通讯指令的技术处理, 简化了程序编写。 2 SLC500 通讯指令简介 MSG 指令用于在 AB DF1 通讯网络上的节点之间传送数据。 RSLogix 500 的通讯体系结构 RSLogix 500 的通讯体系结构由三个基本的部分组成: (1 )梯形图扫描( Lader Scan )。(2 )通讯缓冲区( Communications Buffers )。(3 )通讯队列( Communication Queue )。当 MSG 指令使能, 指定的信息和数据被传送到通讯缓冲区内。处理器继续扫描梯形图程序的其他部分。信息被异步处理。 RSLogix 500 内共 4 个硬件通讯缓冲区。当四个缓冲区全满,新的通讯指令又要被处理时, 通讯信息放在软件通讯队列中( 注意, 不是要传送的数据) 。通讯队列是软件存储空间,存储未被分配缓冲区的通讯指令。操作顺序是先进先出( FIFO ) ,缓冲区和队列都是宿主程序自动运行的。通讯缓冲区被自动分配和释放, 当缓冲区满时, 后到请求则自动进入队列; 队列满时,程序通讯请求自动忽略。因为通讯队列中仅存储 MSG 索引, 所以如果当通讯指令从队列中移出时,处理器实际发送的数据和程序设定可能不同。 RSLogix 500 MSG 指令介绍在编程时,把 MSG 指令块放入程序之后,需确定如下参数。 Read/Write :读/ 写选择。 Target Device :从站设备类型。 Local/Remote :本地/ 远程选择。 Control Block :用户文件地址, 用于存储状态位,目标文件地址, 及与通讯指令有关的其它数据。 Control Block Length :控制块长度为 14 个元素,此区域不能改变。 3 目标控制系统结构以下为单主从多点的通讯方式构建控制系统。中央控制室装有主 CUP (主站) ,就地设备分别配置独立 CPU (从站) 。控制系统需完成集中监视并控制就地从站的功能。 网络结构图 控制方式主站 CPU 通过 MSG 指令, 读取就地 PLC 系统数据, 并发出指令, 启停就地设备。 程序分析如果对每个站都使用前述所示的通讯设置, 每个站按配置最少一个读 MSG 和一个写 MSG 通讯计算。那么在主站