大约14年前,我将位于北卡罗来纳州西部山区的80KW水力发电厂的控制器,从我在乔治亚理工学院开发的定制微控制器卡,转换为带有D2-260 CPU的DirectLOGIC DL205 PLC。

2013年,是时候对核电站进行一些升级了,增加了一些功能,如通过互联网控制系统、改进监控、启动数据记录,并加强代码。在使用过Productivity3000和CLICK系列产品之后,DirectSOFT在处理浮点数、更模块化的代码、时间同步、电子邮件导入到谷歌文档等方面突然变得很痛苦。在考虑了我的选项后,我决定使用H2-DM1E CPU切换到Do-more PLC。

切换到多做转换旧程序

第一个障碍是转换旧代码。现有的项目控制三座水力发电涡轮机。该代码与REAL数字(计量)工作,并有几个阶段控制每个涡轮机,几个更多的传感器处理和HMI逻辑。这使得在一个大文件中有很多相似的代码。

对于一些代码,比如将模拟数据读取到离散模块、CTRIO卡和Modbus设备,我知道使用更新的指令,转换将是直观的,所以删除代码不是一个因素。

事实证明,Do-more CPU支持大多数DL205模块,因此不需要从这些模块中获取数据到PLC中。SCALE盒子使模拟离散数据处理瞬间完成。通讯接口工作正常,没有任何问题。

问题在于控制逻辑;经过多年的实践和调整,我并不期待花在重新创造它上的停机时间。

这个应用程序从DirectLOGIC程序到Do-more程序的阶梯逻辑大约有9万博官网手机登陆0%是相同的,所以我能够在进行必要的更改之前从新系统中的大量代码开始。

大多数LD和OUT序列被MOVE指令取代,虽然它可能使用所有“DL兼容内存”,我也在转换期间将90%的数据存储转换为新的32位整数或浮点格式。对于不能直接转换的代码,我只需要放入注释块,禁用横档,然后使用Do-more指令重写即可。

八进制是过去的一件事

Do-more PLC废除了八进制寻址。由于传统plc必须使用八进制和BCD是困难的。使用Do-more,这个问题很容易解决。首先,我将I/O点地址导入到Do-more中。我发现这最好通过电子表格来完成,因为I/O点编号现在是十进制的。这意味着X10 (OCT)需要转换为X8 (DEC)。当所有现有的I/O模块仍然工作时,I/O点现在用十进制进行编号。

主机工程提供另一个提示/伟大的转换工具:将DL兼容存储器传输到名为DLV(V2200 = DLV2200)(Old =新系统)的类型。这不与新的V /可变内存混淆,这减少了索引的寻址的复杂性按级数。

因为我的项目使用了一些由DLV内存支持的OptiMate操作界面面板,所以根本不需要重新配置键盘。远程主设备现在读取Do-more CPU中的DLV块;不需要移植,只需将v更改为dlv,你就完成了。

多用数学来减轻压力

切换到多做Do-more中的MOVE和MATH块知道所有关于强类型内存(十进制和浮点)的信息。所有旧的LD 10在堆栈上,然后将它们输出到内存被MOVE(或MathBox)指令取代。这清理了大量代码,并使程序不必基于堆栈或进行基转换。

唯一的问题是支持旧硬件;Tobcd指令简化了此问题 - 它就像移动一样,但结果是BCD号码。例如,新系统将水压作为真实;要在16位BCD中的光学面板上显示此目的,请简单地使用ToBCD指令将实数转换为BCD并将其存储在显示存储器中。

Do-more中新的内部系统结构是面向对象的。访问Time和Date之类的数据现在很容易引用$ now结构。例如,现在美元。小时是当前的一小时。这使得代码开发快速且没有bug。所有东西都有结构,所以在大多数情况下,需要知道特殊的V寄存器号来获取系统数据的日子已经过去了。

