This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/AM3359: Profibus on ICEv1.0

Part Number: AM3359
Other Parts Discussed in Thread: PROFIBUS, TMDSICE3359,

Tool/software: Code Composer Studio

How to set up Profibus slave AM335x ICE 1.0 EVM  with master PLC S7-300 ?
I have not clear how to configuration AM335x ICE 1.0 EVM (ICE) EVM . Because it is many data to read so that I try it but it is NOT successful testing.

Let me know what is tool and software to learn porfibus slave with AM3359 Industrial Communications Engine, TMDSICE3359 ICE 1.0 EVM.

I have bought it but I unable to use it for testing profibus slave.

  • Hello,

    First, let me offer you some hope: what you are trying to do is perfectly possible. It should be even easy with all material provided by TI. I was able to test the slave with several different PLCs a while back.

    I can give you a couple of hints:

    -You should be using the GSD file provided with the Profibus slave example (PRU_OCDA.GSD). You should be loading that file in your slave library on TIA Portal (or wherever you are using). 

    -You need to be sure the configuration you have on the GSD file matches what you have on the code you are running on your board. At the end of the GSD file (if you open it with a text editor) you'll find this line:

    Module = "8 Byte Out, 8 Byte In " 0x17,0x27

    Now go to CCS and check on your main.c (around line 123):

    /* ----------- slave specific parameters ------------ */
    #define INPUT_LEN        16
    #define OUTPUT_LEN       16
    #define MAX_CFG_DIAG_LEN 20
    #if INPUT_LEN == 0
    const unsigned char myCfg1[] = { 0x27 };
    #define IDENT_NR_H       0x47
    #define IDENT_NR_L       0x11
    const unsigned char myCfg1[] = { 0x17, 0x27 };
    #define IDENT_NR_H       0x0C
    #define IDENT_NR_L       0xDA

    As you can see I have INPUT_LEN and OUTPUT_LEN defined to 16 bytes and myCfg1 = { 0x17, 0x27 } (the second one after the else).

    This is explained in the link Garrett posted.

    If you haven't changed the default values on both places (on the GSD and code) they should match. In that case, it's quite likely you are doing something wrong on the master. On Siemens PLC you should take a look at the manuals, if you read them carefully there is a lot to be learned from the way the LEDs blink.

    Another good piece of advice that worked for me pretty well to debug the hardware side (I was using a Beagle Bone Black as the slave with a home-made RS485 transceiver) was to use pyProfibus running on a laptop (and a USB RS485 converter) as the master. The library is very easy to use. I wrote an issue to the developer on GitHub that you might find useful:

    Good luck with your tests.