Property that returns REFERENCE TO Interface type?
CODESYS Forge
talk
(Thread)
Property that returns REFERENCE TO Interface type?
Last updated: 2021-11-23
C0032 Error to type Pointer to IoConfigParameter
CODESYS Forge
talk
(Thread)
C0032 Error to type Pointer to IoConfigParameter
Last updated: 2024-03-25
Error 'Library not found' and 'Unkown type'
CODESYS Forge
talk
(Thread)
Error 'Library not found' and 'Unkown type'
Last updated: 2024-10-10
Post by simotion on Variable indicating axis pending gearing or camming
CODESYS Forge
talk
(Post)
Is there a variable indicating that a gearing or camming operation is pending? For instance MC_Gearin has beeen triggered, but starting point of master axis to start the sychronisation movement is not reached yet, so the slave axis is just waiting for this. I should be able to differ between a pending and active gearing or camming
Last updated: 2023-11-28
Post by totorovic on Pointer to Softmotion axis
CODESYS Forge
talk
(Post)
I get the same warning message with initialized variable. Codesys 3.5.19.20
Last updated: 2023-11-09
Post by eschwellinger on Softmotion axis to CANopen Maxon IDX drive
CODESYS Forge
talk
(Post)
can you add here the EDS file?
Last updated: 2024-01-07
Post by reinier-geers on Inheritance of axis
CODESYS Forge
talk
(Post)
Do You have a solution ? Ive want the same
Last updated: 2024-01-12
Post by chir on SMC_REGULATOR_OR_START_NOT_SET issue
CODESYS Forge
talk
(Post)
Drive: Inovance MD520 In a project I add SoftMotion CiA402 Axis
Last updated: 2024-04-22
Post by gseidel on Hydraulic Axis Controller
CODESYS Forge
talk
(Post)
Hi kumareasu, yes, correct. Best regards, Georg
Last updated: 2024-04-30
Post by jonasz on Discontinuity of A/B/C axis movement.
CODESYS Forge
talk
(Post)
PrtScr
Last updated: 2024-05-09
Post by imdatatas on MC_CamIn did not work properly with SMC_FreeEncoder on SoftMotion 4.17.0.0
CODESYS Forge
talk
(Post)
Hello, I am facing a problem with the new Softmotion 4.17.0.0 version. Has anyone encountered a similar problem, what is the solution? I would be happy if you could share it. Problem description: -- "SMC_FreeEncoder" encoder axis is the master, -- The motor of the servo driver on the EtherCAT bus is the slave axis. -- When the MC_CamIn block executed, the InSync output is activated. However, although the master encoder axis position value changes, there is no movement in the slave servo axis! Test steps: 1-) EtherCAT servo axis installed, configured and motion test was performed with MC_Jog. No problem. 2-) Softmotion general axis pool > SMC_FreeEncoder was added and pulse amount configuration was performed. No problem. 3-) Incremental encoder actual count value was transferred to the "SMC_FreeEncoder.diEncoderPosition" variable as DINT under the ethercat task in every cycle and the encoder axis position value was observed. No problem. 4-) A simple CAM table with a 1:1 ratio was created under the project tree. (For example: Simply, when the encoder rotates 1 turn, the motor will rotate 1 turn.) 5-) The SMC_FreeEncoder axis enabled with MC_Power and brought to the StandStill state. 6-) The MC_CamTableSelect block was run with default input values ββ(all absolute) and only the Cam table name was specified. The Done output was seen successfully. No problem. 7-) The MC_CamIn block was activated with default input values ββ(absolute) and only the master encoder axis name, slave servo axis name, CamTableID input pins was specified and then "Execute" input set to TRUE. 8-) The InSync output information of the MC_CamIn block observed as TRUE. However, although the encoder axis value changed, the position value of the slave axis did not change at all, it did not move. It always remained at 0.0mm. 9-) When I repeated the same steps above, only changing the master axis to SM_Drive_Virtual instead of FreeEncoder and gave movement to the virtual axis, this time the slave axis moved successfully. However, when the same steps and operations are performed with the same IDE just downgrade SoftMotion version from 4.17.0.0 to 4.10.0.0, everything works normally and without problems as expected in MC_CamIn block with FreeEncoder master. (By the way, The used IDE version is Codesys V3.5 SP20patch3.) Best Regards Imdat
Last updated: 2024-11-11
Post by reinier-geers on Pointer Axis
CODESYS Forge
talk
(Post)
I want to make a FB of MC. But i need a variable for Axis. How do i have to declare that ? ptAxe : AXIS_Ref_SM3; //:= SM_Drive_ETC_Delta_ASDA_A2 ; this is somehowe a problem
Last updated: 2024-01-12
Post by victor on Trend-Trace / Time x-axis
CODESYS Forge
talk
(Post)
Good morning, I am new to codesys, I am currently manipulating the Trace and Trend elements and I would like to know if it was possible to configure a variable or a trigger to reset the "X" axis to 0. have a good day.
Last updated: 2024-01-26
Post by reinier-geers on Axis declare
CODESYS Forge
talk
(Post)
In motioncontrol every block start with Axis. How can i make a variable to make my own FB ? Somthink like : _Axe : pointer to Axis_Ref_MC := Axis_1 ;
Last updated: 2024-02-13
Post by manuknecht on Creating softmotion axis dynamically
CODESYS Forge
talk
(Post)
Hi I was wondering the same thing. I managed to dynamically add an EtherCat Slave but I could not find out how to add a softmotion axis to it. Does anyone have an answer to this? Thanks in advance!
Last updated: 2024-02-21
Post by k2saki on Discontinuity of A/B/C axis movement.
CODESYS Forge
talk
(Post)
Hello. Good morning. I have a same problem with short-segment G01 in GCode even in XY Axis. ( I'm using SMC_ReadNcFile2, SMC_NcInterpreter, SMC_CheckVelocities before IPO , watching Youtube tutorial video.. ) How did you solve this problem ?
Last updated: 2024-04-29
Post by mubeta on Some 'pathetic' errors in SoftMotion program
CODESYS Forge
talk
(Post)
Hello everyone, I have a very simple program for the process, but it's driving me crazy and I can't see the problems I'm left with: Short topological description: Dual Core Berghof controller with softmotion runtime version 3.5.19.30; Two axes with servodrive on canopen bus, clocked distributed from master; Ethercat I/O node; 2 ms ethercat task, 2 ms canopen bus cycle time; I/O objects of the canopen master and canopen drives connected to the ethercat task cycle; Problem 1: Two separate programs each manage their own axis and drive, with separate state machines. A first axis moves primarily in velocity, except having to position itself absolutely at a predetermined point at the end of the job; the second axis, on the other hand, is a paper unwinder that changes, for each job cycle, from actions in absolute, relative, and cam displacement with the master axis. Well, the state machine of both axes was written in such a way as to call running the useful FB and change it on state change in this way: CASE i_stateMachine OF 0: o_Power(Enable := TRUE, bRegulatorOn := FALSE, bDriveStart := FALSE, Axis := o_PaperUnwinderAxis); o_MoveAbs(Execute := FALSE, Axis := o_PaperUnwinderAxis); o_MoveRel(Execute := FALSE, Axis := o_PaperUnwinderAxis); o_CamSelect(Execute := FALSE, Master := o_MachineAxis, Slave := o_PaperUnwinderAxis, CamTable := cam_PaperUnwinder); o_CamIn(Execute := FALSE, Master := MachineEncoder, Slave := o_PaperUnwinderAxis); o_CamOut(Execute := FALSE, Slave := o_PaperUnwinderAxis); o_SetPosition(Execute := FALSE, Axis := o_PaperUnwinderAxis); IF ... THEN i_StateMachine := 10; END_IF; 10: o_Power( Enable := TRUE, bRegulatorOn := TRUE, bDriveStart := TRUE, Axis := o_PaperUnwinderAxis ); IF o_Power.Status THEN i_StateMachine := 20; END_IF; 20: (* Avanzamento carta *) o_MoveAbs( Execute := TRUE, Position := o_Somewhere, Velocity := 25.0, Acceleration := 3666.7, Deceleration := 3666.7, Jerk := 48000.0, Direction := MC_DIRECTION.positive, Axis := o_PaperUnwinderAxis ); IF o_MoveAbs.Done THEN o_MoveAbs(Execute := FALSE, Axis := o_PaperUnwinderAxis); i_StateMachine := 30; END_IF 30: d_HomingPosition := ...; o_SetPosition( Execute := TRUE, Position := d_HomingPosition, Mode := FALSE, Axis := o_PaperUnwinderAxis ); (* ... *) IF o_SetPosition.Done = TRUE THEN o_SetPosition(Execute := FALSE, Axis := o_PaperUnwinderAxis ); o_LogServer.Append(sMessage := '...', lscClass := LOGSERVER_CLASS.ALWAYS, sdt := o_CommonsMgrData.systime.sdtLocal); i_StateMachine := 40; END_IF; 50: ... The code above is a sketchy example of what I wanted to write. But it gives me a spot problem: in some, the state change results in a drive error, which is unrecoverable except with a reinitialization via SM3_ReinitDrive(). Things are improved a little if in the program I always run the call of all softmotion blocks in this way: o_Power(Axis := o_PaperUnwinderAxis); o_Jog(Axis := o_PaperUnwinderAxis); o_Halt(Axis := o_PaperUnwinderAxis); o_MoveAbs(Axis := o_PaperUnwinderAxis); o_MoveRel(Axis := o_PaperUnwinderAxis); o_CamIn(Master := MachineEncoder, Slave := o_PaperUnwinderAxis); o_CamOut(Slave := o_PaperUnwinderAxis); If I don't execute all the calls of all the motion FBs used, when exchanging machine state often (but not always), the axis goes into error with event id THE_FB_WASNT_CALL... Done a little diagnostics it seems that the FBs return the bDone, before they are completely terminated. I tried doing the machine state exchange not with the bDone bit of the FBs, but with the 'standstill' state of the axis. It didn't seem to change anything. Problem 2: During the use SM3_ReinitDrive() I get the erro in the log: "NetID 0: SDO read error for object 16#607C..." Assuming that the device involved it's one of the two servodrive, (no others device are present in the network), I don't found any object 0x607C in the 'possible object list in/out' of the two drive, and I don't understand where this object can be listed. So any ideas and suggestions regarding these two issues will be very, very welcome. If you need the source project, I am willing to send it.
Last updated: 2024-07-17
Eine Nummer (Data Type=Double) Schicken mit TCP Client Server Codesys
CODESYS Forge
talk
(Thread)
Eine Nummer (Data Type=Double) Schicken mit TCP Client Server Codesys
Last updated: 2021-09-08
<identifier>: POINTER TO <data type | function block | program | method | function>;
CODESYS Forge
talk
(Thread)
<identifier>: POINTER TO <data type="" |="" function="" block="" program="" method="">;</data></identifier>
Last updated: 2022-03-23
Why is no more possible use REFERECE OF in return method type?
CODESYS Forge
talk
(Thread)
Why is no more possible use REFERECE OF in return method type?
Last updated: 2021-12-10
addressin an array of byte containing bits of type bool
CODESYS Forge
talk
(Thread)
addressin an array of byte containing bits of type bool
Last updated: 2018-11-14
Eine Nummer (Data Type=Double) Schicken mit TCP Client Server Codesys
CODESYS Forge
talk
(Thread)
Eine Nummer (Data Type=Double) Schicken mit TCP Client Server Codesys
Last updated: 2021-09-08
Modify the 0x1600 access type of CAN Local Device in Codesys
CODESYS Forge
talk
(Thread)
Modify the 0x1600 access type of CAN Local Device in Codesys
Last updated: 2018-11-23
Maximizing Struct type Variable in offline mode and adding comments to each element
CODESYS Forge
talk
(Thread)
Maximizing Struct type Variable in offline mode and adding comments to each element
Last updated: 2021-04-28
ENI server: Object type registry not found in the database
CODESYS Forge
talk
(Thread)
ENI server: Object type registry not found in the database
Last updated: 2010-02-19
To search for an exact phrase, put it in quotes. Example: "getting started docs"
To exclude a word or phrase, put a dash in front of it. Example: docs -help
To search on specific fields, use these field names instead of a general text search. You can group with AND
or OR
.