登录
首页 串口通信 串口通信
回帖 发帖
正文

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

点击:687 回复:6

半双工串口通信实例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。
附件 STC单片机主站.jpg
四、台达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发送出去。
附件 台达SA2从站.jpg
五、通信程序高清截图提供下载:
附件:
[本地下载]
最后修改:2020/4/28 11:26:11
20-04-28 11:25
六、通信测试:
硬件接线完成后,将STC12单片机主站通信程序、松下FPX从站通信程序下载到单片机和PLC中,断电再上电,即可实现:
STC12单片机主站数字量输入DI01~DI08控制台达SA2从站数字量输出Y0~Y7;
台达SA2从站数字量输入X0~X7控制STC12单片机主站数字量输出DO01~DO08。
20-04-28 11:26
表情
20-04-28 19:37
你好!你是不是对单片机设计控制比较熟悉的?
我们公司想做一块这样的单片机板,大概要求如下
1:30路普通晶体管输入、6路高速脉冲输入(150K)
3:30路普通继电器输出、6路高速脉冲输出(1000K)
4:2路模拟量信号输入,电压电流可切换(4~20mA/0~10V)
5:2路模拟量信号输出,电压电流可切换(4~20mA/0~10V)
6:2路温控检测
7:1路485通讯
8:1路拓展口(可添加不同功能模块)
20-07-02 10:02

引用 李君硕 在 2020/7/2 10:02:29 发言【内容省略】

可以站内信私聊。
20-07-02 11:41
李先生,抱歉,温控检测我没有做过,其它没有问题;表情
20-07-11 21:36
那按照你的做事方式,你提出条件,我们一起商量,把事情做了。
20-07-14 13:44

工控新闻

更多新闻资讯