摘要: 介绍了菲尼克斯电气(PHOENIX)模拟量输入IB IL_AI_8/SF-PAC模块的功能,通过实例分析,阐述了PHOENIX的模拟量输入模块在本次项目中的成功应用。
关键词:菲尼克斯(PHOENIX),ILC 200 UNI,PCWorX,IB IL_AI_8/SF , 模拟量输入, PHOENIX IB IL_AI_8/SF module in the application of ILC 200 UNI MA XIN1, ZHANG ZHEN-FENG2, WANG HUAI-JIE2 (1.School of computer Nanhua University, Heng yang 421001 hunan; 2. Qingzhou Cigarette Factory Qingzhou 262500 shandong; 3.Sunny High Technology R&D Company of Nanhua University, hengyang 421001,hunan)
Abstract: This paper introduces the Function of the PHOENIX analog input module (IB IL_AI_8/SF-PAC),with the analysis of example, explained the application of PHOENIX analog input module in the project.
Key words: PHOENIX, ILC 200 UNI,PCWorX, IB IL_AI_8/SF, analog input
一、引言
在本次济南卷烟厂卷接机组集中工艺风力平衡及风力送丝自动控制系统项目中,主站(S7-400)与15个I/O子站数据通讯采用了PROFINET网络。各I/O子站均采用了德国菲尼克斯公司(phoenix)的ILC 200 UNI PLC和INLINE模板做为实现系统风力平衡控制。ILC 200 UNI是菲尼克斯公司PLC家族中性价比较高的一款模块化紧凑型控制系统。并可以通过INTERBUS、PROFIBUS、DEVICENET、ETHERNET、PROFINET等耦合器向上级网络扩展。ILC 200 UNI PLC控制器更适合于小型的控制系统,开放的接口意味着它们能集成到几乎所有的现场总线与工业网络,使用该系统直接集成的扩展性允许控制器以灵活的方式适合于许许多多的应用场合,下图为系统配置图。

ILC 200 UNI PLC 的组态、编程及调试是在菲尼克斯公司的PCWORX软件上实现的。PCWORX集成了三大功能:现场总线组态、编程和诊断功能。软件编程符合IEC61131-3国际标准,支持语句表、结构文本、梯形图、功能块图和顺序功能图等5种编程语言。编程系统基于流行的32位WINDOWS技术,一改传统的PLC编程方式,全面引入目前流行的高级语言的编程方法和思路,方便编程。采用Diag+或者Diag+ NetScan,通过在线诊断,进行精确和快速的故障定位。
二、ILC 200 UNI组态及IB IL_AI_8/SF模板简介
本次项目I/O站的ILC 200 UNI PLC及其它模板配置组态见图1。.IB IL_AI_8/SF模板即8通道模拟量输入模板,该模板硬件接线端子上设有8路通道,但是其在PCWORX组态上的过程数据分配只占2个输入字(AI1_IN0,AI1_IN1),2个输出字(AI1_OUT0,AI1_OUT1)。由于该模板的这种物理特性,其性价比比较高,特别适用于模拟量检测实时性要求不是太高的环境(采样周期>300ms)。
AI1_OUT0和AI1_OUT1是模拟量通道命令字和参数化字,AI1_OUT0为模拟量通道选择命令,AI1_OUT1为模拟量通道属性(量程、范围及精度选择等)参数化的。AI1_IN0为命令字写下去之后返回来的结果,如果AI1_IN0=AI1_OUT0表示命令字和参数化已经成功,AI1_IN1为模拟量的实时数据。可以通过编写程序,采用循环功能分时检测和读取各个通道的模拟量的值。

图1
AI1_OUT0命令字代码表:

Bit10 ti bit8(通道数定义):

AI1_OUT1通道参数化字定义:

Measuring Range值的范围及含义:

Format值的范围及含义:

Filter值的范围及含义:

本文重点讲述是在PC WORX编程环境里,通过功能块IL _AI8_V2如何实现IB IL_AI_8/SF模板在ILC 200 UNI PLC控制系统上的应用。
三、IL_AI_8_V2功能块使用说明
模拟量输入功能块IL_AI_8_V2版本为V2.1z,使用前需先给AI8功能块的结构化参数赋初值(参数化)。
模拟量输入通道可以通过配置AI8_PARAMETER.Range.Filter(过滤), AI8_PARAMETER.Range(范围), AI8_PARAMETER.Standardization(标准化), AI8_PARAMETER.HighLimit(最高值)及AI8_PARAMETER.Lowlimit(最低值)参数来定义。AI8_PARAMETER.Standardization为布尔型变量 TRUE代表可用 赋值为TRUE(缺省为TRUE);AI8_PARAMETER.Range为整型变量;AI8_PARAMETER.HighLimit 为实型变量;AI8_PARAMETER.Lowlimit最低值缺省为0.0。
使用PCWorX在本项目中所编制程序见图2,本项目使用的风速传感器模拟量信号为标准的4-20MA,查表知AI8_PARAMETER.Range确定为10;AI8_PARAMETER.HighLimit设为310.0(根据工艺要求风速范围为0到31,为了方便通过Profinet来和主站通讯,先乘以10即设定为0到310,数据到S7-400主站再除以10显示真实值(数据保留小数点后1位),这样方便两端都以INT来定义格式);AI8_PARAMETER.Lowlimit为0.0;AI8_PARAMETER.Standardization设为1,系统缺省为1,但是在实际调试过程中发现缺省值不起作用,风速数据没有显示,把标准化设置赋值为1之后正常显示。

图2.程序示例
下面就IL_AI_8_V2块上管脚的功能作个说明:
1.Active(BOOL)这里我们设置两个变量与,都为真此模块才运行。第一个变量为PLC运行系统变量,第二个初始值设置为1。
2.Select(BYTE)为选择变量,其中第0位代表通道1,第7位代表通道8,可以改变Select里面的值实现通道有选择的读取,这可以跳过没用的通道,直接读取有用的通道值。
3.Parameter为赋值的结构化参数。
4.InputAddress1(WORD)为AI8模块组态分配的第一个输入字地址。
5.InputAddress2(WORD)为AI8模块组态分配的第二个输入字地址。
6.Ready(BOOL)为该功能激活准备状态。
7.Error(BOOL)为功能调用出错状态。
8.SelectValid(BOOL)为所选通道都毫无错误的被读取,该状态才为真。
9.DiagCode(WORD)为诊断代码状态。
10.AddDiagCode(WORD)为功能扩展诊断代码状态。
11.Data(结构数据)为模拟量目标数据输出,接受数据也必须是一个同类型的结构数据AI8_DATA,则第一个模拟量通道的目标数据为AI8_DATA[1].Value,第二个模拟量通道的目标数据为AI8_DATA[2].Value,依次类推。
12.OutputAddress1(WORD)为模拟量通道命令字地址。
13.OutputAddress2(WORD)为模拟量通道参数化字地址
四、结论
通过现场调试表明功能块IL _AI8_V2能够很好实现IB IL_AI_8/SF模板在ILC 200 UNI PLC控制系统上的应用,IB IL_AI_8/SF模板使用可靠性高,程序结构简单、清晰。
作者简介:
马新(1982-),男,河南驻马店人,湖南衡阳南华大学计算机学院 421001,南华大学计算机学院在读硕士研究生,主要从事智能控制;
田振云:山东中烟青州卷烟厂,山东青州262500;
张振锋,王怀杰:南华大学三力高科技开发公司, 湖南衡阳 421001
参考文献:
德国菲尼克斯(Phoenix)公司.IB_IL_AI_8手册,2001.11
|