PLC5/SLC项目转换成 Controllogix项目的操作在一些系统改造项目中,常常需要将传统的可编程序控制器 PLC5/SLC500 的项目转换成 ControlLogix 的项目。由于它们具有基本相同的指令系统,梯形图程序的转换是简单的,不需要专门的软件就可以完成程序的移植。但 PLC5/SLC500 与 ControlLogix 的数据结构是完全不同的,所以,在转换过程中重要的工作是数据的转换或替换。此外,ControlLogix 和 PLC5/SLC500 的通信方式也不相同,通信指令也应作相应的修改。项目转换的基本步骤如下:(1) PLC5/SLC500 的文件类型转换在 PLC5/SLC500 编程软件 RSLogix5 或 RSLogix500 中打开要转换的 PLC5/SLC500 项目,将其另存为*.PC5 或*.SLC 的 Library文件,注意,须选定专门路径来存放,如图 11 和图12 所示。图 11 或图 12 这样做是为了获得 Text 形式的文件,为后面的转换作准备。(2) PLC5/SLC500 注释文件的导出从PLC5或SLC500的同一项目中导出注释部分的ASCⅡ码文件。于Tools下选择Database及ASCⅡExport,如图1-3所示。对于 PLC5 来说,选择 AB 6200 的形式,如图14 所示。对于 SLC500 来说,选择 AB APS 的形式,如图 15所示。将导出的 ASCⅡ码文件存放在以上选择的专门的路径下, AB 6200 和 AB APS 的形式是 DOS 下的文件,它们将以 TXT的文件形式存放。这样做是为了获得要转换项目的 Text 形式的注释文件。图 14 图 15 (3)实施项目文件转换打开 RSLogix5000 编程软件,选择 Tools,点击 Translate PLC5/SLC,如图 16 所示。进入转换操作后要做的几件事情是:·选定源文件第一步骤和第二步骤所存文件,合起来是转换前项目的全部的 Text 文件,它们已被存放在同一路径下,所以源文件必须选择在此路径下。·确定目标文件,为转换后的项目取名并确定其存放路径,如图 17 所示。·确定 ControlLogix 控制器类型及相关选型。点击,进行转换,转换后的状态显示在状态栏。转换后的存放在指定项目下的 ControlLogix 项目的文件仍然是 Text 形式的文件,即 RSLogix5000 的 *.L5K 文件。图 16图 17 (4)导入*.L5K 文件导入*.L5K 文件,将其转换成标准的梯形图程序,如图 18 所示。打开*.L5K 文件后,Import 成*.ACD 文件。至此,转换过程已完成,得到一个初步的梯形图程序。下面,要对程序进行修改。(5)改写错误指令在新的 ControlLogix 项目的梯形图程序中,改写 PCE指令中的相应误差,针对每一条 PCE 指令进行修改。出现 PCE 的可能及解决办法有:·指令转换失败而引起的误差,根据具体情况修改。·偏移寻址 S:24 的引用而引起的误差,修改相应的地址。·状态文件的状态信息引用而引起的误差,用GSV指令解决。·算术指令执行溢出引起的误差,用关键字 S:V解决。(6)改写未知指令改写 UNK 指令,PLC5/SLC500 与 Logix5000 中不对应的指令,在新的程序中以未知指令 UNK 表达,在此应分析具体情况,并进行相应的改写。(7)组态控制器和框架在新的系统中,I/O 模块已经完全不同了,应该按照 ControlLogix 的规则完成 I/O 的组态,所以要根据实际的系统借给做如下的工作:·组态控制器和框架尺寸。·组态 I/O 模块。组态 I/O 的工作完成后,将产生相应的 I/O 地址。(8)重组 I/O 地址旧的 I/O 地址,在 PLC5/SLC500 中是以映像表的数据文件形式存放的,在上述的转换过程中,被命名为新的标签数据地址,这些新的标签数据地址在程序中仍然引用,所以,要用 BTD、MOV 或 COP 指令编程,将这些地址与组态 I/O 模块产生的 I/O 地址一一对应起来。(9)重编 MSG 指令在新的程序中,要重新编写 MSG 指令,尤其是通信路径的写入,这在 PLC5/SLC500 中是没有的。此外, PLC5/SLC500 中的 BTW/BTR 指令或者 M0/M1操作在 ControlLogix 控制器中也统统用 MSG 指令替代。(10)编写 ASCⅡ码指令 ControlLogix 控制器的 ASCⅡ码操作指令大大增强,此类指令都要重新编写。(11)其他要检查和考虑的有的指令并没有提示错误,但仍然有问题存在,应进行检查,一般地,要考虑的几个方面是:·计时器的时基不同,检查预置值设置是否正确。ControlLogix 控制器的计时器指令没有时间基值的参数项。·指令注释是否没被转换。·中断程序的调用,11版本前的 ControlLogix 控制器没有事件中断子程序。·使用了屏蔽码的指令也要检查,PLC5/SLC500 中的屏蔽码使用的是 16 位的,而 ControlLogix 控制器的屏蔽码使用的是 32位的。·在转换过程中,地址注释将变成别名,如不使用,可删除,以免占控制器内存。ControlLogix 控制器的标签本身就是注释型地址,所以没有对应的地址注释。·指令转换失败而引起的误差,根据具体情况修改。·偏移寻址 S:24 的引用而引起的误差,修改相应的地址。ControlLogix 控制器中没有全局偏移寻址的做法。另外,要补充的是 ControlLogix 控制器替换 PLC5 处理器时,内存尺寸的换算。ControlLogix 控制器不但数据文件存放需要更大的空间,即使是同样的指令构成的梯形图,因为指令执行具有更快的速度,将耗用更多的空间。在选用新的控制器的内存尺寸时,可按如下公式换算: ControlLogix 控制器的内存字节数=PLC5 内存字数 X 18