You are not registered yet. Please click here to register!


 
 
plc storereviewsdownloads
This board is for PLC Related Q&A ONLY. Please DON'T use it for advertising, etc.
 
Try our online PLC Simulator- FREE.  Click here now to try it.

---------->>>>>Get FREE PLC Programming Tips

New Here? Please read this important info!!!


Go Back   PLCS.net - Interactive Q & A > PLCS.net - Interactive Q & A > LIVE PLC Questions And Answers

PLC training tools sale

Reply
Thread Tools Display Modes
Unread January 9th, 2020, 01:50 AM   #1
walkir
Member
United States

walkir is offline
 
Join Date: Feb 2019
Location: California
Posts: 22
Question AutomationDirect DL06 programing

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?

  Reply With Quote
Unread January 9th, 2020, 06:37 AM   #2
mikeexplorer
Member
United States

mikeexplorer is offline
 
Join Date: Nov 2018
Location: Scranton,PA
Posts: 19
AutomationDirect has a Youtube channel with a lot of tutorial videos.


https://www.youtube.com/results?sear...+directsoft+6+
  Reply With Quote
Unread January 9th, 2020, 07:01 AM   #3
geniusintraining
Lifetime Supporting Member + Moderator
United States

geniusintraining is online now
 
geniusintraining's Avatar
 
Join Date: Jun 2005
Location: SC
Posts: 6,628
There user manual is also very good https://cdn.automationdirect.com/sta...d006userm.html
__________________
www.PLCCable.com PLC Communication Cables, PLC Trainers, Fluke Meters, MicroLogix, ControlLogix, Siemens, Allen Bradley and more... all your automation needs... ((NEW)) After Market 1784-U2DHP Allen Bradley USB to DH+ and Gateways
  Reply With Quote
Unread January 9th, 2020, 07:28 AM   #4
parky
Member
United Kingdom

parky is offline
 
parky's Avatar
 
Join Date: Oct 2004
Location: Midlands
Posts: 1,522
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.
  Reply With Quote
Unread January 9th, 2020, 12:13 PM   #5
walkir
Member
United States

walkir is offline
 
Join Date: Feb 2019
Location: California
Posts: 22
Unhappy

Quote:
Originally Posted by mikeexplorer View Post
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
  Reply With Quote
Unread January 9th, 2020, 12:15 PM   #6
walkir
Member
United States

walkir is offline
 
Join Date: Feb 2019
Location: California
Posts: 22
Unhappy

Quote:
Originally Posted by geniusintraining View Post
There user manual is also very good https://cdn.automationdirect.com/sta...d006userm.html
The documentation doesn't even mention functions, function blocks or state machines. So I guess it is not possible?
  Reply With Quote
Unread January 9th, 2020, 12:50 PM   #7
Jim G.
Member
United States

Jim G. is offline
 
Join Date: Nov 2007
Location: Georgia
Posts: 105
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.
  Reply With Quote
Unread January 9th, 2020, 01:04 PM   #8
bernie_carlton
Lifetime Supporting Member + Moderator
United States

bernie_carlton is offline
 
bernie_carlton's Avatar
 
Join Date: Apr 2002
Location: Yakima, Washington
Posts: 6,311
For 'state machines' check out the stage programming. The DL-06 manual has a section on it. I used it a lot in sequential machines.
__________________
Controlling outputs is the PLC's way of getting its inputs to change.

www.thePLCguy.com
  Reply With Quote
Unread January 9th, 2020, 01:26 PM   #9
hasait
Member
Spain

hasait is offline
 
Join Date: Jan 2014
Location: bcn
Posts: 8
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
  Reply With Quote
Unread January 9th, 2020, 03:28 PM   #10
bernie_carlton
Lifetime Supporting Member + Moderator
United States

bernie_carlton is offline
 
bernie_carlton's Avatar
 
Join Date: Apr 2002
Location: Yakima, Washington
Posts: 6,311
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.
__________________
Controlling outputs is the PLC's way of getting its inputs to change.

www.thePLCguy.com
  Reply With Quote
Unread January 9th, 2020, 03:50 PM   #11
parky
Member
United Kingdom

parky is offline
 
parky's Avatar
 
Join Date: Oct 2004
Location: Midlands
Posts: 1,522
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.
  Reply With Quote
Unread January 9th, 2020, 04:28 PM   #12
walkir
Member
United States

walkir is offline
 
Join Date: Feb 2019
Location: California
Posts: 22
Quote:
Originally Posted by parky View Post
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...
  Reply With Quote
Unread January 9th, 2020, 06:15 PM   #13
hasait
Member
Spain

hasait is offline
 
Join Date: Jan 2014
Location: bcn
Posts: 8
Im sorry ....i dont know it
  Reply With Quote
Unread January 9th, 2020, 10:52 PM   #14
Gene Bond
Member
United States

Gene Bond is offline
 
Join Date: May 2004
Location: Indianapolis, IN
Posts: 395
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.
  Reply With Quote
Unread January 10th, 2020, 05:49 AM   #15
parky
Member
United Kingdom

parky is offline
 
parky's Avatar
 
Join Date: Oct 2004
Location: Midlands
Posts: 1,522
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/Di...06uservol1.pdf
Attached Images
File Type: png sub.png (38.1 KB, 58 views)
  Reply With Quote
Reply
Jump to Live PLC Question and Answer Forum

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Topics
Thread Thread Starter Forum Replies Last Post
How programing S200 with Simatic SCL langugae tayfur LIVE PLC Questions And Answers 7 November 16th, 2013 08:51 AM
EA7-T8C connect with DL06 time out error ming LIVE PLC Questions And Answers 0 March 17th, 2011 11:30 AM
Wonderware and DL06 (Automationdirect) geniusintraining LIVE PLC Questions And Answers 5 January 13th, 2007 01:04 AM
AVG and AutomationDirect Head to Head zmanvortex LIVE PLC Questions And Answers 2 February 14th, 2005 08:46 AM
Automation Direct DL06 Steve Etter LIVE PLC Questions And Answers 28 January 21st, 2005 08:48 AM


All times are GMT -5. The time now is 08:30 AM.


.