新闻中心

EEPW首页>嵌入式系统>设计应用> 由RS-232串口到PROFIBUS-DP总线的转换接口设计

由RS-232串口到PROFIBUS-DP总线的转换接口设计

作者: 时间:2014-01-22 来源:网络 收藏

其中,有以下三个部分需要重点说明。

  (1)SPC3初始化

  微处理器对SPC3的初始化包括:屏蔽不允许的中断;设置用户WatchDog值;将ID号、从站地址赋给SPC3对应寄存器,初始化方式寄存器;自定义各buffer长度,初始化spc3中各buffer(地址、长度赋给对应参数寄存器,并将buffer区清0);从read-cfg-buffer中读入配置数据计算三个Din-buffer和三个Dout-buffer各自的实际长度及地址;获取三个Din-buffer中空闲的一个,其地址赋user_input_buffer_ptr_fb;获取两个诊断buffer中空闲的一个地址赋user_diag_buffer_ptr_fb,置诊断标志user_diag_flag_fb=TRUE;从StatusRegister取波特率赋;给处理器参数wd_baud_ctrl_val赋值。考虑到在实际的系统运行中,一般不需要更改从站地址,初始化中将更改站地址标志置为FALSE。

  (2)数据通信过程

  当参数化、配置完成后状态机进入数据交换状态。微处理器根据SPC3中断寄存器的状态对SPC3接收到的主站发送的输出数据进行转存,同时组织需通过SPC3发送给主站的数据,并根据要求组织外部诊断等。

  在通信程序设计中,分别设有串口接受中断、发送中断程序来处理串口数据的接受和发送。由于PROFIBUS侧的数据更新速率远远快于RS-232侧的数据更新的速率,为保证由PROFIBUS侧输入的数据能一次性的整块传送到RS-23

  2侧,需在程序中加一数据缓冲区来临时存储PROFIBUS侧输入的数据。在对数据缓冲区中的数据的处理期间,数据缓冲区加锁,以防止数据缓冲区中数据更新,只有一次处理完成,数据缓冲区才解锁,允许再次更新其中数据。

在每一次程序循环中,程序一次性的将整块PROFIBUS侧的输入数据读入一数据缓冲区中并将其加锁,进行数据处理,输出到RS-232侧的设备中,接受RS-232侧的返回信息;如果数据缓冲区中的PROFIBUS侧的输入数据数据处理完毕,数据缓冲区解锁,将RS-232侧的输入数据及信息传送到PROFIBUS侧。依次再循环。

  (3)在主站配置中要注意,虽然本产品的I/O数量可根据PROFIBUS规范任意设定,但配置报文的长度是固定的。

  结束语

  PROFIBUS是世界上最著名的工业现场总线之一,并已为愈来愈多的国内外用户所接受和采用。本总线桥产品的开发,使用户可以方便地将具有RS-232接口的传统仪器设备集成到PROFIBUS总线系统,成为一种符合PROFIBUS总线协议的新产品。

西门子plc相关文章:西门子plc视频教程



上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