产品线频道   >
机器人| PLC| 低压变频器| DCS| 人机界面| 现场总线| 运动控制| 高压变频器| 电机| PAC| 现场仪表| PC-BASED| 机械传动| 传感器

PC/PCC集散控制系统多机实时通信的实现(2)

  • 作者:不详
  • 阅读人次:
  • 发布时间:2012-05-30

1.2  仲裁电路结构与工作原理

由于上位机(PC)的发送端为一对多广播式发送, 所以上位机发送的数据帧所有的下位机( PCC)均可以接收到, 至于数据帧由哪一台下位机接收则由通信协议中的目的地址ID判定。但对于下位机,其发送端为多对一连接, 如直接将其相连, 则会发生数据冲突。图3 所示的仲裁电路可以确保每次只有一台下位机能够发送数据到上位机的数据接收线上。应注意的是, RS-232 接口使用的高低电平与TTL 中的高、低电平不同, 需进行电平转换。

以三路PCC 为例说明。各下位机初始化时均将其DTR 设置为低电平, 因为与门1 、2 、3均有低电平输入, 所以初始化后A、B、C 三点均为低电平, 并且与门4 、5 、6 也一直输出低电平。假设下位机1 是第一台要发送数据的下位机, 发送前先将自己的DTR 端口设置为高电平, 而此时B、C 两点仍为低电平, 经反相器后变为高电平输入与门1 , 所以与门1 的输出A 点电平也为高, 此时数据发送服务程序读取数据发送查询端(DSR) 电平状态(即A 点电平状态) 为“1”, 说明总线未被占用,处于空闲状态。由于下位机1 的DTR 端口已被置高, 且查询得知总线空闲, 则其DTR 端口不变仍然设置为高电平, 这样下位机1 就占用了总线, 可以开始发送数据。数据由TXD 端经过与门4 后输入上位机的RXD 端, 由于此时A 点电平为高, 保证了数据经过与门4 后没有失真直接上传至上位机, 同时A 点电平经反相器后变为低电平输入与门2 、3 , 故B、C 两点电平为低, 与门5 、6 始终输出低电平, 避免了数据冲突。当下位机1 数据发送完毕后将其DTR 端口置低, A 点电平变低, 释放了总线, 又回到初始化后的状态, 可以供给下一个要发送数据的下位机使用。假设下位机1 发送数据的过程中, 下位机2 也要发送数据, 同样先将自己的DTR 端口置高, 但此时A 点电平为高, 经反相器后输入与门2 , 所以与门2 的输出B 点仍为低电平, 程序读取DSR 端口电平(即B 点电平) 为“0”, 说明总线已被占用, 因此将DTR 端口重新置低, 等待下次查询, 这样就避免了两台下位机同时上传数据。下一个查询周期未到时, 程序持续查询是否有更高优先级的任务标志位置位, 有则调用相应的任务服务程序, 没有则重复查询各标志位直至下一个查询周期到来; 下一个查询周期到来后,重复一次置高DTR 端口、读取DSR 端口的过程以判断总线状态, 空闲则DTR 端口保持高电平占用总线并发送数据, 否则置低DTR 端口, 等待下次查询。下位机2 重复上述过程直至查询到总线空闲并占用总线以发送数据。

不同类型的数据发送其优先级也不同, 数据发送任务的优先级越高, 查询周期就越短, 保证了系统通信的实时性。由于各发送方在发送时间上存在差异, 首先查询到总线空闲的下位机得以使用数据总线, 在发送数据前已将其DTR 由低电平转为高电平, 仲裁电路将总线状态转为忙碌, 避免其余下位机同时使用总线造成数据冲突。当数据传输结束则将DTR 转为低电平, 仲裁电路将总线状态转为空闲。由于PC 为一对多发送, 下位机通过仲裁机制锁死总线只是保证同一时刻数据上传总线上只有一台PCC 向PC 发送数据, 并不会影响PC 通过数据下行总线发送数据到各PCC , 从而实现了总线的合理分配, 解决了数据冲突问题。

2  多机实时通信的软件实现

2.1  RS-232 的数据传输格式

包含一个起始位、8 个数据位以及一个校验位和停止位, 数据位为所发送的对象, 而数据帧则是多个字节按一定格式打包而成的一个字节序列, 以字节流形式发送。

2.2  帧驱动器

帧驱动器是贝加莱公司为实现与第三方设备之间进行通信而设计的软件工具箱, 存放在PCC 应用程序ROM 中, 完全控制了通信的硬件部分而不改变帧的形式。通常数据通信, 对数据进行读写操作, 用户必须对端口的细节了解很清楚, 才能通过编程实现对接口各管脚进行操作。而帧驱动器将这些操作集中起来, 用户只需要了解第三方产品的通信协议细节(包括信息帧格式的组成等) , 并用帧驱动器写出与第三方产品通信协议一样的通信规约,就可方便地实现PCC 与第三方产品之间的通信。同时, 帧驱动器支持RS-232 、RS-422 、RS-485 、CAN 等接口, 因此软件中只要稍微作些改动, 便可支持不同的接口进行数据通信, 具有可扩展性和广泛的应用前景。

2.3  通信协议制定

PC 和PCC 以及PCC 之间能进行通信首先需要制定一个合理的通信协议, 才能进行通信。为此本着充分利用资源、结构简单、可扩充性强的原则定义了数据帧的结构。
 

分享到
【文章来自米尔自动化网http://www.mirautomation.com/pages/2012-05/s36170.shtml
本文标签: PC/PCC   集散控制系统   多机实时通信  
 三菱电机

热门内容:
工业机器人 S7-200 S7-300 PLC编程入门 自动化产品 DCS控制系统 变频电机 工控机 可编程自动化控制器 温度传感器 HMI