Jump to content

Recommended Posts

Dear support and forum members,

 

My name is Robin from the Netherlands, and my boss gave me the ambitious opportunity to program a seemingly easy wood-sanding machine. For this project we bought a Vision130 (V130-33-R34)

 

The machine has:

-A conveyor belt for transporting a wooden board, with frequency regulator for the speed.

-A safety door lock. (Machine should only be operational when this door is locked)

-4 motorized, rotating sanding brushes (2 of these brushes have frequency regulators for the speed.)

-4 motorized height adjustments for the sanding rolls (with encoders). 

-Thermal protection.

-The standard buttons like: main switch, emergency stop button, start / stop button, and also an electronic stop.

 

As I'm completely new to ladder programming, I'm struggling with some issues already. I'm familiar to programming languages such as C#, C++, SQL and I know a little Structured Text.

 

I need to address Memory Integers to some states of the machine (so I can 'use' the output of the last line as a condition (input) for the next line. I chose not to use a Memory Bit, so I can address multiple states.

 

In the file that I enclosed in this post, there is the program as far as I could get it to this point. I do understand many of the logic that comes with this machine, however my background is software engineering with no knowledge of PLC's or electronic components. I find it difficult to understand some of the tutorials and manuals that I have read so far.

 

Hopefully there is a smart guy or girl who can help me with this.

 

Regards, Robin

 

 

 

 

 

 

 

 

 

 

Schuurmachine PLC Ladder.vlp

Share this post


Link to post
Share on other sites

Haven't look at the program yet.  I will later today.

 

Some general tips.

 

1) Never trust the software to work right. (Sorry, see point 2)

 

2) Your emergency stop should be a hardwired stop to completely cut power to the system, never software.  In the US, and I believe most European countries as well a software emergency stop is not acceptable under government regulation because software can lock up and not respond correctly.

 

 

*Edit*

 

I attached how I would organize your ladder logic to make it easier to follow.  I did not change the logic of the program to this point

 

A couple of things that will help a lot.

 

1) Try to get out of the software mindset and think in hardware terms.  Input on the left, output on the right of the ladder (Not required but useful).  It will help you immensely when building the logic ladders (If you use that route). 

 

2) Make sure you really understand how the program scan cycle works, keep in mind if you use other PLCs it may be different.   Unitronics follows this basic process each scan. 

  • Read physical inputs and map to memory
  • Run the ladder logic.  Scans left to right, top to bottom. 
  • Write physical outputs
  • Updates HMI
  • Communications

3) Something else that may help you is using subroutines to block off your logic into more manageable chunks.  I usually run a digital input subroutine, an analog input subroutine, a digital output subroutine, and multiple subroutines for different logic sets.  Purely a personal preference though.  If you'd like I can provide an example of how I do this.

 

As for your program requirements hardware wise you need at least the following

  1. Motor safety cutoff should be controlled through a hardware relay designed for safety operations that defaults to normally open.  Also should allow you to input a digital signal into the PLC to let the program know as well.
  2. Minimum 4 analog inputs for the encoders
  3. 3 PWM style digital outputs for the frequency encoders (possibly depending on that hardware)
  4. A handful of digital inputs for various buttons (assuming remote mount)
  5. Hardwired E-Stop for power to the system.

Questions for the program

  1. Thermal protection for what? You'll need either analog input or digital input depending on the sensor type you use.
  2. What states are you attempting to monitor?  Why do you need an integer to do it?  It may seem easier to use an integer but this is necessarily always the case.

 

conveyor v2.vlp

  • Upvote 1

Share this post


Link to post
Share on other sites

Unfortunately, all my programs are larger than the allowed size limit.

 

I'd be glad to email it if you were still interested.

 

I am by no means and expert, so I'm sure I do something yet that are not considered standard.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×