In general, there are three things the client can use to make sure the CAN signal is read smoother. These three things are:
- the acquisition update rate,
- the CAN period,
The acquisition update rate defines the preferred rate of the acquisition loop. The graphics part was always a part of the acquisition loop (data acquisition, calculation, storing, graphics). The graphics were drawn at the same time, and that did not allow us to run a faster acquisition. Now, the graphics can be done in parallel. As a result, we could lower the priority of the graphics part and have faster acquisition times. The average acquisition loop was running at about 50 Hz, and now it can run up to 1000 Hz.
If we want to have faster reaction times, we should set the acquisition update rate higher.
When we are using the CAN module, we should set the acquisition loop time from 50 Hz to 1000 Hz. For more information, please refer to the Can manual and performance manual.
The second option is the Transmit delay. We have the option to add a CAN transmit delay to make a transmitted signal more synchronous. When the delay is not enabled, the CAN transmit is activated immediately, even if there are still no samples. After one cycle of acquisition update rate, we receive the samples for this first period, but because the transmit was already activated, they can be output very promptly. With the CAN transmit delay, we shift this for one or more cycles, and when the transmit is activated, there are already a bunch of samples to actually transmit.
The recommended value is approximately one acquisition update cycle, which is usually set to 50 Hz.
Example 1: A 50 Hz sine wave from a function generator is read via AI and transmitted through CAN to another CAN port. We get the following results:
The third option is to lower the CAN period. Please do note that the lower period limit is set to 1ms.
Example 2: We set the acquisition update rate to 50 Hz. In the CAN module, one of our sine signals has a period of 10ms, and the other of 100ms. We start with no delay.
As you can see, the CAN signals are not being read smoothly. We can now add a delay, and the signals will be smoother:
There is currently no way to lower the Transmit delay below the 200ms, as this is the Dewesoft limit.