Show Posts

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


Messages - support

Pages: 1 ... 5 6 [7] 8 9 ... 212
91
Technical support / Re:fx2424 output current
« on: December 07, 2018, 08:11:04 AM »
Gary's suggestion is mostly correct - Thanks for the great explanation about the behavior between MOSFET and Bipolar.

What is the peak current draw by your solenoid? What is the longest duration that the solenoid will be energized?

The output 17-24 on the Fx2424 are MOSFET that can handle peak current of 1A but continuous current should be kept < 250mA. They also have short circuit protection so are reasonably robust.

If the solenoid are energized only briefly (a few seconds) and then turned OFF you probably should be able to parallel two or more of the outputs to handle the high current. But if you expect the solenoid to be energized most of the time then a higher current external buffer is recommended. You can construct one quite easily using P-channel MOSFET with the PLC's output driving the gate. (see below image that found on Google)


92
Technical support / Re:Watch dog timer.
« on: December 07, 2018, 07:46:25 AM »
Thanks for reminding me about the INTRDEF 100,n,1 stuff.

It is not documented anywhere that I have found.  

The help info for INTRDEF from within the CF editor looks like this:

Enable Interrupt Input channel ch.
ch = interrupt channel number (pls refer to PLC installation guide)
fn_num= Custom Function number to execute when interrupt pin changes according to the defined edge. This is the Interrupt Service Routine ISR.
edge = Positive number means rising edge-triggered. 0 or negative number means falling-edge triggered.


