Post by lbouchard on CANOpen SIL2 error: UNSAFESTACK_NOT_OPERATIONAL
CODESYS Forge
talk
(Post)
Update: I still have no idea what was causing my issues, but it went away as soon as I identified that another device on the CAN was generating a Sync message at 16#7F. Changing this to be on 16#80 made the problem go away. I have no idea why this solves the problem and would love to hear from anyone who knows why these two things might be related.
Last updated: 2025-05-26
Post by timvh on STRING conversions to DWORD
CODESYS Forge
talk
(Post)
I guess that the printer expects to receive an array of byte values. So where it is described that it expects to receive: Hercules String : 1B4F513030311B7532626C61636B04 it actually expects to receive an array of bytes with the values 1B,4F,51,30,30, etc. So what you can do is create an array of bytes and assign the byte value to each item in the array: VAR abyToSend : ARRAY[0..99] OF BYTE; END_VAR abyToSend[0] := 16#1B; // ASCII Escape character, hexadecimal representation uses 16# as prefix abyToSend[1] := 16#4F; // ASCII 'O' abyToSend[2] := 16#51; // ASCII 'Q' abyToSend[3] := 16#30; // ASCII '0' // you can do the rest yourself // maybe could be created a lot smarter, but gives you an indication how to handle this. Then with the serial communication (or TCP/IP?) you can send a message with the reference to the array (abyToSend) and the number of bytes to send (15 bytes for the string you gave as example).
Last updated: 2025-02-02
CODESYS
CODESYS Forge
talk
(Thread)
CODESYS
Last updated: 2017-03-07
Codesys
CODESYS Forge
talk
(Thread)
Codesys
Last updated: 2024-01-14
Post by alex-at-xana on EThercat Dynamic configuration
CODESYS Forge
talk
(Post)
Hi Everyone, For a fast monitoring system I am using Ethercat oversampling and timestamping inputs. As the customers has a lot of different configurations out in the field, we went for a dynamic Ethercat configuration. Already got the whole detection chain working but now I am stuck since two days in debugging the configuration. Here are my quesitons: I extended the dynamic config example for the EL3632 16#0E303052: //EL3632 pSlave^.SetDCSettings(TRUE,TRUE,80,80,TRUE,4000,0,0); pSlave^.AddSyncManager(16#1000,128,16#26,TRUE,3); pSlave^.AddSyncManager(16#1080,128,16#22,TRUE,2); pSlave^.AddSyncManager(16#1100,0,16#4,TRUE,1); pSlave^.AddSyncManager(16#1110,214,16#20,TRUE,0); pSlave^.AddFMMU(0,214,0,7,16#1110,0,1,1); pSlave^.AddFMMU(0,1,0,0,16#80D,0,1,1); xKnown := TRUE; This leads to a PLL Error for these devices. I double and triple checked the configuraton, but cannot find the issue. There seems to be one difference: the config dialog creates a startup parameter: 16#10F3:16#05, Name: Command_0, Value:0. Bitlen: 16, Stop on fault: false, jumpt at fault: false: next line: 0 a) I do not find information on how to set this in my code. Can you help me there? b) Without trying to set the value, I get a PLL error for these devices in the master log. Is the config wrong? c) Do I need to set the Master to Autoconfigure or Manual? I used autoconfigure for my tests. The stack creates input data addresses for the slaves input data range (pSlaves[i].InputData) which are different from those created when I use the Engineering tools dialogs to configure Ethercat. Specifically, the addresses seem to be aligned at 16 byte boundaries when they are created using the engineering tool, but may appear at uneven addresses when I use the script in dynamic config. I did not try to access ULINT at uneven addresses yet, but I am suspecting this may be a problem. Do I need to manually align the addresses ? Any help is appreciated...
Last updated: 2024-09-10
codesys v3 2 codesys v2
CODESYS Forge
talk
(Thread)
codesys v3 2 codesys v2
Last updated: 2014-08-04
CoDeSys Implementation
CODESYS Forge
talk
(Thread)
CoDeSys Implementation
Last updated: 2014-04-15
CoDeSys 2.3 Fonts
CODESYS Forge
talk
(Thread)
CoDeSys 2.3 Fonts
Last updated: 2012-07-09
CoDeSys exercises
CODESYS Forge
talk
(Thread)
CoDeSys exercises
Last updated: 2012-06-07
Email In CoDeSys
CODESYS Forge
talk
(Thread)
Email In CoDeSys
Last updated: 2011-08-16
Codesys version 2.3.9.10
CODESYS Forge
talk
(Thread)
Codesys version 2.3.9.10
Last updated: 2009-03-23
CoDeSys to access
CODESYS Forge
talk
(Thread)
CoDeSys to access
Last updated: 2007-01-15
CoDeSys Online
CODESYS Forge
talk
(Thread)
CoDeSys Online
Last updated: 2006-07-10
Codesys Programming Help
CODESYS Forge
talk
(Thread)
Codesys Programming Help
Last updated: 2011-02-23
Internal CodeSys Library
CODESYS Forge
talk
(Thread)
Internal CodeSys Library
Last updated: 2009-03-01
CANopen and CoDeSys
CODESYS Forge
talk
(Thread)
CANopen and CoDeSys
Last updated: 2012-11-21
codesys price strucuture
CODESYS Forge
talk
(Thread)
codesys price strucuture
Last updated: 2013-03-08
Codesys Examples
CODESYS Forge
talk
(Thread)
Codesys Examples
Last updated: 2009-03-19
Codesys Rpi sensors!
CODESYS Forge
talk
(Thread)
Codesys Rpi sensors!
Last updated: 2021-05-18
Codesys function help
CODESYS Forge
talk
(Thread)
Codesys function help
Last updated: 2020-05-02
Problem you codesys
CODESYS Forge
talk
(Thread)
Problem you codesys
Last updated: 2011-01-20
Communicating with Codesys
CODESYS Forge
talk
(Thread)
Communicating with Codesys
Last updated: 2011-02-28
Internal CodeSys Library
CODESYS Forge
talk
(Thread)
Internal CodeSys Library
Last updated: 2009-11-13
Codesys Installation
CODESYS Forge
talk
(Thread)
Codesys Installation
Last updated: 2007-01-22
Codesys with J1939
CODESYS Forge
talk
(Thread)
Codesys with J1939
Last updated: 2009-12-09
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.