S7-1200PLC通讯问题总结


一、硬件

可分为PLC与PLC通信,PLC与上位机通信,PLC与变频器通信,PLC与仪器仪表通信,触摸屏与仪器仪表、变频器通信等等。

1.串口通信

RS232

只支持1对1通信;距离近,不允许远距离传输,15m左右;全双工,发送和接收同时进行,速度慢。
在这里插入图片描述

RS485

半双工,通讯速度较快;传输距离较远,3000m左右;支持1对多通信。优先选择RS485。
在这里插入图片描述

RS422

具备RS485的优点,但界限复杂,成本高。
在这里插入图片描述

2.网口通信

现阶段主流通信。

二、协议

1.串口通信协议

PPI通信,属于西门子内部通信协议;
MPI通信;
Profibus DP通信;
USS通信,用于西门子变频器通信;
Modbus通信。

2.网口通信协议

开放式以太网通信:TCP;
S7通信,西门子内部产品之间通信。

三、程序编写

1.S7通信

PUT

步骤:
1.组态CPU,并添加新子网;
在这里插入图片描述
2.点击“连接”,选择S7连接;
在这里插入图片描述
3.右键点击CPU,添加新连接,依次点击添加、关闭;
在这里插入图片描述
4.选中S7_连接_1,填写伙伴地址;
在这里插入图片描述
5.查看本地ID号;
在这里插入图片描述
6.勾选系统和时钟存储器,1HZ表示1秒触发1次;
在这里插入图片描述
7.在“连接机制”里,勾选“允许来自远程对象的PUT/GET通信访问”;
在这里插入图片描述
8.新建一个DB块“PUT”,用于存储要发送的信息,取消“优化的块访问”,并添加如下变量;
在这里插入图片描述
9.在主程序块Main中调用PUT指令;
其中:
REQ表示触发信号;
ID表示本地ID号;
ADDR_1表示对方接收的数据,填写对方PLC存储区地址和要发送的字节数,只能以字节形式填写,如果发送的数据类型不是字节,则需要计算一下发送的数据占几个字节,这里发送DB块“PUT”中的数据,4个real型,转换成Byte后有16个;
SD_1表示要发送的数据,填写己方存储区地址和要发送的字节数。
在这里插入图片描述
在这里插入图片描述

GET

1.组态过程和PUT类似;
2.建立一个新的DB块“GET”,用于存储接收到的信息,取消“优化的块访问”,并添加如下变量;
在这里插入图片描述
3.在主程序块Main中调用GET指令;
其中:
ADDR_1表示对方发送的数据的存储区地址;
RD_1表示读取到的数据在己方的存储区地址。
在这里插入图片描述
在这里插入图片描述

2.开放式以太网通信

步骤:
1.组态两个CPU,两台均设置为“暖启动-RUN”;
在这里插入图片描述
2.勾选系统和时钟存储器;
3.在“连接机制”里,勾选“允许来自远程对象的PUT/GET通信访问”;
4.假设第一台PLC作为发送端,则在该CPU下新建一个DB块Send,取消优化的块访问,并添加如下变量;
在这里插入图片描述
5.在主程序块Main中调用TSEND_C指令,并组态;
在这里插入图片描述
在这里插入图片描述
6.第二台PLC为接收端,在该CPU下新建一个DB块Receive,取消优化的块访问,并添加如下变量;
在这里插入图片描述
7.在主程序块Main中调用TRCV_C指令,并组态;
在这里插入图片描述
在这里插入图片描述

  • 38
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值