半双工串口通信实例 欧姆龙CP1H与西门子S7的串口通讯 (半双工串口通讯)

一、串口通信实例目的

欧姆龙CP1H主站数字量输入0.00~0.07控制西门子S7-200从站数字量输出Q0.0~Q0.7;西门子S7-200从站数字量输入I0.0~I0.7控制欧姆龙CP1H主站数字量输出100.00~100.07。

二、通信硬件连接

1、欧姆龙CP1W-CIF11端子含义

该插件板后的拨码开关2、3、5、6打到ON位置、4打到OFF位置

  • SDB+:即为RS485发送\接收+信号
  • SDA-:即为RS485发送\接收-信号

2、西门子S7-200从站Port0通信口端口含义

  • 3脚即为RS485发送\接收+信号
  • 8脚即为RS485发送\接收-信号

3、通信硬件连接

欧姆龙CP1W-CIF11之SDB+接西门子S7-200从站Port0通信口3脚;欧姆龙CP1W-CIF11之SDA-接西门子S7-200从站Port0通信口8脚;

三、欧姆龙CP1H主站通信程序

  1. 发送字节计数为4
  2. 通信参数:数据位8位、无校验、1位停止位、波特率9600bps、无协议通信、起始符为0x0002、结束符为0x0003
  3. 将数字量输入0.00~0.07转换为ASCII码送入发送缓冲区中
  4. 初始化开始启动发送
  5. 发送完成后等待接收
  6. 将接收到的ASCII码数据转换为16进制送入100.00~100.07

四、西门子S7-200从站通信程序

(一)、主程序

  1. 发送缓冲区首地址为VB0、发送字节计数为4
  2. 通信参数:数据位8位、无校验、1位停止位、波特率9600bps、起始符0x02、结束符0x03
  3. 接收字节计数为4
  4. 启动端口0接收完成中断
  5. 启动端口0发送完成中断
  6. 发送时的起始符和结束符保存至VB1和VB4中
  7. 将8路数字量输入I0.0~I0.7转换为ASCII码保持至VB2和VB3里
  8. 将接收到的2个ASCII码转换为16进制数据送入到Q0.0~Q0.7里
  9. 初始化启动串口通信接收

(二)、接收完成中断

  1. 接收完成转存数据,将接收到的数据保持至VB41、VB42里
  2. 启动定时器中断

(三)、定时器中断

  1. 开启发送

(四)、发送完成中断

  1. 发送完成后启动新的接收

五、通信程序高清截图提供下载

正在下载,请等待……

附件需0积分!

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论