Asterisk next to System switch?

  • Working on a pc program to monitor the robots Repeat and TEACH_LOCK system switches, I noticed in my terminal these have asterisks next to their names. I'm assuming this is because they are a defined signal? Also in my program I am getting a "(P0110) Specify full spelling of command" error. The code I'm trying to add is "IF AUTOMATIC OFF and TEACH_MODE OFF and SIG (2010) then SIGNAL 10 and SIGNAL -11". Im sure this is a simple syntax issue, what am I messing up here?

  • Yes, bit of a strange area SWITCH is.

    The asterisks denote this is dedicated hardware and will only display the current status associated with it at the point of executing the SWITCH command.

    ie Teach Lock - shows the current status if it is On or OFF and you cannot activate this in software.


    Any asterisk SWITCH listed, you can evaluate the condition of it by for example:


    IF SWITCH(POWER) THEN; If motor power on

    IF SWITCH(POWER)==TRUE THEN; If motor power is on

    IF SWITCH(POWER)==-1 THEN; If motor power is on......I would never use this iteration for obvious reasons.

    IF SWITCH(POWER)==ON THEN; If motor power is on

    ;

    IF NOT SWITCH(POWER) THEN; If motor power off

    IF SWITCH(POWER) == FALSE THEN; If motor power if off

    IF SWITCH(POWER)==0 THEN; If motor power is on......I would never use this iteration for obvious reasons.

    IF SWITCH(POWER) == OFF THEN; If motor power if off


    mpower = SWITCH(POWER) ; will define mpower either as 0 if motor power is off, or -1 if motor power is on.


    0 in Kawasaki is considered FALSE or OFF

    -1 in Kawasaki is considered TRUE or ON


    But you cannot turn an asterisk SWITCH On or Off by command.

    Any SWITCH without asterisk, you can freely change within a program or instruction simply by for example:

    REP_ONCE OFF; Will set the repeat condition to continuous.

    REP_ONCE ON; Will set the repeat condition to once.


    But if you require to evaluate a SWITCH you will need to add the SWITCH to the argument.

    IF SWITCH(REP_ONCE) THEN;...….etc

    Without the SWITCH it will associate it as a real variable instead.


    There is no dedicated hardware switch for Automatic, this is something you allocate in the dedicated output signal area in Aux 0602 and then you can associate specific conditions to match in order to turn on the Automatic Output.

    Panel switch in Repeat and Teach Lock status can be checked/unchecked here, so all you would need to do is define the Automatic output and then evaluate it.

    Like you said - monitor the defined signal yourself.

    ie ddo.auto = 20.


    Then simply:

    IF SIG(ddo.auto) THEN; all of your set conditions in Aux 0602 are correct


    Otherwise, you are looking at a massive step width of AND conditions like:

    IF SWITCH(REPEAT) AND NOT SWITCH(TEACH_LOCK) AND SWITCH(RUN) AND NOT SWITCH(ERROR)


    Hope this helps...……..

  • IF SWITCH NOT(REPEAT) AND SWITCH NOT(TEACH) AND SIG(2010) THEN

    SIGNAL 10,-11

    END


    What you want to check ? You can check for the switches on chapter 7 from the AS language manual. I am not sure about the asterix, check if those signals have the dedicated signals enable.

  • Judging from kwakisaki's comment I believe I'm mixing up defined signals and dedicated signals. My bad guys. Alexandru thanks for the coding help. I ended up figuring out a different work around for my logic, I've attached a screen grab from K-Tools of what I'm trying to accomplish. I resolved the syntax issues as I guesstimated above with just monitoring the signals. Essentially I've been instructed to allow an operator to open and close the clamps off the I/F Panel because they keep messing up using the buttons provided on the TP. If you guys have any further suggestions I'm open to feed back. I'm going to test this stuff in K-Roset first then will probably implement tomorrow. So far the syntax issues have been my only problems, this is my first time messing with the I/F Panel tiles though so we will see. Thanks for the help!

  • Always better off removing 'direct gripper output controls' and push them through a PC Task, this way the operator cannot just go to the Output page and trigger them irrespective of clamp settings, teach, repeat modes...….so thumbs up for doing it this way.….:top:


    I would maybe nest the buttons inside the Sig -48 and sig 28 as they are all dependent on the same states.

    Will speed up scan time, if you plan on adding more functions within the PC task as it will skip the lot if the sig 48 and 28 are not in the required conditions


    IF (NOT SIG(48) AND SIG(28)) THEN

    IF SIG(2001) THEN

    SIG 1,-2

    END

    IF SIG(2002) THEN

    SIG -1,2

    END

    IF SIG(2003) THEN

    SIG 3,-4

    END

    IF SIG(2004) THEN

    SIG -3,4

    END

    END


    Potatoes or Potartoes though...…...Keep things simple and straight forward and you can't go wrong in my opinion...….

  • The signals from the clamp button doesnt memorize the status for the actual signal.

    I know it is Something like OFF - ON - OFF or Something like that. Thats why sometimes it is this misunderstanding.


    In order to control manual the gripper usually i create some switch buttons ON/OFF or OPEN/CLOSE and thats all. It will require only one output signal, what you did is some pushing buttons which i am not sure is correct.


    What are those conditions? Can you explain?


    For example in the initialization program you can have a program in order to check If there is any problem with the gripper or If the sensor signals are ok. For this you can open and close all the components from the gripper. I hope that you understand what i mean.

  • I would maybe nest the buttons inside the Sig -48 and sig 28 as they are all dependent on the same states.

    Will speed up scan time, if you plan on adding more functions within the PC task as it will skip the lot if the sig 48 and 28 are not in the required conditions

    Makes sense, I haven't seen anything coded like that before so that will be a good thing to remember going forward. I also added "pscan 0.5" as step one of the program. I know we are using the same command on another pc program for this robot but i didn't find anything on pscan in the AS language manual for the D controller. That sets the program to scan every half second correct?


    Also getting this I/F panel to load onto the K-Roset robot controller is kicking my butt. I've got it saved to the attached backup, i loaded the whole backup to the K-Roset Controller (C01), then synchronized K-Roset->Controller. Should I be loading this differently or synchronize differently? Sorry this is my first time attempting to do anything with the I/F Panel.:question_mark:

  • You can load only the panel code, please find into the backup the panel code, it should be above the programs.

    .INTER_PANEL_TITLE



    .END

    Try to put some buttons on the Interface Panel and see how the code is changing.

  • "What are those conditions? Can you explain?"

    give me a sec, I may have found a issue based on you line of questioning. Thanks!

  • Strange PCSCAN should be in there......

    The project in KROSET contains a PG Folder, so you can dump any of your file saves in there.

    Then from the Terminal, when you use LOAD/SAVE then it also uses the PG Folder as it's default directory.

    Alternatively, you can just cut the IF PANEL section from the file save and just load that in, again, by placing it in the PG Folder and using the LOAD command from the terminal.

    When you load it directly from the terminal, it's instantly on your virtual pendant.

  • Here is a copy of my backup that im trying to load

    "The signals from the clamp button doesnt memorize the status for the actual signal."


    Yes I agree this is a flaw. As it is now they just change gripper state with the CL1-CL2-CLn buttons so they have to remember to revert them back to the correct state currently. The only time they should be manually changing gripper state is in the event of a mis-pick. The main issue management is trying to avoid is the operators accidentally hitting the O.WRITE and POS MOD buttons accidentally and messing up existing programs. We do use the Inhibit record function but that only works as long as someone remembers to turn it back on when done modifying a point and if the operators don't know about it.


    "I know it is Something like OFF - ON - OFF or Something like that. Thats why sometimes it is this misunderstanding."


    I'm not sure by what you mean here.


    "In order to control manual the gripper usually i create some switch buttons ON/OFF or OPEN/CLOSE and thats all. It will require only one output signal, what you did is some pushing buttons which i am not sure is correct."


    I did originally try and use a 2 position switch for Open/close but I kept getting the first signal staying on. Might be the way the pneumatic are configured? Still gotta test out whether a pushbutton will work too. I agree this is somthing that needs looked into further.


    "What are those conditions? Can you explain?"

    This is where you potentially helped me catch a issue. Signal 48 is a dedicated output to show which position the Run/Teach switch on the robot control cabinet. Signal 28 is for Teach Mode, I assumed this is for the Teach/Repeat switch on the Teach pendant but apparently this isn't being used currently because is set to off. Signal 2001-04 were the signals I assigned to the buttons on the I/F Panel. and Signals 1-4 are close/open gripper1/2. So If the robot is not in Auto, in teach, open gripper1 push button is actuated, then Signal 2 will turn on.


    "For example in the initialization program you can have a program in order to check If there is any problem with the gripper or If the sensor signals are ok. For this you can open and close all the components from the gripper. I hope that you understand what i mean."

    I've attached a copy of my back up. We don't use a dedicated initialization program, just when the main program runs it sets the IO in the necessary states. So who ever shifts signals mid cycle needs to remember to return them to the correct state.


    Since we aren't actually monitoring/modifying signal 28 I think I'm going to replace it with a signal related to a work space that the robot monitors. The operators only need to be actuate the clamps in that general area any way.

  • You need to remember, Kawasaki Teach Pendant is bias towards BLOCK programming and Spot Welding.

    Clamp function, CLx buttons and Clamp conditions are all standard functions for BLOCK and Spot welding.

    CLx button by design is for toggle state of allocated signal you setup in clamp signal setting.

    Usually a logic sequence requires clamps to be checked to be open first, then closed, then opened when finished.

    ie place parts in a jig and clamp them ready to be spot welded...…...….

    CLx buttons allow for very quick BLOCK programming due this 'toggle function', coupled with a clamp condition to call a subroutine at the point the clamp is turned on, make it a very flexible and useful function.


    There is no flaw in with CLx buttons, it is how you interpret/apply it that is flawed.


    Have a read up on them in operations and programming manual, you will find a lot of useful information.

    Especially in AS Language for Clamp operations.

    LMOVE/JMOVE can have clamp no. added as parameter at the end of the instruction.

    Also you have AS Clamp commands - OPEN,OPENI,OPENS,CLOSE,CLOSEI,CLOSES,RELAX,RELAXI and all have very unique functions.


    Many flavours to choose from, but a lot of people just seem to stick with signal command instead.


    I did originally try and use a 2 position switch for Open/close but I kept getting the first signal staying on. Might be the way the pneumatic are configured? Still gotta test out whether a pushbutton will work too. I agree this is somthing that needs looked into further.

    Yes, I see in your code, you have to change states of 2 signals, so your actuators will be of complimentary type, so both sides need to be opposite signals in order to change state.


    Dedicated Automatic signal can be set, to include many additional conditions.

    So in your image, you have it allocated to Output 48.


    Output 48 will only turn on if:

    - Hold/Run switch is in RUN

    - External Hold is not activated.

    - Keyswitch is in Repeat Mode

    - Repeat condition is set to repeat continuous

    - Repeat step condition is set to step continuous

    - Teach Lock is off

    - Cycle start is on


    So unless the robot is also got cycle start on, output 48 will not be on in your current dedicated output configuration.

  • This is standard across all D and D+ Controllers in KROSET.

    Back in the day, instances like this were never really addressed as KROSET was not being used regularly, so feedback was not being generated towards the development and therefore comparisons between simulation and real world differences were never really addressed.

    It wasn't really until the physical release of the new E Controller, and this then kickstarted more development on KROSET and then Kawasaki started to fill these gaps in terms of differences.


    Have a look at your 'conversation' here at the forum, I've sent something over to you.

Advertising from our partners