串口通信实例017:欧姆龙CP1H和台达SA2串口通信 点击:721 | 回复:4



关育谋

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

串口通信实例017:欧姆龙CP1H和台达SA2串口通信


一、实例实现目的:

欧姆龙CP1H的8路数字量输入0.00~0.07控制台达SA2的8路数字量输出Y0~Y7。

二、通信连接:

1、欧姆龙CP1W-CIF11端子含义:

该插件板后的拨码开关2、3、5、6打到ON位置、4打到OFF位置

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

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

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

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

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

3、通信连接:

欧姆龙CP1W-CIF11之SDB+ 接 台达SA2之COM2的A;

欧姆龙CP1W-CIF11之SDA- 接 台达SA2之COM2的B。

三、欧姆龙CP1H发送通信程序:

1、通信初始化,9600,8,N,1,起始符为0x0002、结束符为0x0003:


2、数字量输入处理,将欧姆龙CP1H的8路数字量输入0.00~0.07共计1个字节转换为ASCII码送入发送缓冲区


3、初始化延时:


4、定时发送:


四、台达SA2通信程序:

1、通信参数设置程序段:波特率9600bps、8位数据位、无校验位、1位停止位、报头为STX、报尾为ETX、8位数据模式


2、RS指令程序段:发送缓冲区首地址为D1、发送字节计数为0、接收缓冲区首地址为D11、接收字节计数为2


3、接收完成理程序段:接收完成后将接收到的2个字节数据转存至D41、D42


4、接收数据出来程序段:将保持在D41、D42低8位的两个ASCII码转换为16进制数据保持至D51,而后再送如到Y0~Y7里

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

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




关育谋

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

六、通信测试:
硬件接线完成后,分别将欧姆龙CP1H通信程序、台达SA2通信程序下载到PLC中,断电再次上电,此时即可实现欧姆龙CP1H的输入0.00~0.07控制台达SA2的输出Y0~Y7

关育谋

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

说明:本程序在欧姆龙CP1H和台达SA2实物测试通过,稍加修改即可应用到欧姆龙CP1L、CP1E和台达其他系列。

关育谋

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

程序说明:

欧姆龙CP1H主站程序定时发送;
台达SA2从站程序实时接收;

最终实现欧姆龙输入控制台达输出。

关育谋

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

最近一直在分享不同品牌型号PLC之间的自定义协议串口通信,大家对此程序有疑问的,可以随时跟帖交流。


热门招聘
相关主题

官方公众号

智造工程师