PAC编程基本教程
上QQ阅读APP看书,第一时间看更新

1.2 硬件功能模块化的结构

这里提到的硬件功能模块化的结构,并非传统产品意义上的硬件模块化结构。传统产品的硬件也是模块化的结构,但是硬件的功能并未模块化,处理器或适配器与I/O模块有规则地组合在一个框架中,框架内所有I/O模块别无选择地成为同一个I/O功能组块,并以框架为单位,通过处理器或适配器建立对外的通信。相对功能而言,硬件I/O模块都不是独立的,处理器或适配器通过内部数据线跟每个模块的数据缓冲区交换I/O数据,这些模块化的硬件综合而成一个功能模块,每个硬件I/O模块没有独立的功能,不能单独对外通信。

可编程自动化控制器的硬件功能模块化结构,是指每一个硬件模块都是功能独立的设备,表面看上去跟传统产品一样的硬件模块组成的框架,每个模块在功能上却是相互独立的,这个系列的所有的模块,不管是控制器模块、通信模块或I/O模块,都可作为通信的独立单元,都具有发送信息和接受信息的能力,就像一台设备,无论位于哪个槽位,都不会限制或影响本身具有的功能。

在可编程自动化控制器的系统中,将控制器称为CPU或CPU模块的说法,变得非常地不恰当,并非只有控制器才带有CPU芯片,而是每个模块都带有CPU芯片,都是智能模块,具有独立的数据处理和通信管理能力。位于框架的所有模块,不但通过背板获取电子设备必需的供电,还通过框架背板的控制总线功能与其他模块或设备建立通信连接。所有模块插放的槽位是不受任何限制的,即使是控制器模块也可以插放在任何位置,而不必像传统产品那样,必须插放在框架的最左侧。由于硬件模块的相互独立,在同一个框架插放多个控制器或多个通信模块也是允许的。

只要在控制器中进行的I/O组态,明确了通信模块和I/O模块的从属关系,建立与它们的通信连接,指定与它们的数据交换关系,或通过背板,或通过网络,都可自由地进行数据交流。这样说来,位于同一框架的模块,或许它们之间有着紧密的通信关系,或许它们毫不相干,它们之所以位于同一框架,完全取决于它们所需驻留的物理位置。

同时,可编程自动化控制器的面板上不再建造复杂的通信口,只保留了一个简单的编程口,留与编程终端直接连接,这正是称为控制器而不称为处理器的原因。所有的通信口都被做成独立的不同类型网络的通信模块,像I/O模块一样插放在框架上,通过背板跟控制器建立通信连接,并作为控制器的通信通路,延伸到网络。这样,转换网络类型只需更换通信模块,扩展网络也只需增加通信模块,系统结构变更和拓展的实现变得非常容易。通信口的损坏只需更换通信模块,而不会像传统产品那样兴师动众地要更换处理器。

毫无疑问,这从根本上改变了控制器与I/O模块的关系,摒弃了传统产品控制器主从式的轮询I/O扫描方式,所有的I/O模块以通信的方式与控制器交换I/O信息,将传统的被扫描变为主动的发送数据,每个I/O模块都可单独定义自己的I/O数据更新时间,这使得最为节省通信资源的I/O数据交换模式周期刷新(模拟量)和逢变则报(离散量)得以实现。由于采用生产者/用户方式来交换I/O数据,还可以实现输入数据共享,多个控制器访问同一输入模块只需简单地组态便可以实现。

这样,I/O模块作为一个通信连接,和外部设备通信(如人机界面访问)是完全一样的,它们一起共享控制器的通信资源,可以将用于I/O模块的通信连接和对外通信的通信连接,按照需求进行分配,灵活充分地运用了控制器资源。对于PAC控制器,很少严格地去讨论能带多少个I/O点,具有多大的带I/O的能力,我们所关注的是控制器的连接限量是如何被运用的,这个通信运用包括了硬软件的共同分享。

不管怎么说,控制器毕竟是一个非常特殊的模块,它除了含有每个模块都具有的CPU芯片,有的控制器模块甚至使用了两个CPU芯片,还有内存用来存放执行代码和操作数据,它的操作系统使它当之无愧地成为整个系统的核心部件,所有的数据都集中在它的内存空间,接受内存执行代码的处理,并发往其他设备。

的确,在这个系统中,模块和设备的区分不是那么明显,至少在数据交换上来说,它们几乎是等同的。如果非要细究,区别在于硬件模块是框架组合,模块在供电上并非独立,不同于设备的独立取电,但这也正说明硬件的系统集成紧密。总而言之,要强调的是硬件功能模块化,通信功能的独立。