LOGO!的S7通信应用
建立连接都以网络视图
为平台,当然电路图模式
也可以配置通讯,各人使用喜好而已。
两台LOGO之间的S7
- 添加两个新设备
- 如果想要默认连接的话,直接把两个PLC拖拽连线,左侧CPU是客户机,右侧CPU是服务器,如果需要调整服务器和客户端选项的话拖拽更换CPU位置即可。
- 双击蓝色连接线,设置详细属性,
地址
,长度
,方向
- 若不希望默认连接,比如需要修改默认的
TSAP号20.0
,则可以如图所示,分别设置单个CPU的链接属性和客户端服务器属性
LOGO和Smart200之间的S7
-
LOGO为客户端,Smart200侧不需要编程
- 添加一个LOGO做客户端以及一个S7兼容设备做服务器,如图。依旧左侧CPU是客户机,右侧CPU是服务器,如果需要调整服务器和客户端选项的话拖拽更换CPU位置即可。
- 双击蓝色连接线,设置详细属性,
LOGO端TSAP设置20.00
,smart端TSAP设置03.00
,依旧需要设置地址,方向,长度
- 添加一个LOGO做客户端以及一个S7兼容设备做服务器,如图。依旧左侧CPU是客户机,右侧CPU是服务器,如果需要调整服务器和客户端选项的话拖拽更换CPU位置即可。
-
LOGO为服务器,Smart作为客户端需要打开
PUT/GET
以及编程- S7兼容设备放左边 ,LOGO放右边,LOGO配置界面不用去添加数据传输信息,忽略该设置
- 远程TSAP设置,smart默认
02.00
,02.01
,03.00
,03.01
LOGO和1200/1500之间的S7
-
LOGO作为服务器,1500作为客户端
- 在LOGO端设置如下,远程TSAP设置为
17.01
,不用去添加数据传输信息
,也不用去建立S7兼容设备
,勾选服务器端接受所有连接请求
- 在1200/1500端,需要打开
PUT/GET
设置,设置S7连接程序
- 注意:S71200/1500的DB1对应于LOGO!的V区,即在PUT指令中使用的
通信伙伴数据区ADDR_1=P#DB1.DBX0.0 BYTE 10
在LOGO中对应LOGO!的VB0~VB9。此时,通信伙伴数据区占用的DB1和1200/1500本地的DB1没有任何关系 - 通信建立完成之后可以直接在电路图编辑器里面写电路图
- 在LOGO端设置如下,远程TSAP设置为
-
LOGO作为客户端,1200作为服务器
- 1200/1500把GET/SET选项打开。
- LOGO侧建立一个客户端连接
- 填写远程的IP和TSAP号,1200填
03.00
- 可以拖一个远程设备出来,也可以不用指定,此处截图为不指定
当logo做客户端访问1200时,可以配置的传输变量类型仅为VB,MB,QB,IB
,没有DB。
LOGO作为服务器和400PLC通信
-
400PLC使用
PUT
,GET
程序指令,作单边通信。 -
如下,400侧设置:
- 先进入网络视图,右键目标PLC,插入新连接,类型为S7连接:
- 记住LOCAL ID,本地和远程的TSAP(远程TSAP的值在LOGO的S7设置页面可以找到),LOGO rack和机架都是0,设置本地和远程的IP,因为400作客户端,所以勾选主动连接,从400的TSAP设置也可以看得出来TSAP值的含义:
- 400侧网络连接配置好之后,记得单独编译下载,这很重要!
- 400侧程序,和之前一样,不管是LOGO还是SMART,他们的V区都用DB1来映射,这个DB1和本地使用的DB1没有关系,不用担心交叉,
ADDR
管脚填远程地址,SD
,RD
填本地地址区域;GET/PUT的触发请求靠沿触发,不要同时请求:
- 先进入网络视图,右键目标PLC,插入新连接,类型为S7连接:
-
LOGO侧配置:
- 服务端,传输区配置不填都行,因为在400侧填过了:
- 配置好后下载进设备,通过在线可以看到通信效果:
- 在LOGO显示LCD屏的
诊断
,软件
,数据连接
中也可以看到S7连接是否正常。
- 服务端,传输区配置不填都行,因为在400侧填过了:
-
踩坑:当400PLC和LOGO的配置,程序都已经配置的很得当了,也下载了网络连接,LOGO端也显示S7连接成功,但是最后发现GET可以用,PUT在报错(报错码就是01码或者其他一看就很明显的错码),或者一些更奇怪的问题,这时候最后把400PLC的所有程序(硬件,软件,网络连接)都重新停机下载一遍,大概率可以解决问题。