Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched.
Close
Question:
There is a huge delay (up to a few seconds) till interpolator start moving the axis after Trigger the decoder or ncreader to start
Solution:
execute the path fb's in a loop (this should be done on in the path task)
code snippet from http://store.codesys.com/cnc-3d-editor.html example:
Path_PRG
..
..
WHILE NOT cv.poqDataOut^.bFull AND NOT cv.poqDataOut^.bEndOfList AND NOT xErrorExecution AND NOT xAbortExecution DO
rncf();
dec(bExecute := rncf.bExecuteDecoder, ncprog := rncf.ncprog);
cv(bExecute := rncf.bExecuteDecoder);
This solves the problem the queue elements are filled in the while loop,
if there is no loop only one element per path cycle would be moved which lead to this delay
esspecially if there are many path fb's like smoot, round... involved.
In case of connecting drives with ethercat & SoftMotion a recommendation is to set
'FrameAtTaskStar't to true.
Where do we find this ?
Enable the Generic Editor View in Tools-> Options ->Device Editor->Show generic device configuration views
See screenshots, this lead to an reduced jitter on sending the ethercat frames.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Use attached project to test your drive with basic plcopen fb's.
(You could update/delete the drive - and insert your drive to the device tree)
There is one hint for fast download / change cycles while testing your application:
As long you do not need webvisu and targetvisu - just delete them below the VisualisationManager -
If the development of your application is finished add the the two again (webvisu / targetvisu)
This makes code changes very quick.
After executing the following test (this is to check if your drive is compatible with SoftMotionLight)
"c:\Program Files (x86)\3S CODESYS\CODESYS\Projects\SoftMotion\SoftMotionLight\SML_CompatibilityCheck_DS402.project"
Add SML_Startupdrive as it is done in SoftMotion Startupdrive (SMC_Startupdrive).
What is it for?
A SoftMotion drive driver is needed to run a servo device together with CODESYS SoftMotion. Although many devices are based on a communication standard (like CiA DSP-402) it is a fact that there are still a lot of specific behaviours of each device, that are not covered by the standard or differently interpreted by the device manufacturers. To guarantee its functionality, this driver is needed. What does it consist of?
It consists of a library (that includes the application code that interface between the process data of the drive device and the SoftMotion function blocks in the application), a device description (that enables the user to add the device in the CoDeSys applicationβs device tree) and a short documentation about which features of the SoftMotion Drive Interface (like position limit switches, touch probing, handling of mechanical break) are supported. Who generates this driver?
The drivers are generated by 3S as a paid service. Depending on the complexity and degree of standardization of the drive, the effort of generating the driver is about 10 days of engineering, that has to be carried by the customer. The following efforts for maintaining this driver are carried by 3S. How is it delivered?
After the driver has passed the autotest procedure (a testproject that includes > 50 test cases), it is delivered as a preview version to the customer together with the test protocol. Then, it is integrated into the next SP of CODESYS and becomes part of the standard delivery package of CODESYS. Hence, it is installed with every CODESYS installation and is available to all CODESYS customers. Moreover, it is added to the list of supported drives on the 3S homepage and the datasheets. What does the customer need to provide?
First, the customer should provide a detailed description of the device (documentation, esp. object documentation and eds/eni files) that enables 3S to estimate the development costs. 3S will generate a commercial offer and technical specification in response.
After ordering, the customer needs to supply 3S with a functioning device (controller+motor) and an in-house contact that can be asked, when questions and problems arise during implementation.
The test device should stay at 3S to enable a bug fixing and testing for future versions. How long does the implementation process take?
The time 3S needs for the development depends on the current work-load. Typically, it is about 2 months after delivery of the test device, but can be more.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
SoftMotion related topics:
Delay from start decoding cnc file / cnc path till interpolator starts moving - how to avoid it
Driver Development for SoftMotion drives FAQ
How could we syncronize to a belt for example for a pick and place application
SoftMotion & Ethercat drives special setting to send the ethercat frames at task start
SoftMotion & Ethercat drives : Startup Drive project example
SoftMotion Light & Ethercat drives : Startup Drive project example
Question:
There is a huge delay (up to a few seconds) till interpolator start moving the axis after Trigger the decoder or ncreader to start
Solution:
execute the path fb's in a loop (this should be done on in the path task)
code snippet from http://store.codesys.com/cnc-3d-editor.html example:
Path_PRG
..
..
WHILE NOT cv.poqDataOut^.bFull AND NOT cv.poqDataOut^.bEndOfList AND NOT xErrorExecution AND NOT xAbortExecution DO
rncf();
dec(bExecute := rncf.bExecuteDecoder, ncprog := rncf.ncprog);
cv(bExecute := rncf.bExecuteDecoder);
END_WHILE
..
..
This solves the problem the queue elements are filled in the while loop,
if there is no loop only one element per path cycle would be moved which lead to this delay
esspecially if there are many path fb's like smoot, round... involved.
Back to FAQ overview
Question: How could we syncronize to a moving belt by my trafo to realize a pick and place application
Look at the application snippet PickPlaceKin
Back to FAQ overview
PicknPlaceBeltSync.project [269.2 KiB]
In case of connecting drives with ethercat & SoftMotion a recommendation is to set
'FrameAtTaskStar't to true.
Where do we find this ?
Enable the Generic Editor View in Tools-> Options ->Device Editor->Show generic device configuration views
See screenshots, this lead to an reduced jitter on sending the ethercat frames.
Use attached project to test your drive with basic plcopen fb's.
(You could update/delete the drive - and insert your drive to the device tree)
There is one hint for fast download / change cycles while testing your application:
As long you do not need webvisu and targetvisu - just delete them below the VisualisationManager -
If the development of your application is finished add the the two again (webvisu / targetvisu)
This makes code changes very quick.
SoftMotionStartupDrive.project [1.24 MiB]
After executing the following test (this is to check if your drive is compatible with SoftMotionLight)
"c:\Program Files (x86)\3S CODESYS\CODESYS\Projects\SoftMotion\SoftMotionLight\SML_CompatibilityCheck_DS402.project"
Add SML_Startupdrive as it is done in SoftMotion Startupdrive (SMC_Startupdrive).
StartupDriveSML.project [127.37 KiB]
What is it for?
A SoftMotion drive driver is needed to run a servo device together with CODESYS SoftMotion. Although many devices are based on a communication standard (like CiA DSP-402) it is a fact that there are still a lot of specific behaviours of each device, that are not covered by the standard or differently interpreted by the device manufacturers. To guarantee its functionality, this driver is needed.
What does it consist of?
It consists of a library (that includes the application code that interface between the process data of the drive device and the SoftMotion function blocks in the application), a device description (that enables the user to add the device in the CoDeSys applicationβs device tree) and a short documentation about which features of the SoftMotion Drive Interface (like position limit switches, touch probing, handling of mechanical break) are supported.
Who generates this driver?
The drivers are generated by 3S as a paid service. Depending on the complexity and degree of standardization of the drive, the effort of generating the driver is about 10 days of engineering, that has to be carried by the customer. The following efforts for maintaining this driver are carried by 3S.
How is it delivered?
After the driver has passed the autotest procedure (a testproject that includes > 50 test cases), it is delivered as a preview version to the customer together with the test protocol. Then, it is integrated into the next SP of CODESYS and becomes part of the standard delivery package of CODESYS. Hence, it is installed with every CODESYS installation and is available to all CODESYS customers. Moreover, it is added to the list of supported drives on the 3S homepage and the datasheets.
What does the customer need to provide?
First, the customer should provide a detailed description of the device (documentation, esp. object documentation and eds/eni files) that enables 3S to estimate the development costs. 3S will generate a commercial offer and technical specification in response.
After ordering, the customer needs to supply 3S with a functioning device (controller+motor) and an in-house contact that can be asked, when questions and problems arise during implementation.
The test device should stay at 3S to enable a bug fixing and testing for future versions.
How long does the implementation process take?
The time 3S needs for the development depends on the current work-load. Typically, it is about 2 months after delivery of the test device, but can be more.