文章目录
- 一、硬件
- 1.串口通信
- RS232
- RS485
- RS422
 
- 2.网口通信
 
- 二、协议
- 1.串口通信协议
- 2.网口通信协议
 
- 三、程序编写
- 1.S7通信
- PUT
- GET
 
- 2.开放式以太网通信
 
一、硬件
可分为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指令,并组态;
 
 