AutomationDirect DL06 programing

walkir

Member
Join Date
Feb 2019
Location
California
Posts
32
I got DL06 AutomationDirect PLC to program with DirectSOFT6. It is a simple machine (40 in and 20 out, all digital), few valves, a simple conveyor and a rotating table. Usually using Siemens, AB, Panasonic or Beckhoff it would be very easy. But wit DL06 and its software I don't know how to start it...
Can I create my functions and function blocks, user defined data structures and shift register?
I don't see anything about it in the documentation and cannot find anything online about it...
And later how to connect HMI and program it?

:site:
 
It's some time since I have used this, there are sub routines however, I believe you have to create your own parameter passing.
the subroutine is after the END instruction and in the version I had if you wished to create a function that took & returned parameters then you have to use temporary memory areas.

As I say it's some time ago but this might give you some idea as I cannot remember the proper instructions.

Function add 3 integers and divide by 4th output result.

main program
Mov VC100 to VC200 // move 1st value to temp 1
Mov VC101 to VC201 // Move 2nd value to temp2
Mov VC102 to VC202 // Move 3rd value to temp3
Mov VC103 to VC203 // Move 4th value to temp4
LD X0 JC P100 // When bit X0 true jump to pointer of function (sub routine)
LD VC203, T VC104 ...... // returned value from function
........ //Other logic of program
........
Mov VC150 to VC200 // move 1st value to temp 1
Mov VC151 to VC201 // Move 2nd value to temp2
Mov VC152 to VC202 // Move 3rd value to temp3
Mov VC153 to VC203 // Move 4th value to temp4
LD X1 JC P100 // When bit X true jump to pointer of function

LD VC 203, T VC154 ..... //Returned value from function.....
........
........ //other logic in main routine
END // end of main program

P100: //pointer to subroutine
ADD VC200, VC201, to VC203 //Add the two values
ADD VC202, VC203, VC203 // Add 3rd value
SUB VC 203, VC202, to VC203 // sub the 4th value and store in VC203
RETURN // Return from the sub

Basically what it does is pass the words or bits to temporary memory
jumps to the code and works on those words or bits
then puts the result(s) into the return temporary memory(ies) jumps back and loads the result into your addresses
Obviously there is no point in doing this for small subs as the coding to transfer var ins var outs or var in/outs takes more than writing it long hand.
I did a similar thing in SLC500 as this did not have user functions so wrote a standard block using memory areas i.e. bits & words then before the call of the block passed the input var to the temps put a call to the block then on return from the block passed the out or in/out back to memories.
This is exactly how siemens or others do it, however they probably use variables not exposed to the programmer.
 
AutomationDirect has a Youtube channel with a lot of tutorial videos.

Unfortunately, they some videos about DirectSOFT5 but there is nothing about DirectSOFT6. And other videos on youtube on that topic are in Spanish... This few I managed to find in English doesn't mention topics I am asking for :confused:
 
Automation Direct has the cables necessary to connect to various HMI's. Or you can also get a H0-ECOM100 card for one of the slots on the 06 and use Ethernet and a switch to network your HMI and programming device.
The programming is primarily ladder logic, but the I-boxes simplify some functions.
As stated before, the videos and the manuals are very good.
 
hi Friends , please i have plc FX2N and i have Arduino mega, i have too ttl-rs232, i have cable rs232, i want conecte Arduino to plc , if i active for example pin 7, active output Q0 of plc and if i active input of plc X0 active ouput of Arduino pin8, i use programme FLOWCODE for Arduino, and gx developer for plc fx2n.
thank you
 
Hasait - you are posting to a thread with an entirety different subject. Please return to the Live PLC Questions and Answers page then click on the New Thread button to begin your question.
 
I just had a look and it seems there is no way to structure subs only the way I suggested. For the program you are doing I suggest you just write it in normal scan. It does have some powerful instructions but the manuals I consider are poorly written. There are manuals on the CD I believe and they do somewhere mention how to jump to subroutines after the end of the main ladder.
 
I just had a look and it seems there is no way to structure subs only the way I suggested. For the program you are doing I suggest you just write it in normal scan. It does have some powerful instructions but the manuals I consider are poorly written. There are manuals on the CD I believe and they do somewhere mention how to jump to subroutines after the end of the main ladder.

Thank you for your ideas. Do you know if I can have several programs here or all have to be written in one? So far I didn't figure it out...
 
DirectSoft only supports 1 task as I recall.

Realize this is 3 generations old. It has been surpassed by the Productivity, DoMore and Click. Think of it like an SLC...

You can replace the processor with a DoMore, and probably have all the power you are asking for.
 
You can I believe write as many subs as there are pointers 256
Just remember that each sub has a pointer and a return See pic.
so you can have upto 256 subroutines.
Note: you need a return and if you want to return before all code is executed then you also add a conditional return. you can call these routines as many times as you like either conditionally or unconditionally.
Just remember if you wish to pass values or bits to & from the subroutine then you will have to pass them in logic i.e. move 1234 to say VC100 and use these addresses in the function then any return values must be passed back after the return. so, for example, you create a function that takes 3 parameters and passes back 2 then you will need 5 memory bits/words that are not used in the main program, you say you are used to siemens so, for example, they have Flags or Markers in bytes or words from M0.0 to M255.15 so you would allocate MW200 to MW254 as scratchpad flags.
Forgot to add this it is the manual that explains subs
https://www.plcsystems.ru/catalog/DirectLOGIC_2/doc/d06uservol1.pdf

sub.png
 

Similar Topics

I have written one program with FDB. Thought I could therefor write code for an automation direct DL-06. Huge learning curve. I believe I have...
Replies
3
Views
1,735
Hello all I have several DL06's on the Ethernet (they are working great) I would like to write a Wonderware application and use the data from...
Replies
5
Views
2,676
Hey all! Long time reader, first time poster! I have an EA9-T7CL and an MicroLogix 1200 connected via DF1. I'm all good and got everything mostly...
Replies
3
Views
634
Hi, For a very long time, I have been using Allen-Bradley CompactLogix or ControlLogix PLC's for more complex applications with bigger budgets...
Replies
9
Views
2,196
I have a piece of equipment I need to troubleshoot. It has an AutomationDirect 05 processor. When I first tried to connect found processor was...
Replies
4
Views
2,108
Back
Top Bottom