|


| |
T100 APPLICATION EXAMPLES
Programming the T100MX powerful hardware is
unbelievably easy using TRiLOGI. We present 5 examples here to illustrate our
point. These are fully functional projects and they represent challenging tasks
that demand powerful PLCs, yet programming them using TRiLOGI is totally
effortless. Compare the following examples with the amount of programming effort
needed on other makes of PLCs to handle the same tasks. You will quickly realize
the big saving of programming time when using TRiLOGI together with the M-series
PLC!
1. (a) Display Alphanumeric Messages on built-in LCD
Display (For T100MD-1616 only)
| Only T100MD-1616
has built-in interface for industry standard alphanumeric LCD module
which can range from 1x8, 2x16, 2x20 or 4x20 types.
Assignment:
Every 1 second, display a message as
follow:

where xx depends on reading of A/D #1 which
is returned by function ADC(1).
Full scale A/D is 4096.
A/D range (0 to 4096) Temperature 0 to 50
degree C
|

Comments:
Every one second, the special bit Clk:1.0s closes and activates Function
#1.
Within the Custom Function #1, ADC(1)
reads the A/D converter #1 and converts into degrees. SETLCD displays
the string. |
1 (b) Display Alphanumeric Messages on External Serial
LCD Display: MDS100
| MDS100 is an
optional 4 lines x 20 characters LCD display connected to the PLC's
RS485 port (serial port #3). Both T100MD-1616 and T100MX can use
MDS100, although the only reason for T100MD user to use MDS100 will be
to have more than 1 LCD display.
Every 1 second, display a message as
follow:

where xx depends on reading of A/D #1 which
is returned by function ADC(1).
Full scale A/D is 4096.
A/D range (0 to 4096) Temperature 0 to 50
degree C
|
Comments:
Every one second, the special bit
Clk:1.0s closes and activates Function #1.
Within the Custom Function #1, ADC(1)
reads the A/D converter #1 and converts into degrees. PRINT #3 displays
the string.
|
2. Motion Control of Stepper Motor
3. Activate Events at Scheduled Times
| T100MX has Real
Time Clock which keeps track of Date and Time and can be used to
activate events at scheduled time.
Assignment:
 | Every day turn on output #1 at 19:00
 | Turn OFF output #1 at 7:00
 | On 1st Jan 2000 at 12:00 turn ON output
#5
 | On the same day at 18:00 turn OFF output
#5 |
| | |
Note :
1. Tim30s activates Function #1 every 30
seconds.
2. Output #1 is bit #0 of the variable
output[1]. The statement SETBIT output[1],0 turns ON ouput #1.
3. Actually it may not be necessary to
check the minute hand since when the RTC turns from 18:59 to 19:00, the
output will be turned ON as long as TIME[1]=19. Only when TIME[1]=7,
then output #1 needs to be changed.
|
 |
4. Automatic Climate Control System
5. Closed-Loop PID Control of Heating Process
PID Controller Transfer Function:
Assignment:
 | Read desired set-point temperature from
a potentiometer connected to A/D #5 (S) with temperature range
between 50 oC - 200 oC
 | Measure the process temperature from a
thermocouple + signal conditioner attached to A/D #1(T)
 | Compute the Error = S - T. Apply
Proportional + Integral + Derivative (P.I.D) algorithm to compute
output X.
 | Apply output X to Digital-to-Analog
converter D/A #1 to control a variable position valve that feed fuel
to the flame.
 | Sample and compute every 1 second. |
| | | |
Full scale A/D range is 4096.
Range of Set Point: A/D #5 = 0 => 50 C
A/D #5 =4096 => 200 C
Range of Sensor: ADC#1 =0 => 0 C
ADC#1 = 4096 =>300 C
|
Note:
1. We use two decimal places to represent
the gains KP, KI and KD. Each integer unit represents 0.01. Proportional
gain KP = 5 is represented by variable P = 500. Likewise, Integral gains
KI = 0.5 is represented by I = 50 and Differential gain = 0 means
Differential term is not used (P.I. only). The integrator limits of +
2048 for the PIDDEF statement must be multiplied by 100 to be put on the
same scale as the P,I and D parameters.
2. The value returned by PIDcompute( )
function is then divided by 100 to get the real value of controller
output. PIDcompute( ) returns a signed value which can vary from -limit
to + limit. We choose the 50% D/A output (4096/2 = 2048) as the mean
control point so that negative values from PIDcompute( ) means D/A
output will be < 2048, positive values means D/A output will be >
2048.
|
|