发表于:2020/3/1 15:00:47
#0楼
半双工串口通信实例14:欧姆龙CP1H和西门子S7-200串口通信
一、串口通信实例目的:
欧姆龙CP1H主站数字量输入0.00~0.07控制西门子S7-200从站数字量输出Q0.0~Q0.7;
西门子S7-200从站数字量输入I0.0~I0.7控制欧姆龙CP1H主站数字量输出100.00~100.07。
二、通信硬件连接:
1、欧姆龙CP1W-CIF11端子含义:
该插件板后的拨码开关2、3、5、6打到ON位置、4打到OFF位置
SDB+:即为RS485发送\接收+信号
SDA-:即为RS485发送\接收-信号
2、西门子S7-200从站Port0通信口端口含义:
3脚即为RS485发送\接收+信号
8脚即为RS485发送\接收-信号
3、通信硬件连接:
欧姆龙CP1W-CIF11之SDB+ 接 西门子S7-200从站Port0通信口3脚;
欧姆龙CP1W-CIF11之SDA- 接 西门子S7-200从站Port0通信口8脚;
三、欧姆龙CP1H主站通信程序:
1、发送字节计数为4;
2、通信参数:数据位8位、无校验、1位停止位、波特率9600bps、无协议通信、起始符为0x0002、结束符为0x0003;
3、将数字量输入0.00~0.07转换为ASCII码送入发送缓冲区中;
4、初始化开始启动发送;
5、发送完成后等待接收;
6、将接收到的ASCII码数据转换为16进制送入100.00~100.07
四、西门子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、发送完成后启动新的接收
五、通信程序高清截图提供下载:
一、串口通信实例目的:
欧姆龙CP1H主站数字量输入0.00~0.07控制西门子S7-200从站数字量输出Q0.0~Q0.7;
西门子S7-200从站数字量输入I0.0~I0.7控制欧姆龙CP1H主站数字量输出100.00~100.07。
二、通信硬件连接:
1、欧姆龙CP1W-CIF11端子含义:
该插件板后的拨码开关2、3、5、6打到ON位置、4打到OFF位置
SDB+:即为RS485发送\接收+信号
SDA-:即为RS485发送\接收-信号
2、西门子S7-200从站Port0通信口端口含义:
3脚即为RS485发送\接收+信号
8脚即为RS485发送\接收-信号
3、通信硬件连接:
欧姆龙CP1W-CIF11之SDB+ 接 西门子S7-200从站Port0通信口3脚;
欧姆龙CP1W-CIF11之SDA- 接 西门子S7-200从站Port0通信口8脚;
三、欧姆龙CP1H主站通信程序:
1、发送字节计数为4;
2、通信参数:数据位8位、无校验、1位停止位、波特率9600bps、无协议通信、起始符为0x0002、结束符为0x0003;
3、将数字量输入0.00~0.07转换为ASCII码送入发送缓冲区中;
4、初始化开始启动发送;
5、发送完成后等待接收;
6、将接收到的ASCII码数据转换为16进制送入100.00~100.07
四、西门子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、发送完成后启动新的接收
五、通信程序高清截图提供下载:
附件:
[本地下载]基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
联系!腾讯扣扣149034219