
图1 系统配置图
本文介绍了菲尼克斯电气(PHOENIX)模拟量输入IB IL_AI_8/SF-PAC模块的功能,通过实例分析,阐述了在PC WORX编程环境里,通过功能块IL_AI_8_V2如何实现IB IL_AI_8/SF模板在ILC 200 UNI PLC控制系统上的应用。在济南卷烟厂卷接机组集中工艺风力平衡及风力送丝自动控制系统项目中,主站(S7-400)与15个I/O子站数据通信采用了PROFINET网络。各I/O子站均采用了德国菲尼克斯电气公司(phoenix contact)的ILC 200 UNI PLC和INLINE模板,以实现系统的风力平衡控制。
ILC 200 UNI是菲尼克斯电气公司PLC家族中性价比较高的一款模块化紧凑型控制系统。并可以通过INTERBUS、PROFIBUS、DEVICENET、ETHERNET和PROFINET等耦合器向上级网络扩展。

图2 I/O站的ILC 200 UNI PLC及其他模板配置图
ILC 200 UNI PLC控制器更适合于小型的控制系统,开放的接口意味着它们几乎可以集成到所有的现场总线与工业网络,该系统直接集成的扩展性使得其可以允许控制器以灵活的方式适合于许许多多的应用场合。图1为系统配置图。
ILC 200 UNI PLC 的组态、编程及调试是在菲尼克斯电气公司的PC WORX软件上实现的。
PC WORX集成了三大功能:现场总线组态、编程和诊断功能。软件编程符合IEC61131-3国际标准,支持语句表、结构文本、梯形图、功能块图和顺序功能图等5种编程语言。
编程系统基于流行的32位WINDOWS技术,一改传统的PLC编程方式,全面引入目前流行的高级语言的编程方法和思路,方便编程。采用Diag+或者Diag+ NetScan,通过在线诊断,进行精确和快速的故障定位。
ILC 200 UNI组态及IB IL_AI_8/SF模板简介
本次项目I/O站的ILC 200 UNI PLC及其他模板配置组态见图2。

图3 程序示例
IB IL_AI_8/SF模板即8通道模拟量输入模板,该模板硬件接线端子上设有8路通道,但是其在PC WORX组态上的过程数据分配只占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为模拟量的实时数据。
可以通过编写程序,采用循环功能分时检测和读取各个通道的模拟量的值。
本文重点讲述是在PC WORX编程环境里,通过功能块IL _AI_8_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在本项目中所编制程序见图3,本项目使用的风速传感器模拟量信号为标准的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之后正常显示。





下面就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)为模拟量通道参数化字地址。
评论
加载更多