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
1
Technical support / Re: PMW outputs
« on: December 02, 2024, 12:57:25 AM »
It wasn't very clear what you meant by "no longer operate correctly"?  Do you have an oscilloscope to check the output waveform for frequency and duty cycle?

Note that if you are driving the input transmitter of a solid state relay, then check that the anode of the SSR is connected to the +24VDC of the PLC's power supply and the cathode is connected to the FMD PLC's digital output.

Is the SSR driving a DC load up to 100A? Please ensure that the correct type of SSR is being used.

The FMD PLC can operate a wide range of PWM waveform frequency. The T100MD is a very old PLC that only supports a handful of PWM output frequency (16, 32, 63, 250, 500, 2000,
8000 and  32000 Hz) and it will always fall only into one of the available frequencies. You may want to specify the same frequency of what is available on the T100MD when testing with FMD PLC if you expect similar behavior.

2
Technical support / Re: FMD MODBUS Long delay answering
« on: November 30, 2024, 07:30:37 PM »
Are you communicating with the FMD PLC via RS485?

You can try the SETSYSTEM 3, 0 command as described in the following document:

https://triplc.com/TRiLOGI/Help/tbasic/setsystem.htm

3
Technical support / Re: PWM issues
« on: July 06, 2024, 09:41:56 PM »
Is your custom function that run the first PWM running in a loop until the action is completed? If so that is the reason why the second PWM does not run until the program exits the first custom function.

You have to structure your program such that if you need to run two SETPWM on two separate PWM channels they should be run consecutively.  They could be in different custom function but your program must allow the custom function to exit and then return back on another scan.

4
Technical support / Re: PWM issues
« on: June 03, 2024, 05:28:33 AM »
thanks for that
... I find it odd that it is varying so much,..
You can try to increase the frequency of the PWM output  to reduce the variation of the output.

Quote
Also why does the PWM 1 output continue with start contact open, I need to hit reset to turn it off.

SETPWM command is a "set and forget" function. Once it is run the output will continue to operate at the duty cycle and frequency by the CPU hardware. In order to turn off the PWM output you must run another SETPWM command again to set the duty cycle to 0%.

5
Technical support / Re: PWM issues
« on: May 30, 2024, 09:08:02 AM »
PWM output from T100MD (or its successors - the FMD or Fx PLCs) are not designed to output precise number of pulses. It is meant to output a PWM pulse train that average to a mean level proportional to the duty cycle. The 0.05 second ladder logic contact is subject to I/O and program scan time so cannot be counted on to provide the precise amount of time.

The STEPMOVE function will be able to output precise number of pulses for positioning purposes. However, it will only output with 50% duty cycle if that works.

One way you may try is to run the SETPWM statement and then put a  DELAY statement and then turn it OFF.  This will mean that during the PWM output period the CPU program will wait in a delay loop waiting for the n ms to expires in the DELAY(n) function and not do anything else.

SETPWM 1,x, y   ' turn on PWM output
DELAY 50           ' wait 50ms  (0.05s)
SETPWM 1, 0, y  ' turn OFF PWM output

6
Technical support / Re: PLC paused by DIP Sw #4
« on: April 26, 2024, 11:35:35 PM »
Try to restart the i-TRiLOGI program and connect to the PLC again and go online monitoring. The message should disappear.

If this still doesn't fix the issue then try to re-start the Nano-10 and it should go away.

7
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.

8
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.


9
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.


10
Technical support / Re: HOSTLINK COMMAND & EXCEL IMPORT
« 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.


 

11
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.


A$ = "OPEN EMERG STOP SW  "

J = LEN(A$)

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


12
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.

13
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. 

14
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)
NEXT

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$


15
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.

 

Pages: [1] 2 3 ... 212