adccommunitymod (AutomationDirect) asked a question.

Moving to Do More - Experience and Tips

Created Date: May 12,2013

Created By: gadgetavi8tor

**** This post has been imported from our legacy forum. Information in this post may be outdated and links contained in the post may no longer work.****

I have been moving an old DL-260 project over to Do More (and exploring some of the new features) for the past couple days and thought sharing a few lessons learned might be helpful. The old version of the program controlled three hydro electric turbines. The old code needed to work with REAL numbers (metering) and had several stages for controlling each turbine plus a ton of senor processing and HMI logic. All in one code library this made for lots of similar looking code in one big file. So right out of the chute I was interested in the x3000/click data handling and the programs / task features of Do More. The first hurdle was converting the old code. Some code like reading A2D cards, CITRO cards, and ModBus devices I knew would be mostly automated so deleting that was not factor. The problem was the logic, proven and tweaked over years, and I was not looking forward to the down time recreating that. I decided to do what AD and HE say not to do I exported my DS5 project. I edited it to import into DM this took about five hours, most involving the learning curve (I think I could do it in under two now). Not for the faint of heart but I was able to get 90% of my code into the new system. In fact, creating a converter that would get you 90% of the way there seems easy enough and would be valuable. If anyone is interested, I will provide some samples and tips on how I did this. One important lesson learned here was that the engineering guys did a great thing by supporting the old DL memory in type call DLV (V2200 = DLV2200) old vs new system. This is not to be confused new V/Vector memory. My project uses some old OptiMate keypads and I think using DLV memory type to support those will mean I don't need to mess with the keypad setup - DM says DLV memory works just like the old Direct Logic memory. The new system structures in DM are very nice. Accessing data like Time and Date is easy now referencing the $Now structure, $Now.Hour is the current hour makes code development fast and bug free. There are structures for everything, so for the most part the days of needing to know the special V reg number to get system info are gone. Creating "Programs " is like having a pool of virtual PLCs in one box, I like to think of it as a nearly infinite number of 200 series PLCs. This is very nice and provides excellent logic isolation. I put the control of each turbine in its own program, the HMI stuff in another, System Logging in anther etc. To start a program you just use the RUN block and spec the program name and that virtual PLC boots up. Once in the program additional features become available, for example instead of using FirstScan one can use the program structure to do thinks like (program name).FirstRun or .FirstScan allowing each program to behave as its own little PLC. Data Casting is another tricky but powerful feature. In my DL260 I was manipulating bit fields using the B1400.0 to hit bit 0 of V1400. Doing the conversion requires one to use DLV1400:0. In this case I am using the old Direct Logic compatible memory so my external devices will not need to be reconfigured (I hope). Constants are another cool feature. Good programming practices suggest that using hard coded constants is a no-no since changing these requires knowledge of everywhere they are used. DM provides a way to name constants now which cleans up code nicely and saves having to store constants in preinitialized memory. Timers are like the other newer PLCs. The timers in DM are light years ahead of the old stuff. Timing from mS to Days is simple and uses just one timer type. Finally! In keeping with the structures model, the new timers do away with archaic concepts like Tx and TAx or, Tx as the timer and Tx as a done bit. The new Timers support a Tx.Done or Tx.Acc. This is really nice since it is easy to see the intent of the code and it is not necessary to create documentation for both the Tx and TAx items. This upgrade is seen many other components in the system. IO Cards and points are automatically mapped into memory simplifying integration another very nice feature. Network operations like time servers, email and string formatting are all nice, and help bring the 200 series into fold with modern PLCs. Note the doc says most of these features only work on the built in Enet port although if you have ECOM100 cards they should still work for accessing other systems. The DM system includes a simulator which is pretty cool. While very functional it seems as if the original vision for the Sim was scaled back. In otherwords there are some obvious enhancements which will hopefully be forthcoming. One final note, the development system is remarkably stable. After 30 hours of use (including trying to import some pretty crazy stuff) it has remained rock solid. It can be a little slow sometimes make large changes (2-5 seconds) but otherwise was very solid. I hope this is helpful to anyone making the jump. I will confess during the first hour, I thought "do I really want to do this ", by hour two, there was no turning back. :D


  • adccommunitymod (AutomationDirect)

    Created Date: May 30,2013

    Created by: odwyerpw

    Thanks for sharing your experience with us!

  • adccommunitymod (AutomationDirect)

    Created Date: May 31,2013

    Created by: deep6ixed

    As a fellow PLC guy who recently converted two machines over to the DoMore series of processor, I can echo the same sentiments. And to people who are on the fence about it, I can saw, for the price just buy one and try it.

    We had two machines that were designed and built about 15 years that were starting to show major signs of age, multiple individual components were upgraded at different stages, 3 different series of drives, relay logic and PLC's all in the same cabinet. Prints never were updated... Troubleshooting became a nightmare. We had talked about a complete machine rewire and once the Do-More came out we decided to finally go ahead and do it, and here's an overview of what I felt going from DL240 CPU's to the new DoMore:

    1.) Programs and Tasks: This feature by itself is worth every penny. The ability to clean up code into blocks that can be called, or turn off and on as needed is a huge plus.

    2.) Analog Support: No more IBox setups for analog cards, and moving from memory location, using commands to convert before you can use, etc. Now it's as simple as a SCALE Command, tell the PLC how you want to use the data and it's all there. Plus you can directly access the input / output.

    3.) Simplicity of timers / counters: using flags like .done and .running makes it so much easier.

    4.) Compatible with DL Cpus: If you have HMI's, or any other device that is already in your system, then the Do-more can work with in with very little setup.

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: May 31,2013

    Created by: boardmaker

    I simply cannot wait until they pickup an expandable microbrick platform like the DL06. I wish they would advertise their intentions of where they plan on expanding the Do-More Platform next. Just being able to have subroutines would make my life so much easier not to mention the million other things.

  • adccommunitymod (AutomationDirect)

    Created Date: May 31,2013

    Created by: Adisharr

    I'll use a Do-More over anything else now. The serial and motion enhancements are extremely powerful.

    If they could get a scaled down version in a Click body I would be all over that. I'd love to see that along with some temperature and analog cards.

  • adccommunitymod (AutomationDirect)

    Created Date: May 31,2013

    Created by: bcarlton

    They don't pre-announce their releases (except to beta testers) because of the uncertainty of UL approval and possible mass manufacturing problems. People plan for a specific release date then are really messed up if the date slips. When it is finally released you know it has been well tested and standards approved.

  • adccommunitymod (AutomationDirect)

    Created Date: May 31,2013

    Created by: scott.lawrence

    I simply cannot wait until they pickup an expandable microbrick platform like the DL06.

    I am also waiting for this, since I have about 10 of these on the plant floor

    Just being able to have subroutines would make my life so much easier not to mention the million other things.

    DS has subroutines, although I think you were referring to setting up different programs and tasks, as mentioned by deep6ixed.

    My take on DoMore? AD/Host Eng have outdone themselves :D

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: May 31,2013

    Created by: BobO

    Thanks for the kind words guys!

    As Bernie mentioned, we won't publicly give specifics for a dozen good reasons. I am willing to say that given 1) very positive feedback on Do-more, 2) good sales on Do-more, and 3) the very significant investment to develop Do-more, that there is an approximately 100% probability that you will see Do-more on other hardware platforms.

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: May 31,2013

    Created by: boardmaker

    Definitely looking forward to it Bob.

  • adccommunitymod (AutomationDirect)

    Created Date: May 12,2013

    Created by: gadgetavi8tor

    I have been moving an old DL-260 project over to Do More (and exploring some of the new features) for the past couple days and thought sharing a few lessons learned might be helpful.

    The old version of the program controlled three hydro electric turbines. The old code needed to work with REAL numbers (metering) and had several stages for controlling each turbine plus a ton of senor processing and HMI logic. All in one code library this made for lots of similar looking code in one big file. So right out of the chute I was interested in the x3000/click data handling and the programs / task features of Do More.

    The first hurdle was converting the old code. Some code like reading A2D cards, CITRO cards, and ModBus devices I knew would be mostly automated so deleting that was not factor. The problem was the logic, proven and tweaked over years, and I was not looking forward to the down time recreating that.

    I decided to do what AD and HE say not to do I exported my DS5 project. I edited it to import into DM this took about five hours, most involving the learning curve (I think I could do it in under two now). Not for the faint of heart but I was able to get 90% of my code into the new system. In fact, creating a converter that would get you 90% of the way there seems easy enough and would be valuable. If anyone is interested, I will provide some samples and tips on how I did this.

    One important lesson learned here was that the engineering guys did a great thing by supporting the old DL memory in type call DLV (V2200 = DLV2200) old vs new system. This is not to be confused new V/Vector memory. My project uses some old OptiMate keypads and I think using DLV memory type to support those will mean I don't need to mess with the keypad setup - DM says DLV memory works just like the old Direct Logic memory.

    The new system structures in DM are very nice. Accessing data like Time and Date is easy now referencing the $Now structure, $Now.Hour is the current hour makes code development fast and bug free. There are structures for everything, so for the most part the days of needing to know the special V reg number to get system info are gone.

    Creating "Programs " is like having a pool of virtual PLCs in one box, I like to think of it as a nearly infinite number of 200 series PLCs. This is very nice and provides excellent logic isolation. I put the control of each turbine in its own program, the HMI stuff in another, System Logging in anther etc. To start a program you just use the RUN block and spec the program name and that virtual PLC boots up. Once in the program additional features become available, for example instead of using FirstScan one can use the program structure to do thinks like (program name).FirstRun or .FirstScan allowing each program to behave as its own little PLC.

    Data Casting is another tricky but powerful feature. In my DL260 I was manipulating bit fields using the B1400.0 to hit bit 0 of V1400. Doing the conversion requires one to use DLV1400:0. In this case I am using the old Direct Logic compatible memory so my external devices will not need to be reconfigured (I hope).

    Constants are another cool feature. Good programming practices suggest that using hard coded constants is a no-no since changing these requires knowledge of everywhere they are used. DM provides a way to name constants now which cleans up code nicely and saves having to store constants in preinitialized memory.

    Timers are like the other newer PLCs. The timers in DM are light years ahead of the old stuff. Timing from mS to Days is simple and uses just one timer type. Finally! In keeping with the structures model, the new timers do away with archaic concepts like Tx and TAx or, Tx as the timer and Tx as a done bit. The new Timers support a Tx.Done or Tx.Acc. This is really nice since it is easy to see the intent of the code and it is not necessary to create documentation for both the Tx and TAx items. This upgrade is seen many other components in the system.

    IO Cards and points are automatically mapped into memory simplifying integration another very nice feature.

    Network operations like time servers, email and string formatting are all nice, and help bring the 200 series into fold with modern PLCs. Note the doc says most of these features only work on the built in Enet port although if you have ECOM100 cards they should still work for accessing other systems.

    The DM system includes a simulator which is pretty cool. While very functional it seems as if the original vision for the Sim was scaled back. In otherwords there are some obvious enhancements which will hopefully be forthcoming.

    One final note, the development system is remarkably stable. After 30 hours of use (including trying to import some pretty crazy stuff) it has remained rock solid. It can be a little slow sometimes make large changes (2-5 seconds) but otherwise was very solid.

    I hope this is helpful to anyone making the jump. I will confess during the first hour, I thought "do I really want to do this ", by hour two, there was no turning back.

    :D

    Expand Post