Author Topic: connecting IO modules to a controller  (Read 31683 times)

Offline Rafal_Typiak

  • PLUS+1 Expert
  • ****
  • Posts: 51
  • Karma: +1/-0
connecting IO modules to a controller
« on: July 30, 2012, 12:35:41 PM »
Hello.
Could someone tell me what exactly needs to be done to get information from the IO module connected to a controller? I've connected the IOX24 to the MC088 via CAN_1. I've added the necessary template in GUIDE, added a checkpoint the MC088's program connected to the 'Pwr' input of the IOX24 (taken from the 'IO_Bus' bus) and I get nothing.
Could someone explain what am I doing wrong?
When I download the program to the controller, the IO's green LED blinks, after which it starts to blink repeatedly with a 1sec interval.


EDIT:

It seems I can't reconfigure the IO module. Is there an instruction manual to get this thing working?
« Last Edit: July 30, 2012, 01:05:42 PM by Rafal_Typiak »

Offline Jakob

  • PLUS+1 Expert
  • ****
  • Posts: 98
  • Karma: +2/-0
Re: connecting IO modules to a controller
« Reply #1 on: July 30, 2012, 01:38:20 PM »
Check the IO settings in the program, the ones inside the IO template.
Then check the IO parameters with the servicetool.
 N1 , AddrMode , RX , TX.
Do you have other blank IO units connected on the CAN-bus?

Offline Rafal_Typiak

  • PLUS+1 Expert
  • ****
  • Posts: 51
  • Karma: +1/-0
Re: connecting IO modules to a controller
« Reply #2 on: July 30, 2012, 02:44:59 PM »
The thing is that I can't change those settings in the device itself (I can change them in the program).
When I download the program to a MC with the IO connected, should the IO be reprogrammed as well or do I need to do some 'mumbo jumbo' on it?

Offline Jakob

  • PLUS+1 Expert
  • ****
  • Posts: 98
  • Karma: +2/-0
Re: connecting IO modules to a controller
« Reply #3 on: July 30, 2012, 09:52:57 PM »
A certain amount of mumbo jumbo is indeed needed.
Depending on the setup.

What address mode are you setting up?

Offline Rafal_Typiak

  • PLUS+1 Expert
  • ****
  • Posts: 51
  • Karma: +1/-0
