News:

  • June 28, 2026, 10:32:23 AM

Login with username, password and session length

Author Topic: Do More with Serio-4  (Read 7270 times)

Henryp

  • Hero Member
  • *****
  • Posts: 161
Do More with Serio-4
« on: October 04, 2013, 10:26:04 AM »
I'm trying to use a radio network with a Do More and Serio-4 card. I need to adjust the serial communication time out valve to allow for radio latency, but I can’t find where it can be adjusted.

Greg

  • HostTech
  • Host Moderator
  • Hero Member
  • *****
  • Posts: 702
  • Hmmm...
    • Host Engineering, Inc.
Re: Do More with Serio-4
« Reply #1 on: October 04, 2013, 11:50:24 AM »
Henryp, I believe I answered this same question on AutomationDirect's forum:

I'm assuming you mean a regular communication link to a 3rd-party device and not a programming link with Do-more Designer software.

When doing serial communication, the buffer for the SERIO4 module will receive the data regardless of when it is sent by the communication partner.

To do serial communication in Do-more with a SERIO4 module it depends on whether you are doing Modbus RTU or some custom (e.g. ASCII) protocol of your own. It also depends on whether you are the master (client) or the slave (server).

If Modbus RTU as the master, then the timeout value is under PLC --> System Configuration --> Device Configuration in the Modbus Control Settings box. You would use the MRX/MWX instructions to do communication.

If Modbus RTU as the slave, then there is no timeout value necessary. Data just appears in Do-more's Modbus memory (M-memory) in the appropriate place. There are no Do-more instructions necessary to receive the data.

If using serial communication then you must use the STREAMIN/STREAMOUT instructions to send and receive data to/from the communication partner. In the STREAMIN instruction there is a Network Timeout value you can make anything you like up to 65.535 seconds. Of course the STREAMOUT (since you are sending data) does not need a timeout value.

But you don't even have to set that value in the STREAMIN instruction either. You could simply monitor the .InQueue value as long as you want. As long as this value is zero (0), then there is no data there. When it is non-zero, then you can execute the STREAMIN instruction and pull that data out of the buffer.

Also, if you are talking about RTS delay times (since this is usually a concern over radios), then in each serial configuration for the device, there are a couple of parameters you can change:

Transmit Control: set to Unconditional, Wait for CTS, Delayed 5ms, 50ms, 250ms or 500ms

...and...

RTS Control: set to Follows Transmitter, Manual, On or Off

Hope this helps!
There are two types of people in the world; those that can extrapolate from incomplete data sets.