使用CTRIO模块基本相同直接逻辑。所有I/O模块都位于上电时的Do-more CPU。它们都在Do-more中配置。你可以在PLC ->系统配置下找到它们。您可以在Module Configuration子菜单中找到您的CTRIO卡。我将我的名称重命名为RPM_CTRIO,一旦开始配置它,您将看到熟悉的CTRIO配置界面。“我的CTRIO数据在哪里?”每个通道都在卡片上命名;我称我的“涡轮#_RPM”(#是1,2,3)。如果您选择一个浮点结果,则联系人如下所示($ turine1_rpm .freg1 < 1790)。 Everything is context sensitive so as soon as you hit the “.” the rest of the structure pops up. I got this part up and running in less than an hour.

数据铸造萨尔

切换到多做

创建“程序”就像在一个盒子里有一个进程池。这非常好,并提供了出色的逻辑隔离。我把控制每个涡轮机在其自己的程序,HMI接口在另一个,系统登录在另一个,等等。要启动一个程序,只需使用RUN块并指定程序名,该进程就会被启用。一旦进入程序,额外的功能就可用了;例如,可以使用程序结构来做一些事情,如[程序名称],而不是使用FirstScan。FirstRun或. firstscan,允许每个程序像唯一的PLC一样工作。

数据铸造是另一个棘手但强大的功能。在我的DL260系统中,我使用B1400.0操纵位字段,以达到V1400的位0。执行转换需要一个使用DLV1400:0。在这种情况下,我使用DirectLogic兼容内存,因此不需要重新配置外部设备。

切换到多做常数是另一个很酷的特性。良好的编程实践表明,使用硬编码常量是不允许的,因为更改这些常量需要了解它们在哪里使用。Do-more提供了一种命名常量的方法,它很好地清除了代码,并消除了必须将常量存储在预先初始化的内存中。

Do-more的计时器比旧的要超前好几光年。从mS到Days的计时很简单,只使用一种计时器类型。为了与结构模型保持一致,新的计时器去掉了过时的概念,如Tx和TAx,或将Tx作为计时器,而将Tx作为完成位。新的计时器支持Tx.Done或Tx.Acc。这真的很好,因为很容易看到代码的意图,并且没有必要同时为Tx和TAx项创建文档。

时间服务器、电子邮件和字符串格式化等网络操作都很好,有助于将DL205硬件与现代plc结合起来。请注意,文档说,这些功能中的大多数只在内置以太网端口上工作,尽管ECOM100卡应该仍然可以用于访问其他系统。

其他整洁的特性是脚本处理和字符串处理。STRPRINT框允许你生成带有嵌入变量的字符串,这些变量可以用来发送电子邮件消息等。我确实学到了短字符串SSx和长字符串SLx。

模拟器和趋势监测

Do-more系统包括一个非常酷的模拟器。更有价值的是新趋势监测。当您在执行PID工作时,这是非常宝贵的,但是它还可以监视任何系统变量或状态。它提供了对系统实际运行方式的出色洞察,我用它来校准CTRIO常数、查找bug等等。

您可以在新卡上丢失串行端口。如果您在港口上谈论RS-485,这尤其重要。好消息是您将USB接口送到PLC;如果您的工厂中没有以太网,这很好。您可以随时添加更多串行或以太网端口模块。

岩石稳定

开发系统非常稳定。30个小时的使用后,它依然坚如磐石。文档数据库在进行大的更改时可能会有点慢(2-5秒),但在其他方面非常可靠。

那么,我对花400美元升级有何感想?我决定我不想落后于技术前沿的曲线,这是一个很好的适合CLICK和Productivity3000系列,我非常喜欢。在进行了投资,并经历了这个过程之后,我认为CPU模块基本上是免费的。代码开发是如此的快速和干净,节省了我的时间。我的生产力提高了很多,完全可以证明投资是合理的。现在我很有信心在未来的应用中使用Do-more。万博官网手机登陆

,道格·阿姆斯特朗

切换到多做

免责声明:AutomationDirect不保证本文描述的产品适用于您的特定应用,也不承担您的产品/系统的设计、安装或操作的任何责任。万博官网手机登陆

最初发布于2013年9月24日