Connection error to Wago 750-363 EtherNet/IP Adapter
CODESYS Forge
talk
(Thread)
Connection error to Wago 750-363 EtherNet/IP Adapter
Last updated: 2024-07-22
Fix compiler version in SP18+
CODESYS Forge
talk
(Thread)
Fix compiler version in SP18+
Last updated: 2024-07-22
Post by timvh on Fix compiler version in SP18+
CODESYS Forge
talk
(Post)
Their is quite a detailed explanation in the help: https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_codesys_modularization.html
Last updated: 2024-07-22
Post by timvh on Connection error to Wago 750-363 EtherNet/IP Adapter
CODESYS Forge
talk
(Post)
See: https://content.helpme-codesys.com/en/CODESYS%20FAQ/_faq_start_page.html
Last updated: 2024-07-22
Post by tk096 on Some 'pathetic' errors in SoftMotion program
CODESYS Forge
talk
(Post)
Meanwhile, I would like to understand why the motion FB instances must still be called even after the Execute is set to FALSE, especially in view of the fact that the next instruction is programmed to abort the previous one, with BufferMode set to 'Aborting'. All these unnecessary FB calls are an unnecessary overhead on the CPU anyway. Is there any precise rule about when to cease calling the various instances? (It should precisely be the 'done' status that says this one has finished its work). In general: - Motion function blocks have to be called until they report 'Done', 'Error', 'CommandAborted' or a subsequent motion FB with BufferMode=Aborting is started in the current cycle. - Setting the Execute input to FALSE will not abort any ongoing motion of the motion function block. For example, one case that is often problematic is the execution of the Axis Halt instruction. When, after a MoveAbosulte instruction this returns the event as 'done' and indeed the axis is in standstill, the state machine first sets the move instruction to FALSE, and the next cycle sets the Halt request to TRUE. Some of the time everything works out fine. Occasionally, however, in this exchange, the axis goes into fault, also losing the OPERATIONAL state. I think the error SMC_FB_WASNT_CALLED_DURING_MOTION is only a follow-up (and misleading) error that results from the axis not being in operational state anymore (bus problems). Is there an error 'regulator or start not set' in the device log before the error 'motion generating FB wasn't called for at least one cycle'? Which error does the respective function block (Halt.ErrorId) report?
Last updated: 2024-07-22
Post by timvh on displaying all incoming CAN bus messages
CODESYS Forge
talk
(Post)
Create a (global) array of Messages: aMessage : ARRAY[0..NR_OF_MESSAGES-1] OF CAN.RxMESSAGE; Then add each received message to the array. IF UserVarGlobal.g_countMsg_RPMset < NR_OF_MESSAGES THEN aMessage[UserVarGlobal.g_countMsg_RPMset] := Message; UserVarGlobal.g_countMsg_RPMset := UserVarGlobal.g_countMsg_RPMset + 1; END_IF
Last updated: 2024-07-22
Post by timvh on How to implement an interface (IElement)?
CODESYS Forge
talk
(Post)
See: https://forge.codesys.com/prj/codesys-example/element-collect/home/Home/ This contains an application "OnlineChangeSafeLinkedListExample". What you should do is create a new interface which has your "Priority" property. Then your FB should extend the base element function block and implement your own interface: E.g. FUNCTION_BLOCK MyElement EXTENDS COL.LinkedListElementBase IMPLEMENTS I_MyInterface Then the __QUERYINTERFACE does the magic to check if your "element" also implements your interface. Something like this: // Compares this element with itfElement. // Returns 0 if the elements are equal, < 0 if the element is less than itfElement, // > 0 if the element is greater than itfElement. // This method will be called from sorted collections (e.g. |COL.SortedList|) to sort the elements. // IMPORTANT: The underlying value to be compared with MUST NOT be changed during the lifecycle of the object. METHOD ElementCompareTo : INT VAR_INPUT (* The element to compare*) itfElement : COL.IElement; END_VAR VAR itfIntElement : I_MyInterface; xResult : BOOL; END_VAR // We use integer iInt1 for sorting. xResult := __QUERYINTERFACE(itfElement, itfIntElement); IF xResult THEN IF iInt1 < itfIntElement.Priority THEN ElementCompareTo := -1; ELSIF iInt1 > itfIntElement.Priority THEN ElementCompareTo := 1; ELSE ElementCompareTo := 0; END_IF ELSE ElementCompareTo := -1; END_IF
Last updated: 2024-07-22
displaying all incoming CAN bus messages
CODESYS Forge
talk
(Thread)
displaying all incoming CAN bus messages
Last updated: 2024-07-22
How to implement an interface (IElement)?
CODESYS Forge
talk
(Thread)
How to implement an interface (IElement)?
Last updated: 2024-07-22
Post by timvh on Array to String
CODESYS Forge
talk
(Post)
The new (UTF8) string library is faster and can handle large strings. https://content.helpme-codesys.com/en/CODESYS%20String%20Libraries/_strlib_start_page.html PS, in CODESYS, the maximum string length is not 255 characters. The String functions of the standard library are limited to strings of 255 characters. But you can use other (memory) functions to handle strings larger than 255 characters.
Last updated: 2024-07-22
Post by trusty-squire on Confused by dwIpoTime input for SMC_Interpolator
CODESYS Forge
talk
(Post)
OK, that makes sense. Because the FB is provided a specific interval period, it would change the target position accordingly based on the time it "thought" elapsed. If it has the wrong interval provided, it updates the target positions every cycle incorrectly so the axes will end up moving faster or slower. Thanks!
Last updated: 2024-07-22
Script python for write in a file Project information
CODESYS Forge
talk
(Thread)
Script python for write in a file Project information
Last updated: 2024-07-23
Script python for write in a file Project information
CODESYS Forge
talk
(Thread)
Script python for write in a file Project information
Last updated: 2024-07-23
Confused by dwIpoTime input for SMC_Interpolator
CODESYS Forge
talk
(Thread)
Confused by dwIpoTime input for SMC_Interpolator
Last updated: 2024-07-22
Post by jens on Using the Wago 750-658 CAN Gateway
CODESYS Forge
talk
(Post)
Is there any solution for this ? or do you need to use wago runtime and use the function blocks for the CanOpen ?
Last updated: 2024-07-23
Post by mmpl on Array to String
CODESYS Forge
talk
(Post)
Hi Thank you for you reply. Yes I can concatenat longer string. I am using string_Util_Intern libraray for concat. The issue is abot plc performance. It takes 7 second. I am looking to improve time.
Last updated: 2024-07-23
Post by eschwellinger on Using the Wago 750-658 CAN Gateway
CODESYS Forge
talk
(Post)
I would ask the Wago Support - they have a CODESYS V3 runtime (not eCOCKPIT) which probably support this? At least worth to ask them.
Last updated: 2024-07-23
Using the Wago 750-658 CAN Gateway
CODESYS Forge
talk
(Thread)
Using the Wago 750-658 CAN Gateway
Last updated: 2024-07-23
Post by toffeebonbon on EL7041-0052 - does it run with EL7041 SoftMotion?
CODESYS Forge
talk
(Post)
I let this project rest for a while and picked it up last week. I have been in contact with the support from beckhoff and got the information that the terminals were identical (communication wise). As the Log of the Axis (not the drive's log) shows the error when trying to write into the register 0x8012 and set the value for an encoder to a value that is the default - at least according to the manual - I was wondering if it is possible to "not write that value" to skip that part? Or am I misunderstanding the way the library communicates with the drive?
Last updated: 2024-07-24
Post by tobim on IP-Change not alloed on this adapter ! PN-Device will operate with limitations.
CODESYS Forge
talk
(Post)
Hi viktorr, unfortunately not. Good luck to you!
Last updated: 2024-07-24
IP-Change not alloed on this adapter ! PN-Device will operate with limitations.
CODESYS Forge
talk
(Thread)
IP-Change not alloed on this adapter ! PN-Device will operate with limitations.
Last updated: 2024-07-24
EL7041-0052 - does it run with EL7041 SoftMotion?
CODESYS Forge
talk
(Thread)
EL7041-0052 - does it run with EL7041 SoftMotion?
Last updated: 2024-07-24
Array to String
CODESYS Forge
talk
(Thread)
Array to String
Last updated: 2024-07-24
Post by timvh on Array to String
CODESYS Forge
talk
(Post)
The string_Util_Intern is not the library I referred to. With a CONCAT function (also with the string util library) a search is done for the NULL character. If you concatenate 20000 characters to one string, then the longer the string, the longer it takes to find this NULL character.
Last updated: 2024-07-24
Post by viktorr on IP-Change not alloed on this adapter ! PN-Device will operate with limitations.
CODESYS Forge
talk
(Post)
Hi i know this is a bit of a long shot but did you ever find a solution to this? Running into similar issues...
Last updated: 2024-07-24
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
.