From: Ray H. <re...@up...> - 2006-09-19 16:06:57
|
H Eric I suppose that I should fess up and raise my hand here as the instigator behind the existence of CL as a part of the EMC project. This post will offer a bit of that history and ask a couple of questions. Please don't take offense as I intend them to carry no emotional load. My interest in "ladder" logic programming started not long after PLC's showed up and began replacing RRL (relay relay logic) I still have a couple of 200+ relay logic panels out in the shop to remind me not to ever go there. After finding EMC and attempting a couple of machine integrations with it, I found a real need for easy configuration of what I like to call "machine logic." PLC and ladder is one part of that ability. It is the PLC language of choice for machine tool builders. (I'll explain the other parts in a bit because they can be related to what you've started here.) I watched the control.com list for several years as it spawned several PC based PLC projects. (We don't use the term softplc because that is a copyrighted word.) ClassicLadder seemed like the easier project to get working with EMC and PaulC grabbed a copy and added it to the EMC repository at SourceForge. That really went nowhere and became dated. JohnK and several other HAL developers had a long series of discussions with the MatPLC and EU project folk developing motion control. We agreed that because of the way that real-time was being handled between the projects we could not integrate their work with ours without giving up the motion centric nature of the EMC project. IMO the HAL writers felt that HAL itself could handle logic elements with a few AND and OR gates developed as HAL blocks. Not long after that, PeteV picked up a M5i20 "anything io" card with 72 IO and decided along with others of us that he needed a logic engine to use with it. He grabbed the then current ClassicLadder code and created what we have now for both ladder and motion code for this PCI card. The short answer to why CL is there in EMC2 is that we needed the ability it offered and it works. Thanks Pete. All of the code in the EMC repository is a work in progress. HAL and EMC are evolving> We expected CL to do the same. One problem with grabbing a snapshot or fork of a project like CL is that it will become dated. It is not easy to keep them in sync and since our interest back then was to get a ladder logic engine that would work, and we have one now, the priority to update that work is low. The problems that you have identified and criticisms are quite valid. It would be nice to bring this system forward to the point where it looks better and works in easy concert with EMC, HAL, HALUI, HALVCP, and other systems. You say, "I am also trying (and failing <g>) to resist the temptation to start over without giving it a fair chance...." I note that you are wise enough to temper this urge long enough to consider parts of the old code as well. PLC is a pretty specialized rigorous thing that bears little resemblance to a end user threadable set of logic gates. My only concern with respect to CL as we embark on this task is that we carefully preserve the proven essence of PLC as we change things. So my question is, "Are you able to move us forward with the creation of an EMC-PLC that we can trust?" After that question is answered in the affirmative then the XML approach needs serious consideration and a path for expansion must be built in. Rather than this beging just one more in a long string of configuration files like parts of RUN, INI, VAR, TBL, HAL, it should move the data from all of these into a coherent single configuration system. My notions of machine logic stretch out to include all of the INI file, all of the non-coordinate system variables in the VAR file, and a whole range of machine parameters that control things like the nature of operator door interlocks, tool change positions, preconditions and post conditions for canonical commands, lathe vs mill and such. I would very much like to see these things included in a single configuration system. My second question then is, "Is it possible to include an expansion path as you develop your XML based system? Can this file be made compatible with and readable by common existing readers rather than only a text editor. Ease of machine setup and maintenance is my last concern. I use the user space ladder viewer to watch the state of the machine as I develop a ladder program. I know that I could start an instance of a specialized HALVCP to show me the state of switches and relays on the machine. That display would be quite foreign to a machine tool maintenance person. The existing CL display is quite familiar to most of us. This leads to my third question, "Will your EMC-PLC have the ability to display it's state while it works?" Hope this helps. Rayh On Tue, 2006-09-19 at 08:41 -0400, Eric H. Johnson wrote: > Hi all, > > It looks like I found out what the size limit is as far as posting to this > mailing list. <bas that includes all of the substance of Eric's post so read back> |