| M Series PLC | ![]() |
+44 (0) 118 9700010 sales@icc-gb.com |
|
|
|
T100MX 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: Full scale A/D is 4096. |
![]() 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: Full scale A/D is 4096. |
![]() 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
| T100MX generates pulses to feed to
stepper motor driver. The maximum speed, acceleration/deceleration and total number of
pulses to generate are definable using TBASIC. Assignment:
|
![]() |
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:
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
Assignment:
|
![]() Comments: One decimal place is used for temperature reading. All temperature readings are x 10 times. Hence 16.0 degree C
is |
5. Closed-Loop PID Control of Heating Process
PID Controller Transfer Function: Assignment:
Full scale A/D range is 4096. Range of Set Point: A/D #5 = 0 => 50 C Range of Sensor: ADC#1 =0 => 0 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. |