Hello, I have some questions about EGM, analog signals and digital group signals (I’m working with an omnicore c30 controller).
First of all some information about my project, the goal of the project is to follow an object with the robot as fast as possible and as precise as possible (I need to be following it with a precision of at least +/- 0,5 mm). The object only moves on the x axis and z axis.
For this I get Position Data from a sensor (via UDP). My current program consists of 2 tasks, one is only for EGM movement and the other is only for sensor data processing.
The data processing consists of an udp socket where I get the sensor data, preprocess this data (I need to calculate the next position for EGM), write it to an analog signal or digital group signal. With analog signals I managed to create every 24ms new signals and with digital group signals I managed to create every 8-10 ms new signals for the EGM.
The other tasks (main task) consists of the EGM Movement stuff, where I use the analog or digital signals for EGM Setup. The EGM Program works and the robot follows the object, but very slow…I want to maximize speed and hold on to a precision like mentioned.
I now have multiple questions:
1.) EGM is new for me and I’m not 100% sure if it is the right approach, maybe someone with more experience could tell me if I’m on the right track?
2.) the digital group signals are generated way faster than analog signals, does someone know what time analog signals take in general to be created?
3.) digital group signals can only present integer values, I know that I can multiply the value (e.g. 234.11) on one end by 100 to send 23411 via digital group output and divide at the other end by 100 and have the value back…but people who know EGM know that the Movement is done based on signals. Is there a way to send float values with digital group outputs? Or is it possible to enter some signal logic before doing the EGM movement?