Jump to content

Recommended Posts

Hello to everyone,

I am building a project that will utilize three ex-rc1 units and on each one I have attached four io-atc8, two io-pt400 and one io-di8-r04.

The atc8's will read temperature readings from J thermocouples and the pt400's from normal Pt100 temp sensors. The project is a temperature and alarm monitor, the di8-r04 will only energize a siren and a lamp.

My (silly propably) question is : should I make one subroutine on each ex-rc1 for each analog io unit? I have successfully made the ex-rc1 to correctly transmit the input values from the first i/o to the HMI unit, but when I try to read from the next set of inputs I get stuck. Is it the best way to have different subroutines for each i/o, or is a simpler way?

Thank you in advance for your time reading this

Share this post


Link to post
Share on other sites

I don't think subroutines will make a lot of difference to the difficulty or complexity.

Mainly I would say you should map out the operands so that within each EX-RC1, all your analogue inputs are in consecutive operands. That way, when you build the block of data to send on the CAN bus, it can be done with the minimum number of steps.

  • Upvote 1

Share this post


Link to post
Share on other sites

First of all, thank you for your reply

I also think that using subroutines for each i/o would be time consuming, as well as increasing the complexity of the program. So I 've decided to use multiple structs to copy all inputs to the MI's that will be sent throught canbus. But when I use a second struct block in order to copy all the inputs from the second i/o after the ex-rc1, I cannot transmit the values. The compilation of the problem is reporting "Missing output element - Net will not be compiled". I attach the file of one of the ex-rc1, if anyone has the time to take a look I would be grateful.

ELLI T PORT ME EXRC1.vlp

Share this post


Link to post
Share on other sites

this might be a simple and rather silly suggestion but, can you send the mi registers directly via unican send? use bit to num to convert your digital inputs to mi registers and use num to bit in your master plc. i use this instead of struct for my programs and it works. the only problem with this is that you can only send 16 mi's per send block and this will result in multiple send routines. give this a try and see if it works

Share this post


Link to post
Share on other sites

Hello to everyone,
 

I am building a project that will utilize one v1210 and expanded with one ex-rc1 units and I have attached one io-d16a3-to16 and one io-atc8.

My question is simple : How I make one subroutine for read from ex-rc1 the variables io unit in ladder of v1210 ?

I don't have this subroutines in main ladder in v1210 , how can I do this?

Thank you and regards,

 

Nildo

nildo@oliberal.com.br 

Share this post


Link to post
Share on other sites

Keep in mind the way the PLC cycle works may be something you can use to your advantage.

 

All inputs are read at the beginning of the cycle (Including CANBus), then your logic is processed, outputs are written, HMI is written, and communications happens.

 

You could create a controlled with an integer, to control which I/O analog module you're reading from, then increment your control variable to read from the next one, then reset it to start from the first again.

 

 

My personal preference, I have a single subroutine to handle Digital Input, one subroutine for analog input (All I/O modules referenced in one and including scaling of the input to a usable variable), both called at the beginning of my main routine, that map the input to an integer, bit, or long as required.  Multiple subroutines to handle logic, then at the end a subroutine for analog output, and one for digital output, that map a single integer, bit, or long to the correct output.  It makes for some larger ladder segments, but, it's a fairly universal setup you can copy to multiple styles of PLC without issue and it simplifies remapping if an I/O point dies. It also gives you a lot of modularity with your ladder logic for moving between projects.  Which, depending on how many you work on, can be a huge boon.

It increases scan time slightly, but the communications portion of the cycle has the largest effect on scan time.  My current project reads 8 analog I/O, 16 input, and 32 output and I sit somewhere between .5-1ms based on the scan time integer.

Share this post


Link to post
Share on other sites

I can not communicate ex rc1 two modules in the first atc8 I have eight modules in the second three atc8 and IO16 to, any example ...

 

In your first EX-RC1 rack, if you are trying to configure all 64 channels of 8 IO-ATC8 modules, you have exceeded the maximum words that can be placed in one adapter.  I had this problem before and I realized during setup that although the specification allows for a maximum of 8 I/O modules per adapter, you can only configure a maximum of 49 words.  With an adapter with 8 IO-ATC8 modules, this mean you can only configure a maximum of 49 channels (1 ATC8 channel = 1 word).  This translate to only 6 fully used ATC8 modules + 1 ATC8 with 1 channel used.

 

In my case before, I was forced to add more adapters so that I will have a maximum of 6 ATC8 modules per EX-RC1.

 

In your case, one solution is to move 2 ATC8 modules from the first EX-RC1 to the second EX-RC1.  Your first adapter will have 6 ATC8 while your second adapter will now have 5 ATC8 (40 words) and 1 digital module (1 word). 

Share this post


Link to post
Share on other sites

I struggle to send my PT 100 value via the EX-RC1 to the vision 130 controller. I can read the opper hand readings on the EX-RC1 show an value and move up and down as the temp increase and decrease but can not get the data over to the Vision 130 - can someone help me on this. When I compile my vision 130 unit it keep on providing two 702 warnings not sure what it is.  

Here my coding. 

P1 Main#1Paul 4-8-18.vlp

P1EX-RC#2Paul 4-8-18.vlp

P1EX-RC#4Paul 4-8-18.vlp

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

×