首页 历史故事多CPU系统的工作原理

多CPU系统的工作原理

【摘要】:在多CPU系统中,多CPU控制各自的相应模块,互相之间需要进行信息的交换。图10-5 多CPU系统的自动刷新原理假设系统的CPU1在B0~B1F之间设定了32点的自动刷新,CPU2在B20~B3F之间执行32点的自动刷新,如图10-6所示。图10-6 多CPU设置那么在CPU1的END处理期间,执行的处理过程为图10-5中的1.和4.,即:1)CPU1的B0~B1F传输软元件数据被传送到CPU1的自动刷新区(1.)。图10-7 多CPU系统FROM/TO指令图10-7表述的意思如下:1)用TO指令写入数据到PLC1的用户区(1.)。

前面介绍了如何去构建一个多CPU系统,那么多CPU系统构建完毕后,CPU之间是怎么进行数据交换的呢?下面将进行详细介绍。

在多CPU系统中,多CPU控制各自的相应模块,互相之间需要进行信息的交换。多CPU之间的信息交换是通过自动刷新功能来完成的,在对各CPU进行了自动刷新设置以后,各CPU之间就可以进行数据交换了。在多CPU系统的所有CPU之间交换了数据以后,Q系列CPU和其他的CPU运行END处理时,会自动执行公共CPU存储器的自动刷新。在执行自动刷新功能时,会自动读取其他CPU的软元件存储器数据,可以使此CPU使用其他CPU的软元件数据,如图10-5所示。

978-7-111-34215-1-Chapter10-5.jpg

图10-5 多CPU系统的自动刷新原理

假设系统的CPU1在B0~B1F之间设定了32点的自动刷新,CPU2在B20~B3F之间执行32点的自动刷新,如图10-6所示。

978-7-111-34215-1-Chapter10-6.jpg

图10-6 多CPU设置

那么在CPU1的END处理期间,执行的处理过程为图10-5中的1.和4.,即:

1)CPU1的B0~B1F传输软元件数据被传送到CPU1的自动刷新区(1.)。

2)CPU2的自动刷新区的数据被传送到CPU1的B20~B3F(4.)。

在CPU2的END处理期间,执行的处理过程为图10-5中的2.和3.,即:

1)CPU2的B20~B3F传输软元件数据被传送到CPU2的自动刷新区(2.)。

2)CPU1的自动刷新区的数据被传送到CPU2的B0~B1F(3.)。

另外,需要注意的是,当PLC顺序控制CPU或其他CPU处在RUN状态、STOP状态、PAUSE状态时才执行自动刷新;当CPU发生停止出错时,不能执行自动刷新。

PLC顺序控制CPU和其他CPU之间,除了上面叙述的采用软元件的自动刷新处理功能进行信息交换外,还可以用以下方式进行通信

1.使用FROM/TO指令或智能功能软元件指令U\G在PLC顺序控制CPU之间进行通信

通过使用FROM/TO指令或智能功能软元件指令U□\G□,可以访问PLC的公共存储器里的用户区。其中用TO指令把数据写入到主机公共CPU存储器中,然后通过其他CPU用FROM指令来读取其数据,如图10-7所示。

978-7-111-34215-1-Chapter10-7.jpg

图10-7 多CPU系统FROM/TO指令

图10-7表述的意思如下:

1)用TO指令写入数据到PLC1的用户区(1.)。

2)用FROM指令从PLC1的用户区读出指定的数据(2.)。

用户可以参考Q系列CPU(Q模式)/QnA系列CPU编程手册(公共命令部分),以进一步了解FROM/TO指令的用法细节。

2.使用多CPU之间的专用通信指令直接读取软元件数据

如PLC顺序控制CPU和运动控制CPU之间的专用通信指令SFCS,意思就是在PLC顺序控制CPU端启动运动控制CPU里的SFC程序(具体的SFCS指令用法,请参考三菱电机公司运动控制器相关手册)。