串口通信实例009:西门子S7-200和欧姆龙CP1H串口通信 点击:774 | 回复:2



关育谋

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

串口通信实例009:西门子S7-200和欧姆龙CP1H串口通信


一、实例实现目的:

西门子S7-200的8路数字量输入I0.0~I0.7控制欧姆龙CP1H的8路数字量输出100.00~100.07。

二、通信连接:

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

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

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

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

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

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

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

3、通信连接:

西门子S7-200 Port0口3脚 接 欧姆龙CP1W-CIF11之SDB+;

西门子S7-200 Port0口8脚 接 欧姆龙CP1W-CIF11之SDA-。

三、西门子S7-200发送通信程序:

1、通信初始化,9600,8,N,1,起始符为STX、结束符为ETX:



2、数字量输入处理,将西门子S7-200的8路数字量输入I0.0~I0.7共计1个字节转换为ASCII码送入发送缓冲区


3、初始化延时:


4、定时发送:


5、定时中断子程序:


四、欧姆龙CP1H通信程序:

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


2、RXD接收指令程序段:接收缓冲区首地址为D11,接收字节个数为2


3、接收数据处理:将接收保存在D11中的两个ASCII码送入D41、将D41中的两个ASCII码转换为16进制数据送入D51,最终送入数字量输出100.00~100.07里

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

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




关育谋

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

六、通信测试:

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


关育谋

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

西门子200主站程序开启了定时器中断,然后在定时器中断里触发XMT指令进行发送。


热门招聘
相关主题

官方公众号

智造工程师