No mention of Undefined interrupt trap (ch# 100).

The "help" mentions the "PLC installation guide".  However your website's product documentation section doesn't have any installation guides.

There are user manuals on the website. I have gone through each of the user manuals there is no mention of INTRDEF with ch# 100.

The TL6 Reference Manual does give some generic info on INTRDEF, but suggested that the Ch argument is from 1..8 (physical inputs) only.

The TL7 addendum makes no mention of INTRDEF.

Is there any change to TBASIC/PLC firmware that would allow a user-defined interrupt CF to determine, what interrupt caused the exception?  Or the CF number that was executing when the exception occurred?

Gary D


You are correct that instead of "Installation Guide" they should be called "User Manual".  I just checked - For FMD88-10 and FMD1616-10 You can find the INTRDEF 100, n mentioned on page 1-14 and 9-2.  There is a syntax error here - it should have been "INTRDEF 100, n, 1" otherwise it wouldn't compile. But you are correct that this is not mentioned in Fx2424 and Fx1616 User Manual and we will get this fixed.



93
Technical support / Re:use of the goto @n statement
« on: December 07, 2018, 07:28:13 AM »
We have confirmed that the bug was caused by the conversion of the unsigned byte (0-255) into signed value in Java. This bug was introduced when the original DOS version of TRiLOGI (written in Turbo C) was ported to Java in early 2000, and Java treated "byte" as signed value (Java does not support unsigned anything). So you already know what happened when unsigned value was treated as signed... Anyway this will be fixed in next release of TRiLOGI 6 and 7.

Once again thank you for helping us with the bug report. This is a minor bug that would not affect the PLC program since it wouldn't compile so you get to correct it by using a small n value for the GOTO @n as what you already did.

94
Technical support / Re:use of the goto @n statement
« on: December 06, 2018, 10:39:32 PM »
Thanks for the report. It is indeed the first time we receive report of this issue.  We will check if we should fix this and let it accept 0-255 or just change the documentation to state that it is valid between 0 and 127. Few people use more than a few of these GOTO labels inside a custom function so 0-127 would be sufficient.

Thanks again.

95
Technical support / Re:Watch dog timer.
« on: November 29, 2018, 07:03:46 PM »
If you have enabled WDT but there is no custom functions at all in the program there is no place to run the reset WDT. So again the firmware will automatically reset the WDT at the end of a ladder logic scan since this is considered normal program. If the CPU crash at some unexpected location it is not going to execute the ladder program to the end in order for the WDT to be reset by the ladder logic scanner, and a WDT time-out will occur.

Are you connected to the PLC via the Ethernet? A reboot by WDT time out will leave the Ethernet connection "half-open" and the i-TRiLOGI does not know that the connection is lost until after some repeated time-out. That is why you need to disconnect from the PLC in order to connect again. If i-TRiLOGI is monitoring the PLC via serial port then you should not need to disconnect and reconnect again.




96
Technical support / Re:Watch dog timer.
« on: November 27, 2018, 09:50:55 PM »
Thanks for reporting the test.

You may have guessed it already - The TBASIC firmware would reset the WDT when you run the DELAY function so multiple DELAY functions executed one after another is not going to trigger the WDT reset.

Our thinking is that if you put a DELAY 1000 or even DELAY 10000 you probably know what you are doing,  and we don't want to jump the gun by forcing a WDT reset on such actions.

Basically we intend for the WDT reset to happen only when something really unexpected take place and we did not have the intention of enforcing the programming discipline on the programmer to remember to do WDT reset everywhere if they choose to enable the WDT.  

We think many programmers probably develop their applications program without the WDT initially and come production time they decide to add in the WDT. If the firmware doesn't reset WDT in most of the programming construct automatically, that will mean the programmer will be required to check the program carefully to add the reset WDT function everywhere that the program may spend too long in a certain loop. Even in the best case there is still a good chance that the programmer may miss out a function or two during their inspection and the machine then get shipped to the customer... now their customers will report that the controller seem to reboot itself every now and then for no good reason - we are probably going to get an earful from irritated programmers...

We hope the above explanation make sense. Thanks for the feedback.




97
Technical support / Re:TBasic help file issue
« on: November 27, 2018, 12:23:08 PM »
Sorry for the mistake. The errors have been fixed and the tbasic.htm page now should display all the TL7 commands.

98
Technical support / Re:Watch dog timer.
« on: November 26, 2018, 10:02:01 PM »
Sorry for the late reply due to all the holiday season lethargy...

The firrmware performs WDT reset when the program is inside a FOR.. NEXT loop. Some FOR NEXT loop may take longer than the WDT time-out period to execute and we didn't want the processor to be reset by the WDT when  the program is performing a legitimate FOR..NEXT loop that takes a long time to complete.

We believe more applications could be caught by an unexpected WDT reset if we don't automatically perform a WDT reset inside a FOR NEXT loop.  It is more likely for spaghetti GOTO statements inside a function to go ashray than a structured FOR... NEXT loop or WHILE..ENDWHILE loop, and hence we don't automatically perform WDT reset for the structured loop. We are not purist in this sense but just trying to minimize the potential problem that user may encounter if we let WDT expires inside a structured loop and depend on the programmer to reset the WDT in a timely manner.

You can use the INTRDEF 100, n, 1 to set an undefined interrupt trap. n is the custom function number. This command is described in the help file for INTRDEF.

Yes you can use both WDT and the undefined interrupt trap at the same time. That allows you to catch the undefined interrupt and you can decide if it is safe to let the execution resume or force a processor reboot.

99
General Discussions / Re:settimer sv
« on: November 24, 2018, 06:28:12 PM »
Yes both of these are TBASIC codes to set the timer and counters preset values.

Note that for Fx class PLCs the changes are immediately non-voilatile since they  are stored to the FRAM memory.

For FMD and Nano-10 you will need to run the SETSYSTEM command to store these new values to the flash memory. So it is not recommended to make changes to these set values very frequently as it will affect the SCAN time due to the need to erase a bank of flash memory and then backup the whole bank to the flash memory.

One other way to start a timer or counter in TBASIC is to assign their PV to a value.

E.g.
TIMERPV[ tim1 ] = DM[100]
CLRIO  tim1   ' Timer #1 label name is tim1.

100
Technical support / Re:Saving a CSV File
« on: November 13, 2018, 08:21:23 PM »
Yes but you need to run a server software on your PC that can receive data from a connected TCP/IP device.

The simplest server for such an application would be the TLServer that you already have. You need to run the TLServer and the PLC would connect to the TLServer IP address and use the <REMOTEFS> tag.

You can refer to the sample program in "TestEthernet.PC6" that you can find in the following folder:

C:\TRiLOGI\TL6\usr\samples\Ethernet

The example can be found in Circuit #10 and a screen short is shown below.

If your PC has a PHP engine running you could also write a PHP script and wait for HTTP GET command sent by the PLC. The PHP script can then save the data to data file or even directly update to MySQL database. You can design your own message exchange format between you PHP script and the PLC. This is more advanced stuff but can be as powerful as you want them to be.

101
Technical support / Re:cannot login to plc
« on: July 19, 2018, 10:49:15 PM »
When you turn on DIP switch #3 the PLC will be assuming the IP address of 192.168.1.15  - is that what you use to try to connect to the PLC?

You can reset the PLC's Ethernet setting by using TLServer and connect to the PLC via its serial port. Then at the :Ethernet & ADC Configuration" screen you click on the "Factory Default" button to fill up all the default parameters and you can then write these parameters to the PLC. After a power on reset you should be able to connect using the default IP address and port number.

102
Technical support / Re:cannot login to plc
« on: July 18, 2018, 09:32:02 PM »
Did you enable the username/password settings in the "Ethernet & ADC Configuration"? If so it will require you to key in the username and password that you have defined in order to login via the Ethernet.

If you are able to connect via the TLServer and serial port, then you can connect to the PLC and retrieve the Ethernet settings and disable the username/password or add in a correct username/password to protect the connection.

103
Technical support / Re:Suspending a program
« on: June 28, 2018, 09:54:16 AM »
You can add a PAUSE statement at the place you want the PLC to simply stop running until it is re-started.

104
Technical support / Re:16 or 32 bit DM confusion
« on: June 22, 2018, 03:20:32 PM »
In TBASIC all operators are operating on 32-bit  number.

Any integer numbers are always converted into 32-bit integer before applying the math or comparison operation.

So even if a number is contained in DM[n] the number is first converted ito a 32-bit number and thus any comparison has to be made against a 32-bit number. If DM[n] contains a negative number it will be sign-extended during conversion.

105
Technical support / Re:Webserver and excel link on startup
« on: June 06, 2018, 09:06:11 PM »
What is the MS Excel version?

Excellink communicates using a Java DDE client libary that makes connection with the MS Excel. The problem is that it is hard to pin point where the communication is lost. Is it from ExcelLink, the DDE client library, DDE server on the MS-Excel or Excel itself.

When you lose communication, would restarting the ExcelLink solve the problem? If not, do you have to also restart the MS Excel to resolve the problem?

If you reduce the number of active programs running on your computer to just ExcelLink, MS Excel and (optionally) the TLServer, do you still lose communication often?  How long do you run the program before it starts to lose communication?


Pages: 1 ... 5 6 [7] 8 9 ... 212