半双工串口通信实例32:STC12单片机和西门子S7-200串口通信 点击:657 | 回复:7



关育谋

    
  • [版主]
  • 精华:5帖
  • 求助:22帖
  • 帖子:738帖 | 5640回
  • 年度积分:68
  • 历史总积分:84034
  • 注册:2004年5月28日
发表于:2020-04-17 15:44:10
楼主

半双工串口通信实例32:STC12单片机和西门子S7-200串口通信

一、串口通信实例目的:

STC12单片机主站数字量输入DI01~DI08控制西门子S7-200从站数字量输出Q0.0~Q0.7;

西门子S7-200从站数字量输入I0.0~I0.7控制STC12单片机主站数字量输出DO01~DO08。

二、通信硬件连接:

1、单片机主站串口2通信口端子含义:

3脚:即为RS485发送\接收+信号

8脚:即为RS485发送\接收-信号

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

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

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

3、通信硬件连接:

STC12单片机主站串口2的3脚 接 西门子S7-200从站Port0通信口3脚;

STC12单片机主站串口2的8脚 接 西门子S7-200从站Port0通信口8脚。

三、STC12单片机主站通信程序:

1、发送字节计数为4;

2、通信参数:数据位8位、无校验、1位停止位、波特率9600bps、起始符为0x02、结束符为0x03;

3、将数字量输入DI01~DI08转换为ASCII码送入发送缓冲区中;

4、初始化开始启动发送;

5、发送完成后等待接收;

6、将接收到的ASCII码数据转换为16进制送入DO01~DO08.


四、西门子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积分!



楼主最近还看过



关育谋

  • [版主]
  • 精华:5帖
  • 求助:22帖
  • 帖子:738帖 | 5640回
  • 年度积分:68
  • 历史总积分:84034
  • 注册:2004年5月28日
发表于:2020-04-17 15:44:43
1楼

六、通信测试:

硬件接线完成后,将STC12单片机主站通信程序、西门子S7-200从站通信程序下载到单片机和PLC中,断电再上电,即可实现:

STC12单片机主站数字量输入DI01~DI08控制西门子S7-200从站数字量输出Q0.0~Q0.7;

西门子S7-200从站数字量输入I0.0~I0.7控制STC12单片机主站数字量输出DO01~DO08。


关育谋

  • [版主]
  • 精华:5帖
  • 求助:22帖
  • 帖子:738帖 | 5640回
  • 年度积分:68
  • 历史总积分:84034
  • 注册:2004年5月28日
发表于:2020-04-17 15:45:03
2楼

主站程序附加说明:
主站程序在STC12单片机实物测试通过,稍加修改即可应用到其他单片机实物上。

关育谋

  • [版主]
  • 精华:5帖
  • 求助:22帖
  • 帖子:738帖 | 5640回
  • 年度积分:68
  • 历史总积分:84034
  • 注册:2004年5月28日
发表于:2020-04-17 15:45:41
3楼

从站程序附加说明:
从站程序在西门子S7-200实物测试通过,稍加修改即可应用到西门子S7-200 Smart实物上。

关育谋

  • [版主]
  • 精华:5帖
  • 求助:22帖
  • 帖子:738帖 | 5640回
  • 年度积分:68
  • 历史总积分:84034
  • 注册:2004年5月28日
发表于:2020-04-17 15:46:37
4楼

附件为STC12单片机和西门子S7-200从站通信程序截图,有需要者可以直接下载!大家有问题也可以随时跟帖交流。

关育谋

  • [版主]
  • 精华:5帖
  • 求助:22帖
  • 帖子:738帖 | 5640回
  • 年度积分:68
  • 历史总积分:84034
  • 注册:2004年5月28日
发表于:2020-04-17 15:46:54
5楼

最近一段时间将会持续分享三菱FX3U、西门子S7-200、欧姆龙CP1H、松下FPX、台达SA2、STC12单片机之间半双工串口通信实例

有需要下载者,可以去主页选择下载:
http://home.gongkong.com/Topic/?uid=172273


一劫倾城

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 15回
  • 年度积分:4
  • 历史总积分:95
  • 注册:2018年12月08日
发表于:2020-04-18 16:56:52
6楼

这么好的文章为什么没人回复。。。

关育谋

  • [版主]
  • 精华:5帖
  • 求助:22帖
  • 帖子:738帖 | 5640回
  • 年度积分:68
  • 历史总积分:84034
  • 注册:2004年5月28日
发表于:2020-04-18 17:02:24
7楼


引用 一劫倾城 的回复内容: 这么好的文章为什么没人回复。。。

-------------------------

感谢您的回复,有问题可以跟帖交流。


热门招聘
相关主题

官方公众号

智造工程师