当前位置:
串口通信实例032:单片机和西门子S7-200串口通信
回复 | 人气 | 打印
关育谋 个人主页 给TA发消息 加TA为好友 发表于:2020-01-14 15:21:19 楼主

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


一、实例实现目的:

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

二、通信连接:

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

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

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

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

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

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

3、通信连接:

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

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

三、单片机发送通信程序:

1、所用头文件和简化定义:


2、主函数,包括通信初始化,9600,8,N,1,定时发送:


3、十六进制转ASCII码子函数:


4、延时子函数:


四、西门子S7-200接收通信程序:

1、通信参数设置程序段:波特率9600bps、8位数据位、无校验位、1位停止位、报头为STX、报尾ETX、启动接收完成中断


2、接收数据处理程序:将接收到的2个ASCII码转换为16进制数据后送入Q0.0~Q0.7


3、接收完成中断程序:产生接收完成中断时将接收到的有效数据转存、并启动新一轮的等待接收

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

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

分享到: 关注收藏 邀请回答 回复 举报

关育谋 个人主页 给TA发消息 加TA为好友 发表于:2020-01-14 15:21:36 1楼
 

六、通信测试:

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


  回复 引用 举报
关育谋 个人主页 给TA发消息 加TA为好友 发表于:2020-01-14 15:22:20 2楼
 

程序附加说明:
单片机主站程序在STC12系列单片机实物测试通过;
西门子从站程序在西门子S7-200系列PLC实物测试通过。

  回复 引用 举报
关育谋 个人主页 给TA发消息 加TA为好友 发表于:2020-01-14 15:23:07 3楼
 

单片机主站程序稍加修改即可应用到STC15、STC8单片机上;
西门子从站程序稍加修改即可应用到西门子200 Smart系列PLC上。

  回复 引用 举报
关育谋 个人主页 给TA发消息 加TA为好友 发表于:2020-01-14 15:23:29 4楼
 

附件为单片机主站程序和西门子从站程序高清截图,有需要者可以下载。

  回复 引用 举报
关育谋 个人主页 给TA发消息 加TA为好友 发表于:2020-01-14 15:24:00 5楼
 

最近将会持续分享三菱、西门子、欧姆龙、松下、台达、单片机之间自定义协议串口通信实例。

  回复 引用 举报
关育谋 个人主页 给TA发消息 加TA为好友 发表于:2020-01-14 15:24:15 6楼
 

以往分享的31个实例可以去主页查看下载:
http://home.gongkong.com/profile/?uid=7-9616-2DB563252291

  回复 引用 举报

周点击排行
周回复排行
最新求助