Connect S4C+ to IRC5 with DeviceNet

DavidLanham United States ✭✭
I am trying to get a S4C+ robot to talk to a IRC5 robot with DeviceNet and it is not working.  I have figured out that because the S4C+ is using CAN protocol and the IRC5 is using DeviceNet protocol that the two will not talk direct.  So I have purchased a AnyBus CAN to DeviceNet gateway and I am trying to get it to work that way.  I am able to get the IRC5 to talk to the DeviceNet side of the Anybus gateway but I cannot get the S4C+ talking to the CAN side of the gateway. 

Has anybody connected a Anybus gateway to a S4C+ before? If so did you connect to the BASE or CAN2 connection in the S4C+?  What was the settings that you used in the EIO config file to make the robot talk to the Anybus device?

Thank you for any help,


  • DavidLanham
    DavidLanham United States ✭✭
    Ok I got this going just using DeviceNet to DeviceNet between the S4C+ and the IRC5 robot.  I set the S4C+ to DNET_SLAVE and connected to BASE system on CAN 1.2.  I put a 120ohm resister on pin 2 and 4 and I did not connect pin 1 and 5 (24 VDC and 0 VDC).  I connected to the DeviceNet connector in the bottom of the IRC5 cabinet and I connected a 120ohm resistor between pins 2 and 4.  I configured the S4C+ on the IRC5 side with the below configurations from the S4C+.eds file.
    S4C+ Configuration
          -Name "IRC5" -Type "DNET_SLAVE" -Bus "BASE" -Address "30" -Digin 32\
          -Digout 32 -Param "IRC5_VAL"

    IRC 5 Configuration
          -Name "S4CPlus" -VendorName "ABB" -ProductName "S4CPlus" -Address 30\
          -ProductCode 15 -DeviceType 100 -OutputSize 4 -InputSize 4

    You need to change the DeviceNet master address in the IRC5 under the Bus configuration to something like 5 so it's not the same as S4C+ BASE master address.  

    This worked no problems.  Did not need any module in between the two robots.

  • pcavan23
    pcavan23 Perth
    Hi all I'm attempting to connect same configuration I'm not sure what file I need to change in S4C+ controller EIO or MCC
  • graemepaulin
    graemepaulin New Zealand mod
  • pcavan23
    pcavan23 Perth
    Hi All I'm having a issue with S4Cplus I'm getting a error 71134 my user guide states Unit %s refers to values (%s) that don't exists 
    1.Check unit configuration
    I've read all my manual browsed on net just Can't work it out I've added a photo of my error 
    maybe I need to add a statement in the EI0_BUS_USER section 
    any help will be appreciated

    My EIO 





          -Name "SIM" -Driver "/sim1:"


          -Name "SW" -Driver "/sw1:"


          -Name "BASE" -Driver "/BASE1:"


          -Name "CAN2" -Driver "/BASE2:"




          -Name "SW_BOARD" -Type "eip000" -Bus "SIM" -Digin 16 -Digout 16


          -Name "SIM_BOARD" -Type "eip000" -Bus "SIM" -Address "0x1" -Digin 25\

          -Digout 25


          -Name "SWCOM_BOARD" -Type "eip000" -Bus "SIM" -Address "0x2" -Digin 25\

          -Digout 25


          -Name "DP_SIMBOARD" -Type "eip000" -Bus "SIM" -Address "6" -Digin 16\

          -Digout 16 -Anin 4 -Anout 4


          -Name "IRC5" -Type "DNET_SLAVE" -Bus "BASE" -Address "30" -Digin 32\

          -Digout 32 -Param "IRC5_VAL"





          -Lact "SwSkipProc" -Lres "SwSkipProc_cr"


          -Lact "SwRunProc" -Lres "SwSkipProc_cr"


          -Lact "doBwdOnPath" -Lres "diBwdOnPath"




          -Status "MotOnState" -Signal "motor_on"


          -Status "CycleOn" -Signal "swb_cycle_on"




          -Name "SwSkipProc_cr" -Type "DI" -Unit "SWCOM_BOARD" -Phsig 12


          -Name "swb_in_pos_rq" -Type "DO" -Unit "SWCOM_BOARD" -Phsig 1 -Store


          -Name "swb_move_ack_rq" -Type "DO" -Unit "SWCOM_BOARD" -Phsig 2


          -Name "swb_move_req_rq" -Type "DO" -Unit "SWCOM_BOARD" -Phsig 3


          -Name "swb_open_ack_rq" -Type "DO" -Unit "SWCOM_BOARD" -Phsig 4


          -Name "swb_prep_req_rq" -Type "DO" -Unit "SWCOM_BOARD" -Phsig 5


          -Name "swb_start_req_rq" -Type "DO" -Unit "SWCOM_BOARD" -Phsig 6 -Store


          -Name "swb_posup_ack_rq" -Type "DO" -Unit "SWCOM_BOARD" -Phsig 10


          -Name "swb_posup_req_rq" -Type "DO" -Unit "SWCOM_BOARD" -Phsig 11


          -Name "swb_prsup_req_rq" -Type "DO" -Unit "SWCOM_BOARD" -Phsig 12


          -Name "swb_prsup_ack_rq" -Type "DO" -Unit "SWCOM_BOARD" -Phsig 13


          -Name "swb_start_on" -Type "DO" -Unit "SWCOM_BOARD" -Phsig 14


          -Name "swb_cycle_on" -Type "DO" -Unit "SWCOM_BOARD" -Phsig 15




          -Name "p1_ok" -Type "DI" -Unit "SW_BOARD" -Phsig 1


          -Name "p2_ok" -Type "DI" -Unit "SW_BOARD" -Phsig 2


          -Name "p3_ok" -Type "DI" -Unit "SW_BOARD" -Phsig 3


          -Name "p4_ok" -Type "DI" -Unit "SW_BOARD" -Phsig 4


          -Name "tip1_open" -Type "DI" -Unit "SW_BOARD" -Phsig 5


          -Name "tip1_retract" -Type "DI" -Unit "SW_BOARD" -Phsig 6


          -Name "weld_ready1" -Type "DI" -Unit "SW_BOARD" -Phsig 7


          -Name "timer_ready" -Type "DI" -Unit "SW_BOARD" -Phsig 8


          -Name "flow_ok" -Type "DI" -Unit "SW_BOARD" -Phsig 9


          -Name "temp_ok" -Type "DI" -Unit "SW_BOARD" -Phsig 10


          -Name "current_ok" -Type "DI" -Unit "SW_BOARD" -Phsig 11


          -Name "reset_fault" -Type "DO" -Unit "SW_BOARD" -Phsig 1


          -Name "p2_req" -Type "DO" -Unit "SW_BOARD" -Phsig 2


          -Name "p3_req" -Type "DO" -Unit "SW_BOARD" -Phsig 3


          -Name "p4_req" -Type "DO" -Unit "SW_BOARD" -Phsig 4


          -Name "close_tip1" -Type "DO" -Unit "SW_BOARD" -Phsig 5


          -Name "work_select" -Type "DO" -Unit "SW_BOARD" -Phsig 6 -Store


          -Name "start1" -Type "DO" -Unit "SW_BOARD" -Phsig 7


          -Name "current_enable" -Type "DO" -Unit "SW_BOARD" -Phsig 8 -Store


          -Name "process_error" -Type "DO" -Unit "SW_BOARD" -Phsig 9 -Store


          -Name "prog_parity" -Type "DO" -Unit "SW_BOARD" -Phsig 10 -Store


          -Name "tip2_open" -Type "DI" -Unit "SIM_BOARD" -Phsig 1


          -Name "tip2_retract" -Type "DI" -Unit "SIM_BOARD" -Phsig 2


          -Name "weld_ready2" -Type "DI" -Unit "SIM_BOARD" -Phsig 3


          -Name "start2" -Type "DO" -Unit "SIM_BOARD" -Phsig 1


          -Name "close_tip2" -Type "DO" -Unit "SIM_BOARD" -Phsig 2


          -Name "weld_error" -Type "DO" -Unit "SIM_BOARD" -Phsig 3


          -Name "weld_power" -Type "DO" -Unit "SIM_BOARD" -Phsig 7


          -Name "motor_on" -Type "DO" -Unit "SIM_BOARD" -Phsig 8


          -Name "water_start" -Type "DO" -Unit "SIM_BOARD" -Phsig 9


          -Name "proc_run" -Type "DO" -Unit "SIM_BOARD" -Phsig 10


          -Name "inhib_move" -Type "DO" -Unit "SIM_BOARD" -Phsig 11 -Store


          -Name "SwRunProc" -Type "DO" -Unit "SIM_BOARD" -Phsig 12


          -Name "SwOpenGun" -Type "DO" -Unit "SIM_BOARD" -Phsig 13


          -Name "SwCloseGun" -Type "DO" -Unit "SIM_BOARD" -Phsig 14


          -Name "SwNewData" -Type "DO" -Unit "SIM_BOARD" -Phsig 15


          -Name "SwSkipProc" -Type "DO" -Unit "SIM_BOARD" -Phsig 16


          -Name "doEqu1Gun1" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 1


          -Name "doEqu1Gun2" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 2


          -Name "doEqu1Gun3" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 3


          -Name "doEqu1Gun4" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 4


          -Name "doEqu1Gun5" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 5


          -Name "aoEqu1F1" -Type "AO" -Unit "DP_SIMBOARD" -Phsig 1 -LogMax 100\

          -PhMax 10


          -Name "aoEqu1F2" -Type "AO" -Unit "DP_SIMBOARD" -Phsig 2 -LogMax 100\

          -PhMax 10


          -Name "doEqu2Gun1" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 6


          -Name "doEqu2Gun2" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 7


          -Name "doEqu2Gun3" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 8


          -Name "doEqu2Gun4" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 9


          -Name "doEqu2Gun5" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 10


          -Name "aoEqu2F1" -Type "AO" -Unit "DP_SIMBOARD" -Phsig 3 -LogMax 100\

          -PhMax 10


          -Name "aoEqu2F2" -Type "AO" -Unit "DP_SIMBOARD" -Phsig 4 -LogMax 100\

          -PhMax 10


          -Name "doEqu3Gun1" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 6


          -Name "doEqu3Gun2" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 7


          -Name "doEqu3Gun3" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 8


          -Name "doEqu3Gun4" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 9


          -Name "doEqu3Gun5" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 10


          -Name "aoEqu3F1" -Type "AO" -Unit "DP_SIMBOARD" -Phsig 3 -LogMax 100\

          -PhMax 10


          -Name "aoEqu3F2" -Type "AO" -Unit "DP_SIMBOARD" -Phsig 4 -LogMax 100\

          -PhMax 10


          -Name "doEqu4Gun1" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 6


          -Name "doEqu4Gun2" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 7


          -Name "doEqu4Gun3" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 8


          -Name "doEqu4Gun4" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 9


          -Name "doEqu4Gun5" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 10


          -Name "aoEqu4F1" -Type "AO" -Unit "DP_SIMBOARD" -Phsig 3 -LogMax 100\

          -PhMax 10


          -Name "aoEqu4F2" -Type "AO" -Unit "DP_SIMBOARD" -Phsig 4 -LogMax 100\

          -PhMax 10


          -Name "doDPErr" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 11


          -Name "doDPOvrSpd" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 12


          -Name "doDPActive" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 13 -Store


          -Name "doBwdOnPath" -Type "DO" -Unit "DP_SIMBOARD" -Phsig 14


          -Name "diBwdOnPath" -Type "DI" -Unit "DP_SIMBOARD" -Phsig 1




          -Name "pressure_group" -Type "GO" -Unit "SW_BOARD" -Phsig 2 -Length 3\



          -Name "prog_no_group" -Type "GO" -Unit "SW_BOARD" -Phsig 11 -Length 6\



          -Name "goEqu1Guns" -Type "GO" -Unit "DP_SIMBOARD" -Phsig 1 -Length 5


          -Name "goEqu2Guns" -Type "GO" -Unit "DP_SIMBOARD" -Phsig 6 -Length 5


          -Name "goEqu3Guns" -Type "GO" -Unit "DP_SIMBOARD" -Phsig 6 -Length 5


          -Name "goEqu4Guns" -Type "GO" -Unit "DP_SIMBOARD" -Phsig 6 
  • lemster68
    lemster68 United States ✭✭✭
    Where did you get this?

    -Name "IRC5" -Type "DNET_SLAVE" -Bus "BASE" -Address "30" -Digin 32\

          -Digout 32 -Param "IRC5_VAL"

    Were you able to choose those from a list using the pendant in the the configuration?

    Lee Justice
  • pcavan23
    pcavan23 Perth
    Hi Lemster from a post from DavidLanham 
    I made a backup to floppy disk made the change to the EIO file using notepad using desktop saved it the backup folder uploaded it to controller using reinstall from a backup I can't see any other way 
  • lemster68
    lemster68 United States ✭✭✭
    What you are most likely missing is the last part, -Param "IRC_VAL".  There should be a section which lists something like:
    and something which has IRC_VAL
    Lee Justice
  • pcavan23
    pcavan23 Perth
    HI It's written on my last statement in EIO_UNIT section