Home

Internet TRiLOGI Software on-line manuals

image

Contents

1. Start Stop Manual Step qo 2 E Run Bu _ e The simulator screen comprises 5 columns Input Timer Counter Sequencer Relay and Output With the exception of the Relay table which contains up to 512 elements and the timer table which contain up to 128 elements all other columns contain 256 elements each and has a vertical scroll bar You can use the mouse to scroll each column independently to locate the desired I O The label names for the inputs outputs relays timers and counters defined earlier in the I O tables automatically appear in their respective columns To the left of each label name column is an LED lamp column which indicates the ON OFF state of the respective I O A red color lamp represents the ON state of an I O whereas a dark grey color lamp represents an OFF state The I O number is indicated in the middle of the lamp The simulator requires the use of the mouse to work properly so it is important to remember the mouse button actions as follow Turn ON the I O when pressed Left Mouse Button Tum OFF when button is released Toggle the I O when pressed once nigh Mouse Buran i e OFF becomes ON and ON become OFF There is a check box with the name Control near the upper right hand corner of the simulator This check box must be checked before you can force set reset the I O within the simulator When running the simulator this box is normally checked But when you ru
2. Allows you to select a PLC for monitoring by specifying the ID address Up to a maximum of 256 PLCs may be connected to one TLServer and Internet TRILOGI allows you to select any one of the PLCs for on line monitoring and or programming When clicked the password dialog box will be opened with only the ID field available for you to enter the new ID value Monitoring PLC s I O Status on Ladder Diagram e During on line monitoring the logic states of any i o of the PLC is also displayed on the ladder diagram An input output relay timer or counter that is turned ON will have its label name highlighted in the ladder diagram This feature helps greatly in debugging and understanding the logical relationship between each i o For example from the above figure we Can see Clearly how the Self latching circuit for relay Run works When we first turn ON the Start input Run will be energized and its contact which is parallel to Start will hold itself in the ON state even if we subsequently turn OFF the Start input http localhost 9080 Help fullmon htm 2 of 3 3 30 2005 7 52 44 PM Full Screen Monitoring t TRILOGI Version 5 0 Demo PC5 Source TLServer File Edit Controller Simulate Circuit Help Circuit 1 On Line Monitoring Start Stop RLY IM Manual H esas isea Manual B our out our e Note that whether the highlight is turned is based strictly on the logic state of an element You will have to
3. 1 With the circuit pointer red color triangle at Circuit 1 press the lt Spacebar gt to enter the Ladder Edit mode You can also enter the circuit edit mode by double clicking at Circuit 1 TRILOGI Version 5 32 Untitled SEE File Edit Controller Simulate Circuit Help Circuit 1 Once you enter the Ladder Edit mode a row of ladder icons appear along the top of the main TRILOGI window just below the pull down menu The following is a description of each item A yellow color highlight bar which you can move to select an element in the ladder circuit will appear JF lt 5 gt Left click to insert a N O parallel contact to enclose one or more elements HE lt 6 gt Right click to insert a N C parallel contact to enclose one or more elements http localhost 9080 Help laddertutorial1c htm 1 of 4 3 30 2005 7 52 29 PM lt 1 gt Left click to insert a normally open series contact lt 2 gt Right click to insert a normally closed series contact lt 3 gt Left click to insert a N O parallel contact to highlighted element lt 4 gt Right click to insert a N C parallel contact to highlighted element Ladder Logic Tutorial Step 3 Click to move the highlight bar to the right same effect as pressing the right arrow key This can be used to move cursor to a junction which cannot be selected by mouse click 7 DEL Doubte click to delete a highlighted element 2 Now insert the fi
4. 2 Communication Speed When communicating via modems there are two different definitions of communication speeds that you should be aware of The DTE Speed or line rate is the serial communication speed between the modem and the device connected to its RS232 port Most modems can automatically detect the RS232 speed of the device and can assume any speed from 1200 2400 all the way to 115 200 bps The first ASCII character they receive from the device will determine the DTE speed that the modem will use to communicate with the device The modem to modem communication speed is what you read on the modem specifications such as 33 6Kbps 56Kbps etc When two modems are connected they automatically negotiate for the best speed to communicate between the two of them based on the quality of the phone connection and the maximum speed that both modems are able to achieve We usually have no control of what speed they choose to communicate But one thing is for sure which is that the modem to modem speed is always lower than the DTE speed Since the default communication baud rate of the M series PLC s RS232 serial port is 38 400 bps the PLC should send a modem initialization string to the modem on the first scan pulse so that the modem can recognize its default DTE speed i e 38 400 bps in order to talk to the PLC E g To reset the modem you just have to send an ASCII string ATZ to the modem using the following TBASIC command PR
5. E Cut Ladder Circuits to Chpboard Please note that you can t UNDO a Cut Circuit operation 4 Copy Circuit Ctrl C You can copy a block of circuits from the current ladder program and store them into the clipboard for pasting into another part of this ladder program or into another ladder program file altogther The range dialog box similar to Cut Circuit will appear for you to enter the range of circuit to copy 5 Paste Circuit lt Ctrl V gt When you execute this command the block of ladder circuit which you Cut or Copy into the clipboard will be pasted just before the currently selected circuit The current circuit number will be adjusted to reflect the change 6 Find lt Ctrl F gt http localhost 9080 Help editmenu htm 1 of 3 3 30 2005 7 52 32 PM Edit Menu 10 The Find command allows you to quickly locate a ladder logic circuit that contains a particular label name This is useful for searching for the activity of a particular I O in the program The Find command can also be used to search for a keyword in a TBASIC program When this command is executed you will be further prompted to select the options of either searching for a ladder logic label or finding a text in a Custom Function fe Find Label fa Find Text in CusFn Label Name F2 key select from VO Table Text to Find Find Ladder element you can enter into the the text field a string that partially or fully matche
6. 1 Circuits 3 to 6 are similar to one another They make use of the Sequencer to turn on the Outputs 1 to 8 to create a pattern of running lights when executed The label Seq1 1 of the contact in Circuit 3 represents Step 1 of Sequencer 1 Remember that each sequencer can have up to 32 steps Step 0 to 31 with each step individually accessible as a contact A normally open contact Seq1 1 will be closed whenever the step counter of Sequencer 1 reaches number 1 Likewise a normally closed contact Seq5 20 will be opened when the step counter of Sequencer 5 reaches number 20 5eg1 1 outi OUT outs OUT 2 To create the normally open contact Seq1 1 left click on the icon When the I O table pops up scroll to the Special Bit table and select the item 1 SeqN x When prompted to select a sequencer choose Sequencer 1 and another dialog box will open up for you to enter the specific step number for this sequencer 3 We have thus far been creating ladder circuits only by clicking on the ladder icons A short cut method of choosing elements to be created without using the mouse does exist Observe the icon carefully and you will notice a small numeral at the lower right hand corner of each icon which correspond to the shortcut key You may wish to try this short cut for the remaining part of Circuit 3 Press the lt 7 gt key and the Output table will immediately pop up for selection of a coil Pick Outi from the Output table an
7. Copyright c Triangle Research Int l Inc 2001 2002 Al Rights Reserved Help Version 2 0 Note Starting from Version 2 0 TLServer also provides File and Email Services to the PLC That means that a PLC can send a command to the TLServer to open a file and save its data into the PC s harddisk It can also command the TLServer to send out the data as an email to anybody in the world The new Email Service works differently from the original email function provided in TLServer 1 0 in that TLServer does not poll the PLC instead it is the PLC that initiates an email request asynchronously This makes it possible for a PLC to dial in via a modem to request the TLServer to help it send out an email without demanding a constant connection the TLServer However the original email function is still supported in Version 2 0 because that has the advantage of being able to service email requests for multiple PLCs linked via the RS485 network Click here to read details about the new PLC File amp Email Services When TLServer is first started it will query the operating systems for the IP addresses of the computer that it runs on It may take a while if the O S is slow to return the IP address It will then display the obtained IP addresses maximum of two on the TLServer front panel so that the user can quickly determine the IP addresses that they can use to access the PLC The following are some possible IP address scenarios f the
8. Purpose To return a string which is an all lowercase copy of A Examples BS STRLWRS AS Z CS STRLWRS C Comments The second example shows how to convert a string to all lower case See Also STRUPP O B Basic to TBASIC Reference Manual http localhost 9080 Help tbasic strlwr htm 3 30 2005 7 52 42 PM STRUPR STRUPR A Purpose To return a string which is an all uppercase copy of A Examples BS STRUPRS AS C STRUPRS CS Comments The second example shows how to convert a string to upper case See Also STRLWR amp lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic strupr htm 3 30 2005 7 52 42 PM TBasic Introduction TBASIC Custom Functions An Introduction 1 Overview TRILOGI Version 5 supports user created special functions known as Custom Functions the symbol CusFn will be used throughout this manual to mean Custom Functions Up to 256 CusFns can be programmed using a special language TBASIC TBASIC is derived from the popular BASIC computer language widely used by microcomputer programmers Some enhancements as well as simplifications have been made to the language to make it more suitable for use in PLC applications There are three simple ways to create a new CusFn From the Edit pull down menu select the item Edit Custom Function and select the function number from a pop up CusFn selection table which may range from 1 to
9. The data 1234 will be written to the MODBUS device with ID 08 at the holding register offset address 1000 in MODBUS convention this refer to holding register 41001 The command automatically checks the response string received from the slave device for the correct LRC and the slave address The status of the operation can be checked in the user program by executing the STATUS 2 function which will return a 0 if there is any error or if the slave device is not present See Also READMODBUS STATUS 2 NETCMD lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic writemodbus htm 3 30 2005 7 52 38 PM STATUS STATUS n Return the status of various system operations Function Returned value status 1 0 Normal power on reset 1 Reset by Watch Dog Timer WDT status 2 0 READMODBUS or WRITEMODBUS failure 1 READMODBUS or WRITEMODBUS successful status 8 PLC s ID address stored in EEPROM for host communication MODBUS READ WRITE OK Examples IF STATUS ELSE MODBUS READ WRITE failed ENDIF lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic status htm 3 30 2005 7 52 38 PM PAUSE PAUSE Purpose To set a breakpoint for executing the CusFn This is used mainly for debugging a CusFn By Inserting a PAUSE statement at the place of interest you can suspend the program execution when PAUSE is encountered after which you
10. ch should return a value of between 1 and 8 Speed pps is based on no of pulse per second pps output by the pulse generator The acceleration acc determines the total number of steps taken to reach full acceleration from standstill and the number of steps from full soeed to a complete stop The stepper motor calculates and performs the speed trajectory according to these parameters when the command STEPMOVE is executed STEPSPEED command should be executed at least once before executing any STEPMOVE command to control the pulse generation The defined parameters will be remembered until another STEPSPEED statement operating on the same stepper channel is executed again Examples esem oa Comments The PLC s Stepper motor controller channel 2 is configured to send out pulses at 2000 pulses per second when STEPMOVE instruction is executed It follows a linear acceleration trajectory which takes 20 pulses to reach the full speed of 2000 pps This is equivalent to an acceleration of a V 20007 _ 100 000 pulse s2 25 2x20 See Also STEPMOVE STEPMOVEABS STEPCOUNT STEPCOUNTABS n STEPSTOP STEPHOME q Basic to TBASIC Reference Manual http localhost 9080 Help tbasic stepspeed htm 3 30 2005 7 52 42 PM STEPSTOP ch STEPSTOP ch Purpose To abort a stepper channel ch which is in motion due to exceptional circumstances Examples STEPSTOP 2 Comments Important Motion aborted by STEPSTOP command will n
11. count number of variables to read max 16 in M PLC ch addr var Examples READMB2 3 5 101 DM 10 8 Comments The PLC will use MODBUS ASCII protocol via its Comm port 3 to query the slave MODBUS device with ID 05 and ask for 8 words of data starting from register offset address 101 in MODBUS term this refer to the 40102 holding register Once it receives the returned data these 8 words will be stored in the memory locations DM 10 DM 11 DM 17 This command automatically checks the response string received from the slave device for the correct slave address and LRC or CRC16 RTU protocol is used Like READMODBUS command the status of this operation can be checked by the user program by testing the STATUS 2 function See Also WRITEMB2 STATUS 2 lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic readmb2 htm 3 30 2005 7 52 39 PM WRITEMB2 WRITEMB2 cA ID addr var count Applicable only to M PLC with firmware r44 or higher Purpose Think of this as the multi word version of WRITE MODBUS command ch PLC COMM port number 1 to 8 using Modbus ASCII or 11to 18 using Modbus RTU ID Device ID of the MODBUS slave device 1 to 255 Zero offset address of the holding register in the MODBUS slave addr device starting from 0 equals to 40001 in MODBUS Holding register The starting variable in the master whose data is to be sent out var i may be a DM or a
12. http localhost 9080 Help tbasic if htm 1 of 2 3 30 2005 7 52 36 PM IF Comments A few comparison expressions may be linked with logical AND AND statement or logical OR OR statement operator as shown in the above examples a Basic to TBASIC Reference Manual http localhost 9080 Help tbasic if htm 2 of 2 3 30 2005 7 52 36 PM INCOMM INCOMM ch Purpose To return a single 8 bit binary data obtained from comm channel ch ch must be a numeric constant between 1 and 8 The actual target hardware determines the valid port This function returns 1 if there is no data waiting at serial port Note INCOMM is now supported on all COMM ports of T100MD1616 and T100MX families of PLCs FOR I 1 to 100 DM I INCOMM 2 IF DM I lt 0O RETURN ENDIF NEXT Examples Usually the PLC buffers the serial data arriving at its COMM port so that the program does not need to continuously check the COMM port for data When the program is ready to process the data it can use the FOR NEXT loop shown in the above example to read in all the data in the COMM buffer until it encounters a 1 which indicates that the buffer is empty OUTCOMM INPUTS PRINT Comments See Also lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic incomm htm 3 30 2005 7 52 36 PM OUTCOMM n OUTCOMM n x Purpose This statement can be used to se
13. 1 Hello this email is sent by your friendly TRiLOGI PLC PRINT 1 Don t worry everyting is working out great today PRINT 1 lt gt Note Sender field should be in email format e g xxx yyy zzz but it does not need be an actual valid email address e Subject field is optional and may be omitted totally The TLServer will first save all the data it received into a temporary file named Email txt in the default directory After the TLServer receives the end of service tag lt gt from the PLC and it will then send out the email to the recipient email address This email service will make use of the SMTP server defined in the Setup Emails portion of the TLServer configuration so make sure that you have defined a correct SMTP server before testing the email service function http localhost 9080 Help fileservice htm 1 of 2 3 30 2005 7 52 25 PM File and Email Service When the email has been successfully sent via the SMTP server the TLServer will send an lt OK gt tag to the PLC to acknowledge that the EMAIL request has been successfully completed It is up to your PLC program to check for the lt OK gt tag to determine if it the service it requested has been processed 4 Read Data from File This service allows the PLC to request the TLServer to open a text file and upload its content to the PLC This may be useful for loading some previously saved parameters Format l
14. 3 buttons Connect Hang Up and Special become enabled when you select the Modem mode Note that the Baud Rate field now becomes the DTE speed which specify the line rate between the PC and the modem this has nothing to do with the actual baud rate between the modems which will be automatically negotiated based on the quality of connection Normally you should leave the DTE speed set to the highest value 115200 unless your modem manufacturer specifies otherwise The PLC can be operating at a different baud rate from the PC to modem line rate because of the modulation dimoduation action of the modem Important The PLC to modem connection must be properly prepared before you can use TLServer to connect to the PLC s modem Click here to read more details about the PLC to Modem Communication Setup Once you have entered a proper phone number click on the Connect button to start dialing the modem make sure that the Auto Answer check box is not checked If the remote modem is busy or does not answer the call you will see the corresponding error messages in the response box Click on the Hang Up button anytime to abort the dialing operation If you click on the Special button a special dialog box will appear as follow You can change the DTE speed by selecting fh Special Setup j a new value from the choice menu e You can specify a special AT command to be 415200 i sent to the modem during modem initialization Nor
15. File Edit Controller Simulate Circuit Help Circuit 2 RUN Step Manual Manual SAE E a Special Bits Label Name Seqhix Normally OW lst Scan 0 013 Clock 0 023 Clock 0 053 Clock O 13s Clock 0 23 Clock 53 Clock 1 03 Clock l1 min Clock RTC Error 5 Next we want to insert the special bit Clk 0 5s to the left of the Manual contact Press the lt SHIFT gt key to move the insertion point to the left end of the highlight bar as shown above Then left click on the H icon to create a normally open contact Scroll the I O table to the Special Bits table and select the item 0 5s Clock The parallel branch would have been completed by now Note The Special Bit table comprises some clock pulses and some other special purpose bits These include the eight built in clock pulses in the system with periods ranging from 0 01s to 1 minute Built in clock pulses are useful if you need a time base to create for example a flashing light A contact such as Clk 0 1s will automatically turn itself ON for 0 05s and then OFF for another 0 05s and then ON again resulting in a series of clock pulses of period 0 1 second 6 Next move the highlight bar to the right end junction of the parallel circuits as follow http localhost 9080 Help laddertutorial1d htm 2 of 4 3 30 2005 7 52 30 PM Ladder Logic Tutorial Step 4 TRILOGI Version 5 3 Untitled File Edit Controller Simulate Circuit Help su JAR
16. For each step of the Sequencer the corresponding Output will be turned ON Our demo program will show a running light pattern starting from Outputs 1 amp 8 then 2 amp 7 3 amp 6 and 4 amp 5 and then back to 1 amp 8 2 amp http localhost 9080 Help laddertutorial1f htm 1 of 3 3 30 2005 7 52 31 PM Ladder Logic Tutorial Step 6 6 Now you should verify that the logic works as intended by observing the ladder diagram You should notice that the Run labels in all circuits are highlighted as shown below TRiLOGI Version 5 32 C TRiLOGI TL5 usr samples Demo PC5 Source Sel File Edit Controller Simulate Circuit Help Circuit 1 Start Stop RLY Duration TIM Step Manual a Avseq Clk 0 5s Manual 7 The logic states of any I O can be displayed on the ladder diagram directly An Input Output Relay Timer or Counter contact that is turned ON will have its label name highlighted in the ladder diagram This feature helps greatly in debugging and understanding the logical relationship between each I O For example from the above figure we can see clearly that the Self latching circuit for relay Run works as intended when we first turn ON the Start input Run will be energized and its contact which is parallel to Start will hold itself in the ON state even if we subsequently turn OFF the Start input by releasing the button 8 The timer coil Duration being connected in parallel to Run rela
17. For example you don t need to update the value of a variable displayed on the LCD screen any faster than the human eye can read them So using a 0 5s clock pulse may be sufficient and this will not take up too much CPU time for the display For slow processes such as heating a 1 0s clock pulse to monitor temperature change is more than sufficient IMPORTANT 1 When the CPU scans the ladder logic to a circuit which contains a CusFn and the execution condition of the circuit is TRUE the corresponding CusFn will be immediately executed This means that the CPU will not execute the remaining ladder circuits until it has completed execution of the current CusFn Hence if the CusFn modifies a certain I O or variable it is possible to affect the running of the remaining ladder program 2 Note that the INPUT n variables contain data obtained at the beginning of the ladder logic scan and not the actual state of the physical input at the time of the CusFn execution Thus it will be futile to wait for the INPUT n variable to change inside a CusFn unless you execute the REFRESH statement to refresh the physical I O before you examine the INPUT n variable again 3 Likewise any changes to the OUTPUT n variable using the SETBIT or CLRBIT statement will not be transferred to the physical outputs until the end of the current ladder logic scan Hence do not wait for an event to happen immediately after executing a SETBIT or CLRBIT statement on an OUTPUT
18. However if you run TRILOGI as an applet using the browser then you will not be prompted to entser the HTTP proxy s IP Address This is because the TRILOGI applet makes use of the browser itself to perform the HTTP tunnelling Due to Java Security model Applet will not be able to connect to the client s network proxy server directly It can only use the browser s built in proxy settings to do the job The browser s built in proxy settings must have been correct to access TLServer via proxy server otherwise you would not have been able to run TRILOGI as an applet from that TLServer in the first place http localhost 9080 Help login htm 2 of 3 3 30 2005 7 52 26 PM Logging In to TLServer EEE En S ProxyServer Name or IP http localhost 9080 Help login htm 3 of 3 3 30 2005 7 52 26 PM TRILOGI Internet Server Helps Adding Deleting and Editing Users This dialog box allows you to add new users who are allowed access to the TLServer and the PLCs You can also change the password username or the access level of an existing user or delete an existing user A new user defined here will be given his her own exclusive subdirectory to store ladder programs For PCs this directory is located at C TRILOGI TL5 usr lt username gt where lt username gt is the same as the Username defined here Select Username Double clicking on an Setup Username Pana x existing username opens up the username p
19. Run Simulation All TRILOGI programs can be almost fully simulated on your PC You invoke the Simulator by clicking on the Simulate Menu and select one of the three Run options Run All I O Reset Clear all inputs outputs relays timers and counter bits to logic OFF clear all internal memory variables to zero and all strings to empty string before running the simulator Run reset except i p The same as the above but the input logic state will be kept This is useful if you have simulated the program halfway and then close the simulator You may wish to maintain the input logic states of the control scenario while resetting the rest of the simulator s data Continue Run no reset allows you to continue a previously aborted simulation session E3 TRILOGI Yersion 5 0 Untitled pcS File Edit Controller BeimEes Circuit Circuit 1 Bun 811 I 0 Reset Cerlt F9 Help Pun reset except i p Crrlt Fe Continue Bun no reset Fa Compile Only Fe Reset All I Us Ctrli E 2 The Simulator Screen When you run the simulator TRILOGI will immediately compile the ladder program and if no error is detected it will instantly proceed to open up the Programmable Logic Simulator screen as shown below http localhost 9080 Help simulator htm 1 of 3 3 30 2005 7 52 46 PM Programmable Logic Simulator E Programmable Logic Simulator Mi x apcief T TT TC TT T T T ewe Serer contro a 939 Duration
20. TRILOGI is to access TLServer within the intranet environment or from the public internet Please see TRILOGI installation guide for an explanation of how to use the port number properly http localhost 9080 Help userconfig htm 1 of 2 3 30 2005 7 52 27 PM TRILOGI Internet Server Helps Ports or addresses within a computer are used to enable communication between programs Port addresses are 16 bit addresses that are usually associated with a particular application protocol An application server such as a Web server or an FTP server listens on a particular port for service requests performs whatever service is requested of it and returns information to the port used by the application program requesting the service Popular Internet application protocols are associated with well known ports The server programs that implement these protocols listen on these ports for service requests The well known ports for some common Internet application protocols are shown below Port Protocol Zl 21 File transfer protocol 23 Telnet protocol SS 25 Simple mail transfer protocol 80 Hypertext transfer protocol http localhost 9080 Help userconfig htm 2 of 2 3 30 2005 7 52 27 PM TLServer password Help TLServer Password Handling Administrator s Password See Explanation below B Username Password Username samples Password Access Level OK Programmer Full Access fe User Control KO Visi
21. When this statement is run the integral and differential terms of channel ch is set to zero Hence PlDdef should be run only once during initialization and not repeatedly executed Otherwise the PIDcompute function will not run properly because of the loss of integral and differential data PlIDcompute lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic piddef htm 3 30 2005 7 52 39 PM PMON PMON ch PMOFF ch Examples See Also PULSEWIDTH PUSEPERIOD PMON enables Pulse Measurement Function at channel ch whereas PMOFF disables the channel After enabling the channel you may then use the functions PULSEWIDTH ch and PULSEPERIOD ch to obtain the width and period of the input pulses arriving at the pulse measurement input pin You must call PMON once during initialization to enable the pulse measurement hardware Otherwise the two functions will only return 0 You should avoid repeatedly executing PMON function otherwise the pulse measurement hardware will be reset repeatedly as well and accurate measurement cannot be obtained If you no longer need to measure the pulse width or period for a particular channel which has been PMON before you should disable it using PMOFF to save CPU time because pulse measurement is interrupt driven and consumes CPU time PMON 1 PMOFF 5 lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic pmon htm
22. addr Applicable only to PLC with firmware r44 or higher This function returns a string previously saved into the PLC s internal data EEPROM using the SAVE_EEP command addr EEPROM address Actual PLC may have less EEPROM space Please refer to your PLC s reference manual for the upper limit Purpose X Load _BEPS 5 FOR I 1 to 5 SS I Load_EEPS 1I 10 NEXT Examples Comments 1 String saved in EEPROM string location 5 is loaded into X 2 Strings saved in EEPROM string locations 11 to 15 are loaded into A to E 1 to 5 represents A to E See Also SAVE EEP for explanation of how the data EEPROM area are organized in the M series PLC s to provide storage area for both integers and strings LOAD EEP SAVE EEP lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic loadeep2 htm 3 30 2005 7 52 38 PM LSHIFT i LSHIFT i n Purpose To shift 1 bit to the left the integer variable which must be either an integer variable a DM n or a system variable such as relay n output n etc LSHIFT instruction permits more than one variable to be chained together before performing a bit shift The parameter n indicates the number of channels to be chained starting from upward n 1 if only one variable is involved Examples LSHIFT relay 2 3 The relay channels 2 3 and 4 which represent relays number
23. comments press lt ESC gt key to close it Once a comment has been created it is assigned a circuit number and is treated like any other circuits You can edit it by pressing the lt spacebar gt when you are in Browse mode alternatively you can move it around copy it to another destination or delete it entirely using commands in the Circuit menu Insert Circuit This command enables you to insert a new circuit just before the currently selected circuit The current circuit number will be increased by one while the new circuit will assume the current circuit number You will be placed in the circuit editing mode for immediate circuit creation Move Circuit You can rearrange the order of the circuits by using this command Select the circuit you wish to move and execute the Move Circuit command then select a destination circuit location and press lt Enter gt The selected circuit will be moved to the new location before the destination circuit Note that if you wish to move a block of circuits to a new location you may find it more productive to use the Cut Circuit and Paste Circuit commands in the Edit menu Append Circuit Execute this to add a new circuit to the ladder logic program This new addition will be positioned immediately after the last circuit in the entire program Delete Circuit This command allows you to delete the one or more circuits You will be prompted to enter the range of circuits that you wi
24. gt 10 J ATH O ENI ENDI ENDI RET IF F TEST 3991 1 CONNECTE 0 incr D Wait 5 second to gain attention hang up modem command ement the timer O dialModem 0 RETURN 1 TE MEE DM DM 3990 3990 DM 3990 0 gt 0 it means a dial t means more and connection still no gt 30 it Use this t establ DM as a ENI DIF ing action has started than 30 seconds has passed ished then retry flag http localhost 9080 Help plc2modem htm 3 of 4 3 30 2005 7 52 26 PM One area of application for the host link capability of the H series an or control the operations of a PLC via public switch telephone network WHILE INCOMM 1 lt gt 1 clear whatever data in serial buffer first ENDWHILE PRINT 1 DS Dial the number DM 3990 1 RE TURN ENDIF AS INPUTS 1 IF LEN AS 0 DM 3990 DM 3990 1 also use it to track the time out IF DM 3990 28 28 seconds has lapsed PRINT 1 ATH ENDIF IF DM 3990 gt 30 DM 3990 0 ENDIF RETURN ENDIF SETLCD 4 1 A IF STRCMP MIDS AS 2 7 CONNECT 0 is connected DM 3990 0 for next round of connection DM 3991 0 reset timer for hang up modem use SETIO Connected set an I O bit t
25. lHa R E CR 4 Clear Relay Function Clear To de energize a program element that has been latched by the Latch function it is necessary to use Clear function On selecting Clear choose the output or relay to be de energized When the execution condition for that circuit is ON the designated output or relay will be reset In the ladder diagram the program element label name will be shown above the Clear symbol If the execution condition for Latch and Clear functions are both ON at the same time then the effect of the designated bit depends on the relative locations of these two functions Remember that an output or relay bit energized by Latch will remain ON until it is turned OFF by Clear It is recommended that Clear circuit be placed just after the Latch circuit for the same output or relay controlled by these two functions This ensures that Clear function has higher priority over Latch function which is normally so in hardware latch relay or other industrial PLCs 5 Interlock ILock The Interlock ILock and Interlock Off ILoff functions work together to control an entire section of ladder circuits If the execution condition of an ILock function is ON the program will be executed as normal If the execution condition of ILock is OFF the program elements between the ILock and ILoff will behave as follow http localhost 9080 Help specialfn htm 3 of 5 3 30 2005 7 52 47 PM Special Fun
26. n because nothing will happen to the physical output until the current ladder logic scan is completed If you want to force the output to change immediately you will need to execute the REFRESH statement Consideration must be given to how such an act may affect the other parts of the ladder program since not the entire ladder program has been executed 4 Like all ladder circuits the relative position of the circuit which triggers the CusFn may affect the way the program works It is important to consider this fact carefully when writing your ladder program and TBASIC CusFns Always remember that the CPU executes the ladder logic and CusFn sequentially even though the equivalent circuits in hard wired relay may seem to suggest that the different rungs of ladder circuits were to work simultaneously 5 In line with the typical Ladder Logic programming rules a CusFn may appear only once within the ladder diagram regardless of whether it appears in the normal or differentiated form A compilation error will occur if a CusFn appears in more than one circuit However a CusFn may be CALLed as a subroutine by any other CusFn and there is no restriction placed on the number of repeated CALL of a CusFn by more than one CusFn A CusFn may also modify the logic states of an I O element or the value of internal timers and counters using its powerful TBASIC commands such as SetBit ClrBit The compiler however will not alarm the user that a CusFn may
27. 1 Examples Note If you are constructing the value of a 32 bit variable from two 16 bit data then SETHIGH16 should be executed only after the lower 16 bit has been assigned to the 32 bit variable as shown in the above example If you were to execute A DM 2 after the SETHIGH16 A DM 1 statement the SETHIGH16 operation would have been lost since the assignment statement itself overwrites all previous operation including SETHIGH16 on variable A See Also GETHIGH16 lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic sethigh16 htm 3 30 2005 7 52 35 PM GOTO GOTO n Purpose To branch unconditionally out of the normal program sequence to a specified line with label n within the present Custom Function The destination line must have a corresponding line label marked as n where n must be a constant within 0 255 Note that the label is local only to the present CusFn i e another CusFn may have a label with the same n but the GOTO n will only branch to the line label within the same CusFn Examples 156 SETBIT 0 3 GOTO 156 Comments An error message will appear during compilation if the destination label is undefined lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic goto htm 3 30 2005 7 52 35 PM HEX HEX n HEX n d Applicable only to M PLC models To return a string that represents the hexadecimal valu
28. 9080 Help tbasic refresh htm 3 30 2005 7 52 40 PM REM REM or Statement Purpose To allow explanatory remarks to be inserted in a program The text after the REM statement until the end of the line will be ignored by the compiler An abbreviation for the REM statement is the apostrophe Examples REM Waiting for the right time to turn on This is also a remark line l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic rem htm 3 30 2005 7 52 40 PM RESET RESET Purpose To perform a software reset of the PLC from within a CusFn All the variables will be reset to zero or inactive and all the hardware outputs such as DAC and PWM will be turned OFF The effect is the same as the Master Reset MaRST function in the ladder logic The first scan bit 1st Scan will also be turned ON for one scan time However if the program is stuck at some dead loop such as WHILE FOR NEXT in a CusFn then MaRST would not be executed since the ladder program would not have a chance to scan the ladder rung containing the MaRST function If this command is used by an interrupt service function then it is possible to get the system out of the dead loop since the interrupt function can interrupt the dead loop and reset the PLC lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic reset htm 8 30 2005 7 52 40 PM SETBAUD SETBAUD ch baud_no To set t
29. A AF of 0 9 0 9 AF lg AF rlol F ARSE T Manual al T 5s Manual 7 mF 7 Now click on the icon to insert a special function coil A popup menu will appear for you to select the desired special function Click on the item 4 AVseq Advance Sequencer to insert the Advance Sequencer function AVseq Select a Function 1 DNCtr AENA Upttr AVseq RSseq Steph 7 hatch 8 Clear ILock JE dCusFk F HaRST TOE Rev Counter Reset Counter Increment Rew Advance Sequencer Reset Sequencer Set Sequencer to Step H Latching Relay Output Clear Latched Relay Interlock Begin Interlock End Counter Differentiate Up Differentiate Down Custom Function Diff Up Custom Funcs Master Reset http localhost 9080 Help laddertutorial1d htm 3 of 4 3 30 2005 7 52 30 PM Ladder Logic Tutorial Step 4 Sequencer Sequencer Sequencer He Gi Pi Sequencer Sequencer Sequencer 5 6 7 oo 8 When prompted select Sequencer 1 This function will increment the step counter of Sequencer 1 each time its execution condition goes from OFF to ON Again remember to press the lt Enter gt key to complete Circuit 2 Back to Step 3 lt gt Go To Step 5 http localhost 9080 Help laddertutorial1d htm 4 of 4 3 30 2005 7 52 30 PM Ladder Logic Tutorial Step 5 Ladder Logic Programming Tutorial STEP 5 lt gt
30. ASCII code for the nth character of the string x If x is a null string ASC x n returns value 0 n may start from 1 up to the length of the string Examples B ASC Test String o Comments B should contain the value 83 which is ASCII value of S If n is less than 1 or greater than string length ASC x n returns a 0 See Also CHRS n lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic asc htm 3 30 2005 7 52 33 PM CHR CHR93 n Purpose To convert a number n into its corresponding ASCII character n must be a numeric constant 0 to 255 Examples A ct Comments C should contain This is Message 5 since CHR amp H35 returns the character S See Also J Basic to TBASIC Reference Manual http localhost 9080 Help tbasic chr htm 3 30 2005 7 52 33 PM CALL n CALL n Purpose To call another Custom Function CusFn n as subroutine When the called function returns execution will continue from the following statement n must be an integer constant between 1 and 128 Examples IF B gt 5 THEN CALL 8 ENDIF See Also RETURN Basic to TBASIC Reference Manual http localhost 9080 Help tbasic call htm 3 30 2005 7 52 33 PM RETURN RETURN Unconditionally ends the execution of the current CusFn and return to the caller which is either the ladder program or another CusFn which has executed a CALL command Use of th
31. Backspace gt keys for editing the comment text Back to Step 4 gt Goto Step 6 http localhost 9080 Help laddertutorial1 e htm 3 30 2005 7 52 30 PM Ladder Logic Tutorial Step 6 Ladder Logic Programming Tutorial STEP 6 The stage has been set and the show is ready Having completed the demo program it is time to test if it works as intended using the built in real time programmable controller simulation engine Open the Simulate pull down menu and activate the command Run All I O reset Ctrl F9 TRILOGI will immediately compile the ladder program and if no error is detected it will instantly proceed to open up the Programmable Logic Simulator screen as shown below Ban Pause A Run A Mi utl R Ba ca aa B Ba BI e 100 EE SI KERI l be l 14 15 lt TEPEE tatadtadte 0O J A in ON 1 If you have followed closely all the instructions during the creation of the demo program you should not encounter any compilation error However if you do receive an error message then please check your circuit against the picture shown in the assignment page make all necessary corrections and then try again 2 The simulator screen comprises 5 columns Input Timer Counter Sequencer Relay and Output With the exception of the Relay table which contains up to 512 elements and the Timer table which contains up to 128 timers all other columns contain 256 elements each Ever
32. Communication Setup Adding Deleting and Editing Users Setting Up Email Service http localhost 9080 Help content htm 2 of 2 3 30 2005 7 52 24 PM Installation Guide for x86 Compatible PCs running Windows 95 Overview and TRiLOGI Installation Guide for x86 Compatible PCs running Windows 95 98 NT or 2000 1 Installing Internet TRILOGI You should install Java Run Time Environment JRE Version 1 3 1 on your PC before installing the TRILOGI Client Server bundle First double click on the file j2re1_3_1 win exe to install Java Please follow all instructions provided by the Install Shield program and install it in the given default path C Program Files JavaSoft JRE 1 3 1 TRILOGI needs to install some library files to the JRE default directory later so it is advisable that you use the default path to avoid problems If you have installed JRE to other directory please refer to the Readme txt file in the Java Lib folder of the TRILOGI installation directory for details on how to manually install the the Java library files to the JRE directory b You may be asked to restart the computer after installing JRE Follow the instructions so that JRE will be registered in the Windows Registry after restart c After you have installed JRE 1 3 1 opens up the CD ROM s x86 Windows folder and double click on the SetupTL5 exe to extract all TRILOGI files into Drive C Note that TRILOGI should be installed in the same harddrive as t
33. E jo see SE n a a a A e E A a n e n e rm ma G ma B oa B a B ma G m A oa A m A m B m GA ma G a G a GA a on Bn a E oaaao Gaa A A of mm B a G ms SA an G m G a GA a G a G a Sa G a Sa a a a d mista OO 0 d 0 0 0 E p e E e A a e eo coco coc a m j http localhost 9080 Help viewVariable htm 2 of 4 3 30 2005 7 52 45 PM View Variables e First row shows DM 1 to DM 10 Second row shows DM 11 to DM 20 e Last row shows DM 151 to DM 160 etc Total number of DM 4000 are organized into 25 pages During On Line Monitoring only DM data for the current page is monitored Everytime you switch pages the DM data for the new page will be captured and displayed automatically 3 View String Variables A to Z fe View Variables Strings Ae Concatenation E Strings Concatenation of 2 Strings Note Each string has a maximum of 70 characters e A string longer than the screen width will flow into the second line However this does not indicate that the string contains a Carriage Return CR character 4 View System Variables Input n Output n Relay n Timer n Ctr n emInt n emEvent n emLint n http localhost 9080 Help viewVariable htm 3 of 4 3 30 2005 7 52 45 PM View Variables Note The PLC s I O bits can be referenced in TBASIC as 16 bit integer variables For example Input 1 to 16 are contained in INPUT 1 T
34. ENDIF l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic tbasicdefinition htm 3 30 2005 7 52 43 PM Integer TBASIC Integer Constants Variables amp Operators The TBASIC compiler in TRILOGI Version 5 supports full 32 bit integer computations However only variable A to Z are 32 bits in length which allow them to represent number between 231 to 231 the remaining system variables and data memory DM n are all 16 bit variables which means that they can only store number between 32768 to 32767 However all numerical computations and comparisons in TBASIC are carried out in 32 bit signed integer regardless of the bit length of the variables involved in the numerical expression 1 Integer Constants These may be entered directly in decimal form or in hexadecimal form by prefixing the number with the symbol amp H e g 12345678 amp H3EF 1007 decimal If the result of an expression is outside the 32 bit limits it will overflow and change sign Care must therefore be exercised to prevent unexpected result from an integer overflow condition A constant may be used in an assignment statement or in an expression as follow A 12345 IF A 30 2345 123 gt 100 THEN ENDIF IMPORTANT 16 bit variables comparison When entering an integer constant using the hexadecimal prefix amp H it is important to note the sign of the intended value and extend the signs to most
35. Note that a sequencer that is inactive is not the same as sequencer at Step 0 as the former does not activate the SeqN 0 contact To set the sequencer to step 0 use the StepN function described next Setting Sequencer to Step N StepN http localhost 9080 Help sequencer htm 2 of 4 3 30 2005 7 52 48 PM Sequencer In certain applications it may be more convenient to be able to set the sequencer to a known step asynchronously This function will set the selected sequencer to step N regardless of its current step number or logic state The ability to jump steps is a very powerful feature of the sequencers Reversing a Sequencer Although not available as a unique special function a Sequencer may be stepped backward by decrementing its step counter using the DNctr command on the counter that has been defined as a sequencer This is useful for creating a reversible sequencer or for replacing a reversible drum controller Other Applications a Driving Stepper Motor A sequencer may be used to drive a stepper motor directly A two phase stepper motor can be driven by four transistor outputs of the controller directly for small motors with phase current lt 0 5A or via solid state relays The stepper motor can be driven using a sequencer that cycles through Step 0 to Step 3 full step mode or Step 0 through Step 7 half step mode Each step of the sequencer is used to energize different phases of the stepper motor
36. ON since the inverse logic state of an OFF state controlSW2 is true Think of an imaginary current flowing through the Master contact then through the controlSW1 and finally through the normally closed controlSW2 contact to turn ON the lamp http localhost 9080 Help contactandcoil htm 1 of 3 3 30 2005 7 52 47 PM Contacts and Coils On the other hand if controlSW1 is OFF but controlSW2 is ON the Lamp is also turned ON because the current could flow via Master and then through the lower parallel branch via N C controlSW1 and the N O controlSW2 Note As you can see although the switch controlSW1 is connected to only 1 physical input to the PLC but it appears twice in the ladder diagram If you actually try to connect physical wires to implement the above circuits both controlSW1 and controlSW2 will have to be of multiple poles type But if you use a PLC then these two switches only need to be of single pole type since there is only one physical connection which is to the input terminal of the PLC But in the ladder diagram the same contact may appear as many times as you wish as if it has unlimited number of poles The above example may be simple but it illustrates the basic concept of logical AND and OR very clearly controlSW1 and controlSW2 are connected in series and both must be TRUE for the outcome to be TRUE Hence this is a logical AND connection On the other hand either one of the two parallel bra
37. SETSYSTEM 2 5 The PLC will retry up to 5 times if it failed to communicate with the slave Note longer waiting time when failure occur if you increase the number of retries i lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic setsystem htm 3 30 2005 7 52 41 PM STEPCOUNT STEPCOUNT cr While the stepper motor controller is sending out pulses this function can be used to monitor the number of stepper pulses sent to the Stepper Motor Channel ch since the execution of the last STEPMOVE command Hence this function returns the relative number of step moves Purpose This function can also be used to measure the physical size of a part if we use the stepper motor to drive a sensor and use the STEPSTOP command and the interrupt input to halt the stepper motor when the edges are detected The physical size is then computed using the number of steps the stepper motor travels from one edge to another edge The center position can be easily determined using such data too See Also STEPMOVE STEPMOVEABS STEPCOUNTABS STEPSPEED STEPSTOP STEPHOME q Basic to TBASIC Reference Manual http localhost 9080 Help tbasic stepcount htm 3 30 2005 7 52 41 PM STEPMOVE ch STEPMOVE ch count r Purpose Examples eee Comments omments Sormen Also To activate the PLC s built in stepper motor pulse generator channel ch to output count number of pulses T
38. TRILOGI Version 5 0 runs under windowing environment all usual mouse action applies You can grab the vertical scroll bar to scroll to your desired circuit and click on it to select it Double click on a circuit enters the Circuit Editing Mode which will be described later Keyboard Actions The functions of various keys in the browse mode are explained below 1 lt Spacebars Allows you to enter circuit editing mode for the currently selected circuit If the selected circuit is a comment circuit the comment editor will be opened automatically 2 lt F1 gt Activates the help function to display on line help 3 lt F2 gt Opens the I O Table to create the I O Label Names 4 lt F3 gt Turns ON OFF display of the I O type for ladder logic contacts on the screen All ladder logic contact symbols are normally identified by their label names However you can also display an optional small literal to indicate the I O types e g i input o output r relay t timer and c counter 5 lt F5 gt Refreshes the display If for some reason the screen is garbled by incomplete circuit display you can just press the lt F5 gt key to redraw the screen 6 lt F7 gt Opens any custom function If the currently selected circuit contains a custom function then it will be opened for editing Otherwise TRILOGI will ask you to select a custom function froma menu 7 lt F8 gt Compiles the TRILOGI program to show the compilation statis
39. Uploader program This allows you to protect your source program file content while giving the end users of your equipment the ability to upgrade the PLC program The end users DO NOT need to install the TRILOGI or the Java JRE in order to use the TL5 Uploader program so that makes it more flexible for you to distribute self upgrade for the end users The TL5 Uploader program can be installed by first unzipping the Install TL5 Uploader zip file found in your TRILOGI Version 5 32 CD ROM and then run the Setup exe program Please note that the TL5 Uploader is a copyrighted program and Triangle Research International is the copyright owner of this program However Triangle Research International authorize the licensed http localhost 9080 Help filemenu htm 3 of 4 3 30 2005 7 52 31 PM 8 9 File Menu users of the Internet TRILOGI version 5 xx software to freely distribute the Install TL5 Uploader zip program to their end users at no charge Print For TL5 Application not Applet you may use all the printing resources supported by your O S to print a selectable range of the ladder diagram the I O Tables or the custom functions When executed the following Print Control Panel will appear 3 Print Control Panel fel H Print Page setup Print prewiew Print Ladder Circuits width 10 La dder Circuits KO Tables sS Custom Functions To print first select the item from the choice box and define
40. an empty string Examples AS NETCMDS 3 05RI00 Comments To read the Input channel 0 of the PLC with ID 05 connected to COMM 3 of this PLC The response string will be assigned to A Special If the last character of x is a character NETCMD will send out the string without the character followed by a Carriage Return amp HOD It will not append the FCS and to the outgoing string it will also NOT check the response string for FCS This allow NETCMDS to be used to interface to third party ASCII devices with different command response formats E g A NETCMD 3 Hello World The string Hello World will be sent out of serial COMM port 3 A will receive the full returned string without applying any FCS check on the return string See Also READMODBUS WRITEMODBUS lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic netcmd htm 3 30 2005 7 52 38 PM readmodbus READMODBUS ch DevicelD address Applicable only to M PLC models Purpose Comments Automatically query a MODBUS ASCII device and return the 16 bit register data using the MODBUS ASCII protocol The communication baud rate is the default baud rate of that COMM unless it has been changed by the SETBAUD command ch PLC COMM port number 1 8 DevicelD device ID of the MODBUS device 1 to 255 address zero offset address of the holding register in the MODBUS device Exampl
41. by a corresponding ENDIF IF without ENDIF Every FOR statement must be ended with a matching NEXT statement to define the boundaries for the block controlled by the FOR statement For nested FOR loops each FOR must be matched by a corresponding NEXT Expect keyword TO Required by FOR statement Must be an integer String variable or constant not allowed Must be an integer variable only Integer constant not allowed Must be an integer constant only Integer variable not allowed Must be a sting Integer constant or variable not allowed FOR without NEXT http localhost 9080 Help tbasic tbasicIntro htm 7 of 8 3 30 2005 7 52 43 PM TBasic Introduction Must be a string variable only String constant not allowed Must be a string constant only String variable not allowed Incomplete Expression Expression not ended properly sting constant missing closing eet E enclosed between a pair of opening and closing Must be Integer A to Z only index for FOR NEXT loop must be A Z 6 2 Run Time Errors Certain errors only become apparent during the execution of the program e g A B C This expression is perfectly OK except when C 0 then you would have attempted to divide a number by zero which does not yield any meaningful result In this case a run time error is said to have occurred Since run time errors cannot be identified during compilation TRILOGI also checks the validity of a
42. can change any of the field to the desired values and then click on the Set PLC s Clock button fea Set Target PLC s Real Time Clock The dialog box will be closed after the TRILOGI has transferred all the data to the PLC You should use on line monitoring to verify that the data has indeed been properly written into the PLC Note that the Year field is restricted to only between 1996 and 2096 Month is between 1 and 12 Day is between 1 and 31 Hour is between 0 and 23 Min and Sec are between 0 and 59 If you enter an illegal value TRILOGI will beep and the cursor will be put at the offending text field Correct the mistake and then click on the Set PLC s Clock button again to transfer the values to the PLC http localhost 9080 Help controllermenu htm 2 of 2 3 30 2005 7 52 44 PM Full Screen Monitoring Full Screen Monitoring After you have successfully log in to the TLServer for explanation of log in procedure please refer to Log In to TLServer a Full Screen Monitoring window will be opened for you to monitor and control your PLC The ID address of the PLC selected for on line monitoring will be shown on the window s title as shown below Ea Full Screen On Line Monitoring ID 01 ADC1 8 fo fo fo fo fo fo fo fo View Select Control V Pause Reset Start i i ER Run aA utl Stop ir ial ial Manual Step ee ER 4 5 6 ma 8 3 10 m 12 13 CT s s The Full Screen Monitori
43. computer is not linked to any network or the Internet and does not have any network adapter installed then only the local host IP address will be displayed e g 127 0 0 1 9080 where 9080 is the port number Note regardless of whether your PC is networked or not the local host IP address 127 0 0 1 is always available to the client program running on the same PC where the TLServer is running even though it may not be displayed on the TLServer s front panel TRILOGI or TRi ExcelLink are all known as client programs So whether your PC is networked or not you can still use TLServer and TRILOGI on a localhost connection In that case the TRILOGI and TLServer work together on the same PC just like a normal Window based programming software We recommend using the localhost IP address 127 0 0 1 9080 if you are running both the client and the server on the same PC f the computer has an always on connection to the Internet directly then the IP address will be your Internet IP address f the computer is networked to the corporate Intranet or you have connected this computer to a router to share internet connection with a few other computers then the IP address shown is an internal IP address also known as the Intranet IP address The intranet IP address is assigned by either the System Adminstrator or the router known as DHCP server You can access this computer from other computers in the same LAN but the intranet IP address is not ac
44. element type that you are creating At the same time an I O table should appear on the screen with a light beige color background The I O table acts like a pop up menu for you to pick any of the pre defined label name for this contact This saves you a lot of typing and at the same time eliminates typo errors that could result in a compilation failure You should spend a few minutes to follow the Ladder Logic Programming Tutorial on the steps needed to create a ladder program As mentioned previously the ladder editor is intelligent and will only accept an action that can result in the creation of a correct ladder element Otherwise it will simply beep and ignore the command UNDO Circuit Editing If you have wrongly inserted or deleted an element and wish to undo the mistake you can either select Undo from the Edit menu or press lt Ctrl Z gt key to undo the last step The undo buffer stores the last 10 editing steps You can also choose to abort all the operations on the current circuit by selecting Abort Edit Circuit to abort all changes made to the current circuit Create Ladder Circuit Using The Keyboard Users of existing TRILOGI version 3 x or 4 x who are familiar with creating ladder programs using the keyboard will be delighted to know that they can still create their ladder programs using the keyboard The keyboard actions are described below Left Right Up Down cursor keys The cursor keys are for moving the high
45. http localhost 9080 Help tbasic hstimer htm 3 30 2005 7 52 36 PM IF IF THEN ELSE ENDIF Purpose To make a decision regarding program flow based on the result returned by an expression Syntax IF expression THEN If the result of the expression is non zero logical true the block of program lines between the THEN and the ELSE statements will be executed If the result of the expression is zero false the block between the IF and ELSE will be ignored and the block between the ELSE and ENDIF statements will be executed instead If there is no ELSE statement and if the result of the expression is false the block of program lines between the THEN and the ENDIF statement will be ignored but execution will continue right after the ENDIF statement Nesting of IF statement Statement blocks within the IF THEN ELSE statement may contain other IF THEN ELSE blocks nesting Note that each IF statement must be ended with the ENDIF statement Otherwise an error message IF without ENDIF will be reported during compilation Testing Equality Special comparison operators may be used in the expression of the IF statement Only integer expression may be compared For comparison of strings please refer to the STRCMP A B function Eq o C NiE T S Greaterthn T gt tessthan Greater than or Equalto gt Less than or Equalto SS Examples IF A gt B 5 20 C OR C 20 B B 1 ELSE B B 3 ENDIF
46. may examine the values of the relevant variables You can continue to perform on line monitoring of the PLC that has been paused Program execution can also be continued by pressing the lt P gt key during Simulation or On line Monitoring lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic pause htm 3 30 2005 7 52 39 PM PlDcompute PiIDcompute ci This function computes the output for the PID compensator controller using the P and D Gains defined in the PIDdef statement for the same channel ch The integral and differential values are stored within the channel s internal data space and will be automatically used by the PID computation routine The PIDcompute function uses the mt max limit term of PIDdef statement to limit the results of its computation If the absolute value of the computed result is greater then mf then the result will be set equal to mf for ve number and to mt for negative value When this happens the integral term will not accumulate the current error to prevent an integrator windup which is very undesirable for the system Purpose ch channel number 1 16 Err Closed loop Error i e Set point value Feedback Value The controller may obtain feedback from ADC High Speed Counters PULSEFREQUENCY or other means The obtained result is then scaled and subtracted from the desired set point value to get Err All computations are perform
47. need to go directly to this directory to run TRILOGI This is because during installation of TRILOGI a program Group folder Internet TRILOGI 5 3 will be created to in the Start Menu to provide short cuts to the TLServer program the TRILOGI application and the TL5Applet starter 2 Using Internet TRILOGI Introduction to TRILOGI Client Server Architecture TRILOGI Application vs Applet Which is Better Starting The Internet TRILOGI Application How To Activate TRILOGI Applet Using Browser 3 PLC amp PC Hardware Setup and Configuration Single PLC to One PC Running TLServer Multiple PLCs to One PC Running TLServer e Networking Consideration http localhost 9080 Help installationguide htm 3 30 2005 7 52 27 PM TRILOGI Internet Server Email Setup Helps You ve Got m il This TLServer Email capability is first implemented in TLServer 1 0 and is carried forward to Version 2 0 This method depends on the TLServer to periodically scan each configured PLC for the state of their email request flags and hence require that the TLServer be constantly connected to the PLC s via the serial port Another email support function available only to TLServer version 2 0 is described in the document for File and Email Services A PLC program raises an email request flag by setting the variable enEVENT 1 to a non negative value see explanation on Writing TRILOGI Programs that Can Send Emails whenever it needs t
48. of 4 8 30 2005 7 52 48 PM Sequencer fe 0 Labels a Special Bits Label Name Normally ON lst Scan 0 0138 Clock 0 023 Clock 0 053 Clock 0 15 Clock 0 oO igs 1l Clock Clock Clock The Special Bits table is located after the Counters table and before the Inputs table Then click on the SeqN x item to insert a sequencer bit You will be prompted to select a sequencer from a pop up menu Choose the desired sequencer 1 to 8 and another dialog box will open up for you to enter the specific step number for this sequencer Each step of the sequencer can be programmed as a contact on the ladder diagram as SeqN X where N Sequencers 1 to 8 X Steps 0 31 e g Seq2 4 Step 4 of Sequencer 2 Seq5 25 Step 25 of Sequencer 5 Although a sequencer may go beyond Step 31 if you define a larger SV for it only the first 32 steps can be used as contacts to the ladder logic Hence it is necessary to limit the maximum step number to not more than 31 Special Sequencer Functions Quite a few of the ladder logic special functions are related to the use of the sequencer These are described below Advance Sequencer AVseq Increment the sequencer s step counter by one until it overflows This function is the identical to and hence interchangeable with the UpCtr function Resetting Sequencer RSseq The sequencer can also be reset to become inactive by the RSseq function at any time
49. on the right end of the ladder diagram to provide a return path for the current flow but this is omitted to simplify the circuit diagram Now if instead of wiring the switch to the lamp directly as suggested in the above diagram you could connect the switch to the PLC s input and connect the lamp to the PLC s output and then write the above ladder program to perform the same job Of course it makes little sense to use a PLC if that is all you want to do We will see how a PLC can simplify wiring shortly Note The contact Switch shown in the above diagram is termed a Normally open N O contact Now let s say if there are 3 switches that must work together to control the lamp A Master switch must be ON and one of the two control switches controlsw1 and controlsw2 must be ON while the other must be OFF in order to turn ON the lamp think of two way switches in your house and you will get the idea We can wire all 3 switches to 3 inputs of the PLC and the lamp to the output of the PLC We can write the following ladder program to perform this task Master controlsid controlSue Lamp OUT controls controlSue A contact with a across its body is a Normally Closed N C contact What it means is that the ladder program is using the inverse of the logic state of the input to interpret the diagram Hence in the above ladder diagram if Master and controlSW1 are turned ON but controlSW2 is turned OFF the lamp will be turned
50. parameter list y Z will be converted into the equivalent ASCII representation Each parameter must be separated by the semicolon Action The ASCII string is first formed by the PRINT statement using all the arguments in the argument list and the completed string is then sent out of the serial channel n at one go The PRINT statement automatically sends a Carriage Return CR ASCIlI 13 out of the specified serial port after sending out the last character in the argument list the PRINT statement that ends with a semi colon will not send the CR character If you have a long string to send than you can use to break the whole command into several lines with each line ending with a except the last lines Examples PRINT 2 The value of A B A B PRINT 2 Units Comments IF A 5 and B 100 the string The value of A B 105 Units and a CR character will be sent out via the comm port 2 In TRiLOGI simulation mode the ASCII string will be displayed on a pop up window to simulate PRINT action See Also INPUT INCOMM OUTCOMM lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic print htm 3 30 2005 7 52 37 PM INTRDEF ch INTRDEF ch fn_num edge Purpose Enable Interrupt Input channel cA ch channel number 1 8 jn_num Custom Function number to execute when interrupt pin changes according to the defined edge This is the Interrupt Service Routine ISR edge
51. s data e g set some parameters without altering the program It also helps in debugging your PLC software by allowing you to force some value to see the effect on the program When you click on the Edit button a window will open to prompt you to enter the desired changes fe Edit Variables You must enter the values for the variables in an assignment format as follow E g X 123456 timerPV 1 500 E g OM 10 1234 or A Hello emLint 5 200 1 View Integer Variables A to Z and ADC DAC PWM RTC etc http localhost 9080 Help viewVariable htm 1 of 4 3 30 2005 7 52 45 PM View Variables faq View Variables Integers Piel x tou tt wou coco c tou tt wou tou tt uo ou coococo oh a DOA i i ot oi it il moe gi i Date O 0 0 Time 0 00 11 Day Hon Note e AtoZ and HSC1 to 3 are 32 bit variables Only HSCPV 1 to HSCPV 8 are displayed HSCPV 4 to 8 are not visible ADC1 8 shows only analog input data captured by the last executed ADC n statement Four line LCD Display only those statements executed by SETLCD will be displayed LCD data displayed by the PLC will be captured and shown here during on line monitoring mode Initial data for Date and Time are taken from the PC s clock during simulation For on line monitoring these are taken from the PLC s RTC periodically 2 View Data Memory DM 1 to DM 4000 View Variables DM n 1 2 3 in ma co ao ly 1 l no E
52. sending any email emEvent 1 0 to 23 number of lines in the email message body which are contained in D to Z The maximum number of lines in your email is limited by the number of string variables D to Z 23 in total available in the M series PLC For example if the PLC needs to send email to trilogi yahoo com with a 1 line greeting then the program needs to activate a custom function that contains the following statements A Demo1 PLC sender B trilogi yahoo com recipient C This is an email demonstration subject D The time is STR TIME 1 STR TIME 2 How are you doing Message body emEvent 1 1 http localhost 9080 Help emailsetup htm 2 of 3 3 30 2005 7 52 27 PM TRILOGI Internet Server Email Setup Helps You must also setup the email service period say every 10 second in the Setup Emails screen for this PLC When the TLServer scans the PLC and found that its emEvent 1 is set to 1 it will extract the headers and message body from the PLC s string variables Only A to D will be extracted in this example since the message contains one line of body text only as indicated in emEvent 1 TLServer will then contact the SMTP server to send out the email In addition after processing the email request the TLServer will set the emEvent 1 variable to a value of 1 no email Hence there is no need for the TRILOGI program to worry about clearing the email request flag after
53. sequencing logic found in many automated equipment TRILOGI supports 8 sequencers of 32 steps each Each sequencer requires a Step counter to keep track of the current step sequence The first 8 counters in the counter table double as the step counters for the 8 sequencers These sequencers must be named Seq1 to Seq8 if they are to be used i e Counter 1 to be named as Seqi Counter 2 as Seq2 etc However any counter not used as sequencer may assume any other name up to a maximum of 10 characters if they are used as ordinary counters If you are at the Timers table pressing the right cursor key again will bring up the Counters table Enter the name Seqi at the label column for Counter 1 Press lt Enter gt and the text entry field will be opened at the Set Value column For now let s enter a preset value of 4 for Seqi 5 We have now completed defining the I Os timers and counters Press the lt ESC gt key to close the counter or other tables Note that not all labels need to be defined before programming You may create the label names any timer during circuit creation by pressing hotkeys lt F2 gt Back to Assignment q gt Go To STEP3 http localhost 9080 Help laddertutorial1b htm 3 30 2005 7 52 28 PM Ladder Logic Tutorial Step 3 Ladder Logic Programming Tutorial STEP 3 We are ready to create Circuit 1 as shown below start Stop RUM RLY RUA Duration TiM
54. significant bit of the 32 bit expression E g to represent a decimal number 1234 the hexadecimal representation must be amp HFFFFFB2E and not amp HFB2E Assuming that a 16 bit variable DM 1 contains the number 1234 and a comparison statement is made to check if the number is 1234 The 32 bit hexadecimal representation of constant 1234 is amp HFFFFFB2E If you enter the constant as 16 bit representation amp HFB2E as follow IF DM 1 lt gt amp HFB2E CALL 5 TBASIC translates the number amp HFB2E into a 32 bit decimal number 64302 which when compared to the number 1234 contained in DM 1 will yield a False result which is an error The following are the correct representation a IF DM 1 lt gt 1234 CALL 5 ENDIF b IF DM 1 lt gt amp HFFFFFB2E CALL 5 ENDIF 2 Integer variables Variables are memory locations used for storing data for later use All Integer variables used in TBASIC are GLOBAL variables this means that all these variables are shared and accessible from every custom function TBASIC supports the following integer variables i 26 Integer variables A B C Z which are 32 bit variables Note that the variable name must be a single character http localhost 9080 Help tbasic integer htm 1 of 4 3 30 2005 7 52 43 PM Integer ii A large one dimensional 16 bit integer array from DM 1 to DM 4000 where DM stands for Data Memory A DM is addressed b
55. the range you wish to print and then click on the Print button For Ladder Circuits the range indicates the circuit numbers For I O Tables the range indicates the I O number up to 256 and for Custom Functions the range is the function number You can use the Print preview button to check the pagination of the printing on screen You can select paper size and print orientation etc by clicking the Page setup button Empty custom functions will be automatically skipped to save paper When you select to print the Ladder Circuits a special Width textbox appears This textbox is for you to enter the maximum number of series element that can be printed on the paper width Changing this number affects the scaling of the ladder diagram when printed The smallest number is 5 and largest number is 13 Use a smaller number if you wish to have a larger printout However please note that if your ladder program contains circuits with more elements than that indicated by the Width parameter the out of page part of those ladder circuits will not be printed Note The Print function requires the support of Java 2 JVM which is provided by Java Runtime Environment version 1 3 1 or 1 4 2 when you installed it but most browsers to date do not yet not support Java 2 unless with a special Java plug in It is for this reason that the Print function is disabled when you run TRILOGI as an Applet Exit Execute this command to exit orderly fr
56. the required file or email services then disconnects itself from the TLServer so that other PLCs can take turns to connect to the TLServer to request for services Note All the files created or used in the write append read actions are located in the directory lt trilogi base directory gt FileService hence the default path is C TRILOGI TL5 FileService You may also read write files that are located in sub directory below the FileService directory provided that the sub directory already exists The currently supported files and emails services are described below 1 Write data to file E g To save data of DM 1 to DM 10 to a file name testWrite txt execute the following statement from a custom function Format lt WRITE filename gt PRINT 1 lt WRITE testWrite txt gt Write data request data data data TOR T 1 Wo 10 data PRINT 1 DM I Wig REM delimited by space characters lt gt NEXT PRINT 1 send a CR character PIRUONIE E End of Service request The TLServer will close the file after it receives the end of service tag lt gt from the PLC and it will in turn send a lt OK gt string to the PLC to acknowledge that the WRITE request has been completed successfully It is up to your PLC program to check for the lt OK gt tag to determine if it the service it requested have been completed successfully 2 Append data to file E g To append t
57. to re arm the password lock so that there will not be unauthorized access by subsequent callers Within the PLC software you may also use a timer to periodically re arm the PLC with this command for maximum protection You can also use different passwords for different time of the day or a set of rotating passwords to provide greater security Examples If you are linking the PLC to the internest via TRILOGI Version 5 0 you will notice that the TLServer already provides username password authentication However the password here works independent of the access provided via TLServer hence this command can still be used to provide an additional layer of security against unauthorized access to the PLC lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic setpassword htm 3 30 2005 7 52 40 PM SETPROTOCOL SETPROTOCOL ch mode Applicable only to M PLC with r34 firmware A T100M series PLC automatically senses the type of communication protocols sent to it and responds accordingly You may however fix the protocol type so that it does need to check the protocol type before responding This command also allows he PLC to be defined as No Protocol so that it will not automatically respond to data that it receives which appears like one of the supported protocols This may be important in some applications in which the PLC serial port is used purely to receive incoming data via INCOMM and INPUT and y
58. updated http localhost 9080 Help tbasic tbasicIntro htm 5 of 8 3 30 2005 7 52 43 PM TBasic Introduction on the viewing window d System Variable Screen System variables such as INPUT n RELAY n and emINT n are visible in this screen You may wish to click on the Hex button to view the values in hexadecimal notation as they are more commonly used by programmers to identify the bit patterns in these variables 4 4 Changing the Contents of Variables While the View Special Variables window is open you may change the contents of the following variables by clicking on the Edit button A2 AS to ZS DMni DATEN TIMElaI TNEUTInI Use Use lal RELAY nil EIMERB ENIA ClRe tinal TIMEREVIIN I CTREVInN and AIS GEN ni emiN inl EmiINT NI A text entry window will pop up and you will have to enter the values in the form of assignment statements such as e g A 5000 DM 99 5678 OUTPUT 2 amp HO1AB BS Welcome to TBASIC The variable will take up the new value as soon as it is entered and if the execution condition for any CusFn is ON the simulator will process the newly entered data immediately and produce the new outcomes This gives you greater flexibility in controlling the simulation process 4 6 Decimal and Hexadecimal Representation All the numeric data shown in the Special Variables window are by default displayed in decimal notation You
59. you to conduct the simulation test of your TRILOGI ladder program 2 Run reset Except i p lt Ctrl F8 gt Very often you may wish to keep the input settings as is when you reset the simulator This situation is quite realistic in the sense that when a PLC is powered on some of its inputs may already be in the ON state e g sensors may detect the end positions of a cylinder rod etc This command allows you to preserve the logic states of all Inputs while resetting all other data Note that the lt Ctrl F8 gt key also works in the Simulator screen so that at any time you can reset the simulator without affecting the logic states of the inputs 3 Continue Run no reset lt F9 gt Use this command to continue simulating the program since you last closed the simulator All previous data are kept intact and will be used by the simulator to continue execution of the ladder program If you have made changes to the ladder program or custom functions the whole program will be recompiled before running Note that first scan pulse 1st Scan will not be activated when this command is executed since this is supposedly a continuation from the previous simulation run This command can be useful if you have discovered a simple bug in your software during simulation you can fix it immediately and test the effect of the change on the simulator instantly without restarting the entire simulation session from the beginning again 4 Compile
60. 1 of 3 3 30 2005 7 52 25 PM PLC Hardware Setup URL http 127 0 0 1 9080 In the latter case you are running TRILOGI as an applet that is loaded from the TLServer E Internet TRILOGI Home Page Microsoft Internet Explorer File Edit View Favorites Tools Help aoe A Q G Fatt Bomsard Stop Refresh Home Search Favorites Address E http 127 0 0 1 9080 Go Internet TRILOGI Version 5 0 2 TLServer has Direct Connection to the Internet If the PC running the TLServer enjoys a direct connection to the Internet via dial up DSL T1 line or cable modem then TLServer will be accessible to any client on the Internet Note that if you connect to the Internet via dial up connection then do remember to connect to the Internet before you run TLServer so that it can report the actual IP address on its front panel If the TRILOGI client software also accesses the Internet via direct connection you will have the least problem However if the TRILOGI client is sitting behind a corporate firewall then the situation is much more complex and it has impact on both the TLServer and the TRILOGI settings as shown in the following table TRiLOGI Client has Direct TRILOGI runs on a PC protected Internet Connection by Corporate Firewall e TLServer port settings 80 or any e TLServer Port Settings 80 value above 1024 e TRILOGI Use HttpProxy true May TRILOGI Use HttpProxy setting is need to obtain proxy server s
61. 17 to 64 are chained together in the following manner Comments LSHIF T 15 Oo 15 0 15 0 Relay 4 Relay 3 Ralay 2 Bits are shifted from the lower channel towards the upper channel Bit 15 of Relay 2 will be shifted into Bit 0 of Relay 3 and so on Bit 15 of the highest channel Relay 4 will be lost See Also RSHIFT lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic Ishift htm 3 30 2005 7 52 38 PM RSHIFT i RSHIFT i n Purpose Examples Comments To shift the integer variable i one bit to the right 7 must be either an integer variable a DM n or a system variable such as relay n output 7 etc RSHIFT instruction permits more than one variable to be chained together before performing a bit shift The parameter n indicate the number of channels to be chained starting from 7 upward n 1 if only one variable is involved ROHIFT relay 2 3 The relay channels 2 3 and 4 which represent relays number 17 to 64 are chained together in the following manner RSHIFT 15 0 15 0 15 0 Relay 4 Relay 3 Relay 2 Bits are shifted from the upper channel towards the lower channel Bit 0 of Relay 4 will be shifted into Bit 15 of Relay 3 and so on Bit 0 of the lowest channel Relay 2 will be lost See Also LSHIFT l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic rshift htm 3 30 2005 7 52 38 PM MID MID x n m P
62. 256 You may also use the hotkey lt F7 gt to open up the selection table The selection table allows you to define unique and easily identifiable names for each custom function Once you have selected the custom function the editor window will open up with the contents of that particular custom function b If you have already created a ladder circuit which connects to either a CusFn or dCusF function both appear as menu items within the Special Function pop up menu then you can easily open up that particular CusFn by clicking the right mouse button while the highlight bar is at the CusFn or dCusFn 2 Custom Function Editor The custom function editor window allows creation of any number of lines of TBASIC program statements Since this is a standard text editor you should have no problem using the key and mouse controls to edit the text Pressing lt F1 gt at the text editor window opens up a Help screen which will show you the common keys and mouse actions E g To copy a paragraph of text select it using the mouse and the press lt Ctrl C gt Move the text editing cursor to the destination and press lt Ctrl V gt to paste it to the new location 3 Custom Function Execution It is important to understand when and how a TBASIC based Custom Function is executed with respect to the rest of the program There are basically two ways in which a CusFn will be executed a Triggered by Ladder Logic Special function coil CusFn A cu
63. 3 30 2005 7 52 39 PM PULSEFREQUENCY PULSEFREQUENCY c PULSEPERIOD ch PULSEWIDTH ch Return in Hz the frequency of the last input pulse Return in microseconds the width and period of the input pulses arriving at channel ch of the pulse measurement pin The pulse measurement channel ch must have been enabled by the PMON statement already If the pulses stop coming in then PULSEFREQUENCY will return a zero while the other two functions will saturate at a certain maximum value for T100MD it is equivalent to about 3 28 seconds ch channel 1 8 Examples A PULSEWIDTH 1 See Also PMON PMOFF lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic pulsefrequency htm 3 30 2005 7 52 39 PM READMB2 READMB2 cf ID addr var count Applicable only to M PLC with firmware r44 or higher Purpose Think of this as the multi word version of READMODBUS command Unlike the READMODBUS command which is a function that returns a single 16 bit word this command is implemented as a statement so that multiple words of data can be stored into the PLC internal memory PLC COMM port number 1to 8 using Modbus ASCII or 11to 18 using Modbus RTU ID Device ID of the MODBUS slave device 1 to 255 Zero offset address of the holding register in the MODBUS Slave device starting from 0 40001 the starting variable in the master for storing the returned data may be a DM or any system variable
64. 5Applet jar file needs to be changed Centralised storage of program files only at the server This is good for providing PLC program training Can only read write TRILOGI files to the TLServer but not to the local harddisk Can only access the TLServer from which it was loaded May take a few minutes to load itself the first time thereafter the browser should cache it for rapid start up Program behavior may vary for different make or diffferent versions of the browser Starting The Internet TRILOGI Application Basically there are 3 methods in which you can start the TRILOGI application as follow 1 If the Internet TRILOGI and JRE has been properly installed on your PC you can just click on the Start button and select TRILOGI 5 x Application in the Internet TRILOGI 5 3 as follow Adobe Acrobat 4 0 CorelDRAW 9 Internet TRILOGI 5 1 Internet Explorer Microsoft Access Microsoft Excel Tg Eas Ls Microsoft Outlook Microsoft PowerPoint Microsoft word mysingtel dialer ORE rk amp SB Hatinnal lnstiuments ookciut 47 LocalHost Applet htm Tieerver with Java Console TLServer Version 2 0 TRiLOG 5 1 Application Uninstall Internet TRILOGI 5 1 Internet TRILOGI Helps 2 You can also open My Computer and open the folder C TRILOGI TLS5 then double click on the file TL51 jar to start TRILOGI application If JRE has been properly installed the TL51 jar file will be rec
65. A clock source is needed to drive the stepper motor through its stepping sequence The stepping rate is determined by the frequency which is equal to 1 period of the clock source Clock pulses with periods in multiples of 0 01 second can be generated easily using the Clk 01s bit and an Upctr function For e g to generate a clock source of period 0 05s use Clk 01s to feed to an Upctr counter with Set Value 4 The counter s contact completion flag will be turned ON once every 5 counts 0 1 2 3 4 which is equivalent to a 0 05 sec clock source b Replacing a Drum Controller A drum controller can be replaced easily by a sequencer if the timing of the drum s outputs can be divided into discrete steps Assuming a drum controls two outputs with the timing diagram shown in the following figure This can be replaced by an 8 step sequencer Step 1 e g Seq1 1 turns ON and latch Output A using Latch function Step 2 turns ON and latch Output B Step 4 http localhost 9080 Help sequencer htm 3 of 4 3 30 2005 7 52 48 PM Sequencer Program Example Assume that we wish to create a running light pattern which turns on the LED of Outputs 1 to 4 one at a time every second in the following order LED1 LED2 LED3 LED4 LED4 LED3 LED2 LED1 all LED OFF and then restart the cycle again This can be easily accomplished with the turns OFF Output A using the Clear function and Step 6 turns OFF Output B All other step
66. BASIC creates 32 special system variables for the sole purpose of interacting with emGateway The user program can therefore control what data is to be exposed or obtained from the internet The data to be exposed will be copied to the special em variables and data obtained from the internet can be used selectively by the control program Pre defined Variable Names for emGateway The following variables name are defined in the emMicro code implemented by M series PLCs These are the names to use when you write the JAVA applet user interface a emlnt1 to emint16 These are 16 bit unsigned integer variables b emLInt1 to emLInt16 These are 32 bit unsigned integer variables c emStringA and emStringB These two are byte array of 70 characters each used mainly as strings variables These variables have a one to one correspondence with the following system variables defined in TBASIC emMicro TBASIC case sensitive non case sensitive emEventl to emEvent4 EMEVENT 1 to EMEVENT 4 emInt1 to emInt16 EMINT 1 to EMINT 16 emLIntl to emLInt16 EMLINT 1 to EMLINT 16 emStringA AS emStringB BS lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic emit htm 3 30 2005 7 52 44 PM Controller Menu The Controller Menu All commands in this menu are for communication with the PLCs via the TLServer Hence the TLServer must be actively running and c
67. Cs in an RS485 network Internet TRILOGI can log in to the TLServer and have immediate access to all the PLCs on the RS485 network just by specifying the ID address of the PLC concerned Up to 32 Standard M series PLCs can be networked to a TLServer If you replace the RS485 driver IC by a 1 8 power type you can link up to 256 PLCs to a single TLServer for programming and monitoring A g Terminating resistor hele ov z B Bh r acy Ree Host Comp uter with Ti QOMO Ti 0an TI 0ME R SgS Adapter RS485 R5485 RS485 amp TLServer 3 S N d a 3 Networking Consideration The networking method used by the PC running the TLServer as well as how the TRILOGI client software accesses the TLServer will have impact on the configuration of both the TLServer and the TRiLOGI client We will consider various scenarios below 1 Standalone PC No network connection If the PC that runs TLServer is a standalone without any network connection you can still use it for localhost programming i e The PC which is running the TLServer will be the same one that is used to run the TRILOGI client program When you run TLServer you will see that the displayed IP Address is the localhost address 127 0 0 1 9080 assuming that you did not change the default port 9080 You can either run the TRILOGI Application directly or you can open up your web browser and key in the following http localhost 9080 Help PLCsetup htm
68. ETBIT CLRBIT Basic to TBASIC Reference Manual http localhost 9080 Help tbasic testbit htm 3 30 2005 7 52 33 PM CLRIO CLRIO labelname Applicable only to M PLC models SETIO labelname TOGGLEIO labelname TESTIO Jabelname Manipulate the logic states of any input output relay timer or counter contact bit within a CusFn The labelname refers to the label names defined in the input output relay timer or counter tables SETIO set a bit to ON CLRIO clear the bit to OFF and TOGGLEIO flip the current logic state of that I O bit TESTIO function returns a 1 if the bit is ON and a 0 if the bit is OFF Examples SETBIT alarm IF TESTBIT alarm THEN ELSE ENDIF Comments This function offers a more efficient way of manipulating the I O bits compared to the SETBIT and CLRBIT function However SETBIT and CLRBIT functions has the advantage that they can use variables to indicate the index and bit position of the bit to be affected whereas the I O bit that are being affected by the commands here are fixed during compile time Purpose Note that output bit changed in custom function will only be updated at the physical output at the end of the ladder logic scan unless a REFRESH command is being executed See Also SETBIT CLRBIT TESTBIT lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic clrio htm 3 30 2005 7 52 34 PM CRC16 C
69. Examples B VALI 123 100 Comments B should contain the value 12300 See Also STR n HEX n HEXVAL x lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic val htm 3 30 2005 7 52 36 PM HSCDEF ch HSCDEF ch fn_num value Pu rpose Enable and set up parameters for the High Speed Counters channel ch These counters operate independently of the ladder logic scan time and can capture high speed input pulses generated by position encoders ch channel number 1 8 fn_num Custom Function to trigger when value is reached value trigger when HSC reach this 82 bit integer value If the PLC supports quadrature encoder inputs then the HSC counter variable HSCPV ch will increment decrement according to direction of rotation When value is reached the specified custom function activates immediately Important All High Speed Counters are disabled automatically when the PLC is reset unless they are enabled by the HSCDEF statement However if more than one HSCDEF for the same channel ch is executed only the last executed HSCDEF statement will take effect Hence you should put the next HSCDEF statement within the CusFn triggered by the first HSCDEF By chaining the HSCDEF statement from one CusFn to another you can control the motion of the machine using the HSC value to execute a series of CusFn one by one Within these CusFn you can program what to do to control the motion E g chang
70. Explorer IEXPLORE EXE However If your PC does not come with this browser installed then TRILOGI Application will report problems opening the web browser If that is the case you ll need to use the Notepad program to manually edit the config tl5 file in the C TRiLOGI TL5 directory Modify the first line Browser Path C Program Files Internet Explorer IEXPLORE EXE to match the correct browser path info This problem does not occur to applet since the TL5Applet automatically uses the same browser in which it was loaded to open the help files hence the applet does not need to know the browser path at all How To Activate TRILOGI Applet Using Browser e First start up your Internet Browser It should be either an Internet Explorer version 5 0 or later or Netscape Navigator Communicator Version 4 5 or later Earlier versions of browser have some bugs in their JVM implementation and hence may not work well with TRILOGI Next check the TLServer front panel for its IP Address If you are running TLServer on a PC without network connection it will probably show IP Address 127 0 0 1 9080 If you have an Internet connection before you start up TLServer then you will see the Internet IP address of your PC If your PC has both a local area network connection as well as a direct Internet connection you will see two IP addresses being reported Although localhost address 127 0 0 1 may not be reported but it is always there as long as both th
71. Help tbasic gettimsv htm 3 30 2005 7 52 34 PM SetCtrSV SetCtrSV n value Examples Comments See Also Change the Set Value S V of the Counter 7 to value This statement to allow the user to modify the S V of the PLC internal counters without changing the source program A TBASIC function can be written easily to make use of a few digital or analog inputs to modify the SV of these internals timers counters The new S V is also stored in the program EEPROM and hence is non volatile See sample program set_TCSV PC4 n should be between 1 and 128 value should be between 0 and 9999 SetCtrSV 10 1234 SetCtrSV 3 GetCtrsSV 3 10 Counter 10 will assume a S V of 1234 S V of Counter 3 will be increased by 10 Related The present values P V of counters can be read or written directly as integer variables CtrPV n But the Set Values can only be changed by this function GetCtrSV GetTimerSV SetTimerSV lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic setctrsv htm 3 30 2005 7 52 34 PM SetCtrSV SetTimerSV n value Examples Comments Change the Set Value S V of the Timer n to value This statement to allow the user to modify the S V of the PLC internal timers without changing the source program A TBASIC function can be written easily to make use of a few digital or analog inputs to modify the SV of these internals timers The new S V is also st
72. INT 1 ATZ If you want your modem to automatically answer to an incoming call e g using TLServer 2 0 modem dialing capability then you should execute the following TBASIC statement PRINT 1 ATSO 1 The above statement will tell the modem to answer on first ring you can also change the number http localhost 9080 Help plc2modem htm 2 of 4 3 30 2005 7 52 26 PM One area of application for the host link capability of the H series an or control the operations of a PLC via public switch telephone network 1 to other numbers E g if ATSO 3 it will answer on the 3 4 ring of the phone 3 Software and Programming The TLServer 2 0 which is part of the Internet TRILOGI software suite already includes built in support for dialing a modem Hence if you are using the PLC in passive answer mode only all the PLC needs to do is to send a modem initialization string ATSO 1 using the 1st Scan pulse to put the modem in auto answer mode whenever the PLC is powered up The PLC does not need to issue any more commands to the modem Whenever a user wants to communicate with the PLC he she will first use the TLServer to dial and connect to the PLC s modem and when the connection is established he she will then be able to use the TRILOGI client or the TRi ExcelLink program to communicate with the PLC The fact that the PLC is connected via modem and not via direct RS232 is totally transparent to the client programs To prevent unauthorized a
73. IP optional address See Log In to TLServer What Happens when a Client is behind a firewall but the TLserver has direct link to the Internet If the client PC is located within a corporate Intranet and protected by a firewall then there are very limited means for the client to access the Internet outside of the firewall Note that NOT all PCs within the LAN have access to the Internet Whether a PC has access to the Internet or not is decided by your company s System Adminstrator Even if a particular client PC does have access to the Internet because you are able to use a browser to visit Yahoo it doesn t mean that the PC has a direct connection to the Internet What actually happens is that the network adminstrator has setup a Proxy Server that will intercept your client PC s request to link to the Internet The proxy server is the one which actually has a direct link to the Internet It acts on behalf of the client within the Intranet to process HTTP connection to the Internet and passes the response data to back to the client So how does the proxy server determine whether a network packet is meant for the Internet and not meant for another workstation within the Intranet It determines it by examining the port number that the packet attempts to connect to If a connection is made to the well known HTTP http localhost 9080 Help PLCsetup htm 2 of 3 3 30 2005 7 52 25 PM PLC Hardware Setup port which is 80 it will be hand
74. Only lt F8 gt Allows you to compile the TRILOGI file only in order to view the compilation statistics http localhost 9080 Help simulatemenu htm 1 of 2 3 30 2005 7 52 45 PM Simulate Menu ea Compilation Success Ladder Diagram fwords Custom Function words 5 Reset All I Os lt Ctrl R gt Clears all I Os in the simulation engine without invoking the simulator Since all I Os whose logic states are turned ON in the simulator will also be shown as highlight on the ladder diagram this offers a way to clear the I Os if it hinders your viewing of the ladder program http localhost 9080 Help simulatemenu htm 2 of 2 3 30 2005 7 52 45 PM Programmable Logic Simulator Programmable Logic Simulator The beauty of the Internet TRILOGI is that you can test run your program off line directly on the same PC that runs TRILOGI or connect on line to a real PLC located at some other parts of the world to access to all its real time data The experiences are almost identical to each other They use the same visual feedback method about the logic states of I O and internal data You can test run the TRILOGI program offline thanks to its built in simulator engine which is in effect a soft PLC that executes all the commands that the actual hard PLC understands The simulator screen and the view variable screens are shared by both the simulator and the on line monitoring mode and will be described in this document 1
75. Positive number means rising edge triggered 0 or negative number means falling edge triggered See Also INTROFF lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic intrdef htm 3 30 2005 7 52 37 PM INTROFF ch INTROFF cn Pu rpose Disable Interrupt Input channel ch See Also INTRDEF lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic introff htm 3 30 2005 7 52 37 PM LEN LEN x Purpose To return the number of characters in x3 Examples a LEN This is a test string CHR 13 Comments L 22 because blanks and non printing characters are counted lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic len htm 3 30 2005 7 52 37 PM LET LET Purpose To assign the value of an expression to a variable LET variable expression Important a When assigning a 16 bit variable to a 32 bit integer only the lower 16 bits of the 32 bit integer will be assigned Hence the programmer must take special care if the 32 bit number is out of the range of a 16 bit number which is between 32768 to 32767 b If anegative 16 bit number is assigned to 32 bit integer variable then the sign bit will be extended to 32 bits e g DM 1 123 A DM 1 The 16 bit hexadecimal value of 123 is amp HFF85 but A will be assigned the hexadecimal value amp HFFFFFF85 Their decimal representat
76. RC16 var count Applicable only to M PLC with firmware r44 or higher This function returns the computed CRC16 for a range of integers Starting from variable var with the range indicated in the parameter count CRC16 is a 16 bit version of Cyclic Redundancy Check a popular mathematical formula for checking error in a data stream Examples DM 100 CRC16 DM 5 8 X CRC16 RELAY 2 4 Comments CRCI6 for DM 5 DM 6 DM 12 will be assigned to DM 100 CRCI6 for RELAY 2 RELAY 3 RELAY 4 will be assigned to X Purpose Basic to TBASIC Reference Manual http localhost 9080 Help tbasic crc16 htm 3 30 2005 7 52 34 PM Delay DELAY n Applicable only to M PLC models Purpose To provide a time delay of n millisecond to the process Examples DELAY 100 Comments Provide a 100 ms 0 1s delay to the current custom function It is important to note that this is a brute force delay method and only to be used with caution When a DELAY function is executed the CPU waits at the statement until the period specified by the delay is over This means that all the remaining ladder programs and other custom functions will stop responding to changing input conditions only system services serial input countdown timers and host link commands etc as well as interrupt driven CusFns will work during the period of delay This may not be desirable if the rest of the process must respond
77. Stop STR STRUPR TESTBIT TestlO TogglelO WriteModbus WriteMB2 1 Introduction to TBASIC amp Custom Functions PS E Integer Constants Variables amp Operators String Constants Variables amp Operators Link Variables for EMIT 3 0 http localhost 9080 Help tbasic tbasic htm 8 30 2005 7 52 32 PM TBASIC Statements Functions and Delimiter Definitions ABS ABS x Purpose To return the absolute value of the numeric expression x Examples ABS 2 16 100 Comments A should contain the value 68 lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic abs htm 3 30 2005 7 52 33 PM ADC ADC n Purpose To return the value from the Analog To Digital Converter channel n n should be between 1 and 16 Examples TRDEN Comments n may be a numeric expression which returns a value between I and 16 If it is out of range a run time error will be reported and the function will be aborted TRiLOGI software is able to support up to 16 channels of 16 bit bipolar ADC which may has a range of between 32768 to 32767 The actual number of ADC channels and the resolution will depend on the target PLC On the TI00MX all the A D are normalized to 12 bit with a range of between 0 and 4096 lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic adc htm 3 30 2005 7 52 33 PM ASC ASC Xx n Purpose To return the numeric value that is the
78. TE 4 1 for Monday 2 for Tuesday 7 for Sunday High Speed Counters The M series PLC support High Speed Counters HSC which can be used to capture high frequency incoming pulses from positional feedback encoder These high speed counters are accessible by CusFn using the variables HSCPV 1 to HSCPV 8 All HSCPV n are 32 bit integer variables Special Variables Used by EMIT 4x special 16 bit integer variables EMEVENT 1 to EMEVENT 4 emEveni 1 is also used for email purpose 16 x 16 bit integer variables EMINT 1 to EMINT 16 16 x 32 bit integer variables EMLINT 1 to EMLINT 16 3 Integer operators Operators perform mathematical or logical operations on data TBASIC supports the following integer operators i Assignment Operator An integer variable A to Z DM and system variables etc may be assigned a value using the assignment statement A X 1000 H I J len A ii Arithmetic Operators Symbol Operation ss Example Addon A B 0 235 Multiplication PRNT XY gt J Division X A 100 B MOD Modulus Y YMOD1000 2 iii Bitwise Logical Operators logical operations is perform bit for bit between two 16 bit integer data Symbol Operation Example SS flogicahk OR outputft A amp HO8 iv Relational Operators Used exclusively for decision making expression in statement such as IF expression THEN and WHILE expression Symbol Op
79. TRILOGI Help Content Page Internet TRILOGI Helps 1 Introduction Overview of TRILOGI Software Package Ladder Logic Programming Tutorial Using Internet TRILOGI e PLC amp PC Hardware Setup and Configuration 2 TRiILOGI s Main Menu File Menu Edit Menu Controller Menu Simulate Menu e Circuit Menu 3 Ladder Logic Programmer s Reference Ladder Logic Editor Using TRILOGI Ladder Logic Editor e Ladder Logic Language Reference Ladder Logic Fundamentals Contact amp Coils Special Bits Special Functions Using the Sequencers 4 TBASIC Language Reference Introduction to TBASIC TBASIC Keyword Reference TBASIC Statements Functions and Delimiter Definitions Integer Constants Variables amp Operators String Constants Variables amp Operators Link Variables for EMIT 3 0 Context Sensitive Help Files These files are displayed when you press lt F1 gt keys at different parts of the TRILOGI or TLServer programs These links are listed here for your quick reference 1 TRILOGI Helps e Ladder Circuit Edit Mode O Table Entry Simulation of PLC Program http localhost 9080 Help content htm 1 of 2 3 30 2005 7 52 24 PM TRILOGI Help Content Page e View Variable Screens Full Screen Monitoring of Target PLC e TBASIC Language Helps 2 TLServer Helps Overview Set Up TLServer s Serial Communication Port e PLC to Modem
80. When you save the protected program it will be saved in an encrypted format and it cannot be opened using older version of TRILOGI software However you will still be able to add new ladder circuits and custom functions to this program as well as modify those unprotected ladder circuits and custom functions Of course you will still be able to compile simulate and transfer the protected program to the PLC as usual A protected file can be unprotected by selecting the Un protect command from the File menu and supplying the unlocking password Note that this unlocking password is strictly for un locking the viewing restriction and it has nothing to do with other username and or password required for interacting with the PLC This View Protection command is extremely useful for OEMs who wish to allow end users of their equipment to modify or append to the PLC s program for ease of interfacing to other equipment but without revealing the core content of the PLC program to the end user Besides being able to protect the OEM s intellectual property it will also help to prevent the end users from mistakenly modifying the core program which can lead to disastrous result 7 Write Compiled Code to Disk This new feature is added since TRILOGI version 5 32 You can now write the compiled program code to a disk file so that you can send the compiled code with a CO5 extension to your end customer to upload to the M series PLC using a standalone TL5
81. a TRILOGI file from the TLServer When executed you will be prompted to enter the Username and the Password to gain access to the TLServer the same Username and Password must have already been defined in TLServer for this to work If you are running TRiLOGI as a local application instead of as an applet you may be required to enter the IP Address port of TLServer in order to connect to TLServer Note that last entry of IP Address port is saved to the TL5 configuration file and will be loaded when the TL5 application re starts Each user has his own exclusive directory for storing his TRILOGI files Once authenticated a network file dialog will be opened for you to select a file delete a file or create a subdirectory as shown below http localhost 9080 Help filemenu htm 1 of 4 8 30 2005 7 52 31 PM File Menu Open files stored at TLServer Cancel Cancel For Next FCs Gato FCS 7 GOTO2 BAK gotoz pes HighSpeedCtr Pcs Ilf Then Else Pcs IndexTable PCs Interrupt PCS Simply double click on the desired file or select the file you wish to open and click the Open button to open the TRILOGI file Sub directory The MKDir button allows you to create a sub directory on the server to organize your files Subdirectory names always end with a character If you open a subdirectory its contents will be displayed in the file window To return to the parent directory from a sub directory you simply double click
82. affect the normal running of the PLC Assigning the person a Visitor access level will restrict him from controlling the I O at all The only thing a visitor can do is to perform on line monitoring without being able to force set or force reset any I O When you log in to the PLC using TRILOGI you will be prompted to enter the Username Password pair The Username will be matched by the TLServer and the corresponding access level is fed back to TRILOGI which will will then control the operation that a user can do according to the access level defined here Future client programs will also observe the access http localhost 9080 Help tlsvrpassword htm 1 of 2 3 30 2005 7 52 27 PM TLServer password Help level rule Administrator s Password It is assumed that only the Administrator has the right to access the user configuration dialog Hence when you first click on the Configure Users button you will be asked to enter the password for the Administrator This serves to prevent a casual user from making changes to the password and the access level and affect the security of the PLC which may be accessible from the Internet However this is by no means a high security deterence An experienced user can neutralize your access password if he is already physically present at your PC that runs the TLserver Afterall if a person can break the lock and enter your premises what is there to stop him from deleting a few files here and there I
83. aining characters will be discarded The string and integer data actually share the same pool of data EEPROM space However the string spaces are allocated from the top of the data EEPROM space downward while the integer spaces are allocated from the bottom of the data EEPROM space and grow upward This implementation allows say both SAVE_EEP n 1 and SAVE_EEP x 1 to be executed in the same program without the string and integer data writing over each other space However when the addresses grow larger up to a certain point the integer and string data space will cross path and overwrite each other s space It is therefore the programmer s responsibility to check that this does not happen Here is how Assume the total EEPROM space for integer data N words 16 bit Total number of data EEPROM space 2N bytes gt Maximum number of string EEPROM space 2N 40 rounded down To determine the upper limit of one type of storage you have to first decide how much space you want to allocate to the other type E g 1 N 1700 and you want use the first 510 location for integer data that means the maximum number of string space available 1700 500 2 40 59 E g 2 N 7700 and you want to store 200 strings The maximum number of integer space available 7700 2 200 40 2 3700 e SSsSsS S SS paee PEE http localhost 9080 Help tbasic saveeep2 htm 3 30 2005 7 52 37 PM LOAD_EEP String LOAD_EEP
84. ands are accepted here The only point to point command acceptable here is the IR command which queries the ID address of the PLC If you have only one PLC connected to your TLServer computer then you can test the communication now using the following command string Command Strang ER Response String IR01 http localhost 9080 Help serialsetup htm 1 of 4 3 30 2005 7 52 26 PM Serial Port Setup Helps The response string tells you that the ID address of this single PLC is 01 You can then try other host link commands using this ID address e g 01RIO000 to query the states of inputs 1 to 8 If you have more than one PLC connected you should not use the IR since all connected PLCs will try to respond simultaneously thus resulting in a garbage return string To change the ID of a PLC e g from 01 to 05 you can send the command string 01 IW0500 to the PLC In TLServer 2 0 there is also a new Change PLCID button which does this for you automatically You can click on the Detect ID button to check the current ID and then the Change ID button to write the new ID to the PLC Changing Communication Settings Most likely you may want to leave the comm port settings at their default values 38 400 bps 8 data bits 1 stop bit no parity Some reasons for changing the comm port settings may be due to the need to change the PLC s serial port to lower values e g for communication via radio using 9600 bps Changes to t
85. ariable or a system variable such as relay n output n etc However if vis a 32 bit integer SETBIT will only operate on the lower 16 bits Following digital electronics convention bit O refers to the least significant bit rightmost bit and bit 15 the most significant bit leftmost bit of the 16 bit integer variable A quick way to find out the bit position and index of an I O variable is to open their I O table and check the CH BIT column Bit position beyond 9 are represented by hexadecimal number A to F Examples SETBIT output 2 11 Comments output 28 will be turned ON Output channel 2 bit 11 Output 17 11 28 See Also CLRBIT TESTBIT K Basic to TBASIC Reference Manual http localhost 9080 Help tbasic setbit htm 3 30 2005 7 52 33 PM TESTBIT TESTBIT v n Purpose To return the logic state of bit n of the variable v The function returns 1 if the bit is 1 otherwise it returns 0 nis an integer of value between 0 and 15 v may be any integer variable however if vis a 32 bit integer TESTBIT will only test the lower significant 16 bits A quick way to find out the bit position and index of an I O variable is to open their I O table and check the CH BIT column Bit position beyond 9 are represented by hexadecimal number A to F Examples TESTBIT Input 2 i535 Comments To test whether input 20 is ON Input channel 2 bit 3 Input 17 3 20 See Also S
86. as been defined only as Visitor in TLServer since a Visitor has no right to affect the PLC s operation http localhost 9080 Help fullmon htm 1 of 3 3 30 2005 7 52 44 PM Full Screen Monitoring Important Notes e f you right click on the Input field the selected PLC input will be changed only for 1 scan time After that the PLC s I O update process will automatically change the input bit back to its actual physical input state It is not possible to permanently force the PLC s input to a different logic state even if the PLC is paused As such you will not be able to see the changes being reflected on the screen when you Click on an Input When you force an I O to change state during on line monitoring there may be a slight delay before you are able to notice the changes being reflected on the screen This is due to the unavoidable time delay which occurS when communicating with the PLC via the Internet However this may serve as a feedback that your action has been accepted and carried out by the PLC View Select Pause Reset Buttons View TBASIC Variables See document on Viewing System Variables Halt the PLC The Pause lamp of the PLC should be lighted up after you click the pause button This button is disabled when the Control check box is not selected Reset All I Os and data in the PLC same as lt Ctrl R gt This button is disabled when the Control check box is not selected
87. assword dialog If you select a username and then press the lt DEL gt key you can delete the user provided its directory is empty You can use Window Explorer or TRILOGI Application to delete the contents of the user s directory first before deleting him her from TLServer Add New User Clicking on this field allows you to add new users to the system You can add as many users as you like subject to memory and hard disk limit Server Port If you click the check box to the left of the Server Port label you can change the default port that the TLServer listens on Whatever you define here must be matched by the same port number when the client accesses the TLServer E g if the port number is defined as 8000 then localhost access must be http 127 0 0 1 8000 However if the port number is defined as 80 default port for HTTP server then you can access the server using just the IP address without the port number http 127 0 0 1 What Port Number Should TLServer Use Please read the explanation box below regarding definition of a Port You can see that the default port for most public web servers is port 80 You can define TLServer to listen at port 80 as well in that case there is no need to specify the port number in the URL However there are reasons why you may or may not want to do that It depends on whether you are installing TLServer on a corporate intranet or on the public internet and whether the client
88. ast entry in the I O table e g Input 256 will be lost b TRILOGI Version 5 allows I O label names of up to 10 characters However if you wish to keep compatibility with Version 4 x you should use no more than 8 characters to define the I O names http localhost 9080 Help laddertutorial1a htm 1 of 2 3 30 2005 7 52 28 PM Ladder Tutorial Step 1 Back to Assignment lt q gt Go To STEP2 http localhost 9080 Help laddertutorial1a htm 2 of 2 3 30 2005 7 52 28 PM Ladder Logic Tutorial Step 2 Ladder Logic Programming Tutorial STEP 2 lt gt fe4 0 Labels 1 Timer table has an extra column Set Value located to the right of the Label Name column A timers E 2 After you have entered the label name Duration for Timer 1 Label Name set Value a text entry box is opened up at the Set Value location of Timer 1 for you to enter the SV for the timer SV range is between 0 and 9999 Enter the value 1000 at this location 3 For anormal timer with 0 1s time base the value 1000 represents 100 0 seconds which means that the Duration timer will time out after 100 0 seconds If the timer had been configured as High Speed Timer using the TBASIC HSTimer command then the time base would become 0 01s meaning the value 1000 represents only 10 00 seconds 4 We are now left to define the sequencer Seqi The sequencer is an extremely useful device for implementing
89. ave like the typical electromagnetic relay Unlike an output e g the Lamp output which has a physical connection out of the PLC when an internal relay is turned ON it is said to be energized but you will not see any changes in the PLC s physical I Os The logic state is kept internally in the PLC The contact of the relay can then be used in the ladder diagram for turning ON or OFF of other relays or outputs A relay contact in the ladder diagram can be Normally Open or Normally Closed and there is no limit to the number of contacts a relay can have http localhost 9080 Help contactandcoil htm 2 of 3 3 30 2005 7 52 47 PM Contacts and Coils Out Coils A PLC output is really just an internal relay with a physical connection that can supply electrical power to control an external load Thus like a relay an output can also have unlimited number of contacts that can be used in the ladder program Timer Coils A timer is a special kind of relay that when its coil is energized must wait for a fixed length of time before closing its contact The waiting time is dependent on the Set Value SV of the timer Once the delay time is up the timer s N O contacts will be closed for as long as its coil remains energized When the coil is de energized i e turned OFF all the timer s N O contacts will be opened immediately However if the coil is de energized before the delay time is up the timer will be reset and its contact will never
90. be closed When a last aborted timer is re energized the delay timing will restart afresh using the SV of the timer and not continue from the last aborted timing operation Counter Coils A counter is also a special kind of relay that has a programmable Set Value SV When a counter coil is energized for the first time after a reset it will load the value of SV 1 into its count register From there on every time the counter coil is energized from OFF to ON the counter decrement its count register value by 1 Note that the coil must go through OFF to ON cycle in order to decrement the counter If the coil remain energized all the time the counter will not decrement Hence counter is suitable for counting the number of cycles an operation has gone through When the count register hits zero all the counter s N O contacts will be turned ON These counter contacts will remain ON regardless of whether the counter s coil is energized or not To turn OFF these contacts you have to reset the counter using a special counter reset function RSctr http localhost 9080 Help contactandcoil htm 3 of 3 3 30 2005 7 52 47 PM Special Functions Special Functions During ladder circuit editing when you click on the or icon to create a special function coil a special function menu will pop up as shown below Select a Function _ BNCtr Decrement Rev Counter BSCtrr Reset Counter Upttr Increment Rev Counter 4 AVseq d
91. ble and select the RUN relay 5 To insert the normally closed Stop contact in series with the Start and Run contacts you need to move the highlight bar to the junction of the Start and Run contact First click on the Start contact to select it Then click on the gt icon to move the highlight bar to the junction as follow http localhost 9080 Help laddertutorial1c htm 2 of 4 3 30 2005 7 52 29 PM Ladder Logic Tutorial Step 3 TRILOGI Version 5 32 Untitled File Edit Controller Simulate Circuit Help Start RUM Note In TRILOGI Version 5 32 or higher the highlight bar will move to the junction if you click on the dark green insertion point on the Start contact Belts File Edit Controller Simulate Circuit Help Circuit 1 6 Next right click on the icon It will change into yellow color normally closed contact as shown in the above diagram You are now inserting a normally closed series contact at the location of the highlight bar Pick the Stop label from the Input table to add the series contact http localhost 9080 Help laddertutorial1c htm 3 of 4 3 30 2005 7 52 29 PM Ladder Logic Tutorial Step 3 TRILOGI Version 5 32 Untitled File Edit Controller Simulate Circuit Help Circuit 1 Start Sta Run 7 We will now connect a relay coil Run to the right of the Stop contact Click on the icon to insert the coil Select RUN label from the Relay table Rem
92. can display the number in hexadecimal format by clicking on the Hex button or by pressing the lt H gt key Press the lt D gt key if you wish to switch back to the decimal format This feature is very useful for programmers who are familiar with hexadecimal representation of a binary number The Hex button will become the Dec button when you enter the Hex display mode 5 On line Monitoring of TBASIC Variables If you execute the On Line Monitoring Control command from the Controller pull down menu TRILOGI Version 5 will continuously query the PLC for the values of all their internal variables These variables values will be updated in real time in the View Special Variables window You may also alter the value of any variables in the PLC using the Edit Variable window by clicking on the Edit button at the View xxx Variables window This ability of TRILOGI to provide instant and full visibility of all the PLC s internal variables greatly facilitates the programmers debugging process The ease of programming offered by the TRILOGI programming environment is really what really sets the M series PLCs far ahead of many other PLCs where both programming and debugging are really painstaking tasks This is assuming they have been fully equipped with all the expensive options to match the M series built in capability 5 1 PAUSE and RESET of Target PLC During On Line Monitoring if the View Special Variables window is ope
93. ccess to the PLC you may need to use the TBASIC command SETPASSWORD to set a protective password The great flexibility of the M series PLCs becomes even more apparent when you realize that you can easily program the PLC to automatically dial in to the TLServer to perform a number of tasks such as using the PLC s File Service to save or append data to hard disk files send email to anyone via the Internet or even synchronize its real time clock with the host PC A number of examples have been included in the C TRILOGI TL5 usr File Services and Modem folder in TLServer 2 0 All these examples make use of a powerful yet easy to use custom function that was written entirely using the standard TBASIC commands see source code listing in the text box below You only need to create the following simple ladder circuit to use this function assuming it is function 10 DS ATDT 802 store the phone number you can put it elsewhere TESTIO Connected THEN already connected F TESTIO DialModem 0 connection no longer needed IF DM 3991 0 used as timer for modem attention PRINT 1 clear serial out buffer E WH ENI ELSE IF LE NCOMM 1 DM P DWHI LE 3991 RINT lt gt 1 4 clear whatever data in serial in buffer t modem attention ELSE IF DM DM IF CLRI 3991 NT 3991 PRI
94. cessible from outside of the LAN To access the TLServer from outside of the LAN You will need to configure your router s internal settings to define the PC that runs the TLServer as a Virtual Server You can then access the TLServer using the router s public IP address and the router will does the job of translating the public IP address to the intranet IP address and route the messages to from the PC that has been defined as the virtual server This process is known as Network Address Translation NAT e If you connect a computer in a LAN to the Internet via a dial up connection you will see two IP addresses one is the Intranet address and another is the Internet IP address The Intranet address is only accessible from within the Intranet The Internet IP address will be what you need to use if you are accessing TLServer from the Internet See the PLC Setup amp Configuration section of the installation guide for more detailed explanation of Intranet Installation and problem with Firewalls Dial Up Users If you are testing the internet capability of TLServer using dial up connection you must connect to the Internet first before starting TLServer so that TLServer can report the correct Internet IP address to you You will not see the local host IP address 127 0 0 1 only the Internet IP address will be shown The moment TLServer is running it is ready to accept connection from the TRILOGI client You can also configure TLServer s communicati
95. closed and the name Start is now assigned to Input 1 If you made a mistake simply press the spacebar or click on the input location again to edit it 5 Press lt Enter gt key again and the highlight bar will be moved to Input 2 6 Without using the mouse button simply start typing the name Stop at Input 2 The text field will be automatically opened up at Input 2 for entry Press lt Enter gt after typing in the name for Stop input 7 Complete entry of the other two input label names Manual and Step as above Note that if you enter more than 10 characters in the text field only the first 10 characters are accepted Also white spaces between names are not acceptable and will be automatically converted to the underscore character _ e g If you enter the name M series PLC for an I O it will be accepted as M_series_P 8 After entering label names for Inputs 1 to 4 move to the Output table by pressing the right cursor key or by clicking on the right arrow button Enter all the output and relay label names in their respective I O tables We will discuss the Timer table in the next step Important Notes You can shift the Items in the I O table up or down or insert a new label between two adjacent pre defined labels Simply press the lt Ins gt key or Right Click the mouse button to pop up the Shift I O menu which allows you to shift the selected I O However please note that if you shift the I O down the l
96. command during simulation run and if a run time error is encountered a pop up message window will report to the programmer the cause and the CusFn where the run time error took place This helps the programmer locate the cause of the run time errors to enable debugging The possible run time errors are listed in the following table and they are generally self explanatory po Run Time Error Message Divide by zero Call stack overflow Circular CALL suspected FOR NEXT loop with STEP Of SET_BIT position out of range 0 CLR_BIT position out of range TEST_BIT position out of rangel STEPSPEED channel out of range Illegal Pulse Rate for STEPMOVE Illegal acceleration for STEPMOVE STEPMOVE channel out of range STEPSTOP channel out of rangel ADC channel out of range DAC channel out of range LED Digit within 1 12 Only PWM Channel out of range LCD Line must be 1 4 Only PM channel out of range System Variable Index Out of range Shifting of A Z Out of range Illegal Opcode Please Inform Manufacturer Timer or Counter Out of Range http localhost 9080 Help tbasic tbasicIntro htm 8 of 8 3 30 2005 7 52 43 PM TBASIC Statements Functions and Delimiter Definitions TBASIC Statements Functions and Delimiter Definitions 1 STATEMENT A STATEMENT is a group of keywords used by TBASIC to perform certain action A statement may take 0 1 2 or more arguments The following ar
97. connects to the PLCs via the PC s serial communication port and it is the one responsible for conveying communication messages between the Internet TRILOGI client and the M series PLCs Note TLServer is not included with Education version of TRILOGI since there is no real PLC involved To Start TLServer double click on its Icon and a TLServer panel will appear You can minimize TLServer but it should be actively running in order to service network request from TRILOGI via the Internet or local area network 3 Client The TRILOGI program is the one which you use to create your ladder logic TBASIC program and is called the Client program If you are programming the PLC offline then you only need to run the client program without the TLServer The beauty of the client server configuration is that it does not matter whether the server and client are located at the same computer or at 20 000 miles apart and they work exactly the same way The client and the server can communicate via any form of network connection including the Internet This makes it possible for the user to program the PLCs either locally or remotely via the Internet or even wirelessly via mobile Internet Another important advantage of client server architecture is that multiple clients may access the same server simultaneously Hence you can run multiple copies of the TRILOGI clients at different places around the world simultaneously for troubleshooting a single PLC You ca
98. contact also known as the completion flag http localhost 9080 Help specialfn htm 2 of 5 8 30 2005 7 52 47 PM Special Functions c Otherwise increment the counter PV register by 1 Reset Counter RSctr When the execution condition of this function changes from OFF to ON the counter will reset to inactive state This function is used to reset both a reversible counter and an ordinary down counter coil 2 Sequencer Functions AVse RSseq and StepN Please refer to the documentation on Using TRILOGI Sequencers 3 Latch Relay Function Latch Latching relay is convenient for keeping the status of an execution condition even if the condition is subsequently removed The program elements that are assigned as Latching Relays will remain ON once they are energized Only Relays and Outputs may be assigned as Latching Relays On selecting Latch function you can use the left right cursor keys or click on the left right arrow keys to move between the Relay and Output tables The selected relay or output will now be assigned as a Latching Relay You will be able to see the label name of the program element above the Latch symbol in the ladder diagram Although latch relay can be used in place of self latching Seal circuits a latch relay in an interlock section will not be cleared when the interlock occurs Only a self latching circuit as shown in the following will be cleared in an interlock section Start Stop GRA
99. ctions all output coils are turned OFF b all timers are reset to inactive c all counters retain their present values d Latched relays by Latch function are not affected e ADIFU and dDIFD functions are not executed f all other functions are not executed An Interlock section is equivalent to a master control relay controlling a number of sub branches as follow Master Lock L51 CRI s HR L52 1 min TIM Interlock overhe Section Out Loft Using Interlock Functions Master L1 CRA s RLY LS 10min Timi overhe Out om Equivalent Circuit Note that ILoff is the only function that does not need to be energized by other program elements When you use one or more ILock functions there must be at least one ILoff function before the end of the program Otherwise the compiler will warn you for the missing ILoff The logic simulator always clears the Interlock at the end of the scan if you omit the ILoff function You can program a second or third level Interlock within an Interlock section using a few ILock functions However you only need to program one ILoff function for the outermost Interlock section i e ILoff need not be a matching pair for an ILock function 5 Differentiate Up and Down d DIFU and d DIFD When the execution condition for ADIFU goes from OFF to ON the designated output or relay will be turned ON for one scan time only After that it w
100. cuit menu 2 Insert Circuits This command enables you to insert a new circuit just before the currently selected circuit The current circuit number will be increased by one while the new circuit will assume the current circuit number You will be placed in the circuit editing mode for immediate circuit creation 3 Move Circuit You can rearrange the order of the circuits by using this command Select the circuit you wish to move and execute the Move Circuit command then select a destination circuit location and press lt Enter gt The selected circuit will be moved to the new location before the destination circuit Note that if you wish to move a block of circuits to a new location you may find it more productive to use the Cut Circuit and Paste Circuit commands in the Edit menu 4 Append Circuit Execute this to add a new circuit to the ladder logic program This new addition will be positioned immediately after the last circuit in the entire program 5 Delete Circuit This command allows you to delete the one or more circuits You will be prompted to enter the range of circuits that you wish to delete Please note that you can t UNDO a delete circuit operation http localhost 9080 Help circuitmenu htm 3 30 2005 7 52 46 PM TRILOGI Ladder Editor Reference TRiLOGI Ladder Logic Editor The Circuit Editing Mode TRILOGI comes with a smart editor which allows you to insert or delete a single eleme
101. d the Outi coil will be connected 4 Circuits 4 5 and 6 are very similar to Circuit 3 and you shouldn t have problem creating them Complete these circuits and we are ready for some interesting simulation exercises When you have created all the circuits press lt Enter gt key or lt ESC gt key at the last blank circuit to end Ladder Edit mode 5 We can make our program more comprehensive to other users by utilizing the Comments feature of TRILOGI Open the Circuit menu and select Insert Comment A comment editor window will be opened up to allow you to add your comments to any part of the circuit When you are done with your comments just press lt ESC gt key or close the comment editor window and the comments you just entered will be inserted between the circuits Each comment occupies a circuit position and there is no limit to the number of lines a comment circuit may have However if you wish to keep data file compatibility with the old TRILOGI Version 4 x you should limit the comment to no more than 4 lines per comment and each line should contain no more than 70 characters A comment circuit may be moved around or deleted just like any other ladder circuits If you wish to edit the comment just double click on it or press the lt Spacebar gt to open up the comment editor window You can use the normal text editing keys such as left right up down cursor keys and lt Ctrl Left gt lt Ctrl Right gt lt Del gt and lt
102. e High Speed Counter inputs which when enabled by the HSCDEF statement will trigger a particular CusFn defined in the HSCDEF statement when the counter reaches a preset target count value This enables the CPU to carry out immediate action such as stopping a motor or performing some computation 4 Simulation amp Examination of TBASIC Variables 4 1 Simulation Run of CusFn TRILOGI fully supports simulation of all TBASIC commands After you have completed coding a CusF n test the effect of the function by connecting it to an unused input Run the simulator by pressing lt F9 gt or lt Ctrl F9 gt key Execute the CusFn by turning ON its control input If your CusFn executes a command that affects the logic state of any I O the effect can be viewed on the simulator screen immediately However if the computation affects only the variables than you may need to examine the internal variables 2 Programmable Logic Simulator Fn 10 Executed Mie x acis T T TT T T T U Teme Cono f ap 949 Duration P E 291 am 24 6 1 4 An I O or internal relay bit that has been turned ON is indicated by a RED color rectangular lamp that simulate a LED being turned ON You can pause the logic simulator at any time by pressing the lt Ctrl P gt key or clicking on the Pause button Likewise the simulator engine can be reset by clicking on the Reset button Simulation of ADC Inputs Along the top edge of the Programmable Logic Sim
103. e Client and the Server reside in the same computer e Now simply key in the IP Address including the port number in your browser s Address for IE5 or URL for Netscape text entry area E g For localhost connection key in http 127 0 0 1 9080 E Internet TRILOGI Home Page Microsoft Internet Explorer File Edit View Favorites Toole Help loon o A Q wy Back Barmvard Stop Refresh Home Search Favorites Address E http 127 0 0 1 9080 Go Internet TRILOGI Version 5 0 The browser will now issue a HTTP request to the TLServer Since no filename has been specified the default file in the web server root directory index html is loaded This HTML file is written in Javascript to provide some other options To start the TRILOGI as an applet select the appropriate option and the http localhost 9080 Help usingtrilogi htm 3 of 4 3 30 2005 7 52 25 PM Using Internet TRILOGI TL5Applet jar file will be loaded from the TLServer into your browser for execution Note The TLServer s root directory is not the same as the PC s root directory In TLServer the root directory is actually at C TRILOGI TL5 public This is the directory where the index html and TL5Applet jar file are stored and these files are served to the web browser when you enter the TLServer s IP Address as mentioned above Visitors have no access to the PC s file directory above the server s root directory so the content of your other PC fi
104. e RETURN statement is optional if there is no conditional ending required After executing the last statement the CusFn will return to the caller automatically See Also CALL lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic return htm 3 30 2005 7 52 33 PM CLRBIT v CLRBIT v n Purpose To clear the Bit n of the integer variable vto 0 nis an integer constant or variable of value between 0 and 15 v may be any integer variable or a system variable such as relay n output n etc If vis a 32 bit integer CLRBIT will only operate on the lower16 bits Following digital electronics convention bit O refers to the least significant bit right most bit and bit 15 the most significant bit left most bit of the 16 bit integer variable A quick way to find out the bit position and index of an I O variable is to open their I O table and check the CH BIT column Bit position beyond 9 are represented by hexadecimal number A to F Examples CLRBIT output 2 11 Comments Output 28 will be turned OFF Output channel 2 bit 11 Output 17 11 28 See Also SETBIT TESTBIT lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic clrbit htm 3 30 2005 7 52 33 PM SETBIT SETBIT v n To set the bit n of the integer variable vto 1 nis an integer constant or variable of value between 0 and 15 v may be any integer v
105. e hits a limit switch and must stop the motor immediately Important When a stepper channel is already activated i e mid way through its pulse generation repeat execution of STEPMOVE command on the same channel will be ignored by the PLC Re execution of the STEPMOVE command on this channel can only take effect after the channel s pulsing operation has been completed by itself or aborted by the STEPSTOP command When in TRILOGI simulation mode execution of the STEPMOVE command will bring up a pop up window which displays all the parameters of the motion path Send out 5000 Send out 5000 pulses on channel 1 and at the end of motion turn ON relay 10 on channel I and at the end of motion turn ON relay 10 ae STEPCOUNT STEPCOUNTABS STEPSPEED STEPSTOP STEPHOME http localhost 9080 Help tbasic stepmove htm 1 of 2 3 30 2005 7 52 41 PM STEPMOVE ch a Basic to TBASIC Reference Manual http localhost 9080 Help tbasic stepmove htm 2 of 2 3 30 2005 7 52 41 PM STEPMOVEABS STEPMOVEABS ch position r Applicable only to M PLC models This new command allows you to move the stepper motor ch to an absolute position indicated by the position parameter At the end of the move the relay r will be turned ON Position can be between 231 to 231 i e about 2 x 109 The absolute position is calculated with respect to the last move from the HOME position The HOME position i
106. e of the numeric argument n If the second format is used then this function will return a string of d number of characters Examples AS HEX 1234 BS HEXS 1234 7 Purpose Comments A will contain the string 4D2 B will contain the string 00004D2 See Also HEXVAL STR VAL 4 Basic to TBASIC Reference Manual http localhost 9080 Help tbasic hex htm 3 30 2005 7 52 35 PM HEXVAL HEXVAL x Purpose To return the value of a hexadecimal number contained in the argument x Examples B HEXVAL 123 100 Comments B should contain the value 29100 amp H123 291 See Also HEX STR VAL lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic hexval htm 3 30 2005 7 52 35 PM STR STR n STR n d Applicable only to M PLC models Purpose To return a string that represents the decimal value of the numeric argument n If the second format is used then this function will return a string of d number of characters Examples AS STR 1234 Bo STR 1234 7 A will contain the string 1234 B will contain the string 001234 See Also VAL HEX n HEXVAL x lt l Basic to TBASIC Reference Manual Comments http localhost 9080 Help tbasic str htm 3 30 2005 7 52 36 PM VAL VAL x Purpose To return a value of a decimal number contained in the argument x
107. e or more elements 5 lt 6 gt Right click to insert a N C parallel contact to enclose one or more elements J lt r gt Insert a normal coil which may be an output relay timer or counter lt s gt Insert a parallel output coil not an entire branch to the current coil lt o gt Insert a special function coil which includes execution of CusFn lt o gt Insert a parallel special function coil to the current coil Er k Invert the element from N O to N C or from N C to N O HERE Ela http localhost 9080 Help laddereditor htm 4 of 6 3 30 2005 7 52 46 PM TRiLOGI Ladder Editor Reference Click to move the highlight bar to the right same effect as pressing the right arrow key gt This can be used to move the cursor to a junction which cannot be selected by mouse click DEL Double click to delete a highlighted element This acts as a safety against mistake When you click on an icon for example the The icon will change to bright yellow color to show you the element type that you are creating At the same time an I O table should appear on the screen with a light beige color background The I O table acts like a pop up menu for you to pick any of the pre defined label name for this contact This saves you a lot of typing and at the same time eliminates typo errors that could result in a compilation failure You should spend a few minutes to follow the Ladder Logic Programming Tutorial on the ste
108. e some TBASIC statements PRINT LET IF WHILE SETLED etc 2 FUNCTION A FUNCTION acts on its supplied arguments and return a value The returned value may be an integer or a string A function can usually be embedded within an expression as if it is a variable or aconstant since its content will be evaluated before being used in the expression e g AS Total is 4 STRS B C STR n is a function which returns a string and therefore can be used directly in the above string assignment statement The most distinguishable feature of a FUNCTION is that its arguments are enclosed within parenthesis and e g ABS n ADC n MID A n m STRCMP A B Note Statements or functions and their arguments are NOT case sensitive This means that commands such as PRINT and PriNt are identical However for clarity seek we use a mix of upper and lower case characters in this manual 3 DELIMITER A TBASIC program consists of many statements Each statements are usually separated by a different line The new line therefore acts as a delimiter which separate one statement from another Some statements such as IF THEN ELSE ENDIF span multiple statements and should be separated by proper delimiters To make a program visually more compact the colon symbol may be used to act as delimiter e g IF A gt B THEN C D 5 ELSE C D 5 ENDIF may be written more compactly as IF A gt B C D 5 ELSE C D 5
109. e time constant is very large and even slower than 1 0 seconds clock may be sufficient Do not use unnecessarily short sampling time because it increases computation time and slows down overall performance of the system See Also PIDDEF lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic pidcompute htm 2 of 2 3 30 2005 7 52 39 PM PiDdef ch PiIDdef ch Imt P I D Purpose See Also To set up the parameters for a Proportional Integral and Derivative PID Controller function The function PIDcompute will make use of the parameters defined here for the corresponding channel ch ch channel number 1 16 Imt Maximum saturation limit for the computed result P Proportional Gain Kp I Integral Gain K D Differential Gain Kp Transfer Function of a PID Controller are defined as follow EI GiS Kp 5 1 Forportional Band 1 integral Time Constant p Proportional Gain Kr Integral Gain All four parameters Imt P amp D can be either 16 or 32 bit integer constants or integer variables For the Imt term the computed controller output value by the PIDcompute function is not allowed beyond the Imt value i e Imt represents the saturation point of the computed controller output PIDcompute function implements Integrator anti windup feature which will avoid integrating the error signal when output is already saturated Important
110. e when its execution condition goes from OFF to ON Nothing will happen when its execution condition goes from ON to OFF On the other hand using D Custom created Function CusFn will mean that the CusFn will be executed every scan as long as its execution condition is ON This is often not desirable and the coil created using this menu item will be highlighted in RED color to serve as an alarm to programmer You will probably find that you will use the differentiated version dCusF far more frequently b Periodic Execution of a Custom Function There are many situations when you need the PLC to periodically monitor an event or perform an operation For example to monitor the temperature reading from a probe or check the real time clock for the scheduled time and to continuously display changing variables on the LCD display It is not efficient to use the continuous CusFn function for such purposes It is far better to use the built in clock pulses to trigger a differentiated Custom function dCusF You can choose a suitable period from 0 01s 0 02s 0 05s 0 1s 0 2s 0 5s 1 0s and 1 minute for the application Other periods can also be constructed with a self reset timer The custom function will only be executed once every period controlled by the system clock pulse or the timer as follow http localhost 9080 Help tbasic tbasicIntro htm 2 of 8 3 30 2005 7 52 43 PM TBasic Introduction Ruri O1k 0 15 Fr z c _ ce
111. ear which you can move to select an element in the ladder circuit lt 1 gt Left click to insert a normally open series contact 1 lt 2 gt Right click to insert a normally closed series contact lt 3 gt Left click to insert a N O parallel contact to highlighted element lt 4 gt Right click to insert a N C parallel contact to highlighted element lt 5 gt Left click to insert a N O parallel contact to enclose one or more elements lt 6 gt Right click to insert a N C parallel contact to enclose one or more elements k gt Insert a normal coil which may be an output relay timer or counter la lt s gt Insert a parallel output coil not an entire branch to the current coil MM xE L http localhost 9080 Help editladder htm 1 of 3 3 30 2005 7 52 46 PM TRiLOGI Ladder Editor Reference lt 9 gt Insert a special function coil which includes execution of CusFn lt 0 gt Insert a parallel special function coil to the current coil lt gt Invert the element from N O to N C or from N C to N O Click to move the highlight bar to the right same effect as pressing the right arrow key gt This can be used to move the cursor to a junction which cannot be selected by mouse click Double click to delete a highlighted element This acts as a safety against mistake When you click on an icon for example the The icon will change to bright yellow color to show you the
112. ears all latched relay bits All integer variables will be cleared to zeros and all string variables will be assigned to empty string http localhost 9080 Help specialfn htm 5 of 5 3 30 2005 7 52 47 PM Sequencer Using TRILOGI Sequencers A sequencer is a highly convenient feature for programming machines or processes which operate in fixed sequences These machines operate in fixed clearly distinguishable step by step order starting from an initial step and progressing to the final step and then restart from the initial step again At any moment there must be a step counter to keep track of the current step number Every step of the sequence must be accessible and can be used to trigger some action such as turning on a motor or solenoid valve etc As an example a simple Pick and Place machine that can pick up a component from point A to point B may operate as follow Step Action Wait for Start signal Forward arm at point A Close gripper Move arm to point B Forward arm at point B 6 Open gripper 7 Retract arm at point B 8 Move arm to point A TRILOGI Version 5 supports eight sequencers of 32 steps each Each sequencer uses one of the first eight counters Counter 1 to Counter 8 as its step counter Any one or all of the first eight counters can be used as sequencers Seq1 to Seqs 0 1 2 3 Retract arm at point A 4 5 To use a sequencer first define the sequencer name in the Coun
113. ed If it is greater execution continues with the statement following the NEXT statement This is called a FOR NEXT loop A run time error will result if STEP is evaluated to be 0 Examples FOR I 1 TO 10 FOR J 100 to 1 STEP 10 DM I DM J NEXT NEXT Comments FOR NEXT loops may be nested i e a FOR NEXT loop may be placed within the context of another FOR NEXT loop When loops are nested each loop must have a unique variable name as its counter The NEXT statement for the inside loop must appear before that for the outside loop Each Loop must have a separate NEXT statement to mark the end of the loop See Also WHILE ENDWHILE Basic to TBASIC Reference Manual http localhost 9080 Help tbasic for htm 3 30 2005 7 52 34 PM WHILE expression WHILE expression ENDWHILE Purpose Syntax Examples Comments To execute a series of statements ina w Teer as long as a given condition is w Teer WHILE expression ENDWHILE When WHILE statement is encountered the expression will be evaluated and if the result is true the statements following the expression will be executed until the ENDWHILE statement Thereafter execution branches back to the WHILE statement and the expression is evaluated again The loop statements will be executed repeatedly until the expression becomes false Warning Be careful that the WHILE loop will not be an endless loop as the PLC will appear to freeze up being
114. ed in 32 bit integers and the function returns a 32 bit integer which can be assigned to any variable Any scaling for actual output DAC or PWM will be computed by the user within the same CusFn and sent to the output Controller ADH E g Implementing ClosedioopDigtal Control with PID computation function Examples E 10000 ADC 2 20 A PIDcompute 5 E setPWM 4 A 8000 100 http localhost 9080 Help tbasic pidcompute htm 1 of 2 8 30 2005 7 52 39 PM PlDcompute Comments The set point value is 10000 units the feedback value is read from ADC channel 2 and then multiplied by 20 to convert scale it to the same unit as the parameter to be controlled PID computation channel 5 assume somewhere in the program a PIDdef for channel 5 has been executed before is then used to compute the desired controller output value using the error signal set point feedback value ADC 2 x 20 The desired output stored in variable A is then added to the offset value 8000 and then scaled down by a factor of 100 before being sent out physically via PWM Channel 4 Important In actual implementation use a clock pulse such as 0 1s 0 5s or 1s etc to periodically activate the PIDcompute function so that digital control in discrete time can be implemented The PID sampling period depends on the time constant of the system For very slow response processes such as the cooking temperature of a large body of water th
115. ee functions need to be used to implement the reversible counter Decrement Counter DNctr http localhost 9080 Help specialfn htm 1 of 5 3 30 2005 7 52 47 PM Special Functions OH Execution condition of DONctr function OEE i 0002 Counter s Present Value P OH Counters contact OFF Each time when the execution condition of a DNctr function changes from OFF to ON the present value of the designated counter is changed as follow If the counter s present value PV is inactive load the counter register with the Set Value SV defined in the Counter table minus 1 b If the counter s present value PV is already 0 then load the counter s PV with the SV defined in the counter table and turn on the counter s contact also known as the completion flag c Otherwise decrement the counter PV register by 1 Increment Counter Upctr Execution condition eo ae ie Ale ee ae of U pctr function Counters Present oy ValuetPy ON Counter s contact OEF Each time when the execution condition of an Upctr function changes from OFF to ON the present value of the designated counter is affected as follow If the counter is inactive load the counter register with the number 0001 b If the counter s present value PV is equal to the Set Value SV defined in the Counter table load the counter register with number 0000 and turn on the counter s
116. ember that an input can never be used as a coil Fortunately TRILOGI is smart enough not to call up the Inputs table when you are connecting a coil to avoid unintentional errors Notice that the coil symbol RLY indicates that this is a relay coil which is helpful in identifying the function of the coil TRILOGI automatically places the coil at the extreme right end of the screen and completes the connection with an extended wire 8 Right below the relay coil is a parallel timer coil with label name Duration To create this coil click on the icon This allows you to connect a parallel coil to the existing coil The I O table will pop up for selection again Since we want to choose a timer scroll to the Timer table and pick the first timer with the label Duration to complete the circuit Press the lt Enter gt key once to complete Circuit 1 Congratulation You have just successfully created you very own ladder logic circuit It is that simple It may be a good time to save your program now by pressing lt CTRL S gt key or select Save from the File menu and give a file name for you new program Back To Step 2 lt P Go To Step 4 http localhost 9080 Help laddertutorial1c htm 4 of 4 3 30 2005 7 52 29 PM Ladder Logic Tutorial Step 4 Ladder Logic Programming Tutorial STEP 4 lt gt We will now create Circuit 2 as shown below ay Manual Seqi Ase g Ae 5s Ma
117. er e Ask your network adminstrator to grant you and or your workstation the permission to make direct connection to the Internet via a special port number Then configure TLServer to use the same port number This situation will be most ideal since you can use the efficient direct TCP IP connection to communicate with the TLServer Ifthe above is not possible due to your company s policy then you can click on the Use HTTP Proxy Server checkbox to select it TRILOGI will then tunnel through the firewall by using the HTTP protocol to tranport the command response messages via the network s HTTP proxy server This technique is a workable albeit a slower means of communicating with the PLC If the Internet traffic is light you may not even feel much difference from using the direct socket connection You may establish a direct link to the Internet via a separate dial up connection from your PC However please make sure that you check with your company s network adminstrator first to determine whether you are allowed to do so This will help you avoid getting into trouble for breaching the company s security policy TRiLOGI Application vs Applet If TRILOGI is running as an Application on local PC then you will be prompted to enter the HTTP Proxy Server IP Address and Port number e g 165 23 345 1 8080 You can ask your network adminstrator for the proxy server s address or check it out from your Netscape or IE5 s option menu
118. er and request for file or email services are provided in the following folder http localhost 9080 Help serialsetup htm 3 of 4 3 30 2005 7 52 26 PM Serial Port Setup Helps C TRiLOGI TL5 usr samples File Services and Modem To prevent unauthorized incoming call you can specify a Call In Password string as described above If the Call In Password contains any text other than an empty string then the incoming caller upon connection must immediately send a CR terminated string that matches the Call In Password string in order to maintain the connection If the password is incorrect the TLServer will disconnect the remote modem to prevent unauthorized access If the call in password is validated the TLServer will acknowledge this by sending a CR terminated string lt OK gt to the remote PLC via the modem It is the duty of the incoming caller to check the acknowledgement string to ensure that the connection is not dropped by the TLServer http localhost 9080 Help serialsetup htm 4 of 4 8 30 2005 7 52 26 PM One area of application for the host link capability of the H series an or control the operations of a PLC via public switch telephone network PLC to Modem Communication Setup A remotely located M series PLC can be connected to a host PC via public switch telephone network PSTN radio or cellular phone network This can be accomplished by using two analog modems one connected to the PLC s RS232 seria
119. er the highlight is turned is based strictly on the logic state of an element You will have to interpret whether the contact is opened or closed by examining if it is a normally open N O or a normally closed N C contact A highlighted N C contact means that the contact is opened whereas a highlighted N O contact means that the contact is closed At any time you can reset all the I Os so that they will not appear highlighted in the ladder program by pressing lt Ctrl R gt http localhost 9080 Help simulator htm 3 of 3 3 30 2005 7 52 46 PM Circuit Menu The Circuit Menu 1 Insert Comments Comments are specific remarks used by a programmer to explain various characteristics of a program segment and are ignored by the compiler TRILOGI Version 5 0 allows comments to be freely inserted between circuits Execute this command and the Comment Editor will be opened The comment editor allows you to enter any text you like that best describe the working of the circuit All standard text editing keys including cut and paste are applicable to the Comment Editor When you have finished editing the comment press lt ESC gt key to close it Once a comment has been created it is assigned a circuit number and is treated like any other circuits You can edit it by pressing the lt spacebar gt when you are in Browse mode alternatively you can move it around copy it to another destination or delete it entirely using commands in the Cir
120. eration Example http localhost 9080 Help tbasic integer htm 3 of 4 3 30 2005 7 52 43 PM Integer gt GreaterThan IF B gt GD 10 lt fiestan IFTM 5 AND Relational AND IFAB ANDC D v Functional Operators TBASIC supports a number of built in functions which operate on integer parameters as shown below ABS n ADC n CHR n HEX n STR n For detailed explanation of these functions please refer to the next chapter Programming Language Reference 4 Hierachy of Operators The hierarchy of operators represent the priority of computation Eg X 3 40 5 2 The compiler will generate codes to compute 5 2 first because the parentheses has the higher hierarchy the result is then multiplied by 40 because multiplication has a higher priority then addition Finally 3 will be added to the result If two operators are of the same hierarchy then compiler will evaluate from left to right e g X 5 4 3 5 4 is first computed and then 3 will be subtracted The following table list the hierarchy of various operator used Hiest O Parentheses SC S S ooo Logical AND ORXORNOT lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic integer htm 4 of 4 3 30 2005 7 52 43 PM String Constants Variables amp Operators String Constants Variables amp Operators A string is a sequence of alphanumeric characters 8 bit ASCII codes which col
121. es relay 3 READMODBUS 3 5 101 The relay will contain the 16 bit data obtained from the MODBUS device with ID 05 and from register offset address 101 in MODBUS term this refer to the 40102 holding register Reading it into the relay channel allows bit level manipulation by ladder logic It can of course also be read into any data memory The command automatically checks the response string received from the slave device for the correct LRC and the slave address The status of the operation can be checked in the user program by executing the STATUS 2 function which will return a 0 if there is any error or if the slave device is not present See Also WRITEMODBUS STATUS 2 NETCMD Basic to TBASIC Reference Manual http localhost 9080 Help tbasic readmodbus htm 3 30 2005 7 52 38 PM New Page 71 WRITEMODBUS ch DevicelD address data Applicable only to M PLC models Automatically write the 16 bit data to a MODBUS ASCII device using the MODBUS ASCII protocol The communication baud rate is the default baud rate of that COMM port unless it has been changed by the SETBAUD command ch PLC COMM port number 1 8 DevicelD Device ID of the MODBUS device 1 to 255 address Zero offset address of the holding register in the MODBUS device data the 16 bit data to be written to the MODBUS device Examples WRITEMODBUS 3 8 Purpose 1000 1234 Comments
122. f this is the first time you run the TLServer after installing TLServer the default Administrator password is an empty string Hence you should just pressed lt Enter gt at the password field to gain access to the user configuration program You can change the Administrator s password later http localhost 9080 Help tlsvrpassword htm 2 of 2 3 30 2005 7 52 27 PM Installation Guide for x86 Compatible PCs running Windows 95 Installation Guide for x86 Compatible PCs running Windows 95 98 NT or 2000 1 Installing Internet TRILOGI You should install Java Run Time Environment JRE Version 1 3 1 on your PC before installing the TRILOGI Client Server bundle First double click on the file j2re1_3_0 win exe to install Java Please follow all instructions provided by the Install Shield program and install it in the given default path C Program Files JavaSoft JRE 1 3 1 b You may be asked to restart the computer after installing JRE Follow the instructions so that JRE will be registered in the Windows Registry after restart c After you have installed JRE 1 3 1 opens up the CD ROM s x86 Windows folder and double click on the SetupTL5 exe to extract all TRILOGI files into Drive C Note that TRILOGI should be installed in the same harddrive as the JRE otherwise some of the JRE class files may not work properly d All TRILOGI Version 5 files will be installed in the following directory C TRILOGIKTL5 You normally would not
123. gic Fundamentals Contacts Coils Timers and Counters Contacts Ladder logic programs mimic the electrical circuit diagrams used for wiring control systems in the electrical industry The basic purpose of an electrical control system is to determine whether a load should be turned ON or turned OFF under what circumtances and when it should happen To understand a ladder program just remember the concept of current flow a load is turned ON when the current can flow to it and is turned OFF when the current could not flow to it The fundamental element of a ladder diagram is a Contact A contact has only two states open or closed An open contact breaks the current flow whereas a closed contact allows current to flow through it to the next element The simplest contact is an On OFF switch which requires external force e g the human hand to activate it Limit switches are those small switches that are placed at certain location so that when a mechanical device moves towards it the contact will be closed and when the device moves away from it the contact will be open If a contact is connected to a load and the contact is closed the load will be turned ON This simple concept can be illustrated by the most basic ladder diagram as follow Switch Lamp OUT The vertical line on the left is the Power line current must flow through the Switch contact in order to turn ON the load Lamp In fact there should be a second vertical line
124. he JRE otherwise some of the JRE class files may not work properly d All TRILOGI Version 5 files will be installed in the following directory C TRILOGIKTL5 You normally would not need to go directly to this directory to run TRILOGI This is because during installation of TRILOGI a program Group folder Internet TRILOGI 5 0 will be created in the Start Menu to provide short cuts to the TLServer program the TRILOGI application and the TL5Applet starter 2 Using Internet TRILOGI Introduction to TRILOGI Client Server Architecture TRILOGI Application vs Applet Which is Better Starting The Internet TRILOGI Application How To Activate TRILOGI Applet Using Browser 3 PLC amp PC Hardware Setup and Configuration Single PLC to One PC Running TLServer Multiple PLCs to One PC Running TLServer e Networking Consideration http localhost 9080 Help overview htm 3 30 2005 7 52 24 PM Using Internet TRILOGI Using Internet TRILOGI Introduction to TRILOGI Client Server Architecture 1 Internet TRILOGI is a Client Server application suite The entire program is broken into two parts the Server and the Client 2 Server In order to run the complete TRILOGI program including access to the PLC you must start the TLServer first TLServer behaves like a typical web server and it is capable of serving HTML webpages as well as Java Applet to an Internet Browser such as Internet Explorer or Netscape Navigator TLServer
125. he comm settings are saved to the TLServer configuration file tlserverl cfg when you quit TLServer One other scenario is when you need to power cycle an M series PLC with DIP switch 4 turned ON to halt the CPU to disable the 1st Scan pulse Since the PLC s serial port is set to 9600 bps when power ON with DIP Switch 4 set you will need to change the baud rate temporarily in order to communicate with the PLC e g to blank out a program that causes trouble However do remember to change the baud rate setting back to 38400bps after you have reset the PLC with the DIP switch OFF otherwise you may have problems communicating with the PLC later on since changes to comm settings are automatically saved Modem Support 1 Dial Modem TLServer 2 0 incorporates support for dialing a modem connected to the PC s com port This is useful if the PLC has to be located at a remote location yet still has access to the public telephone line or to a cellular phone You can then connect the PLC to a standard analog modem such as the US Robotic 33 6Kbps or Hayes Acura smart modem The TLServer can then dial the phone number of the remote modem and make a connection Once a connection is established the remote PLC is immediately accessible to client applications such as Internet TRILOGI or TRi ExcelLink etc over the Internet Intranet or localhost as if it were connected to the TLServer via the serial port directly Notes Due to the time delay for m
126. he communication Baud Rate of the PLC s serial channel ch All the M series PLC serial ports are defined as 8 data bit 1 stop bit and no parity and each has been preset to a certain default baud rate which the PLC will assume every time its powers up The baud rate may or may not be changed depends on the PLC model Please refer to the PLC s User s manual for the baud_no that represent the baud rate of each serial channel and the range of baud_no each of these serial ports may assume Purpose Caution should be taken when programming the baud rate of the Host link port because if a wrong baud value is set the host PC may not be able to communicate with it If this happens suspend the PLC using its hardware switch such as DIP switch 4 on T100MD1616 reset the PLC and re load the program with correct setting Examples SETBAUD 3 3 Set serial port 3 to 9600 lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic setbaud htm 3 30 2005 7 52 40 PM SETDAC n SETDAC n x Purpose To set channel n of the PLC s Digital to Analog Converter DAC with the 16 bit integer result of the expression x n must range between 1 and 16 Once set the DAC channel will latch the set value until the next SETDAC statement on the same channel is executed Examples SETDAC 5 A t B 16 Comments DAC channel 5 will be set with the value of A B 16 A run time error will result if n i
127. he speed and acceleration parameters for the motion is defined by the STEPSPEED statement on the same channel ch which must be executed at least once before the first STEPMOVE command is issued After executing the STEPMOVE command the PLC hardware will take over the actual pulse generation operation The user s program will continue to execute even though the pulse generation is not yet completed The internal relay r can be used to signal to the other parts of the ladder program regarding the status of pulse generation as follow When STEPMOVE command is first executed the internal relay r will be cleared before the first pulse is sent After the completion of the movement i e when all the pulses have already been sent the relay r will be set ch should be between 1 and 8 Count is a 32 bit integer number which allows you to program the stepper motor to move from 1 to 231 i e 2 147 483 647 steps Count can also be an integer variable A Z However If you use a 16 bit variable such as DM n for count then the range of movement can only be between 1 to 32 767 Speed pps Stepper pulse output speed trajectory Ifthe total num ber of ateps to move is less than 2 times accsteps Desired atl aill mot be Desired speed minimum PPE No of Steps otal steps 2macosteps i acosteps Pulse generation can be interrupted by issuing a STEPSTOP command in another CusFn which may occur say in cases when the hardwar
128. he time of an event to a file name testAppend txt execute the following statements in a custom function when the event take place Format lt APPEND filename gt PRINT 1 lt APPEND testAppend txt gt Append data request Glaiscuncla cual ain PRENT PI EVent Pime ARTMA TME 6 Ue eran miler S data BRUNI il AS i lt gt PRENE ErndioriS Service reguUesSE e f the file does not exist a new file will be created Otherwise the PLC s real time clock data in the format hh mm ss and the value of A will be appended at the end of the file testAppend txt every time the above statements are executed e The TLServer will close the file after it receives the end of service tag lt gt from the PLC and it will in turn send a lt OK gt tag to the PLC to acknowledge that the APPEND request has been successfully completed It is up to your PLC program to check for the lt OK gt tag to determine if it the service it requested have been completed successfully 3 Email data to recipient E g To send data to an email address whoever yahoo com with the subject PLC Email Test execute the following statements Format lt EMAIL email address gt Sender sender email Subject subject text Cewa Qawra QaltEo sr datarik lt gt PRINT 1 lt EMAIL whoever yahoo com gt change it to your own email PRINT 1 Sender triuser hotmail com it can be anything PRENE E AESOB Jec t ETC Ema ERSS EN PRINT
129. ill be turned OFF This means that the function generates a single pulse for one scan time in response to the rising edge of its execution condition When its execution condition goes from ON to OFF nothing happens to the output or relay that it controls On the other hand when the execution condition for ADIFD goes from ON to OFF the designated output or relay will be turned ON for one scan time only After that it will be turned OFF This means that the function generates a single pulse for one scan time in response to the http localhost 9080 Help specialfn htm 4 of 5 8 30 2005 7 52 47 PM Special Functions trailing edge of its execution condition When its execution condition goes from ON to OFF nothing happens to the output or relay that it controls Execution gy Condition off DIFU function oy output OFF DIFD function oy Output opp l 1 scan time 6 Custom Functions CusFn and dCusF These two functions allow you to connect a user defined custom function CusFn to the ladder logic as if it is a relay coil Custom functions are created using the integrated editor provided by TRILOGI Version 4 1 Please refer to TBASIC Reference manual for detailed descriptions of custom function creation and deployment methods 7 Master Reset An ON condition to this function clears all mailbox inputs outputs relays timers and counter bits to OFF resets all timers counters sequencers to inactive state and cl
130. imer contact 33 to 48 are contained in the variable TIMER 3 etc e On the second page the special emVariables emInt 1 to emInt 16 emLint 1 to emLint 16 and emEvent 1 to emEvent 4 are displayed emVariables are useful if you wish to interface to EMIT 3 0 system developed by emWare Inc of Salt Lake City emEvent 1 is also used by the TLServer as an outgoing email request flag so you can observe its value here http localhost 9080 Help viewVariable htm 4 of 4 3 30 2005 7 52 45 PM Simulate Menu The Simulate Menu TRILOGI allows you to perform almost 100 simulation of your PLC s program off line on your PC This is a great tool for testing a program quickly before a machine has been manufactured It is also a wonderful tool for all new PLC programmers to practice their ladder logic programming skill without the need to purchase a PLC test station TRiLOGI automatically compiles a ladder program before activating the simulator If an error is found during compilation the error will be highlighted where it occurs and the type of error is clearly reported so that you can make a quick correction 1 Run All I O Reset lt Ctrl F9 gt This should be the option to use when you first begin to test your TRILOGI program When executed all I O bits including inputs are cleared to OFF state all integer data are set to 0 and all string data are set to empty string Then the Programmable Logic Simulator window will open for
131. in the simulation mode Examples SETLED 5 4 89 Comments LED digit 5 to 8 counting from left to right displays 0089 Basic to TBASIC Reference Manual http localhost 9080 Help tbasic setled htm 3 30 2005 7 52 40 PM setpassword SETPASSWORD string Applicable only to M PLC models Purpose When this statement is executed the PLC will not properly respond to any host link commands sent to it except the command PWxxxx xx which must contains the same string xxxx xx not more than 19 characters as defined in the SETPASSWORD command All other commands will receive a PWER response indicating a password error state Once the correct password has been accepted the PLC will work as normal and respond to all host link commands Execution of PW host link command without any string will put the password lock back in force to prevent unauthorized access When using TRILOGI Version 4 1x or 5 x the editor will automatically prompt you to enter the password string if it encounters a PLC which has been password locked Note that the password is case sensitive SETPASSWORD I love TRiLOGI Comments This feature is mainly used to protect an unattended PLC which is linked to an auto answer modem Without password protection anybody can dial in with a TL41 EXE and have full control of the PLC which may be a serious security problem When TL41 EXE disconnects the modem it automatically executes the PW command
132. inadvertently alter the logic state of an I O already controlled by some other ladder circuit This power and flexibility offered by the TBASIC based custom functions must therefore be handled with greater care by the programmer It is important to prevent conflicting output conditions due to an I O being controlled or modified at more than one place within a logic scan The net result is that the logic state of the I O appears to be in different states at different parts of the ladder circuit This could lead to bizarre outcomes that may be difficult to trace and debug 3 2 Interrupt Service CusFn A CusFn may also serve as an Interrupt Service Routine which is executed asynchronously from the normal ladder logic execution An interrupt driven CusFn is run when the condition which causes the interrupt occurs The response time to execution is very short compared to the scan time of the http localhost 9080 Help tbasic tbasiclIntro htm 3 of 8 8 30 2005 7 52 43 PM TBasic Introduction ladder program There are several interrupt sources which can trigger a CusFn 1 Special Interrupt inputs An M series PLC contains some special Interrupt inputs which when enabled by the INTRDEF statement will trigger a particular CusFn defined in the INTRDEF statement when the logic level at the interrupt pin changes state either from OFF to ON or from ON to OFF 2 High Speed Counters HSC Reach Target Count An M series PLC contains som
133. ing the speed putting on the brake change direction of motion etc You can use the SETBIT CLRBIT for digital ON OFF control and setDAC setPWM for proportional control Examples oe HSCDEF 1 19 3310003 SETLCD 1 1 STR HSCPV 1 6 Comments Enable High Speed Counter 1 and make it activate function 19 when the counter reaches 33 100 003 Present value of HSC 1 was cleared to 0 before activating it Note that TRILOGI Version 4 1 does not perform simulation of the High Speed counter operation since there is no High Speed Counter inputs on the simulator screen See Also HSCOFF lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic hscdef htm 3 30 2005 7 52 36 PM HSCOFF ch HSCOFF ch Purpose Disable High Speed Counter ch ch 1 to 8 If you no longer need the high speed counter it should be disabled in order not to waste the CPU s time to service the interrupt generated by the change of state at the HSC input Basic to TBASIC Reference Manual http localhost 9080 Help tbasic hscoff htm 3 30 2005 7 52 36 PM HSTIMER n HSTIMER n Purpose To define PLC Timer 1 to n as High Speed Timers HST A HST counts down every 0 01s instead of every 0 1s for normal timer and their other properties are identical to normal timer Those Timers whose number are above n are not affected and remain ordinary timers lt l Basic to TBASIC Reference Manual
134. interpret whether the contact is opened or closed by examining if it is a normally open N O ora normally closed N C contact A highlighted N C contact means that the contact is opened whereas a highlighted N O contact means that the contact is closed http localhost 9080 Help fullmon htm 3 of 3 3 30 2005 7 52 44 PM View Variables Viewing System Variables TBASIC has many internal numeric and string data which can be easily examined by clicking the button on the Simulation or Monitoring screen When you are in On Line Monitoring mode the data shown are the real time data captured from the PLC of course subject to some communication and network delay and will be updated periodically These variables are organized into 4 screens which can be scrolled by by clicking on the O o h buttons or by pressing the left right cursor keys On some screens that span more than one page you can scroll from page to page by clicking on the Pallp Fan buttons or by pressing the lt PgUp gt lt PgDn gt keys Numerical data can be viewed either in Decimal or Hexadecimal format You can switch to the Hexadecimal format by clicking on the DEE button or by pressing the lt H gt key Finally the Et button or the lt E gt key allows you to make changes to any internal variables When you are in On Line Monitoring mode the changes are written into the PLC This may be useful if you need to make temporary changes to some of the PLC
135. ion Port EA Serial Communication Setup amp Test _ O x Fort Name com Baud Rate a a Data Bits E Stop Bits Parity None Time Out ms Open Port Close Part Modem Auto Answer Phone Mo Command String Press lt Enter ta Send Connect Hang Up Special Response Strings amp Modem Messages COM opened at 38400 bps Change PLCID Close This dialog box allows you to configure the serial port of the host computer to match the setting on the PLC for proper communication Most of the items here are self explanatory If you have more than one PLC connected to the host computer via RS485 all the PLCs must have the same serial port settings as the TLServer The Open Port button allows you to test whether the communication port is available to TLServer You can also click the tIose Port Dutton to temporarily relinquish the port to other applications such as TRILOGI Version 3 or 4 Note that you will need to close an opened port before you can change its parameter The Command String text entry field allows you to test communication with the PLC using its native or MODBUS ASCII protocols If you enter a string here and press lt Enter gt the ASCII string will be sent to the PLC connected to the serial port and the response string will be displayed in the bottom text box If the comm port is not yet opened this command will automatically open it Note that only multi point host link comm
136. ion are however the same Examples fe ee ee AS Welcome to TBASIC use of the LET keyword is optional i e the equal sign is sufficient when assigning an expression to a variable name The variable type on both sides of the equal side must be the same i e string variable may not be assigned to a numeric expression and vice versa Comments lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic let htm 3 30 2005 7 52 37 PM LOAD_EEP Integer LOAD _EEP addr To return a 16 bit integer value saved in the EEPROM by the SAVE_EEP statement addr EEPROM address Actual PLC may have less EEPROM space Please refer to your PLC s reference manual for the upper limit Examples relay 1 LOAD_EEP 10 A LOAD_EEP 2 See Also SAVE EEP LOAD EEP SAVE EEP lt Basic to TBASIC Reference Manual Purpose http localhost 9080 Help tbasic loadeep1 htm 3 30 2005 7 52 37 PM SAVE_EEP Integer SAVE_EEP data addr To store a 16 bit integer data in the user s definable EEPROM address addr for non volatile storage If you attempt to save a 32 bit data only the lower 16 bit will be saved To save the entire 32 bit data save the upper 16 bit using the GETHIGH16 function and the lower 16 bit directly in two separate locations data may be a 16 bit integer constant or variable addr EEPROM address 1 2000 in TRILOGI Actual PLC may have
137. iou T oooog wooo uuu tl H Il oC 0 0 0 0 0 Date Z001L 1 27 Time 15 13 3 Tay Sat a Integer variables Screen The first screen comprises all 26 32 bit integer variables A Z the system DATE and TIME ADC DAC PWM and the resulting values of setLED and setLCD commands The initial DATE and TIME figures shown during simulation are taken from the PC s internal real time clock values However subsequent values can be affected by the values assigned to the variable DATE n and TIME n The present values of the first 3 high speed counters HSC1 to HSC3 are also shown on this page Note that ADC data for any particular A D channel n will only be shown if an ADC n function has been executed Otherwise the ADC value shown on screen will not reflect the true current value of the ADC port b Data Memory Screen The second screen displays in 25 pages the values of the 16 bit DM variables from DM 1 to DM 4000 Each page displays 16 rows x 10 columns 160 DM variables You can scroll up and down the pages by clicking on the PgUp or PgDn buttons or using the corresponding keys on the keyboard c String Variable Screen The third screen displays the value of the 26 string variables A to Z in 4 pages depending on the length of each string If the execution condition is ON and the CusFn is not of the differentiated type then the CusFn will be continuously executed The result of the variable will be continuously
138. is running on does not have a direct Internet connection to the Internet then it will normally not be possible to access the TLServer via the public Internet since the firewall will block any attempts to access a PC inside the LAN There are two possible ways to overcome this 1 Consult your System Adminstrator to configure a Network Address Translator that will assign you a public IP Address which will be mapped to the local workstation that runs the TLServer If there is a business need for your PLCs to be constantly accessible from the Internet the System Adminstrator should be able to grant you that permission 2 If your need to provide connectivity from the Internet is only temporary e g allowing your contractor to fix a software bug it may be easier to use a modem and dial up to an ISP when the need arises Once the connection is no longer needed just hang up the modem However before you do this please check with your company s System Adminstrator to make sure that you are not violating the security policy If that is a problem you may consider using a standalone notebook computer or PC i e not connected to the LAN to make the dial up connection which provides temporary Internet connectivity for the TLServer and hence the PLCs but will not compromise the security of your corporate Intranet http localhost 9080 Help PLCsetup htm 3 of 3 3 30 2005 7 52 25 PM Serial Port Setup Helps Setting Up TLServer s Serial Communicat
139. l port and another modem connected to the remote host PC as follow Public Telephone Network T100MD Internal or TAGONts Extemal Ro2g20 There are a some technical issues that need to be handled carefully in order to successfully implement the modem linked host communications as described in the following sections 1 Modem Connection Modem1 The host PC may use any internal or external modem that can communicate at 2400 bps or faster Connect the modem to the PC as instructed in the modem s manual and connect the phone line to the phone jack on the back of the modem marked WALL or Line Modem2 The modem to be attached to the PLC modem2 must be an external modem with an RS232 connection port Since modem are DCE type device they most likely come with a female type DB25 or DB9 socket meant for plugging into the PC s RS232 port Since the PLC s host link port is also a female DBY we need to construct a DB9 male to DB25 male cable or DB9 male to DB9 male cable to link the PLC to the modem as follow DBS Male DB25 Male Female DB25 socket To PLC MODEM slink With DB25 Female socket http localhost 9080 Help plc2modem htm 1 of 4 3 30 2005 7 52 26 PM One area of application for the host link capability of the H series an or control the operations of a PLC via public switch telephone network DBS Male DBS Male Female DBS socket MODEM To PLC COMM 1 with DBS Female socket
140. l the errors have been corrected Error Message Cause Action Undefined symbol found a TBASIC commands and legal variable names are allowed See Chapter Compiler intemal error Sete ae please email to the manufacturer support tri plc com to found without matching Integer expected Expect to see either an integer variable or integer constant N Check the language reference for allowable range of values for the Value is out of range MAng Duplicate line label number Label for goto must be unique within the same CusFn Undeined GOTO destination i a matching label at the place where the GOTO statement is supposed to Invalid GOTO label must be in the range 0 255 In an expression strings and integers may not be mixed unless converted using the conversion function e g STR VAL etc String is too long A string is limited to 70 characters Too many line labels There should not be more than 20 GOTO labels within the same CusFn Unknown Keyword Most likely wrong spelling for TBASIC statement or function Every WHILE statement must be ended with a matching ENDWHILE statement Nested WHILE loop must have proper matching ENDWHILE for each WHILE Type mismatch numeric and string types may not mix WHILE without ENDWHILE Every IF statement must be ended with a matching ENDIF statement to define the boundaries for the block controlled by the IF statement For multiple IF THEN statement each IF must be matched
141. lectively form an entity 1 String Constants A string constant may contain from 0 to 70 characters enclosed in double quotation marks e g TBASIC made PLC numeric processing a piece of cake 102 345 00 2 String Variables TBASIC supports a maximum of 26 string variables A B Z Each string variable may contain from 0 null string up to a maximum of 70 characters Note For M series PLC with firmware version r44 and above you can access the 26 string variables using an index 1 to 26 l e A is the same as 1 Z is the same as 26 Note that 1 to 26 are not additional string variables it just give you a way to index the string variables not possible on previous firmware version Also only TRILOGI version 5 2 and above properly support these variable names Caution Do not try to transfer a program using n variable to a PLC with firmware earlier than r45 as it can cause the PLC operating system to crash 3 String Operators i Assignment Operator A string variable A to Z DM and system variables etc may be assigned a string expression using the assignment statement AS Hello Welcome To TBASIC ZS MIDS AS 3 5 ii Concatenation Operators Two or more strings can be concatenated joined together simply by using the operator e g M Hello AS welcome to BS If A contains James and B contains TBASIC M will contain the string Hello Ja
142. led by the proxy server If you use a port number such as 9080 default TLServer port address it will think that the connection is to be made to some local workstation and hence will not direct the packet via the proxy server to the Internet Therefore in order for the client to make connection to the Internet via the proxy server the TLServer port address should be set to 80 In addition the TRILOGI client should also be configured to access the TLServer via a Http Proxy Server as described in the document Log In to TLServer 3 TLServer is on a Local Area Network If the TLServer is running on a workstation that is part of a local area network it is unlikely that the workstation will have a direct connection to the Internet unless the System Adminstrator has deliberately configured it for that purpose When the TLServer starts it will report the IP Address of the workstation which is the Intranet IP address and NOT the Internet IP Address Now if the TRILOGI client is running on another workstation which is also part of the same local area network then it is quite simple TLServer can be assigned any unused port number above 1024 and the TRiLOGI client can access TLServer from any other workstations However avoid setting TLServer to port 80 since by default port 80 is for accessing the Internet via the HTTP proxy server How to access TLServer running on a Private LAN from the Public Internet If the workstation that TLServer
143. les will not be at risk of being exposed to visitors to TLServer Disabling TRILOGI Applet If you want to prevent visitors to TLServer from loading TRILOGI Applet at all just remove the TLApplet jar file from the C TRILOGI TL5 public directory In that case you can only access the PLC using the TL5 application program http localhost 9080 Help usingtrilogi htm 4 of 4 3 30 2005 7 52 25 PM TRILOGI Internet Server Helps TRILOGI Web Server TLServer Version 2 0 TLServer acts as a gateway to connect the M series PLC to the corporate LAN or the Internet so that they can be controlled and programmed by a TRILOGI client from anywhere in the world amp TLServer PLC Web S iol x Internet TRILOGI Server When a client program such as TRILOGI wants to read from or write to a PLC it send a command to the TLServer using the TCP IP protocol transported via the Intranet the Internet or a local host connection The TLServer upon receiving the command will carry out the actual reading or writing to the PLC via the PC s RS232 or RS485 port The data received from the PLC is then relayed back to the client program via TCP IP protocol IP address 192 168 1 100 9080 TLServer is also a Web Server which serves up web pages that contain the TRILOGI Java Applet to enable you to use any Java enabled Web browser to access the PLC without the need to install a local copy of the TRILOGI application software Configure Users
144. less EEPROM space Please refer to your PLC s reference manual for the upper limit Examples Sc e See Also LOAD_EEP GETHIGH16 SETHIGH16 SAVE _EEP lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic saveeep1 htm 3 30 2005 7 52 37 PM SAVE_EEP String SAVE_EEP strdata addr Applicable only to M PLC with firmware r44 or higher Purpose To store a string strdata in the user s definable EEPROM address addrdata may be a 16 bit integer constant or variable Purpose stringdata May be any string constant or string variable addr EEPROM address 1 2 3 Please refer to your PLC s reference manual for the upper limit of EEPROM space Examples SAVE_BEPS as 0 Comments The content of A will be stored at string space 3 of data EEPROM See Also LOAD EEP GETHIGH16 SETHIGH16 Basic to TBASIC Reference Manual Save_EEP and Load_EEP are two new TBASIC commands available only to the newest M PLC with firmware revision r44 and above These commands allow you to save strings into the non volatile data EEPROM area of the PLC The EEPROM space is divided into 40 byte chunks for string storage l e regardless of the length of the string each string storage location will occupy a fixed 40 character length Hence if stringdata parameter is longer 40 characters then only the first 40 characters will be stored in the EEPROM the rem
145. light bar from one element to another in their four respective directions You can only move in a direction which will end up with an element lt ESC gt Press lt ESC gt key to end the circuit editing mode and return to the browse mode of the logic editor lt Enter gt When you are done with editing the current circuit hit lt Enter gt to proceed to the next Circuit lt SHIFT gt or lt TAB gt If you observe the highlight bar carefully you will notice a dark green color square at the http localhost 9080 Help editladder htm 2 of 3 3 30 2005 7 52 46 PM TRiLOGI Ladder Editor Reference right end of the highlight This indicates the insertion location where a series contact will be attached You can change the insertion location to the left or the right of the highlight bar by pressing the lt SHIFT gt key Note From version 5 32 onwards the lt SHIFT gt key is now being used for this action instead of lt TAB gt key because the lt TAB gt key no longer works under Java JRE 1 4 x However for user of JRE 1 3 1 either lt SHIFT gt or lt TAB gt keys will work The position of the cursor has no effect when you connect a parallel contact to the highlighted element The left terminal of the element will always be connected to the left side of the parallel branch lt 0 gt to lt 9 gt lt gt amp lt E gt keys Pressing the key lt 0 gt to lt 9 gt and lt gt is equivalent to clicking on the icon sho
146. logic contacts on the screen All ladder logic contact symbols are normally identified by their label names However you can also choose to display an optional small literal to indicate the I O types e g i input o output r relay t timer and c counter When TRiLOGI first starts the display is enabled but you have the option of turning it off if you find it distracting Edit Custom Function lt F7 gt Opens up the Custom Function Editor window for you to enter the TBASIC program You will be required to select the custom function number or a label name from the CusFn table which is part of the I O Table Each TRILOGI file can contain a maximum of 256 custom functions Each custom function will be opened in its own window The custom function number and the optional label name will be displayed on the Title of the Custom Function editor window http localhost 9080 Help editmenu htm 2 of 3 3 30 2005 7 52 32 PM Edit Menu E Custom Function 1 Example use of multiple IF THEN ELSE Each IF statement must have an ENDIF ELSE is optional AF INFUT 1 VAL AS IF 4 gt O THEN PRINT 3 Value entered A is greater than DM 1 4 10 ni Select Function Edit Fn Name lt q lt gt gt gt You can scroll from one custom function to the next one using the lt gt keys However clicking on the A and gt gt buttons allows you to scroll to the previous or the next non empty CusF n All empt
147. lses supported by TRILOGI are Clock Pulse Period Ladder Symbol A clock pulse bit is ON for the first half of the rated period then OFF for the second half Duty cycles for these clock pulse bits are therefore 50 as follow http localhost 9080 Help specialbit htm 1 of 2 38 30 2005 7 52 48 PM Ladder Logic Reference Special Bits Clk 0 1s 0 1 second Clock Pulse o ee ee 0 05s 0 05s a a aia 1 i The clock pulse bits are often used with counter instructions to create timers Additionally they can be used as timing source for Flasher circuit A reversible counter can also work with a clock pulse bit to create secondary clock pulses of periods that are multiples of the basic clock pulse rate 2 SeqN X These are special Sequencer contacts which are activated only when the step counter of a Sequencer N reaches step X E g a Normally Open contact Seq2 6 is closed only when Sequencer 2 reaches Step 6 At any other step this contact is opened Click this link for detailed explanation and working examples on how to use a Sequencer 3 Normally ON Flag Norm ON You can make use of this flag if you need to keep something permanently ON regardless of any input conditions This is because with the exception of Interlock Off function ILoff a coil or a special function is not allowed to connect directly to the power line the vertical line on the left end of the ladder diagram If you need to permanent
148. ly you will notice a dark green color square at the right end of the highlight This indicates the insertion location where a series contact will be attached You can change the insertion location to the left or the right of the highlight bar by pressing the lt SHIFT gt key Note prior to Version 5 32 only the lt TAB gt key was used for this purpose but lt TAB gt key does not work on JRE 1 4 x so we added the lt SHIFT gt key to achieve this action The position of the insertion point has no effect when you connect a parallel contact to the highlighted element The left terminal of the element will always be connected to the left side of the parallel branch lt 0 gt to lt 9 gt lt gt amp lt E gt keys Pressing the key lt 0 gt to lt 9 gt and lt gt is equivalent to clicking on the icon shown in the table http localhost 9080 Help laddereditor htm 5 of 6 3 30 2005 7 52 46 PM TRILOGI Ladder Editor Reference The equivalent keyboard number is shown as a small numeral at the lower right corner of the icon The lt gt key is the quickest way of converting a normally open contact to a normally closed one and vice versa Pressing the lt E gt key when a contact or coil is selected allows you to edit the label name directly Note that it is the user s responsibility to ensure that the label is valid http localhost 9080 Help laddereditor htm 6 of 6 3 30 2005 7 52 46 PM Contacts and Coils Ladder Lo
149. ly enable a coil consider using the Normally ON bit from the Special Bits menu as follow Light OUT 4 First Scan Pulse 1st Scan This special bit will only be turned ON in the very first scan time of the ladder program After that it will be permanently turned OFF This is useful if you need to initialize certain conditions at the beginning When the program is transferred to the PLC this bit will only be ON when the PLC is first powered up or after it has been reset 5 Real Time Clock Error RTC Err This bit is turned ON if the M series PLC does not have battery backed MX RTC option and the clock has been reset due to power failure or watchdog timer reset This gives warning to applications that require a correct real world time such as scheduled ON OFF operation that the clock data is incorrect hence enabling corrective action to be taken http localhost 9080 Help specialbit htm 2 of 2 8 30 2005 7 52 48 PM
150. mally you can leave this field to its default value which is AT amp KO e You can also specify a special Call in Password which is only used if the TLServer puts itself in auto answer mode see description later Any incoming connection made by a remote modem must give the correct password upon connection otherwise the connection will be immediately dropped The Call In password feature is disabled if the corresponding textbox is empty 2 Auto Answer If you select the Auto Answer checkbox and click on the Connect button the TLServer will setup the modem to automatically answer the incoming call on the first ring There are many uses of this capability Any number of PLCs in the field can periodically dial in to a single TLServer and write or append the values of their internal variables to data files on the PC s hard disk using the PLC File Service commands This is extremely useful for deploying the M series PLC for data acquisition purposes You can format the data using CSV format so that the file can be readily imported into an MS Excel or Lotus 123 spreadsheet e The remote PLC can dial in and ask TLServer to send out its data to any email address immediately e The remote PLC can dial in and synchronize its real time clock with the TLServer e The TLServer can play the role of an ISP where the PLC can dial in and be accessible to the Internet Some sample PC5 programs that enable a PLC to dial in to the TLServ
151. mes welcome to TBASIC iii Comparison Operators Two strings may be compared for equality by using the function STRCMP A B However the integer comparator such as lt gt etc cannot be used for string comparison iv Functional Operators TBASIC supports a number of statement and functions which take one or more string arguments and return either an integer or a string value e g LEN x MID A x y PRINT 1 A SETLCD 1 x VAL x Basic to TBASIC Reference Manual http localhost 9080 Help tbasic string htm 3 30 2005 7 52 44 PM EMIT Link Variables for EMIT 3 0 Apart from using Internet TRILOGI and TLServer the T100MD and T100MX PLCs can also be accessible from the internet via a special emGateway software supplied by the emWare Inc of Salt Lake City USA emGateway runs on any Windows 95 98 NT PC The M series PLC incorporates the emMicro code licensed from emWare which allows a JAVA applet to be developed using emWare s supplied tools and Java beans The emGateway acts as the middle man between the internet and the M PLCs It uses predefined variable names in the PLC and through a JAVA applet allows exchange of data between a JAVA enabled internet browser such as Netscape or Microsoft Internet Explorer 4 0 and above To allow greater flexibility in programming and for protection of internal data TBASIC does not expose existing internal system variables to the emGateway Instead T
152. n also run the TRILOGI client AND the TRi ExcelLink clients simultaneously 4 TRiLOGI client software is available in two incarnations i As a Local Java Application The TRILOGI program as well as the JVM see below must be locally installed in the PC that it runs on ii As a Java Applet The client computer only needs to use a Java enabled Web browser such as the Internet Explorer 5 0 or Netscape Navigator 4 5 to invoke the TRILOGI applet There is no need to install the TRILOGI software in the local computer TRILOGI Application vs Applet Which is Better Pros Cons Starts up immediately Require local installation of TRILOGI e Can read write TRILOGI files to local software at every client computer hard disk or to TLServer Require installation of JVM at every e Can access any TLServer on the client computer Application network e Need to specify the proxy server IP e Program behavior is predictable since address clearly if running behind a the copy of JVM is local firewall Printing is supported via Java 2 function e ee Service is not available to the calls to the JVM applet http localhost 9080 Help usingtrilogi htm 1 of 4 3 30 2005 7 52 25 PM Using Internet TRILOGI No need to install any software or JVM at the client computer Possible to control your PLC via any CyberCafe or at a friend s house Maintenance and Upgrading of software Applet is simple since only one copy of the TL
153. n the Full Screen Monitoring this box is normally unchecked to avoid acccidentally changing the state of a PLC s I O 3 View Select Pause Reset Buttons View TBASIC Variables See document on Viewing System Variables Pause Halt the Simulator including clock pulses eters Reset all I Os and data in the simulator engine same as lt Ctrl F9 gt Reset Press lt Ctrl F8 gt to reset all I Os except the inputs http localhost 9080 Help simulator htm 2 of 3 3 30 2005 7 52 46 PM Not available during Simulation See On line Monitoring for description of this button Programmable Logic Simulator 4 Displaying I O Status on Ladder Diagram File Edit Controller Simulate Circuit Help Circuit 1 Start Stop RLY Duration Tihi Step Manual __ AMseq Clk 0 55 Manual The logic states of any I O can be observed on the ladder diagram directly An input output relay timer or counter that is turned ON will have its label name highlighted in the ladder diagram This feature helps greatly in debugging and understanding the logical relationship between each I O For example from the above figure we can see clearly how the Self latching circuit for relay Run works When we first turn ON the Start input Run will be energized and its contact which is parallel to Start will hold itself in the ON state even if we subsequently turn OFF the Start input Note that wheth
154. nches may be used to conduct current and hence this is a logical OR connection Once you understand this fundamental principle of interpretting a ladder diagram everything should become clearer and simpler Ladder diagram programming can be used to create a rather sophisticated control system However In TRILOGI we augment its power further by allowing a ladder program to activate customized functions created in TBASIC Relay Coils A contact can also be activated by the presence of an electrical current This makes it possible for a control system to control the turning ON or OFF of a large load by using electrical current to activate a switch that can conduct high current The simplest form of this type of contact is a relay In traditional electromagnetic relay a coil of wire is wound around an iron core which turns it into an electromagnet When current passes through the coil the magnet is energized and the force is used to either close a contact that makes it a normally open contact closed only when energized or open it that will be a normally closed contact since it is closed when not energized Ladder Logic programming language borrows some of those terms used to describe the electromagnetic relay for its own use You connect a relay coil to the right end of the ladder diagram just like an output as follow Start Stop Active RLY Active Active Lamp In a PLC there are hundreds of internal relays which are supposed to beh
155. nd an 8 bit byte of data x via Comm port n This command is added because PRINT n command cannot be used to send out CHR 0 Zero is treated as the end of a string in TBASIC and will be ignored if you use PRINT n statement to send out CHR 0 Examples porom 2 225 See Also INCOMM INPUT n PRINT lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic outcomm htm 3 30 2005 7 52 36 PM INPUT INPUTS ch Purpose To return a string obtained from communication port ch ch must be a numeric constant between 1 and 8 The actual target hardware determines the valid port This function returns fO if there is no valid string waiting at serial port Examples DS INPUTS 2 Comments A Carriage Return CR or ASCII code 13 marks the end of the input string from the communication port The returned string however will exclude the CR character In TRILOGI simulator the user will be prompted to enter the string in a pop up window See Also INCOMM PRINT OUTCOMM lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic input htm 3 30 2005 7 52 36 PM PRINT PRINT Nn x y z Statement To send a string of ASCII characters formed by its parameter list x y Z out of the PLC to other devices via the communication channel n Purpose Parameters n must be an integer constant of between 1 and 8 Integer value in the
156. ne The cursor is at the position where you can key in your very first http localhost 9080 Help laddertutorial htm 1 of 2 3 30 2005 7 52 28 PM ladder program Tutorial ladder logic Goto to Step 1 http localhost 9080 Help laddertutorial htm 2 of 2 3 30 2005 7 52 28 PM Ladder Tutorial Step 1 Ladder Logic Programming Tutorial STEP1 Before we commence the circuit creation let us define the I Os to be used for this program The following I Os are required Inputs Start Stop Manual Step Outputs Outi Out2 Out8 Relays Run Timers Duration Sequencer Seq1 1 Open up the I O label editing Window by pressing lt F2 gt Although you can also click on Edit menu and select the item I O Table to achieve the same we strongly recommend learning the hot key F2 as it is often much more convenient to use 2 Scroll to the Inputs window by using the left right cursor keys or by clicking on the red color left right arrow buttons or simply select it from the choice box between the left right arrow buttons 3 Move the deep blue color highlight bar to Input 1 position by clicking on it Click again to open up a text field for entering the name for Input 1 f4 1 0 Labels mm S Lae O 20 1 Ti On Be Ta m 4 Enter the name Start for Input 1 Press lt Enter gt key to accept the name The text field will be
157. ned you can still reset the PLC s internal data by pressing the lt Ctrl R gt key The PLC can also be halted by pressing the lt P gt key A halted PLC can subsequently be released from the halted mode by pressing the lt P gt key again 5 2 Using LCD Display for Debugging http localhost 9080 Help tbasic tbasicIntro htm 6 of 8 8 30 2005 7 52 43 PM TBasic Introduction You should take advantage of the built in LCD display port of the T100MD to display internal data at the location where you want to track their values especially if the value changes rapidly which may not be constantly captured by on line monitoring screen 6 Error Handling Since the CusFn text editor does not restrict the type of text that may be entered into its editor the TRILOGI compiler will have to check the syntax of the user s TBASIC program to look out for mis spelling missing parameters invalid commands etc Such errors which can be tracked down during compilation process are know as Syntax Errors 6 1 Syntax Error TRILOGI employs a sophisticated yet extremely user friendly syntax error tracking system When a syntax error is encountered the compilation will be aborted immediately and the CusFn which contains the error is automatically opened in the text editor The location of the offending word is also highlighted and a pop up message window reports to you the cause of the error You can then immediately fix the error and re compile until al
158. ng screen comprises 5 columns Input Timer Counter Sequencer Relay and Output With the exception of the Relay table which contains up to 512 elements all other columns contain 256 elements each and each one has a vertical scroll bar You can use the mouse to scroll each column independently to locate the desired I O The label names for the inputs outputs relays timers and counters defined earlier in the I O tables automatically appear in their respective columns To the left of each label name column is an LED lamp column which indicates the ON OFF state of respective i os A red color lamp represents the ON state of an i o whereas a dark grey color lamp represents an OFF state The I O number is indicated in the middle of the lamp The monitoring screen requires the use of the mouse to work properly so it is important to remember the mouse button actions as follow Turn ON the PLC s I O when pressed Eere Mouse Buton Tum OFF the PLC s I O when button is released Toggle the PLC s I O when pressed once Righi Mouse Button i e OFF becomes ON and ON becomes OFF There is a check box Control Iv near the upper right hand corner of the on line simulator This check box must be checked before you can force set reset the PLC s I O When you run the Full Screen Monitoring the first time this box is unchecked to avoid acccidentally changing the state of a PLC s I O Note The Control checkbox is disabled if your Access Level h
159. nt within a circuit easily The editor interprets your circuit immediately upon entry and prevents you from creating illegal circuit connections The functions of various keys in the circuit editing mode are detailed below You know that you are in the circuit editing mode when a row of ladder logic icons appears along the upper status line next to the circuit number and a yellow color highlight bar appears and you can move it to select an element in the ladder circuit as shown below TRILOGI Version 5 32 Untitled SES File Edit Controller Simulate Circuit Help Circuit 1 Mouse Actions Left Click When you click on an element using a the left mouse button the element is selected and highlighted by the yellow color highlight bar Right Click When you click on an element using the right mouse button you are allowed to directly edit the label name of the element This can be a convenient feature if you need to change one or two characters in the name only However if the element is a custom function dCusFn or CusFn then the custom function editor will be opened for you to edit the function directly Insert Ladder Element You create the ladder circuit element simply by moving the mouse pointer to the icon and pressing either the left or the right mouse button to insert a ladder logic element to the currently highted element The following is a description of the functions of each icon A yellow color highlight bar will app
160. nual 1 Follow the steps listed in STEP 3 to create the following circuit fragment TRILOGI Version 5 3 Untitled File Edit Controller Simulate Circuit Help Circuit 2 4 o k dg Fra Hn A an RUN ae Manual 2 We want to enclose the two series contacts Step and Manual with a parallel branch that contains two elements First we will create the branch for the N C Manual contact 3 Click on the element Step to highlight it Then right click on the icon to create a N C parallel circuit that encloses both the Step and the Manual contacts A cross will appear at the left hand end of the Step contact indicating that this is the starting location of the parallel circuit You should now click on the Manual contact to select the ending location for the parallel circuit The yellow highlight bar will be positioned at Manual contact now 4 You will notice that the icon has now changed into a yellow color N C contact 4l with an opposite connection arm You should now click on the symbol to close the parallel branch One possible short cut method is to double click at the ending location to close the branch As usual an I O table will be opened for you to select the I O For now select the Manual label from the input table to create the following circuit http localhost 9080 Help laddertutorial1d htm 1 of 4 3 30 2005 7 52 30 PM Ladder Logic Tutorial Step 4 TRILOGI Version 5 32 Untitled
161. ny system variable count number of variables to send max 16 in M PLC Examples WRITEMB2 13 5 101 DM 10 8 Comments The PLC will use MODBUS RTU protocol via its Comm port 3 to write amp words of data from DM 11 to DM 17 to the slave MODBUS device with ID 05 and into it s register offset address 101 to 108 in MODBUS term this refer to the 40102 to 40109 holding register The command automatically checks the response string received from the slave device for the correct slave address CRC16 Like READMODBUS command the status of this operation can be checked by the user program by testing the STATUS 2 function See Also READMB2 STATUS 2 lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic writemb2 htm 3 30 2005 7 52 39 PM REFRESH REFRESH Purpose To Force immediate refresh of the physical inputs and outputs This can be used after executing a SETBIT or CLRBIT command on an outpui n variable and to force the physical output to change immediately subject to I O refresh time delay Otherwise the physical output will only be updated during the normal refresh cycle which will occur only at the end of every ladder logic scan This is useful for situations which require immediately action such as shutting down a load during an emergency This command is likely to be used mainly by an Interrupt CusFn Z Basic to TBASIC Reference Manual http localhost
162. o indicate connection ENDIF All you need to do is to copy and paste this custom function to your own ladder BASIC program then create an I O with label name DialModem this may be an input output relay timer or counter contact The moment this I O bit DialModem is turned on the PLC will begin to execute the sequence of dialing the remote modem waiting for a successful connection and then turning on an I O bit with the label name Connected If the dialing cannot be completed within 30 seconds this custom function will hang up and then re dial The process will be repeated indefinitely until either a successful connection is made or if the DialModem i o has been turned OFF To disconnect from the modem hang up your PLC program just have to turn off the Dialmodem I O bit and the abovementioned custom function will automatically perform the action of hanging up the modem Note Since the PLC does not have a carrier detect CD connection to the modem therefore if the connection is lost after a successful initial connection the PLC would have no way of knowing it immediately Your program would have to detect this condition e g if it sends a file service command and does not receive a lt OK gt acknowledgement string from the host Once the PLC notes that the connection is lost it can re establish the connection by simply turning off the I O bit with label name Connected say by executing the CLRIO Connected s
163. o send an email The TLServer upon sensing that an email request flag has been raised will extract the sender recipient and message strings from the PLC s internal variables and send them out using the pre defined SMTP outgoing mail server A single TLServer can service the email requests for one or more max 256 PLCs connected to it via RS232 or RS485 To setup the server to handle email requests click on the Setup Emails button on the TLServer to open the following dialog box SMTP Mail Server This will be the same Outgoing Mail aT z 5 Server that you use in your email program such as the fs PLCs Email Config Hiel Eudora or Outlook Express If in doubt ask your ISP or SMTP Mail Server System Adminstrator for help This server must be setup properly before the TLServer can send any email If your SMTP server requires authentication via POP3 you will have to use your email program to check your email once PLO ID Check Every seconds prior to using it to send emails e PLC ID column For you to select PLCs with ID from 00 FF 256 in total to set the email service period Check Every seconds this allows you to define how often the TLServer should check the PLC the email service period for the state of the outgoing email request flag Simply click on field next to the PLC ID of interest to open up a text entry field as shown in the figure for ID 02 Enter a non zero value in seconds to define it
164. odulation demodulation process as well as transmission delay two way communications via modem tends to be noticeably slower than connection made by direct cable connection This is quite normal and does not indicate a problem with the communication setup e The PC s modem must be able to emulate the COM port of the PC in order for the TLServer modem function to work Some of the newer computers employ win modem or soft modem which may only work with Windows dial up networking These kinds of modems are implemented in software and they do not necessarily emulate a standard PC COM port properly They also demand quite a bit of CPU horsepower to process the communication properly Therefore these type of modems may not work too well with the TLServer If your built in soft modem does not work properly with TLServer you should get an external PCMCIA card modem and these are quite inexpensive nowadays and they will work much better with the TLServer modem support function To setup TLServer to dial a modem first close the active COM port by clicking on the Close http localhost 9080 Help serialsetup htm 2 of 4 8 30 2005 7 52 26 PM Serial Port Setup Helps Port button Select the COM port where the modem is connected to you can find out the which COM the modem is connected to by checking the Control Panel gt Modems gt Properties Click to select the Modem checkbox You will then be able to enter a telephone number to dial The
165. ognized by Windows to represent executable Java program and it will run immediately Note In the same folder you will also find the file TLServer20 jar which is the actual TLServer jar file 3 The third alternative is to run the program from DOS command line First run the MS DOS prompt and then navigate to the directory C TRILOGI TL5 assuming that is the folder where you ve installed TRILOGI At the directory enter the following command line CATRILOGNTL5 gt java jar TL51 jar This procedure is actually encapsulated by the TL5 BAT batch file located at the C TRILOGI TL5 folder which you can double click from the same folder to execute This method of starting TRILOGI application has an advantage in that it opens the Java Console window which can be useful because system errors and exceptions are normally reported via the Java Console This can give a clue to reason of failure You can also start TLServer by running the tlserver bat file http localhost 9080 Help usingtrilogi htm 2 of 4 3 30 2005 7 52 25 PM Using Internet TRILOGI HELP When running TRILOGI you can get on line help any time by pressing the lt F1 gt A Help window will open to show you the typical key mouse actions You can also click on the lt More Help gt button to get context sensitive help loaded into your web browser It is assumed that you have Internet Explorer installed in the following directory C Program Files Internet
166. om the TRILOGI program You will be prompted to save the current file if the contents have been edited and the changes have not yet been saved http localhost 9080 Help filemenu htm 4 of 4 3 30 2005 7 52 31 PM Edit Menu The Edit Menu 1 Abort Edit Circuit Changes made to the current ladder circuit can be aborted if you execute this command before pressing lt Enter gt to accept changes made to the current circuit If changes have already been accepted by pressing the lt Enter gt key then this command will have no effect This command is useful if you wish to completely abandon changes you have made to a circuit without going through all the undo steps 2 Undo lt Ctrl Z gt Undo the last changes made to a ladder circuit TRILOGI automatically stores the last 10 edited steps so you could execute undo several times to restore the circuit back to its original shape 3 Cut Circuit lt Ctrl X gt You can remove a number of circuits from the current ladder program and store them temporarily in the clipboard for pasting into another part of this ladder program or into another file altogther In other words it lets you move a block of circuits from one part of the ladder program to another part or into another file Once you execute the Cut Circuit command a prompt box as shown below will appear You have to specify the range of the circuits you wish to cut and press the Yes button to remove them from the ladder program
167. on port setting add remove users from the system and set up TLServer to query the PLC for outgoing email requests and process them accordingly For explanation of the function of each button click the image link of respective buttons below You can also call up their context sensitive help by pressing lt F1 gt key after pressing the relevant button on the TLServer front panel Serial Port Setup Configure Users http localhost 9080 Help tlserver htm 1 of 2 3 30 2005 7 52 25 PM TRILOGI Internet Server Helps http localhost 9080 Help tlserver htm 2 of 2 3 30 2005 7 52 25 PM File and Email Service TLServer 2 0 File and Email Services Starting from version 2 0 the TLServer provides a number of File and Email services to the PLCs via the serial comm port Basically a PLC can send service requests to the TLServer using tags which are ASCII characters enclosed between the lt and gt characters and the TLServer will perform the service requests upon receiving valid commands All data between the lt command parameter gt tag and the lt gt tag will be treated as data for the requested service Since the PLC is the one which initiates the service request it does not need to be linked to the TLServer all the time unless it needs to request a service from the TLServer This makes it possible for a remote PLC to connect to the TLServer via the telephone line using a modem and perform
168. on line monitoring since an opened socket is available for communication all the time until you abort it by closing the connection or exiting the program This should be the default option you should try first If the TLServer is running within the same Local Area Network as your TRILOGI program this normally should not be a problem Alternatively if both TLServer and TRILOGI are running on computers that can establish direct connection to the Internet such as via dialup DSL or cable modem this should work well too 2 Checked However if TLServer is connected to the Internet and has a direct IP address but you are accessing the Internet behind a corporate firewall the situation will be more complex Due to security concerns the corporate firewall normally does not permit the software on its LAN to establish direct access to the Internet Although you may still be able use your browser to visit Yahoo to check your stock prices this is normally done through a Http proxy server provided by your network administrator The proxy server is the only program that has the right to access the public Internet That is to say your browser actually makes a local connection to the proxy server and the proxy server in turn connects to the public Internet to obtain the requested data hence the name proxy and passes the information back to your application If your situation is what we described above you have three choices to communicate with TLServ
169. on the E symbol Save As TLServer Use this command if you wish to save the currently edited TRILOGI file to the TLServer using a different filename You will be prompted to enter the Username Password and IP address if it is a TL5 application to gain access to TLServer Once authenticated the network file dialog similar to that described in Open TLServer will be opened for you to enter a file name or select a filename to overwrite Open Local Drive Save As Local Drive For TL5 Application not Applet you can open or save a file from to the local harddisk You will be presented with the typical file dialog provided by your O S This command however is not available to the TL5 Applet since an applet does not have the right to access local hard disk resources Protect Un Protect This newly added feature to Version 5 3 allows you to prevent others from viewing a pre defined range of ladder logic and custom functions When you select Protect command you will be http localhost 9080 Help filemenu htm 2 of 4 3 30 2005 7 52 31 PM File Menu asked to enter an unlocking password a range of ladder logic starting from circuit 1 as well as a range of custom functions whose content you wish to prevent others from viewing as follow ey Password Protection of TRILOGI Filet The moment you click on the Protect button you can no longer view or print the protected range of ladder circuits and custom functions
170. onnected to the PLC s via its serial port before the commands here can be successfully executed Note that TLServer can be running on the same computer that TRILOGI is running on using localhost IP 127 0 0 1 or on another computer in the same local area network or anywhere in the world with an Internet connection The experience is identical regardless of where the TLServer and hence the PLC is situated If there is no existing connection made to the TLServer then execution of any command in this menu will always bring up the password dialog for you to enter the Username Password as well as the IP Address port of the TLServer You must be positively authenticated before you are able to log in to the TLServer See Log In to TLServer for detailed explanation of the Username Password Dialog box Once you have log in to the TLServer see explanation of each function below 1 Select Controller lt Cirl I gt The only editable field is the ID field You have to enter the ID address in hexadecimal notation 00 to FF This command allows you to select another PLC that is connected to the same TLServer but with a different ID for on line monitoring or program transfer 2 Connect Disconnect to Server Use this command to log in to the TLServer only if you have no intention to perform other controller commands You may find that you seldom need to use this command since running the On Line Monitoring or Program Transfer commands will also let y
171. ored in the program EEPROM and hence is non volatile See sample program set_TCSV PC4 n should be between 1 and 128 value should be between 0 and 9999 SetTimerSV 10 1234 SetTimerSV 3 GetTimerSv 3 10 Timer 10 will assume a S V of 1234 S V of Timer 3 will be increased by 10 Related The present values P V of timers can be read or written directly as integer variables TimerPV n But the Set Values can only be changed by this function See Also GetCtrSV GetTimerSV _ SetCtrSV lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic settimersv htm 3 30 2005 7 52 35 PM gethighi6 GETHIGH16 v Purpose This function returns the upper 16 bit of a 32 bit integer variable v This can be used to break the value of a 32 bit integer data or variable into two 16 bit values so that they can be saved to the EEPROM or to the DM n j Examples DM 1 GetHIGH16 A save_EFP GetHIGH16 amp H12345678 10 See Also SETHIGH16 lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic gethigh16 htm 3 30 2005 7 52 35 PM SETHIGH16 v SETHIGH16 v data Purpose To assign the upper 16 bit of a 32 bit integer variable v to data The lower 16 bit of v is unaffected This can be used to construct the value of a 32 bit integer data using two 16 bit data obtained from either the EEPROM or the DM n A DM 2 SETHIGH16 A DM
172. ot trigger the end motion relay r specified in the STEPMOVE command See Also STEPMOVE STEPMOVEABS STEPCOUNT STEPCOUNTABS STEPSPEED STEPHOME a Basic to TBASIC Reference Manual http localhost 9080 Help tbasic stepstop htm 3 30 2005 7 52 42 PM stephome STEPHOME ch Applicable only to M PLC models Set the current position counter of stepper ch to zero This indicates a new Home position of that stepper motor This command should be executed only when the stepper has reached a particular position to be regarded as the home position All STEPMOVEABS command executed subsequently will be relative to the defined home position See Also STEPMOVE STEPMOVEABS STEPCOUNT STEPCOUNTABS STEPSPEED STEPSTOP dq Basic to TBASIC Reference Manual Purpose http localhost 9080 Help tbasic stephome htm 3 30 2005 7 52 42 PM STRCMP STRCMP A B Perform a comparison between its two string expressions A and B IF Purpose A and B are equals STRCMP will return a 0 if A is of lower order in ASCII table order than B the function will return a negative value Otherwise it returns a positive value Examples IF STRCMP AS BS 0 THEN Comments IF A and B are the same then turn on the stepper motor 1 lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic stremp htm 3 30 2005 7 52 42 PM STRLWR STRLWR 4
173. ou Cut or Copy into the clipboard will be pasted just before the currently selected circuit The current circuit number will be adjusted to reflect the change Find Ctrl F The Find command allows you to quickly locate a ladder logic circuit that contains a particular label name The Find command can also be used to search for a keyword in a TBASIC program When this command is executed you will be further prompted to select the option of searching for a ladder logic label or a text in a Custom Function Goto Ctrl G Use this command to move towards a specific circuit number The Goto command is particularly useful if your program contains many circuits and it is inconvenient to search for a particular circuit using the mouse or the cursor keys IV The Circuit Editing Mode http localhost 9080 Help laddereditor htm 3 of 6 3 30 2005 7 52 46 PM TRiLOGI Ladder Editor Reference TRILOGI comes with a smart editor which allows you to insert or delete a single element within a circuit easily The editor interprets your circuit immediately upon entry and prevents you from creating illegal circuit connections The functions of various keys in the circuit editing mode are detailed below You know that you are in the circuit editing mode when a row of ladder logic icons appears along the upper status line next to the circuit number and a yellow color highlight bar appears and you can move it to select an element in the ladder circuit a
174. ou do not want it to respond to some data that appears to it as a valid communication protocols This is also useful for implementing user s own communication protocol without worrying about conflict with the existing protocols Purpose ch 1 2 or 3 COMM port number mode 0 Auto sensing default mode 1 Fixed at RTU mode 2 Fixed at EMIT mode 3 Fixed at MODBUS ASCII mode 4 Fixed at OMRON C20H protocol mode 5 Fixed at NATIVE host link command mode 10 No protocol For creating user own custom protocol IMPORTANT 1 Please note that if you set the protocol to other than the Native mode 5 or Auto mode 0 that serial port will no longer respond to commands from TRILOGI and you will encounter Communication Errors when you try to perform any communication using TRILOGI with that serial port You can still use the other unaffected serial port e g COMMS RS485 that support host link commands 2 For M series PLC with firmware revision r42 or above setting the protocol mode to NATIVE mode 5 disables support for point to point communication Also wildcard FCS i e 00 is not allowed in multi point format in this mode This is to ensure the maximum data integrity by accepting only command that are fully formatted with correct FCS error check Note that it means the TRiLOGI s Detect ID function will not work since the PLC with protocol mode 5 will not respond to point to point protocol IR You
175. ou log in to the TLServer if you have not yet done so However once you are connected this command changes into Disconnect from Server and this is the only way for you to log out of the currently connected TLServer so that you can use the Username Password dialog box to log in as a different user or to log in to another TLServer of a different IP Address port number 3 On Line Monitoring lt Ctrl M gt See On Line Monitoring help document for details 4 Program Transfer to PLC lt Ctrl T gt This command is only available if your log in username is assigned the access level of a Programmer If you log in as a User or Visitor this command is disabled from the Controller s menu It will be enabled again after you disconnect from the server You can use this command to transfer your TRILOGI ladder TBASIC program into the PLC You will be prompted to confirm your action to prevent accidentally affecting the target PLC The ladder program must be compiled successfully before the program transfer process can take place The progress of the transfer process will be clearly shown on the program transfer dialog box 5 Open Matching Source File You can use this command to query the connected PLC for the filename of the last TRILOGI program transferred to it and it will attempt to match it to a file stored in the log in user s directory at TLServer or on the PC s hard disk If the file is found it will be opened Otherwise it will repor
176. ps needed to create a ladder program As mentioned previously the ladder editor is intelligent and will only accept an action that can result in the creation of a correct ladder element Otherwise it will simply beep and ignore the command UNDO Circuit Editing If you have wrongly inserted or deleted an element and wish to undo the mistake you can either select Undo from the Edit menu or press lt Ctrl Z gt key to undo the last step The undo buffer stores the last 10 editing steps You can also choose to abort all the operations on the current circuit by selecting Abort Edit Circuit to abort all changes made to the current circuit Create Ladder Circuit Using The Keyboard Users of existing TRILOGI version 3 x or 4 x who are familiar with creating ladder programs using the keyboard will be delighted to know that they can still create their ladder programs using the keyboard The keyboard actions are described below Left Right Up Down cursor keys The cursor keys are for moving the highlight bar from one element to another in their four respective directions You can only move in a direction which will end up with an element lt ESCs Press lt ESC gt key to end the circuit editing mode and return to the browse mode of the logic editor lt Enter gt When you are done with editing the current circuit hit lt Enter gt to proceed to the next circuit lt SHIFT gt or lt TAB gt If you observe the highlight bar careful
177. r to edit the label Editing Set Values Timers and Counters only Timer and Counter Tables each has an extra Set Value column If you define a new timer counter label the Set Value field for this newly defined timer counter will be opened for entry Otherwise you can manually open this field for entry by clicking on it or by pressing the lt End gt key Only numeric values between 0 and 9999 should be entered If you enter an illegal character the text field will not be closed when you press lt Enter gt Label Name Restrictions http localhost 9080 Help iotable htm 2 of 3 3 30 2005 7 52 32 PM I O Definition Tables You can enter up to 10 characters per label name Only alphabets and numbers can be used No space is allowed between characters If you enter more than 10 characters only the first 10 characters will be recorded when you press the lt Enter gt key to close the text entry field If you enter a name that contains illegal characters they will automatically be converted to underscore characters Cust Func Table This table is meant for you to define a label name for a custom function However in order to keep compatibility with older TRILOGI software version 4 x label names for CusFn is NOT mandatory If you don t define a label name for the custom function then the function will assume a default name Fn_ xxx where xxx is from 1 to 256 when you insert it into the ladder diagram Important Notes You can shift the I
178. roll to other tables using one of the three methods e Using the left right cursor keys Click on the word Inputs a choice box will open for you to select the I O table you wish to scroll to Click on the two buttons beside the Inputs choice box to scroll left or right from table to table fe 0 Labels Inputs Label Name l Relays S Timers Counters Cust Func Special Bits bel ee in fs On pfs Oo Bt e http localhost 9080 Help iotable htm 1 of 3 3 30 2005 7 52 32 PM f4 I O Labels Relays F Label Name I O Definition Tables 21 0 Labels 41 0 Labels 31 0 Labels Timers F Counters F Cust Func F Label Mane Set Value Label Name Set Value Label Name h h H SH 107 Ea me E 1068 2 Ea 109 En nm 1d 1d 120 EESE 15 BE fe 1 0 Labels Special Hits F Label Name eK Ea e o SegN x Normally ON Let Scan 013 Clock 0 023 Clock 0 053 Clock O 13s Clock 0 23 Clock 0 53 Clock 1 03 Clock 1l uin Clock RTC Error Editing Label Names To create or edit labelname for an I O simply click on the I O number in the opened table and a text entry box will appear for you to enter edit a label name Once you have finished editing press the lt Enter gt key to close the box and the name will appear on the I O table You can also use the keyboard to move the blue color highlight bar to an I O location and press the lt Space gt ba
179. rst element by left clicking on the icon The icon will change to a bright yellow color to show you the element type that you are creating At the same time an I O table should appear on the screen with a light beige color background instead of the normal light blue background The I O table now acts like a pop up menu for you to pick any of the pre defined label names for this contact Note Starting from TRILOGI Version 5 32 if you pick any undefined I O you will be prompted to enter the label name and what you entered will automatically be updated in the I O table 3 The contents in the table are not normally meant to be edited at this moment Scroll to the Input table and click on the label name Start and a normally open contact will be created at Circuit 1 TRILOGI Version 5 32 Untitled File Edit Controller Simulate Circuit Help Circuit 1 If you observe the highlight bar carefully you will notice a dark green color square at the right end of the highlight This indicates the insertion location where a series contact will be attached You can change the insertion location to the left or the right of the highlight bar by pressing the lt SHIFT gt key or lt TAB gt key Note lt TAB gt key only works on JRE 1 3 1 or earlier It does not work on JRE 1 4 x 4 Next create the contact RUN which is parallel to the Start contact by left clicking on the icon The I O table will appear again Scroll to the Relay ta
180. rtutorial1f htm 2 of 3 3 30 2005 7 52 31 PM Ladder Logic Tutorial Step 6 Summary We have completed this hands on session and have successfully created a simple ladder program We have also performed real time simulation to test the program s functionality By now you would probably have a good appreciation of TRILOGI s superb capability and ease of use and are ready to include TRILOGI as an integral part of your programming needs a Go Back to Step 5 http localhost 9080 Help laddertutorial1f htm 3 of 3 3 30 2005 7 52 31 PM File Menu The File Menu The File menu provides commands for the opening saving of TRILOGI files either on the local harddisk or on the TLServer s storage space 1 New lt Ctrl N gt Activate this command when you want to create a new ladder logic program All current ladder circuits and custom functions will be cleared from the screen and the default filename is Untitled pc5 2 Save lt Ctrl S gt This command saves the whole ladder logic program all I O tables and all the custom functions to the disk The current file will be saved to the same source from which it was opened from i e Ifa file has been previously opened from the TLServer via the network this command will save the file back to the TLServer Likewise a file opened from the local harddisk will be saved automatically to the local harddisk 3 Open TLServer lt Ctrl O gt This command is for loading
181. s 3 5 7 0 have no connection program shown in Figure 6 9 The 1 0s clock pulse bit will advance increment Sequencer 2 by one step every second Sequencer 2 should be defined with Set Value 8 Each step of the sequencer is used as a normally open contact to turn on the desired LED for the step A Stop input resets the sequencer asynchronously When the sequencer counts to eight it will become Step 0 Since Clk1 Os oeg Av seg see LED QUT ceg 5 cega LED QUT seg seg S LEDS QUT seq b negez d LED QUT ceg2 5 Stop meq J RSG Figure 6 9 none of the LED is turned ON by Step 0 all LEDs will be OFF http localhost 9080 Help sequencer htm 4 of 4 3 30 2005 7 52 48 PM Ladder Logic Reference Special Bits Special Bits TRiLOGI contains a number of special purpose bits that are useful for certain applications These include 8 clock pulses ranging from periods of 0 01 second to 1 minute a Normally ON flag and a First Scan Pulse etc To use any of these bits enter the ladder editor and create a contact when the I O table pops up scroll the windows until a Special Bits menu pops up This menu is located after the Counter Table and before the Input table as shown below f4 0 Labels a Special Bits Label Name Ol1s Clock 028 Clock 053 Clock la Clock 23 Clock Clock 03 Clock min Clock RTC Error 1 Clock pulse bits The 8 clock pu
182. s email servicing period Comm Error Note Both SMTP Server and email service period definitions will be saved to the hard disk when you exit TLServer program They will be reloaded when you start TLServer again a e S a A ma A m GA m G m G m GA a GA a This email service period does not determine how often the PLC will send email since email will only be sent when the email request flag is set even if you had set a very short email service period It only affects how quickly the email will be sent whenever a PLC raises its email flag You should set a short service period say every 10 seconds for urgent email such as alarm condition For non urgent email such as hourly or daily production report you can set a much longer servicing period to reduce the communication loads on the PLCs Inactive PLC http localhost 9080 Help emailsetup htm 1 of 3 8 30 2005 7 52 27 PM TRILOGI Internet Server Email Setup Helps TLServer attempts to communicate with every PLC that has a non zero email service period However if the PLC is inactive e g It has not been turned ON or has been disconnected from the server the communication will fail Since communication failure takes considerable amount of CPU waiting time and could affect the normal communication with other active PLCs inactive PLCs are internally marked by the TLServer shown as MESH SiH message in the email setup dialog and will not be checked according to their defined
183. s the label name you wish to locate You can also press the lt F2 gt key to open up the I O table and pick the label name from the I O table Find Text in CusFn TRiLOGI will search through all the custom functions to locate the text that matches your entered text The first CusFn that contains a match will be opened up for you to read You will then be prompted to indicate if you wish to continue the search Note that the text window in the custom function editor window is read only during execution of the Find Text command If you click No at the prompt dialog the last opened CusFn will stay open However at this stage the content in the Custom function editor is still read only If you wish to edit text in the CusFn you will need to click on the text window and it will be enabled for editing This feature is implemented to prevent accidental changes to the custom function during the search process Goto lt Ctrl G gt Use this command to move towards a specific circuit number The Goto command is particularly useful if your program contains many circuits and it is inconvenient to search for a particular circuit using the mouse or the cursor keys VO Table lt F2 gt Open up the I O Table for defining label names for the PLC s I O For detailed explanation of I O tables please click on the following link I O Definition Table View I O Type on Ladder lt F3 gt Toggle between display or no display of the I O type for ladder
184. s less than 1 or is greater than 16 The actual number of DAC channels depends on the PLC model in use lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic setdac htm 3 30 2005 7 52 40 PM SETLCD n SETLCD n offset x To display the string expression x on Line n on built in alphanumeric Liquid Crystal Display LCD or compatible Vacuum Fluorescent Display VFD x may be formed by concatenation of various strings using the operator e g Temp STR A 3 CHR 223 C Integers must be converted to string using the STR or HEX function to be accepted by this function Special case if n 0 the string x will be sent to the LCD s Instruction Register which allows hardware specific LCD configuration such as clear screen set cursor ON OFF etc please refer to LCD s manual for details The parameter offset 1 to 40 allows you to send the string x beginning from the offset position Only the characters position to be occupied by x will be written to the display other characters of the display remain unaffected The PLC may support LCD display modules capable of displaying up to 4 lines x 40 characters per line of alphanumeric characters If the display has fewer lines or fewer characters per line the unavailable lines or characters will be ignored by the PLC Once set the LCD display will latch the set value until the next SETLCD statement on the same line and
185. s set when the STEPHOME command is executed The speed and acceleration profile are determined by the STEPSPEED command as in the original command set Purpose This command automatically computes the number of pulses and direction required to move the stepper motor to the new position with respect to the current location The current location can be determined at any time by the STEPCOUNTABS function Once STEPMOVEABS command is executed re execution of this command or the STEPMOVE command will have no effect until the entire motion is completed or aborted by the STEPSTOP command See Also STEPMOVE STEPCOUNT STEPCOUNTABS STEPSPEED STEPSTOP STEPHOME Basic to TBASIC Reference Manual http localhost 9080 Help tbasic stepmoveabs htm 3 30 2005 7 52 41 PM stepcountabs STEPCOUNTABS ch Applicable only to M PLC models Purpose Returns the absolute position of the stepper motor ch This function returns a zero if a STEPHOME command had just been executed and the stepper has not been moved since See Also STEPMOVE STEPMOVEABS STEPCOUNT STEPSPEED STEPSTOP STEPHOME a Basic to TBASIC Reference Manual http localhost 9080 Help tbasic stepcountabs htm 3 30 2005 7 52 41 PM STEPSPEED ch STEPSPEED ch pps acc To set the speed pps and acceleration retardation acc parameters for the PLC s stepper motor motion controller pulse generator channel ch Purpose
186. s shown below TRiLOGI Version 5 32 Untitled File Edit Controller Simulate Circuit Help HAE HH Ed of dol Fro AF rll o gt S Mouse Actions Left Click When you click on an element using a the left mouse button the element is selected and highlighted by the yellow color highlight bar Right Click When you click on an element using the right mouse button you are allowed to directly edit the label name of the element This can be a convenient feature if you need to change one or two characters in the name only However if the element is a custom function dCusFn or CusFn then the custom function editor will be opened for you to edit the function directly Insert Ladder Element You create the ladder circuit element simply by moving the mouse pointer to the icon and pressing either the left or the right mouse button to insert a ladder logic element to the currently highted element The following is a description of the functions of each icon A yellow color highlight bar will appear which you can move to select an element in the ladder circuit lls lt 1 gt Left click to insert a normally open series contact lt 2 gt Right click to insert a normally closed series contact lt 3 gt Left click to insert a N O parallel contact to highlighted element lt 4 gt Right click to insert a N C parallel contact to highlighted element lt 5 gt Left click to insert a N O parallel contact to enclose on
187. same offset is executed On the TRILOGI simulator the result of the SETLCD is displayed together with the Special Variables view screen Examples SETLCD 1 1 This is a 1x20 LCD Display lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic setlcd htm 8 30 2005 7 52 40 PM SETLED n SETLED n n value Purpose To display the integer value on the PLC s built in 7 segment LED displays starting from the nth digit and occupying m number of digits Leading zeros will be added to the left of the display if value occupies less digit than that specified by m However if m is less than 1 e g m 0 then value is treated as a single 8 bit ASCII character to be displayed rather than as a numeric value Special symbols may be displayed on the LED panel if the LED driver is able to display the corresponding ASCII character n must be between 1 to 16 The digit position is counted from left to right i e the leftmost LED digit is digit 1 TRILOGI supports up to 16 LED digits The actual number of LED on the PLC may vary from 0 to 16 in this case only the available digits will be effective Value may be a 16 or 32 bit integer number Once set the LED display will latch the set value until the next SETLED statement on the same digit is executed On the TRiLOGI simulator the result of the SETLED is displayed together with the Special Variables screen which may be viewed by pressing the lt V gt key while
188. service period to avoid repeated communication failure However TLServer will re scan these inactive PLCs every two minutes to check whether they have come on line If an inactive PLC is found to respond to command it will be unmarked and put back in service for its email request Check You can also manually force the re scanning of all PLCs by clicking on the Check button once Then scroll to the PLC of interest to check if there is a jurgyye reworers message Check the PLC communication port wiring if there is an error Writing TRILOGI Programs that Can Send Emails In order to send an email the TRILOGI program needs to use the string variables A B C to store the headers and D to Z to store the messages not all strings need to be used unused strings are still available for normal program use The special variable emEVENT 1 is used as an email request flag which should be initialized to 1 when the program is not requesting email service When the TRILOGI program wants to send an email it first stores the sender recipient and subject into the following variables Sender email address which can be used to identify the source of the email B Recipient email address this one must be accurate email address this one must be accurate _ 3 ocem enal adess Tis one mustbe acoes of the message D First line of Message E Second line of email message Z The 23rd line of the email message 1 NOT
189. sh to delete Please note that you can t UNDO a delete circuit operation lil The Edit Menu http localhost 9080 Help laddereditor htm 2 of 6 3 30 2005 7 52 46 PM TRILOGI Ladder Editor Reference ee TRILOGI Version 5 0 C TRILOGISTL5 usr samples if Then Else PC5 5 f E3 File Controller Simulate Circuit Help Ci Abort Edit Circuit Press F1 for context sensitive Helps Undo CtrltZ Cut Circuit Copy Circuit Ctrl C ea Paste Circuit Ctrl y PE block is optional Find CerltEr Goto Ctrl g I O Table FZ View I O Type on Ladder F3 Edit Custom Function F ring Comparison Clear Custom Function as NOTEQUAL Cut Circuit You can remove a number of circuits from the current ladder program and store them temporarily in the clipboard for pasting into another part of the present ladder program or into another file altogther In other words it lets you move a block of circuits from one part of the ladder program to another part or into another file Please note that you can t UNDO a Cut Circuit operation However if you do make a mistake you can always paste it back in its original position Copy Circuit Ctrl C You can copy a block of circuits from the current ladder program and store them into the clipboard for pasting into another part of the present ladder program or into another ladder program file altogther Paste Circuit Ctrl V When you execute this command the block of ladder circuit which y
190. stom function may work the same way as any other special functions in the TRILOGI ladder diagram programming environment When you are in ladder circuit editing mode press lt Ins gt key to open the Ins Element menu Select the item q FUNC o 0 FUNC to create a special function output A pop up Select a Function menu will appear http localhost 9080 Help tbasic tbasiclntro htm 1 of 8 3 30 2005 7 52 43 PM TBasic Introduction O x EO v h DNCtr Decrement Rev Counter ESC Ctr Reset Counter pCt r Increment Rew Counter AVseq Advance Sequencer BSseq Beset Sequencer Steph Set Sequencer to Step N Latch Latching Pelay utput Clear Clear Latched Relay ILock Interlock Begin ILof Interlock End ADIFU Differentiate Up ADIFD Differentiate Down Cus Fr Custom Function dCusF Diff Up Custom Funes MakST Master Peset Comparison operators are lt is the NOT ESUAL oper These operators only vor use the STRCMP fucntion NOTEQUAL H 3 4 5 6 7 g E A E c D IE F Select either item D CusFn Custom created Function or E dCusF Diff Up Custom Functn to create a CusFn You will be required to enter the selected custom function number from 1 to 256 Note that CusFn created using E Diff Up Custom Functn dCusF is a Differentiated Up instruction This means that the function will be executed only once every tim
191. t that the file is not found Note that this command only opens the source file based on file name matching It does not verify whether the file has been modified It is the user s responsibility to ensure that the file stored in the server is the same one that has been compiled and transferred to the PLC http localhost 9080 Help controllermenu htm 1 of 2 8 30 2005 7 52 44 PM Controller Menu Note that if you have created a new file i e the file name is Untitled and then attempt to perform on line monitoring this command will be called automatically to try to open a file that matches the PLC The command is also invoked when you select a PLC with a different ID either from the Controller menu or from within the Full Screen Monitoring window 6 Get PLC s Hardware Info You can find out the PLC s firmware version number the maximum of input outputs relays timers and counters supported on this PLC as well as the total amount of program memory available The same info will be displayed when you try to transfer a program to the PLC 7 Set PLC s Real Time Clock The PLC s real time clock RTC which includes both date and time can be set quickly using this command When you execute this command a dialog box which contains the year month day hour min sec and day of week are displayed for you to enter the value The dialog box is initially filled with value taken from the client s computer s own calendar and clock You
192. t READ filename gt lt gt Upon receiving this command and if the specified filename is successfully opened the TLServer will begin sending all the ASCII characters contained in the text file to the PLC Note that line breaks in a text file are sent to the PLC as CR character only and not as a CR LF pair As such your PLC program can easily use the INPUT 1 command to read in all the CR terminated text string one string at a time and then interpret or convert the data as necessary After sending out the last byte in the data file to the PLC the TLServer will send a CR terminated acknowledgement string lt OK gt to the PLC to signal that the READ command have been properly completed 5 Read Real Tim Clock From TLServer This service allows the PLC to get the Real Time Clock data of the TLServer i e the PC in which the TLServer runs on The type of data is indicated in the Date n and Time n parameter which correspond to the soumat DATE n and TIME n system variables in TBASIC Se a 1 gt ie Date 1 year Date 2 month Date 3 day Date 4 dayofWeek READ ete AS Time 1 hour Time 2 minute Time 3 second SU For full synchronization use the lt READ RTC gt tag which returns the values of the Date 1 Date 2 ae Date 2 gt Date 3 Date 4 Time 1 Time 2 Time 3 in 7 CR terminated ASCII strings lt READ Date 3 gt Upon receiving this command the TLServer will immedia
193. tatement As long as the DialModem I O bit is on the custom function will re dial and attempt to make another connection if it notices that the Connected bit has been turned OFF for whatever reason http localhost 9080 Help plc2modem htm 4 of 4 3 30 2005 7 52 26 PM Logging In to TLServer Log In to TLServer When you execute any TRILOGI command under the Controller menu for the first time you will always be presented with the Username Password dialog box as shown below Login To TLSever x TLServer s IP Address port 127 0 0 1 9080 DetectiD 01 Singe node ID Hex Use Http Proxy Server Username samples Password V Memorize Username amp Password Cancel OK ID Hex Since a TLServer can be connected to as many as 256 M series PLCs each PLC must have a unique ID for identification You will need to enter the matching PLC s ID here for successful communication with the PLC The number entered should be in hexadecimal hence the range of acceptable numbers is from 00 to FF If there is ONLY ONE PLC attached to TLServer and you are not sure of its ID you can ask TRILOGI to detect its ID by clicking on the Detect ID button This method however will not work if there are more than one PLC being connected to the TLServer since all connected PLCs will attempt to send their IDs simultaneously and therefore TLServer will receive garbled data Username amp Password You must have a username and pass
194. tely send the relevant clock calendar data lt gt as CR terminated ASCII string s to the PLC Your PLC program can easily use the INPUT 1 lt READ Date 4 gt command to read in the data and convert them into integers using the VAL command Note that lt gt unlike the READ file service the TLServer does not send lt OK gt string after performing the lt READ Time 1 gt READ RTC service lt gt lt READ Time 2 gt Ef lt READ Time 3 gt EMS http localhost 9080 Help fileservice htm 2 of 2 3 30 2005 7 52 25 PM PLC Hardware Setup PC amp PLC Hardware Setup and Configuration 1 Single PLC to One PC Running TLServer The simplest configuration will be when there is only one PLC and one PC involved You simply connect the PLC s RS232 port to the any of the RS232 serial port COM1 to COM4 of aPC and run the TLServer on it If you use other than COM1 on your PC you will need to_ configure TLServer s serial port to match the communication port number 2 Multiple PLCs to One PC Running TLServer You can connect multiple M series PLCs to a single PC running TLServer by connecting every PLC s RS485 in a daisy chain manner to the PC s RS232 port You do need to purchase a RS232 to RS485 converter to connect the PC s RS232 port to the RS485 network Please refer to the PLC s User Manual for details on installation issues regarding electrical specifications and termination requirements when connecting the PL
195. tems in the I O table up or down or insert a new label between two adjacent pre defined labels Simply press the lt Ins gt key or Right Click the mouse button to pop up the Shift I O menu which allows you to shift the selected I O However please note that if you shift the I O down the last entry in the I O table e g Input 256 will be lost b TRILOGI Version 5 allows I O label names of up to 10 characters However if you wish to keep compatibility with Version 4 x you should use no more than 8 characters to define the I O names In addition since Version 4 x does not support label name definition for CusFn it should not be used if compatibility is important to you http localhost 9080 Help iotable htm 3 of 3 3 30 2005 7 52 32 PM tbasic TBASIC Statements amp Functions Quick Reference Links ABS ADC CLRIO CRC16 GetHigh16 GOTO HSTIMER If Then Else LEN LET NETCMD OUTCOMM PMOFF PRINT ReadMB2 REFRESH SAVE EEP SAVE EEP SetDAC SetHIGH16 SetProtocol SetPWM StepHome StepMove STRCMP STRLWR VAL WHILE ASC CALL CHR CLRBIT DELAY FOR NEXT GetCtrSV GetTimerSV HEX HEXVAL HSCDEF HSCOFF INCOMM INPUT INTRDEF INTROFF LOAD EEP LOAD EEP LSHIFT MID PAUSE PiDcompute PiDdef PMON PulseFrequency PulsePeriod PulseWidth ReadModbus REM RESET RETURN RSHIFT SetBAUD SetBIT SetCtrSV SetTimerSV SetLCD SetLED SetlO SetPassword SetSystem STATUS StepCount StepCountAbs StepMoveAbs StepSpeed Step
196. ter table by pressing the lt F2 gt key and scroll to the Counter Table Any counter to be used as sequencer can only assume label names Seq1 to Seq8 corresponding to the counter numbers For e g if Sequencer 5 is to be used Counter 5 must be defined as Seq5 Next enter the last step number for the program sequence in the Value column of the table Construct a circuit that uses the special function Advance Sequencer AVSeq The first time the execution condition for the AVseq function goes from OFF to ON the designated sequencer will go from inactive to step 1 Subsequent change of the sequencer s execution condition from OFF to ON will advance increment the sequencer by one step This operation is actually identical to the UPctr instruction The upper limit of the step counter is determined by the Set Value SV defined in the Counter table When the SV is reached the next advancement of sequencer will cause it to overflow to step 0 At this time the sequencer s contact will turn ON until the next increment of the sequencer This contact can be used to indicate that a program has completed one cycle and is ready for a new cycle Accessing individual steps of the sequencer is extremely simple when programming with TRILOGI Simply create a contact NC or NO in ladder edit mode When the I O window pops up for you to pick a label scroll to the Special Bits table as follow http localhost 9080 Help sequencer htm 1
197. the PLC s PWM resolution The PWM frequency is set to 2000 Hz or nearest For a 10 bit PWM the best resolution is about 1 1024 0 1 This means that in the above example the PWM will be rounded to 50 Please check the target PLC s manual for the actual resolution lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic setpwm htm 3 30 2005 7 52 41 PM setsystem SETSYSTEM n data Applicable only to M PLC with firmware version gt r34 Purpose Allow changing of certain default system s parameters Currently only the following data are defined More parameters may be defined in future data of wait states multiple of 0 15s while waiting for a response from a slave controller after executing a NETCMD or a READMODBUS WRITEMODBUS command Default number of wait state 1 e g SETSYSTEM 1 3 The PLC will wait 3 x 150ms 450ms for a valid response from the slave controller 0 Respond as fast as possible to hostlink commands received from the host computer or another PLC 1 default at least a 0 01s 10ms must lapse before responding to host link commands received from the host computer or another PLC This delay is needed for auto switch type RS485 converter to allow time for the hardware transceiver to switch direction n 1 of retry if NETCMD or READMODBUS WRITEMODBUS failed to get a valid response from 2 slave controller Default 2 a total of 3 tries e g
198. the email has been sent In addition this provides a way for the PLC program to know whether the TLServer is functioning properly and whether the email request has already been processed However do take note that even if the emEvent 1 has been reset it does not guarantee that the email has been correctly dispatched to the recipient Success of emailing is subject to the proper configuration of the TLServer the network quality and availability of the SMTP server at the moment when TLServer tries to send out the email For urgent situations you may consider sending out multiple emails periodically until the user has attended to the machine http localhost 9080 Help emailsetup htm 3 of 3 8 30 2005 7 52 27 PM ladder program Tutorial Ladder Logic Programming Tutorial gt Your Assignment Creating Your First Ladder Logic Program In this tutorial we would like to create a simple program as shown below TRILOGI Version 5 32 C TRILOGI TL5 usr samples Demo PC5 Source Local Disk E BR File Edit Controller Simulate Circuit Help Circuit 1 Press F1 for context sensitive Helps Start Stop Run RLY Run Duration TIM Step Manual Seq1 Avseq Cik 0 5s Manual Simply follow the steps below to create your first ladder logic circuit e Open pull down File menu and select New e You should now be in the Browse mode of the logic editor The vertical line on the left end of the screen is the power li
199. tics 8 lt F9 gt Runs the simulator without resetting any I O 9 lt Ctrl F9 gt Resets all I Os and then runs the simulator 10 lt Ctrl F8 gt Resets all I Os except inputs and then runs the simulator 11 lt Up gt lt Dn gt lt PgUp gt and lt PgDn gt keys Use the up down cursor keys to move the marker to other circuits and the Circuit display at the upper status line will simultaneously reflect the change If you attempt to venture beyond the screen the logic editor screen will scroll The lt PgUp gt and lt PgDn gt keys can be used to scroll one page ata time ll The Circuit Menu http localhost 9080 Help laddereditor htm 1 of 6 3 30 2005 7 52 46 PM TRILOGI Ladder Editor Reference EA TRILOGI Version 5 0 Untitled pc5 File Edit Controller Simulate Circuit 2 ett teen re SSF for context sensitive Helps Insert Circuit Move Circuit Append Circuit DEFHOME Delete Circuit Insert Comments Comments are specific remarks used by a programmer to explain various characteristics of a program segment and are ignored by the compiler TRILOGI Version 5 0 allows comments to be freely inserted between circuits Execute this command and the Comment Editor will be opened The comment editor allows you to enter any text you like that best describe the working of the circuit All standard text editing keys including cut and paste are applicable to the Comment Editor When you have finished editing the
200. to fast changing inputs For delays longer than 0 1s a much better way is to invoke the regular PLC timer and use the timer contact to trigger another custom function at the end of the delay For TIOOMD and T100MX the minimum delay provided by this function is 10ms and the resolution of the time delay is 10ms This means that if you execute DELAY 155 the actual delay will be rounded to 160ms whereas for DELAY 154 the actual delay will be 150ms lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic delay htm 3 30 2005 7 52 34 PM fornext FOR NEXT Purpose To execute a series of instructions for a specified number of times in a loop FOR variable x TO y STEP Z NEXT where variable may be any integer variable A to Z only and is used as a counter x y and z are numeric expressions STEP z is an optional part of the statement X is the initial value of the counter y is the final value of the counter Program lines following the FOR statement are executed until the NEXT statement is encountered Then the counter is incremented by the amount specified by STEP If STEP is not specified the increment is assumed to be 1 A check is performed to see if the value of the counter is greater than the final value y if STEP is positive or smaller than the y if STEP is negative If it is not greater the program branches back to the statement after the FOR statement and the process is repeat
201. tor view VO only Cancel Username Password Entry Username If you make changes to the Username the new username will take effect The directory that contains the PC5 file of this user will also be renamed to the new name However renaming of Administrator is not allowed and is prohibited by the program Password Enter the desired password for this user You will be prompted to re enter the password to confirm When a user try to access the PLC using TRILOGI he will need to supply the matching Username Password pair to gain access Make sure you don t leave without defining the password otherwise anybody will be able to gain access to the PLC if he knows the username Access Level Click on one of the 3 radio buttons to select the access level assigned to this particular user TLServer allows you the Adminstrator to control what the user is allowed to do to the PLC when he she log in Only three access levels are allowed as explained below Programmer Obviously if the user is a programmer debugging your PLC s program he must have full access to the PLC including the ability to transfer a new program to it e User A User can access the PLC to monitor the variable or control the I O such as turning ON OFF certain devices However User will not be able to transfer program to the PLC Visitors Occasionally you may want to allow some people to view the I O logic state or internal variables but not to allow them to
202. trapped in an endless loop execution TRILOGI simulator attempts to detect this situation by giving a warning message if a loop is executed for an unduly large number of loops WHILE S 1 IF INPUT 1 amp amp H0002 O ENDWHILE ENDWHILE Execution will only be terminated when input 2 is ON WHILE loops may be nested i e a WHILE loop may be placed within the context of another WHILE loop Each Loop must have a separate ENDWHILE statement to mark the end of the loop K Basic to TBASIC Reference Manual http localhost 9080 Help tbasic while htm 3 30 2005 7 52 34 PM getcirsv GetCtrSV n Purpose Return the Set Value S V of the Counter n n should be between 1 and 128 Note Although the present values P V of counters n can be accessed directly as variables CtrPV n the Set Values however can only be obtained by this function See Also GetTimerSV SetCtrSV SetTimerSV lt l Basic to TBASIC Reference Manual http localhost 9080 Help tbasic getctrsv htm 3 30 2005 7 52 34 PM getcirsv GetTimerSV n Purpose Return the Set Value S V of the Timer n n should be between 1 and 128 Note Although the present values P V of timers can be accessed directly as variables TimerPV n the Set Values however can only be obtained by this function See Also GetCtrSV SetCtrSV SetTimerSV lt Basic to TBASIC Reference Manual http localhost 9080
203. ulator screen you will find 8 text fields adjacent to the label ADC1 8 The programmer can enter the expected ADC values for ADC 1 to 8 in these text fields In effect these simulate the potential signal strength at their respective ADC input pins These values will be captured by the TBASIC program when an ADC n command is executed in a custom function for ADC n http localhost 9080 Help tbasic tbasicIntro htm 4 of 8 3 30 2005 7 52 43 PM TBasic Introduction Note values entered at the ADC input text field will only be updated when the user press the lt Enter gt key or the lt TAB gt key to ensure that only finalized entries are used by the TBASIC program otherwise imagine if you try to enter the value 123 at ADC 1 the program would first be receiving 1 then 12 and then 123 which was not the intention 4 2 Viewing TBASIC Variables The values of the internal variables as a result of the simulation run can be viewed by pressing the lt V gt which stand for View key or by clicking on the View button while in the simulation screen A pop up window will appear with the values of all the variables as well as special peripheral devices supported by TBASIC The variables are organized into 4 screens You can move from screen to screen using the left right cursor keys or by clicking on the navigation buttons View Variables Integers Mk x part mo et ga oo te i on on it i aooo00so ENN D0000 oot BaH r
204. urpose This function returns a sub string of m characters from x beginning with the nth character x any string expression variable or constant n any numeric expression producing a result of between 1 to 255 m any numeric expression producing a result of between 0 to 255 Examples AS MID Welcome to TBASIC 4 7 Comments A should contain the string come to lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic mid htm 3 30 2005 7 52 38 PM NETCMD NETCMD ch x Purpose This function sends a multi point host link command string specified in the x via serial port ch to another M series or H series PLC It will then wait for a specified amount of time for a response string from the other PLC and this response string is then returned ch This refer to the communication port Please refer to the target PLC for details x contains a valid host link command in multi point format excluding the Frame Check Sequence FCS and the terminator characters and CR NETCMD function will automatically compute the FCS and append to the end of x and together with the terminator characters will be sent to the other PLC via COMM ch Note 1 If the target PLC does not respond then this function returns an empty string 2 This function checks the FCS of the response string and if the FCS is wrong it indicates an error in the serial reception and it will return
205. vance Sequencer 15 RSseq Reset Sequencer Steph Set Sequencer to Step H 7 Latch Latching Relay Output Clear Clear Latched Relay ILock Interlock Begin ILoftt Interlock End ADIFU Differentiate Up ADIFD Differentiate Down CusFn Custom Function IE dCusF Diff Up Custom Funcs MaRST Master Reset Reversible Counter Functions DNctr Upcir and RSctr The DNetr UPctr and RSctr functions work together to implement reversible counter functions on any of the 128 counters supported by TRILOGI The ordinary down counter created by clicking on the icon essentially decrements the counter value by 1 from the Set Value SV and will stop when its count becomes zero Unlike the ordinary down counter a reversible counter is a circular counter which changes the counter present value PV between 0 and the SV When you try to increment the counter past the Set Value it will overflow to become 0 Likewise if you try to decrement the counter beyond 0 it will underflow to become the Set Value All three counter functions DNctr UPctr and RSctr can operate on the same counter i e assigned to the same counter label on different circuits Although these circuits may be located anywhere within the ladder program it is recommended that the two or three functions which operate on the same counter be grouped together in the following order DNctr Upctr and RSctr Note that NOT all thr
206. will have to manually enter the ID into TRILOGI login dialog box to communicate with the PLC 3 To regain communication with the serial port that has been changed http localhost 9080 Help tbasic setprotocol htm 1 of 2 3 30 2005 7 52 40 PM SETPROTOCOL by SETPROTOCOL command you will have to execute another SETPROTOCOL function that set it to mode 0 or 5 assuming it has been written into the program or you must reset the controller by turning OFF the power and then ON again If you execute a SETPROTOCOL using the 1ST Scan then you must turn on DIP switch 4 before powering up the PLC so that the SETPROTOCOL command will not be executed and you can regain control of the PLC using TRILOGI lt Basic to TBASIC Reference Manual http localhost 9080 Help tbasic setprotocol htm 2 of 2 3 30 2005 7 52 40 PM SETPWM n SETPWM n x y To set channel n of the PLC s Pulse Width Modulation PWM output with duty cycle represented by x 100 and at a frequency in Hz given by parameter y n must range between 1 and 8 Once set the PWM channel will latch the set value until the next SETPWM statement on the same channel is executed x should range between 0 and 10000 If x is more than 10000 the duty cycle will be set to 100 Examples SETPWM 1 4995 2000 Comments PWM channel 1 will be set to operate at 49 95 duty cycle for PWM that can resolve up to 0 01 The actual resolution will depend on
207. wn in the table The equivalent keyboard number is shown as a small numeral at the lower right corner of the icon The lt gt key is the quickest way of converting a normally open contact to a normally closed one and vice versa Pressing the lt E gt key when a contact or coil is selected allows you to edit the label name directly Note that it is the user s responsibility to ensure that the label is valid http localhost 9080 Help editladder htm 3 of 3 3 30 2005 7 52 46 PM TRiLOGI Ladder Editor Reference TRiLOGI Ladder Logic Editor TRiLOGI s ladder logic editor window lies between the main menu bar along the top of the screen and the help message line along the bottom of the screen The cursor will appear in the window whenever you are in the logic editor The ladder logic editor comprises two modes the browse mode and the circuit editing mode We shall explain the operation of both modes I The Browse Mode You are normally in the browser mode when you start up the program The browse mode allows you to manipulate the whole ladder logic circuit as a single entity you can view any circuit make copies of it move it to another location or delete it entirely Each complete ladder logic circuit is given a circuit number You should see a small red color marker showing you the currently selected circuit The circuit number of the selected circuit is shown on the upper status line as Circuit xxx Mouse Actions Since
208. word defined in TLServer and the same username password pair must be correctly entered here for authentication TLServer s IP Address Port f you run the TL5 as a local application on your PC you will need to enter the TLServer s IP Address Port However when running the TL5 as an applet off your Internet browser this field is not editable and it will automatically be filled with the IP Address of the TLServer from which the applet was loaded This is because the Java Security model dictates that a Java applet can only communicate with the server from which it was loaded also known as applet can only phone home Hence for applet you will not be allowed to switch to another TLServer of a different IP address Therefore if TL5 is run as an application it is very powerful because it is able to program control monitor any M series PLCs in any part of the world All you need is just an IP Address and the Port number of the TLServer as well as the authorized username and password to gain access to the PLC If you leave this field blank TRILOGI will automatically fill it with the default local host address 127 0 0 1 9080 Use HTTP Proxy Server http localhost 9080 Help login htm 1 of 3 8 30 2005 7 52 26 PM Logging In to TLServer 1 Unchecked If this field is unchecked then TRILOGI will communicate with the TLServer by opening a direct TCP IP socket connection This is the fastest and most efficient method of performing
209. y will also be energized However its contact will only be closed after 100 seconds when its present value counted to 0 To break the latched On Run relay we must energize the Stop input momentarily to break the power flow Try it now 9 Let s restart the system by turning ON the Start input momentarily again Next we want to turn ON the Manual input Move the mouse pointer to the Manual input and then press the right mouse button Manual input will be stuck at ON state even after you have released the right mouse button Click on Manual button using the right mouse button again and it will be turned to OFF 10 When Manual input has been turned ON the running lights should stop This is because the normally closed contact of the Manual input in Circuit 2 is now turned OFF and the 0 5s clock pulse could not trigger the AVseq function anymore 11 If you now left click on the Step input the running lights will move one step at a time in response to your mouse click Observe the Seq1 x contact with respect to the counter value of Seq1 and the logic of this circuit become very clear instantly 12 Observe that the timer Duration continues to count down every 0 1 second and when it reaches 0 the Duration output coil label will be highlighted You can use this timer to stop the program by connecting a N C Duration contact to Circuit 1 This is left as an exercise for you http localhost 9080 Help ladde
210. y column has its own vertical scroll bar You can use the mouse to scroll each column independently to locate the desired I O 3 The label names for the inputs outputs relays timers and counters defined earlier in the I O tables automatically appear in their respective columns To the left of each label name column is an LED lamp column which indicates the ON OFF state of respective I O A red color lamp represents the ON state of an I O whereas a dark grey color lamp represents an OFF state The I O number is indicated in the middle of the lamp The simulator require the use of the mouse to work properly so it is important to remember the mouse button actions as follow Turn ON the I O when pressed Lett Mouse Bunton Turn OFF when button is released Toggle the I O when pressed once Right Mouse Button i e OFF becomes ON and ON become OFF 4 Our ladder program requires us to push the Start button momentarily You can simulate this action by moving the mouse pointer to the Start label or the LED lamp and press the LEFT mouse button once and then release the button The action starts 5 At this time notice that the relay RUN is latched ON and the timer Duration begins to count down from the value of 1000 every 0 1sec and the Output 1 8 are turning ON OFF sequentially in a running light pattern Sequencer Seqi in the Ctr Seq column begins to count upward from 1 to 3 and then overflows to 0 and repeats continuously
211. y functions will be skipped This is useful if you need to browse through all the custom functions to locate something If you wish to copy cut text from one CusFn and paste to another you will have to use the lt Ctrl C gt lt Ctrl X gt and lt Ctrl V gt keys 11 Clear Custom Functions This command allows you to select a range of custom functions whose content you want completely cleared You will be prompted to select the range of custom functions to erase Note that this action is not undoable http localhost 9080 Help editmenu htm 3 of 3 3 30 2005 7 52 32 PM I O Definition Tables I O Definition Tables Unlike many ladder logic editors which are numeric centric meaning all ladder components are referred to by their I O numbers TRILOGI programs are labelname centric because TRILOGI constructs the ladder logic strictly based on the use of label names and the compiler generates the correct I O representation based on the labelnames defined in the I O table The advantages are that ladder programs constructed from label names are far easier to understand and remember and you can rearrange the I O location for a certain label without changing the program at all e g move a load to another output driver You can open the 1 O table by pressing the lt F2 gt key It is good to remember this short cut key since you will be using it very often The first time you press lt F2 gt the input table will be opened You can then sc
212. y its index enclosed between the two square brackets and e g DM 3 DM A B 5 where A and B are integer variables iii System variables These are special integer variables which relates to the PLC hardware as follow Inputs Outputs Relays Timers and Counters Contacts The bit addressable I Os elements are organized into 16 bit integer variables INPUT n OUTPUT n RELAY n TIMERBIT n and CTRBIT n so that they may be easily accessed from within a CusFn These I Os are arranged as shown in the following diagram VO numbers 33 aoe 17 16 Bit 15 INPUTS INPUT 2 INPUT 1 OUTPUTT3 OUTPUT 2 OUTPUT 1 RELAYS RELAY RELAY 1 TIMERBIT 3 TIMERBIT Z2 TIMERBIT 1 CTRBIT 3 CTRBIT 2 CTRBIT 1 Timers and Counters Present Values The present values PV of the 128 timers and 128 counters in the PLC can be accessed directly as system variables timerPV 1 to timerPV 256 for timers present value ctrPV 1 to ctrPV 256 for counters present value DATE and TIME Variables The PLC s Real Time Clock RTC derived date and time can be accessed via variables DATE 1 to DATE 3 and TIME 1 to TIME 8 respectively as shown in the following table Date Time YEAR DATE 1 HOUR TIME 1 ont DATE 2 MINUTES TIME 2 DATE 3 SECOND TIME 3 Es Ca es O o DATE 1 may contain four digits e g 1998 2003 etc http localhost 9080 Help tbasic integer htm 2 of 4 3 30 2005 7 52 43 PM Integer DA

Download Pdf Manuals

image

Related Search

Related Contents

Marley PRWB3280NU Instructions / Assembly  Graco Inc. 200 Convertible Paint Sprayer User Manual  取扱説明書  PlateSpin Portability Suite 8.1 – Konfigurationshandbuch  施工説明書 - LIXIL  Fujitsu ESPRIMO E920 0-Watt  INSTRUCTIONS D`INSTALLATION Système bibloc sans conduits R  PDF Screen - About This Particular Macintosh  STUDIO 7 Service Manual  King Canada 8489 User's Manual  

Copyright © All rights reserved.
Failed to retrieve file