半双工串口通信实例35:STC12单片机和台达SA2串口通信 点击:641 | 回复:2



关育谋

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

半双工串口通信实例35:STC12单片机和台达SA2串口通信

一、串口通信实例目的:

STC12单片机主站数字量输入DI01~DI08控制台达SA2从站数字量输出Y0~Y7;

台达SA2从站数字量输入X0~X7控制STC12单片机主站数字量输出DO01~DO08。

二、通信硬件连接:

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

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

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

2、台达SA2从站COM2通信口端子含义:

A:即为RS485发送\接收+信号;

B:即为RS485发送\接收-信号。

3、通信硬件连接:

STC12单片机主站串口2的3脚 接 台达SA2从站之COM2的A;

STC12单片机主站串口2的8脚 接 台达SA2从站之COM2的B。

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

1、发送字节计数为4;

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

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

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

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

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


四、台达SA2从站通信程序:

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

2、台达SA2从站8路输入X0~X7转换为ASCII码保存至D1、D2寄存器里;

3、台达SA2从站程序RS指令发送缓冲区首地址D1、发送字节计数为2、接收缓冲区首地址D11、接收字节计数为2;

4、初始化等待接收,接收完成标志位置位后,将接收到的数据保持至D41、D42寄存器里,转换为16进制数据送入三菱FX3U主站数字量输出Y0~Y7;

5、接收完成后,延时10ms开始发送,将台达SA2从站8路数字量输入X0~X7发送出去。

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

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



楼主最近还看过



关育谋

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

六、通信测试:
硬件接线完成后,将STC12单片机主站通信程序、松下FPX从站通信程序下载到单片机和PLC中,断电再上电,即可实现:
STC12单片机主站数字量输入DI01~DI08控制台达SA2从站数字量输出Y0~Y7;
台达SA2从站数字量输入X0~X7控制STC12单片机主站数字量输出DO01~DO08。

关育谋

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

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

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



热门招聘
相关主题

官方公众号

智造工程师