半双工串口通信实例 西门子S7 (半双工串口通信)

目的:

西门子 S7-200 主站数字量输入 I0.0~I0.7 控制西门子 S7-200 从站数字量输出 Q0.0~Q0.7; 西门子 S7-200 从站数字量输入 I0.0~I0.7 控制西门子 S7-200 主站数字量输出 Q0.0~Q0.7。

通信硬件连接:

1. 西门子 S7-200 主站 Port0 通信口端口含义:

  • 3 脚:RS485 发送/接收 + 信号
  • 8 脚:RS485 发送/接收 - 信号

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

  • 3 脚:RS485 发送/接收 + 信号
  • 8 脚:RS485 发送/接收 - 信号

3. 通信硬件连接:

西门子 S7-200 主站 Port0 通信口 3 脚接西门子 S7-200 从站 Port0 通信口 3 脚;
西门子 S7-200 主站 Port0 通信口 8 脚接西门子 S7-200 从站 Port0 通信口 8 脚。

西门子 S7-200 主站通信程序:

  1. 发送字节计数为 4
  2. 通信参数:数据位 8 位、无校验、1 位停止位、波特率 9600bps、自由口通信
  3. 接收字节计数为 4
  4. 启动接收完成中断、发送完成中断
  5. 发送起始符为 0x02、结束符为 0x03
  6. 将西门子 S7-200 数字量输入 I0.0~I0.7 转换为 ASCII 码保持至 VB2、VB3 里
  7. 接收到的 2 个 ASCII 码转换为 16 进制送入西门子 S7-200 主站输出里
  8. 初始化启动发送
  9. 产生发送完成中断后,开启接收
  10. 产生接收完成中断后,开启定时中断
  11. 产生定时中断后,开启新一轮发送

西门子 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. 发送完成后启动新的接收

通信程序高清截图

下载高清截图

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

相关阅读

添加新评论