Re: connecting IO modules to a controller
« Reply #4 on: July 31, 2012, 02:31:45 PM »
First I used '0' - variable ID hoping that it's the one that will work the best (like a default value).
After that failed I've set it to '2' - fixed. I've also changed the frame to 29bit identifier and have set the Net to 1 (because the IO is connected to MC's CAN_1 - which has Net number '1').
However it still fails to deliver, as the ServiceTool still recognizes the IO card with a standard Net/ID of 0,0.
Additionally connecting the ServiceTool directly to the IO causes the red LED to flicker. Strange, considering the fact that the ServiceTool does not return any errors and CanKing shows output status message being sent.
« Last Edit: July 31, 2012, 02:57:56 PM by Rafal_Typiak »

Offline Rafal_Typiak

  • PLUS+1 Expert
  • ****
  • Posts: 51
  • Karma: +1/-0
Re: connecting IO modules to a controller
« Reply #5 on: October 15, 2012, 12:50:52 PM »
Hello,
I still can't connect my IO module to the controller's bus. I can't seem to be able to configure it.
I connect both to the CAN bus and the service tool 'sees' them but when I download a clean, compiled program with a clean, unmodified IO function block, it's unable to change the configuration parameters. I just get a red led flash and that's it.
I've read the manual a few times now and it says that at the beginning it measures CAN shield voltage (who and why someone would came up with such an idea is beyond me) and after the initial program load (which contain a function block) it should change to predefined addressing mode. Now if I'm not changing anything it should be 0 as the N1 default value is 0.
So after that if I change the N1 to 1 it should change after download. But it doesn’t and I still get the freakin' red led flash!
I've used the CANKing to see the traffic on the bus and I get a CAN message from the IO with the address of 384dec which is the 180hex as it SHOULD be for the N1=0 value. I now also get the 768dec -> 300hex CAN message from the MC088 which also represents the N1=0 row but that's it. Nothing changes, just that damn red led.
I've also read that it's possible to change the addressing mode via Service Tool. Yey! Great! But wait.... how the hell am I supposed to do it, huh? The manual doesn’t say. Neither does the ST manual. 'Kudos' to you Sauer for such a useful piece of information.... but seriously. How the hell am I supposed to do it?

If anyone is willing to help me I'll be grateful because I'm sick and tired of this crap.

Rafa? Typiak

Offline hproffitt

  • PLUS+1 Developer
  • ***
  • Posts: 28
  • Karma: +0/-0
Re: connecting IO modules to a controller
« Reply #6 on: October 15, 2012, 02:34:06 PM »
There is a dedicated service tool file embedded in GUIDE for each I/O module, it is shown in the attached picture.  You can change the parameters directly from there.

A few notes:

- I always use the Address Mode "1" and just assign the number myself. 

- The address will show as x8 of what you set it.  You can only pick 0-15, but if you pick "2" the checkpoint will show "16" (2x8), etc.

- The configuration parameters for the I/O modules require a power cycle after the parameters have been changed.


Offline Rafal_Typiak

  • PLUS+1 Expert
  • ****
  • Posts: 51
  • Karma: +1/-0
Re: connecting IO modules to a controller
« Reply #7 on: October 15, 2012, 03:15:19 PM »
That was frustrating and enlightening at the same time.
First of is seems I don't have P1H files associated with Service Tool - so I only saw (and still do) a blank icon. Luckily there was a 'save as' option so that I could manually open in from ST. I've set everything up and it seems to work but I still get the bloody red led flashing all the time. What could this mean?
I believe everything works ok because I check "IO MODULE CAN Inputs": CommStatus, Configured, Incompat_HW, Incompat_Protocl and ProtocolVersion and all the values seem ok.

As to the whole configuration procedure I kind of believed that the function block serves as configuration tool for the hardware, not the other way around ('configure it to a specific hardware or it won't work').

As such I belive everything is ok and for that a BIG thank you @hproffitt  is in order, so... THANK YOU. I've helped me more than SD's customer support!

However there's still a matter of that blasted red led. Any ideas on that? Tomorrow I'll go through error messages (if I find 'em) to see how to get their status (probably some will be available through the file you've shown me).

Thanks again,
Rafa?

Offline hproffitt

  • PLUS+1 Developer
  • ***
  • Posts: 28
  • Karma: +0/-0
Re: connecting IO modules to a controller
« Reply #8 on: October 15, 2012, 03:27:40 PM »
Ah, I didn't catch your question about the red light on the first one.  The LEDs behave differently on the I/O expanders than they do on the controllers.

Here is the section in the I/O Modules Tech Info (520L1029) that talks about them:

"To simplify system diagnostics the I/O device will use its LEDs, if available, to indicate
different status conditions.

Red LED
The red LED indicates outgoing message traffic from the I/O device. The LED toggles its
state with every successfully transmitted frame.
If the device’s CAN-bus goes into a bus off condition then the LED will be permanently
on.

Green LED
The green LED indicates that the I/O device is seeing incoming message traffic. The LED
toggles its state with every successfully received frame. If no messages are received for
more than 10 seconds, then the LED starts to blink at a one Hertz rate.
Time critical messages and messages which have to be used all the time are
implemented with a sub identifier which has a value from 0 to 0xFE."


Basically Red = outgoing messages, Green = incoming messages to the expander; you WANT them flashing.

Offline Rafal_Typiak

  • PLUS+1 Expert
  • ****
  • Posts: 51
  • Karma: +1/-0
Re: connecting IO modules to a controller
« Reply #9 on: October 16, 2012, 07:22:07 AM »
It seems now I know everything about configuring those devices :)

Thank you very much!