Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - support

Pages: 1 ... 200 201 [202] 203 204 ... 212
3016
Technical support / Re: Stepper Motor Help
« on: June 06, 2003, 03:26:18 PM »
How many pulses will your analog proximity receive in relation to the rotation of the shart? Is it 1 pulse per step? You could feed the pulse back in the PLC's high speed counter to monitor the stepper motor actual rotation. So the PLC both generates the stepper pulses and monitor the encoder feedback.

50 steps in 60-100 milliseconds translate to 833 pulses or less per seconds. That is well within the PLC's capability to handle both pulse generation and encoder feedback.

3017
Technical support / Re: RTS/CTS Control
« on: June 14, 2003, 08:07:23 AM »
If you run the PLC's serial port at 1200 bps or slower, then the PLC will output data at same or slower speed than the radio can handle. If you then tie the RTS and CTS together (on the radio) you might be able to get it to work.

Anyway, we don't have experience in such application. The above is just a suggesion/guess only. ;)

3018
Technical support / Re: RTS/CTS Control
« on: June 11, 2003, 08:02:19 PM »
There is no plan to utilize the RTS/CTS control on COMM1.  There is normally no need to utilize flow control because the message exchange with the PLC is usually half-duplex. You send one ASCII string to the PLC and then wait for it to reply. Usually the modem have sufficient buffer capacity to take the message characters without needing the flow control.

The PLC can communicate at 38.400bps, but you can change it down to as low as 300 baud if need be (that will be really really SLOW). Typically 9600bps works great with most modem on the market.

