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] 2 3 ... 212
Technical support / Re: PID control of two contradictory PWM signals
« on: February 20, 2024, 09:37:00 PM »
The PLC can provide the PWM signal using the SETPWM command. That should be the easy part and I don't think you have any trouble with that.

We have no knowledge of how a system you described would work. What device is currently providing the two PWM signals you mentioned to the engine.

If you fixed one PWM signal and vary the second signal you might be able to plot out a curve of speed vs PWM2. You can then increment the PWM1 duty cycle and repeat the above. In the end you may have a series of charts that could give you a better idea of how the engine speed changes with respect to each PWM signal.

Once you get a better idea of how the speed vary with respect to the PWM duty cycle of each signal you may be able to work out an algorithm for controlling the engine.

Technical support / Re: Difficulty Troubleshooting Break Points
« on: December 21, 2023, 09:57:07 AM »
Did you set a breakpoint at the location you indicated in the comment? Or do you mean that you have encountered a runtime error that point to this location?

If you have intentionally set a breakpoint at your statement DM[12]=6399 then what are you trying to examine? You can view the value in the variable DM[11] executed in the prior statement to ensure that it has been assigned the correct value. I see that you wanted to assign it 32808, however, since all DM[] are 16-bit signed integers the numbers that it can contain range from -32768 to 32767. It won't be able to contain the value 32808.  It will instead overflow and becomes number -32728.

You can examine the value in DM[11] by hovering your mouse over it and it will display its value as shown in the picture below. Or you can use "On-line Monitoring" -> View Variable screen and scroll to the second screen where all the DMs are displayed to examine the value of DM[11].

If you have unintentionally set a break point there (it will be highlighted by a blue box around the statement) then you can remove the break point by clicking on the "Set Brk Pt" button to toggle it off as shown in the picture below. If you have uploaded the breakpoint to the PLC while doing online monitoring the PLC will stop execution at this statement and pause for your further action.

Alternatively you can also remove all break points from the "Edit-> Clear All Breakpoints" menu.

Technical support / Re: Simple counter with reset and display output.
« on: October 16, 2023, 07:23:23 PM »
How do you count distance with a photo eye?  Photo eye typically is triggered when a part comes into front of it and block the light path into the photo eye (either transmissive or reflective). 

Once you get the reading to output the measured data to a display is very easy, especially with a PLC that has built-in display such as the Wx100 or FMD or FX PLC with a LCD420 display.

« on: May 17, 2023, 01:49:31 PM »
How do you access the PLC data from Excel?

Could it because the web query that worked with Nano-10 was written for the IP address of Nano-10 but not Wx100? You may need to re-define the Excel query:

If you add a new query on the Excel spreadsheet cell by specifying the IP address of Wx100 and the query string, did you get the response data string correctly (see below)?

We tested that on Excel 2016 and it is able to obtain the correct response string from Wx100.


Technical support / Re: Reading a string using MODBUS RTU
« on: March 06, 2023, 10:13:24 AM »
Sorry about that. Please try the attached Rev 1.


J = LEN(A$)

FOR I = 1 to J
   DM[I] = ASC(A$,I)

Technical support / Re: Reading a string using MODBUS RTU
« on: March 01, 2023, 07:45:08 AM »
Sorry for the confusion as the forum reformatted the code section because I forgot to enclose the section with the code markup - this has now been fixed.

I have attached the PC7 program file for demonstration. You should observe DM[1] to DM[20] contains the ASCII value of each byte in the string A$ = "OPEN EMERG STOP SW"  The screen capture below shows these byte values in HEX mode.

Technical support / Re: Reading a string using MODBUS RTU
« on: February 27, 2023, 09:59:16 AM »
Thanks Gary. That is an excellent example of minimizing resources by packing two bytes of ASCII characters into a 16-bit DM instead of 1 DM per byte as per my earlier example.

On the master/client side the program will need to unpack the 16-bit DM values it reads from the PLC and convert each DM to 2-byte string fragment and then concatenate them into a full string. 

Technical support / Re: Reading a string using MODBUS RTU
« on: February 24, 2023, 09:09:16 AM »
There is no direct mapping of string variables to Modbus space.

So if you need to read those data, then your program can break up the strings into individual bytes and store them inside the DM space so that they become accessible via Modbus command.
Code: [Select]
A$ = "This is a TEST 1234"

J = LEN(A$)

FOR I = 1 to J
    DM[I] = ASC(A$,I)

When you run the above fragment the byte data of each character inside A$ will be stored from DM[1] to DM[J] where J = length of A$

Technical support / Re: Input[1] to Input[5] Operation
« on: January 08, 2023, 08:36:30 PM »
Gary suggestions works on the Fx and FMD PLC but unfortunately this won't work on the Wx100 since it uses a different expansion I/O handling system.

Upon power on the Wx100 scans the attached expansion I/O space and mark those expansion I/Os that are available and will only scan those boards during I/O scan. So if a board is not detected upon power on it is not scanned and thus save the I/O scan time automatically.

However, the current Wx100 firm reserves the first 80 digital inputs space and will keep those non available inputs at zero (OFF). It doesn't allow these to be used by the user program. This may change in future firmware revision if there are more users who request such a feature.


We have sent you the firmware upgrader and latest i-TRiLOGI software download links. I believe the new firmware and software has resolved your reported issues.

Technical support / Re: WX100 WIFI Connection Status
« on: January 04, 2023, 05:05:31 PM »
Thank you for the report.

We have added the following section to the Wx100 online documentation:

Technical support / Re: WX100 WIFI Connection Status
« on: January 04, 2023, 11:18:38 AM »
You can use STATUS(22) which indicates a successful WiFi connection when it returns a 1.


IF STATUS(22) <> 1      ' WiFi is not yet connected. Do nothing now.

Technical support / Re: Erratic Online Monitoring of I/O Tables with WX100
« on: December 22, 2022, 10:45:51 AM »
Can you view the console of the TL75 (the second TL75 icon with a console window) and see if it reports any error message and if so, what are the error messages?

You may also like to update your i-TRiLOGI to see if it helps. i-TRiLOGI is still evolving to meet the new capabilities added to Wx100 (as is the Wx100 firmware).

For WiFi please use the GET_WIFI_XXX and SET_WIFI_XXX commands. You can find their help files from the drop down menu as shown in the screen shot below.

We have also just updated the TBASIC keywords content page (for version >= 7.4) as follow that includes the above-mentioned commands:

Technical support / Re: goto command
« on: December 20, 2022, 11:35:45 PM »
The destination xxx for GOTO  @xxx is determined at compile time and not at run time. Hence it is not possible to assign it a variable.

Gary is right that structured programming can do away with GOTO altogether, although GOTO sometime can be a quick way to get out from deep inside a nested structure to another location. However, over-using GOTO can easily lead to so called "spaghetti codes" that can be error prone and difficult to debug so should be used sparingly.

Pages: [1] 2 3 ... 212