串口通信实例012:西门子S7-200和单片机串口通信 点击:566 | 回复:5



关育谋

    
  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2019-12-16 12:51:45
楼主

串口通信实例012:西门子S7-200和单片机串口通信

一、实例实现目的:

西门子S7-200的8路数字量输入I0.0~I0.7控制单片机的8路数字量输出DO01~DO08。

二、通信连接:

1、西门子S7-200 Port0通信口:

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

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

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

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

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

3、通信连接:

西门子S7-200 Port0口3脚 接 单片机串口2的3脚;

西门子S7-200 Port0口8脚 接 单片机串口2的8脚。

三、西门子S7-200发送通信程序:

1、通信初始化,9600,8,N,1,起始符为STX、结束符为ETX:



2、数字量输入处理,将西门子S7-200的8路数字量输入I0.0~I0.7共计1个字节转换为ASCII码送入发送缓冲区


3、初始化延时:


4、定时发送:


5、定时中断子程序:


四、单片机通信程序:

1、单片机通信程序所用的头文件,如下所示:


2、单片机通信程序所用的简化定义,如下所示:


3、单片机通信程序所用的函数定义,如下所示:


4、单片机通信程序所用的变量定义,如下所示:


5、单片机通信程序主函数,如下所示:


6、单片机通信程序延时子函数,如下所示:


7、单片机通信程序ASCII码转16进制子函数,如下所示:

五、通信程序图片提供下载:

正在下载,请等待……
下载附件需0积分!




关育谋

  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2019-12-16 12:52:10
1楼

六、通信测试:

硬件接线完成后,分别将西门子S7-200通信程序、单片机通信程序下载到PLC和单片机中,断电再次上电,此时即可实现西门子S7-200的输入I0.0~I0.7控制单片机的输出P0.0~P0.7


关育谋

  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2019-12-16 12:53:13
2楼

特别说明:单片机程序在STC12系列单片机测试通过,稍加修改亦可应用到STC89、STC90、STC10、STC11、STC15、STC8单片机上。

关育谋

  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2019-12-16 12:53:55
3楼

西门子程序在S7-200 CPU224XP测试通过,稍加修改亦可应用至200 Smart系列PLC上。

关育谋

  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2019-12-16 12:54:30
4楼

附件里为PLC程序和单片机程序高清截图,大家有需要可以下载,无积分限制。

关育谋

  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2019-12-16 12:55:03
5楼

大家对此程序有问题,可以随时跟帖交流。我看到后都会回复。


热门招聘
相关主题

官方公众号

智造工程师