公司用多个西门子417-4型的CPU组态多站,其中PLC11站与PLC12站之间有交叉的DI和IW传送。我们知道,在CFC编程时,我们只能直接调用本站下的地址来读取数据,那现在如何跨站进行数字量和模拟量的传递呢?有个很简单的方法,就是通过DB进行地址传送!
其基本原理是:PLC11中定义两个DB分别向PLC12发送数据、接收PLC12的数据,PLC12中也定义两个DB分别向PLC11发送数据、接收PLC11的数据,通过两的单工的通讯模式组成一个双工的通讯模式。
其原理图为:
![[编程]西门子CPU多站组态跨站传递数字量和模拟量 [编程]西门子CPU多站组态跨站传递数字量和模拟量](http://www.aiwanba.net/wp-content/uploads/2021/04/2021043015263067.png)
1、在PLC11中定义接收和发送的DB:
![[编程]西门子CPU多站组态跨站传递数字量和模拟量 [编程]西门子CPU多站组态跨站传递数字量和模拟量](http://www.aiwanba.net/wp-content/uploads/2021/04/2021043015263067.png)
2、在PLC12中定义接收的发送的DB
![[编程]西门子CPU多站组态跨站传递数字量和模拟量 [编程]西门子CPU多站组态跨站传递数字量和模拟量](http://www.aiwanba.net/wp-content/uploads/2021/04/2021043015263067.png)
3、假设现在要从PLC12向PLC11传送数据,则分别在PLC12的发送DB中定义发送的数据,在PLC11的接收DB中定义接收的数据,注意name要保持一致。
![[编程]西门子CPU多站组态跨站传递数字量和模拟量 [编程]西门子CPU多站组态跨站传递数字量和模拟量](http://www.aiwanba.net/wp-content/uploads/2021/04/2021043015263067.png)
![[编程]西门子CPU多站组态跨站传递数字量和模拟量 [编程]西门子CPU多站组态跨站传递数字量和模拟量](http://www.aiwanba.net/wp-content/uploads/2021/04/2021043015263067.png)
4、在PLC11的CFC中就可以引用数据了,数字和模拟量可直接从接收DB中读取
![[编程]西门子CPU多站组态跨站传递数字量和模拟量 [编程]西门子CPU多站组态跨站传递数字量和模拟量](http://www.aiwanba.net/wp-content/uploads/2021/04/2021043015263067.png)
![[编程]西门子CPU多站组态跨站传递数字量和模拟量 [编程]西门子CPU多站组态跨站传递数字量和模拟量](http://www.aiwanba.net/wp-content/uploads/2021/04/2021043015263191.png)
![[编程]如何将 S7-PLCSIM 用于 SIMATIC PCS 7](https://www.aiwanba.net/wp-content/themes/Git-alpha/timthumb.php?src=https://www.aiwanba.net/wp-content/themes/Git-alpha/assets/img/pic/10.jpg&h=110&w=185&q=90&zc=1&ct=1)
![[编程]如何将 S7-PLCSIM 用于 SIMATIC PCS 7](https://www.aiwanba.net/wp-content/themes/Git-alpha/timthumb.php?src=https://www.aiwanba.net/wp-content/themes/Git-alpha/assets/img/pic/5.jpg&h=110&w=185&q=90&zc=1&ct=1)
![[编程]PCS 7 V7.1 SP1 APL库阀门功能块VlvL使用入门](https://www.aiwanba.net/wp-content/themes/Git-alpha/timthumb.php?src=https://www.aiwanba.net/wp-content/themes/Git-alpha/assets/img/pic/8.jpg&h=110&w=185&q=90&zc=1&ct=1)