A radio modem supplier who has tested their radio modem with our PLC is key Telemetering (http://www.keytelemetering.com).  They have tested the radio modem to work when the PLC communicate at 38,400bps.

Check the following thread for the contact person:

http://www.tri-plc.com/cgi-local/yabb/YaBB.pl?board=Support;action=display;num=1053447552


3019
Technical support / Re: barcode readers
« on: February 19, 2003, 05:16:57 AM »
SETBAUD 1,3 will set COMM1 to 9600, 8 data bit, 1 stop bit and NO parity. But if you define the bar code scanner for even parity then you need to use a different number for SETBAUD 1,n

I assume you have used a clock pulse to periodically execute the Fn #2?

Anyway, you should test whether you have received any input from the PLC by:

  A$ = INPUT$(1)
  IF LEN (A$) = 0 RETURN: ENDIF   ' nothing received.
  SETLCD 1,1, A$+"     "     ' To display captured string.
  A = VAL (A$)
  If A > 0:  B = A:  ENDIF
 
This should work better.


3020
Technical support / Re: Encoder question
« on: June 18, 2003, 12:59:02 PM »
If you can find an optical encoder that can output 24V NPN then you can connect directly to the HSC inputs. If your encoder is 5V only then you will need the darlington array to act as the interface between them.

3021
Technical support / Re: ADC Jumping Around
« on: June 19, 2003, 03:03:02 PM »
Have you actually tried the sensor interfacing with the analog input instead of using a simulator? Depending on the quality of the PLC power supply as well as sensor power supply, the presense of electrical noise etc you can get different result. So far many users seems satisfied with the slight flickering of the reading.

For water level measurement, since the reading does not change rapidly, you could take a moving average of the signal that you read in. That can be easily accomplished using the math capability of TBASIC.  You can take a moving average of 3 or 5 samples as your final result.

For absolute stability the RS485 based I-7017 will give you excellent result since it is a 16-bit unit with its own isolated power supply. Considering that it gives you 8 channels of 16-bit analog inputs the price is not too expensive.


If you want absolute stability in the reading

3022
Technical support / Re: ADC Jumping Around
« on: June 19, 2003, 09:40:00 AM »
The built-in ADC has a repeatability of about +/- 3 LSB, which for a 10-bit ADC translate to approximately +/-0.3%.

Note that the reading you see on screen is multiplied by 4 because of the normalisation to 12-bit. i.e. for +/- 3 LSB the reading will fluctuate about +/- 4,8 or 12.

If the reading jump more than that, then ripple on the PLC power supply may play a factor if I assume that your 4-20mA simulator has ultra steady power supply.

If you use the PLC's built-in 5V to power a potentiometer and take measurement the reading will be much more stable.

3023
Technical support / Re: Trigonometry Calculation
« on: May 05, 2003, 05:41:41 PM »
Thank you for the update. Yes, it is possible to use a look up table to solve the trig function but provided it is only limited to a small range of values.

3024
Technical support / Re: Trigonometry Calculation
« on: April 14, 2003, 12:28:36 PM »
Sorry. Not supported.

The M-series PLC do not support floating point math. But it's 32-bit integer math is good enough for 95% of control system.

3025
Technical support / Re: logging date and time of an input contact
« on: June 19, 2003, 06:54:36 PM »
What do you mean by "bongs out"? Do you mean you can't load the program into the PLC?

To log the time into DM[n], you just have to assign it:

DM[N] = TIME[1]      ' log hour
DM[N+1] = TIME[2]  ' log minute
DM[N+2] = TIME[3]  ' log second
DM[N+3] = DATE[2]  ' Log Month
DM[N+4] = DATE[3]  ' Log Day

N = N+5

If this use up too much memory you could compress the data into one variable such as:

DM[N+3] = DATE[2]*100+DATE[3]   ' represent as 101 to 1231

3026
Technical support / Re: How to run TL5 server under win XP
« on: June 23, 2003, 03:09:11 PM »
There is a FAQ link to this question. Please visit:

http://www.tri-plc.com/cgi-local/yabb/YaBB.pl?board=FAQ

and look for the topics "TLServer Ver 2.0 could not start".


3027
Technical support / Re: Nested Parentheses in Logical Expressions
« on: June 23, 2003, 03:17:57 PM »
In the TRiLOGI version 5.2 we have just released, we have included support for compilation of complex logical expression as per your example.

All licensed TRiLOGI users can obtain free upgrade by following the "upgrade.htm" document in their CD ROM.

3028
Technical support / Re: Nested Parentheses in Logical Expressions
« on: May 02, 2003, 12:11:32 PM »
You are right that the current TBASIC compiler doesn't process complexed logical expression the way C language does. Basically a While expression expect a simple comparison expression that could be joined by an "AND" or an "OR" operator.  It doesn't process logical expression within brackets (that may change in future). That's why terse expression like your example will not compile properly.

An equivalent expression is as follow:

I$ = INPUT$(1)

FOR I = 1 TO 20
     X = ASC(strupr$(I$),1)
     IF LEN(i$)=0 RETURN: ENDIF
     IF ASC(strupr$(I$),1)<>65 AND asc(strupr$(I$),1)<>82
         GOTO @5
     ELSE
         I$ = mid$(I$,2,len(I$)-1)
     ENDIF
NEXT

@5  ' Out of loop location




3029
Technical support / Re: Nested Parentheses in Logical Expressions
« on: May 01, 2003, 01:35:28 PM »
If you just want to test one character, it is quite efficient to use the ASC function. If more than 1 character is needed for comparison, then replace it with a MID$ function.

The following code should do what you want to do:
---------------------------

I$ = INPUT$(1)

IF LEN(I$)=0 RETURN: ENDIF

IF ASC(I$,1)=65 OR ASC(I$,1)=82  ' 'A' is ascii 65, 'R is ascii 82
   I$ = MID$(I$,2,len(I$)-1)
ELSE
   I$ = "Wrong string"   ' or whatever !!
ENDIF

3030
Technical support / Re: PID ramp temperature control
« on: July 01, 2003, 09:33:53 PM »
This is really a PLC programming issue and not a technical problem. If you are willing to get paid helps from outside consultant we can ask some of the consultants we know  to help you write the initial part of the program.

Otherwise, we can only offer you a description of how to control your ramp up cycle (ramp up from temperature -45 to temperature B+40 degree C within 1080 minutes). Normally your measured ADC reading is between 0 and 4092. You need to do some scaling to convert them into degree C. Assuming that each digit represent 0.1 degree after scaling, i.e. -45.0 degree means -450, and +40.0 degree is represented as 400:

At the ramp up cycle, the starting temperature is -450.
The end temperature is to be +400
Ramp up time = 1080 minutes

 ==> increment = 400-(-450)/(1080*60) = 0.0131 per second.

You can use a 1 second clock pulse to periodically execute a custom function. Within this custom function, you will increment a variable (say N) to keep track of the elapsed time from the start of the ramp up cycle. You will then compute the desired temperature at this instant and compare it to the measured temperature, then decide if you want to turn ON or OFF the heater:

N = N+1   ' keep track of elapsed seconds from start of cycle.
IF  N > 1080*60    ' times up
    .....            ' do whatever necessary
ENDIF

S = -450 + N*131/10000   ' S is desired set point.

T = ADC(1) * (some scale factor to give readings in 0.1 C)

If T < S       ' Temperature is below set point
     SETIO Heater
ELSE
     CLRIO Heater   ' temperature is above setpoint
ENDIF







Pages: 1 ... 200 201 [202] 203 204 ... 212