KRC4 External Automatic mode without PLC (just a HMI as MBus TCP master)?

  • Hi guys,
    My questions are as follows,
    1.Is there a different access procedure for the Robot Forum link that's says "External Auto without PLC" post. It says I don't have access rights and redirects to the home page.
    If someone could share me the same that would be great.
    2. I modified my Cell.src to call the program number from my HMI so for this I replaced PGNO with $IN[3000] (grouped from 3000-3015 as Integer) from the HMI. But it didn't work, the errors on the smartpad says invalid/incorrect type assigned to Switch , should be INT, char or enum. Can someone explain how this is properly done?
    3. Is it compulsory that the controller should first be in T1 then bought to home position and then turn on EXT mode wait for 100ms to drop move enable.? Can someone help me here please? I would like to know what IN and OUT I need to turn on EXT mode and click on the program number from my hmi? Thanks
    4. Can I swap $OUT[993]...$OUT[996] to IN ?
    5. Should the signals be coils ? Or holding registers?
    And if it is a holding register is this a two byte register or just declare one byte high/low?

    Any help is greatly appreciated.

    Hmi operates as modbus tcp master to the gateway device and robot controller acts as a profinet io master to the gateway. While gateway is a slave device on both ends.

  • 1. Post the link, not a flowery description.
    2. Post the code, not a flowery description.
    3. This is programmed in Cell.src. It is not compulsory. You can modify cell.src for your requirements.
    4. You cann not swap outputs to inputs. What do You mean really? What function do the outputs 993 ... 996 have in your code?
    5. Which signals? Coils? Holding registers? On which side, hmi or robot, on robot there exist only Inputs and outputs.

    Read and follow…a-robot-forum/read-first/

  • Thanks

  • Now the problem is clear.
    You can use Inputs in two ways (the same for outputs).

    1. One single Input, i.e:
    $in[3000] this can have two states: TRUE or FALSE
    or declare it in a .DAT file, most time in $config.dat, so it is global:
    SIGNAL inputname $IN[3000]
    You can access the value in your code like: IF inputname then .... endif

    2. A group of inputs which represent an integer value:
    declare it in a .DAT file, most time in $config.dat:
    SIGNAL inputint $IN[3000] to $IN[3007] ; this can have 256 values, i.e. 0..255
    You can access the value in your code like: IF inputint==10 then .... endif or in a switch case statement.

  • ....
    So from my External HMI, can I assign coils to trigger the MOV_ENABLE, EXT mode, ON_Path and other variable by triggering single coils assigned to the KRC4 digital IN and OUT?
    Or does it have to be a 2byte(1word) holding register to trigger the signals? Please advice.

    The representation on the HMI is on Your choice. You can do it the way the HMI can use, or the way You can do it easier, better understandable.
    The type of connection in I/O-connection dialog in WoV is also irrelevant. In programs on robot side there exist only the two types of signals described above, no matter how they are connected in WoV or described in HMI.

  • Perfect Hermann,
    Now I got more educated :merci:

    But also another small question.
    What is the use of "Profinet Device Stack" and "Profinet Controller Device" ?
    What happens when I check those and activate them?

    Im accessing these from here, Profinet->Settings->Activate Profinet Device Stack and in the same tab we have Controller device and allows the user to chose the number of safe IO, IO data, and bus timeout.

    Please suggest.

  • Profinet acts as a Master/Slave type of bus -- there must be one, and only one, Master, and can be a large number of Slaves. These days, the preferred terminology is "Controller" or "Scanner" for the Master, and "Device" for the Slaves.

    Those options select whether the robot is acting as a Device, or a Controller, on the Profinet bus. If the robot is configured as the Controller, then every other unit on the bus must be a Device, and the robot will have to be programmed with a list of every Device and their individual parameters. If the robot is configured as a Device, then whatever other unit you use as a Controller must be configured as such and programmed with a complete scan list of all the Devices on the bus.

  • Sorry guys but just a little one this time.
    So when I declare the robot signals to my desired IOs in Files->KRC->STEU->$config.dat

    For example: Signal $DRIVES_ON $IN[200] is present in my KRC/STEU/Mada/$machine.dat so now if I declare Signal $DRIVES_ON $IN[2000] in KRC/STEU/$config.dat
    Should I comment out/remove the signal in machine.dat or keep both and controller will mask these internally?

    Please advice


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now