1 概述
1746-NI16I是美国Allen-Bradley公司出品的基于SLC500系列PLC的模拟量输入模块,设计时可以通过编程灵活设定该模块的工作方式、输入信号类型、数据格式、滤波频率等参数,从而方便地应用于各种场合。采用1746-NI16I作为采集模块组态的SCADA系统具有扩展方便、组态灵活、稳定可靠、便于维护等特点。
1746-NI16I有两种工作方式:CLASSl和CLASS3。其中的CLASSl方式是经典的使用方式,该方式占用系统资源较少,但使用起来需要较为复杂的编程;而CLASS3方式则使用方便,编程简单,但占用系统资源较多。
2 1746-NI16I的软件资源
在使用1746-NI16I之前必须先了解1746-NI16I的软件资源,只有在对模块的每个通道正确配置后,才能使模块正常工作。
对1746-NI16I编程首先要了解SLC500系列PLC对内存变量的管理方式。SLC500系列PLC以文件的方式组织内存,即把内存划分为若干个区域--文件,每个文件分管不同类型的变量,如B文件、N文件、I文件、0文件分别用于管理开关量数据、模拟量数据、输人数据、输出数据等等。
1746-NI16I的CLASS3方式和CLASSl方式地址映射如表1所列。其中,O:e.i表示输出文件中e号槽位的第i号字;I:e.i表示输入文件中e号槽位的第i号字。
可以看出,在CLASSl方式下,系统将采用输入文件中的8个字的空间来传输16个通道的配置字,并采用输出文件中的8个字来传输16个通道的数据字及状态字;而在CLASS3方式下,每个字都由单独的空间对应。因此,在CLASSl方式下,通常通过配置字的Bit0和Bitl来配置输入或输出文件中的8个字。
应当说明:1746-NI16I中的配置字是通道配置信息存放地址;数据字是输人数据存放地址;状态字是通道状态存放地址。
无论配置字、数据字还是状态字,它们都由16位二进制数构成。
2.1通道配置字
配置字中的每一位都具有其特定的意义,通过这些配置宇可以对通道的不同参数进行配置。这些位的定义如下:
Bit0、Bitl:分别为CLASSl方式下的数据/状态和读/写设置。Bit0和Bitl只能在CLASSl方式中使用,而在CLASS3方式中设置这两位将出现错误(状态字的Bitl5、Bitl4、Bitl3被置0)。因为在CLASS3方式中,要用32个字的空间来传输各个通道的数据字和状态字,而在CLASSl方式中只有8个字,因此用户可通过设置BitO和Bitl来选择这8个字的功能。具体选择方式如表2所列。
Bit2:CLASSl握手信号,在CLASSl方式中,该模块提供了握手信号来简化模块的配置。这种握手的方法是设置模块16个通道的最快途径。在配置模块的各个通道时,Bit2必须被置1。配置完毕后,状态字的Bit6必须被置1,以表示配置完毕。把配置字 的Bit2清零即可使状态字的Bit6复位。握手信号的详细使用方法将在后面的程序中给出具体的说明。在CLASS3方式中,并不需要这种握手协议,因为所有配置字和状态字的信息都可以通过32个字的空间一次传递。
Bit3:未使用,但此位必须保持为零,否则在状态字中会出现错误指示。
Bit4、Bit5:输人类型选择位。这两位的设置可根据用户输入设备的类型来选择,该输入可以是在某特定范围内的模拟电压或电流。具体设置见表3所列。
Bit6、Bit7、Bit8:数据格式选择位。模拟电流或电压输入在经模块内A/D转换器转换为不同格式的数字量后,不同格式的数据所对应的最大最小值不同,因此,用户可根据要求选择。在CLASS3方式中,用户可自定义4种格式,见表4所列。
Bit9、BitlO、Bitll:校准模式选择位。要进入校准模式,必须把Bit9置1。进行校准时,必须先进行零校准,再进行满量程校准。零校准时需把Bitl0置1,Bitll清0,满量程校准时需把Bitll置1,Bitl0清零。把这三位全部清零即可进入运行状态。
Bitl2、Bitl3、Bitl4:通道滤波频率选择位。1746-NI16I提供有8种滤波频率,每个模块的16个通道可分为4组(0-3、4-7、8-11、12-15),模块中的4个A/D转换芯片分别负责4组通道的A/D转换。在选择通道滤波频率时,只需对4组通道中每组的第一个通道(0、4、8、12)进行配置即可,也就是说,每组通道只能使用一个滤波频率,且只能对每组的第一个通道进行配置。滤波频率的高低决定了降噪特性的好坏。但是太低的滤波频率在降低噪声干扰的同时,也提高了模块的刷新速度。
Bitl5:通道使能选择位。当该位被清零时,通道被禁止,此通道的数据字和状态字也同时被清零,直至通道使能位被置1,且通道状态字的Bitl5、Bit 14、Bit 13都为1时,通道才能继续工作。具体的位操作组合见表5所列。
2.2通道状态字
通道状态字中的每一位都可以被用来判断通道的状态。表6是CLASS3方式状态字各个位的功能。
CLASSl方式与CLASS3方式状态字的区别在于:CLASSl方式的状态字中Bit6为握手信号。Bit6为0表示模块准备就绪,可以向其写入配置字;Bit6为1表示配置结束,可以进入采集工作状态。
3 在SCADA系统中的应用及编程
在油田注水自动化系统中,往往需对系统各处的压力、流量、温度、浊度等工程量进行实时监控,而现场仪表输出一般都为4-20mA输出,因此可采用1746-NI16I来采集信号和进行A/D转换,并采用带DH+接口的SLC5/04作为主CPU来与DH+网络中的其它PLC以及上位监控计算机组成SCADA系统。其系统框图如图1所示。
本系统须采集148路信号,其中模拟电流信号占132路,因此需要9块1746-NI16I模块,若用CLASS3方式,输出及输入文件需包含32X9=288个字,而SLC500系列PLC的输入输出文件的最大长度为256字,因此在CLASS3方式下最多只能使用8块1746-NI16I模块,故本系统只能使用CLASSl方式。
在程序运行后,首先需对9块1746-NI16I进行配置,配置完毕,才能进入采集状态。限于篇幅,本文只给出一个通道的配置程序,见图2所示。
从图2所示的配置程序看出,配置的开始与完成是由配置字的Bit2和状态字的Bit6通过握手协议来实现的。每个模块的每个通道需单独配置。程序上电时,配置字的Bit2和状态字的Bit6都为零,状态字的Bit6为零表示模块已准备好,可以接收配置字,并可向配置字单元写入配置字,此时需把配置字的Bit2置1,表示开始配置。当配置完毕后,模块会把状态字的Bit6置1,表示配置完成。此时可把状态字保存,以备后用。
CLASS3的配置和采集程序相对比较简单,它只需向对应的单元写入配置字即可,在此不再赘述。详细资料可参考有关文献。
4 结论
在油田注水自动化项目中,基于1746-NI16I的SCADA系统已投入运行半年,实际运行证明:该系统稳定可靠,运行良好,提高了油田注水的自动化程度,减轻了工人负担,同时也增加了数据的准确性和可靠性。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !