1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. Industrial Robot Support and Discussion Center
  4. Yaskawa Motoman Robot Forum
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

Alarms to PLC

  • white_raven
  • September 13, 2021 at 10:03 PM
  • Thread is Unresolved
  • white_raven
    Reactions Received
    8
    Trophies
    2
    Posts
    64
    • September 13, 2021 at 10:03 PM
    • #1

    I was just wondering if it is possible to send specific alarms to a PLC for monitoring purposes. Like lets say we have a 1325 Communication Alarm. Is there a way for the robot send that alarm code to the PLC or will I have to get crafty and write some type of background logic to run and send the information for each individual alarm in a binary system?

  • 95devils
    Reactions Received
    234
    Trophies
    8
    Posts
    1,947
    • September 13, 2021 at 10:54 PM
    • #2

    Not knowing what generation you are on, it is possible. There are M-registers that contain the alarm number. If you look in the Concurrent IO manual for your generation it will have the address. This could be passed to the External Outputs and on to the plc.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • TSGIR
    Reactions Received
    81
    Trophies
    6
    Posts
    714
    • September 14, 2021 at 9:21 AM
    • #3

    If you use Modbus Tcp for communication between robot controller and PLC, you can send very easy the M-register that show alarm code.

    Alsoyou can send M-register data to external i/o but it need more i/o for it,

    There are other way and is use the Ethernet IP.

  • white_raven
    Reactions Received
    8
    Trophies
    2
    Posts
    64
    • November 15, 2021 at 5:26 PM
    • #4
    Quote from 95devils

    Not knowing what generation you are on, it is possible. There are M-registers that contain the alarm number. If you look in the Concurrent IO manual for your generation it will have the address. This could be passed to the External Outputs and on to the plc.

    I am on an NX100 right now and the M registers for alarm information are M340-M342. How would I write that into the ladder edit to send the M registers to a PLC? I've read through the concurrent IO manual but I can't quite figure out how to get the M registers output to a PLC. I'm using CC-link connectivity to the robot so it would most likely have to be binary correct? I'm just not sure how to write the instructions to output that information. Any help or clarification of my misunderstandings would be greatly appreciated.

  • 95devils
    Reactions Received
    234
    Trophies
    8
    Posts
    1,947
    • November 15, 2021 at 9:11 PM
    • #5

    Use the MOV instruction in the ladder to move the contents of the M-register to a relay word.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • white_raven
    Reactions Received
    8
    Trophies
    2
    Posts
    64
    • November 16, 2021 at 3:40 PM
    • #6
    Quote from 95devils

    Use the MOV instruction in the ladder to move the contents of the M-register to a relay word.

    I tried this but I get an error when I save. Where do I move the contents to so I don't get an error and so the PLC can read the information? Which outputs should I move the contents of the register to?

  • 95devils
    Reactions Received
    234
    Trophies
    8
    Posts
    1,947
    • November 16, 2021 at 4:27 PM
    • #7

    The error was probably when you compiled. If you set the output as a relay word, it is going to be 16 bit. You need to make sure the group you are using as the output and the next group are not used in the ladder.

    The outputs need to be on your CC-Link network.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • white_raven
    Reactions Received
    8
    Trophies
    2
    Posts
    64
    • November 16, 2021 at 6:35 PM
    • #8
    Quote from 95devils

    The error was probably when you compiled. If you set the output as a relay word, it is going to be 16 bit. You need to make sure the group you are using as the output and the next group are not used in the ladder.

    The outputs need to be on your CC-Link network.

    Ok thanks for the reply, however, virtually all of the outputs are being used somewhere in the ladder. For example: it will show a universal output # in a GRP instruction then an external output # on the bottom. I don't really understand what the point of this is or if it will destroy anything if I delete the instruction so that I can utilize the output. This is my first time actually modifying the ladder portion and it has been almost a decade since I took the class. My manual also doesn't clarify things very well so any help with this is greatly appreciated. Here is an example of the instruction I'm referring to. Ladder.png

    Edited once, last by white_raven (November 16, 2021 at 6:40 PM).

  • 95devils
    Reactions Received
    234
    Trophies
    8
    Posts
    1,947
    • November 16, 2021 at 8:22 PM
    • #9

    Yes, you are needing to delete the next group from the ladder. The MOV instruction is a 16-bit instruction. To send over a 16-bit alarm code to 16 outputs (2 groups) the outputs can not be addressed somewhere else.

    Using the GRP addresses that are shown above. The MOV instruction would move the alarm register into relay word 30170. Group 30171 would need be removed from the ladder.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • white_raven
    Reactions Received
    8
    Trophies
    2
    Posts
    64
    • November 16, 2021 at 9:13 PM
    • #10

    none of that worked and I still get a fault that simply states "relay number" with no detail whatsoever. The relay isn't being used anywhere else and I just give up at this point. Getting the alarm information sent to a plc isn't going to happen I guess. Here are pictures for reference.

  • 95devils
    Reactions Received
    234
    Trophies
    8
    Posts
    1,947
    • November 16, 2021 at 9:29 PM
    • #11

    Need to move to an external output address. You can only output to a 0,3,4, or 7 address.

    0 Universal Input

    3 External Output

    4 Specific Input

    7 Auxiliary Relay.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • TSGIR
    Reactions Received
    81
    Trophies
    6
    Posts
    714
    • November 17, 2021 at 8:57 AM
    • #12

    if use "MOV M340 W#30030", it work correct.

    there are a notice, if the #30030 use in ladder before, you couldn't use here and will give new error message.

  • Online
    mil3k
    Reactions Received
    15
    Trophies
    3
    Posts
    71
    • November 18, 2021 at 10:10 AM
    • #13
    Quote from white_raven

    The relay isn't being used anywhere else and I just give up at this point.

    I feel your pain... but I din't give up. Double check if you don't have BMOV instruction used somewhere in the CIO file. If you have it ensure to release desired range of source/destination relays from it and then try again.

    I had BMOV #20520,158,#00500 and wanted to link 8 groups (64bits) of internal relays with general purpose inputs started from #00730. When I started I had an error during compilation, something about illegal, double use of relay. For some time, I couldn't find to what relays that alarm was related to. Because #00730 was in the middle of BMOV instructions I couldn't find it.

    So when I figure it out, I did below:

    1) Found BMOV instruction where desired inputs were used.

    2) Split it in two BMOV instructions:

    BMOV #20520,22,#00500

    BMOV #20740,114,#00730

    3) Compile and check if everything is still as it was.

    4) Release first 8 bytes from second instruction

    BMOV #20520,22,#00500

    BMOV #20830,106,#00810

    5) Compile and check if no error and release groups are free to use.

    6) Link groups of auxiliary relays (internal) with groups of GP Inputs

    STR #70017

    BMOV #20520,22,#00500

    GSTR #76650

    GOUT #00730

    GSTR #76660

    GOUT #00740

    GSTR #76670

    GOUT #00750

    GSTR #76680

    GOUT #00760

    GSTR #76800

    GOUT #00770

    GSTR #76810

    GOUT #00780

    GSTR #76820

    GOUT #00790

    GSTR #76830

    GOUT #00800

    STR #70017

    BMOV #20830,106,#00810

    7) Compile and check if everything works as I wanted.

    Good thing is that you need to do it only once, after that you can just use your CIO file with every other robot or just copy and paste this section to new robot's CIO file.

    Now, after above modification in the CIO file, if I would like to have on my GP Inputs alarms I could try this:

    1) Add these three lines

    MOV M340 W#76650

    MOV M341 W#76670

    MOV M342 W#76690

    or 2) remove links I did in step 6 and use instead:

    MOV M340 W#00730

    MOV M341 W#00750

    MOV M342 W#00770

    Edited once, last by mil3k (November 18, 2021 at 10:35 AM).

  • 95devils
    Reactions Received
    234
    Trophies
    8
    Posts
    1,947
    • November 18, 2021 at 12:58 PM
    • #14
    Quote from mil3k

    I feel your pain... but I din't give up. Double check if you don't have BMOV instruction used somewhere in the CIO file. If you have it ensure to release desired range of source/destination relays from it and then try again.

    I had BMOV #20520,158,#00500 and wanted to link 8 groups (64bits) of internal relays with general purpose inputs started from #00730. When I started I had an error during compilation, something about illegal, double use of relay. For some time, I couldn't find to what relays that alarm was related to. Because #00730 was in the middle of BMOV instructions I couldn't find it.

    So when I figure it out, I did below:

    1) Found BMOV instruction where desired inputs were used.

    2) Split it in two BMOV instructions:

    BMOV #20520,22,#00500

    BMOV #20740,114,#00730

    3) Compile and check if everything is still as it was.

    4) Release first 8 bytes from second instruction

    BMOV #20520,22,#00500

    BMOV #20830,106,#00810

    5) Compile and check if no error and release groups are free to use.

    6) Link groups of auxiliary relays (internal) with groups of GP Inputs

    STR #70017

    BMOV #20520,22,#00500

    GSTR #76650

    GOUT #00730

    GSTR #76660

    GOUT #00740

    GSTR #76670

    GOUT #00750

    GSTR #76680

    GOUT #00760

    GSTR #76800

    GOUT #00770

    GSTR #76810

    GOUT #00780

    GSTR #76820

    GOUT #00790

    GSTR #76830

    GOUT #00800

    STR #70017

    BMOV #20830,106,#00810

    7) Compile and check if everything works as I wanted.

    Good thing is that you need to do it only once, after that you can just use your CIO file with every other robot or just copy and paste this section to new robot's CIO file.

    Now, after above modification in the CIO file, if I would like to have on my GP Inputs alarms I could try this:

    1) Add these three lines

    MOV M340 W#76650

    MOV M341 W#76670

    MOV M342 W#76690

    or 2) remove links I did in step 6 and use instead:

    MOV M340 W#00730

    MOV M341 W#00750

    MOV M342 W#00770

    Display More

    OP is on NX100 which doesn't have the BMOV instruction.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • Online
    mil3k
    Reactions Received
    15
    Trophies
    3
    Posts
    71
    • November 18, 2021 at 2:51 PM
    • #15
    Quote from 95devils

    OP is on NX100 which doesn't have the BMOV instruction.

    Thanks for info, I wasn't aware about it.

    Just dug through my manuals and DX200 is the first generation where I found BMOV.

  • 95devils
    Reactions Received
    234
    Trophies
    8
    Posts
    1,947
    • November 21, 2021 at 4:52 PM
    • #16

    Here it is is the simplest form. In this example I am writing to 30030. Since this is a 16-bit MOV instruction I need to make sure that addresses 30030 through 30037 and 30040 through 30047 are not used anywhere in the ladder. The only other item I add is another NO (A) contact in parallel that is my alarm reset button. This will reset M640 and clear the outputs.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • notverycreeative
    Trophies
    3
    Posts
    9
    • December 5, 2021 at 1:55 AM
    • #17

    If your PLC and Robot are both using Ethernet/IP then there is an Explicit Message configuration in the PLC that you can use to read the Alarm. I believe this topic is addressed in one of the Ethernet/IP manuals.

    According to the manual it is not supported with any robot that has Safety Over Ethernet (FSU Ethernet Safety).

    I have tried to implement it in the past, but have never had the time to figure out how to make it work. We read the alarm codes out of Fanuc robots all day every day though with a similar process.

  • white_raven
    Reactions Received
    8
    Trophies
    2
    Posts
    64
    • December 8, 2021 at 2:22 PM
    • #18
    Quote from notverycreeative

    If your PLC and Robot are both using Ethernet/IP then there is an Explicit Message configuration in the PLC that you can use to read the Alarm. I believe this topic is addressed in one of the Ethernet/IP manuals.

    We only use discrete IO, and do not have ethernet connectivity between the robots and PLC.

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Similar Threads

  • DX100 Position Error?

    • DKirkman
    • September 2, 2021 at 1:10 PM
    • Yaskawa Motoman Robot Forum
  • Using Style call and resuming cycle after leaving program or abort

    • SmoothJazzRobot
    • September 9, 2021 at 3:24 PM
    • Fanuc Robot Forum
  • yrc1000 HC10

    • GWrobo
    • August 24, 2021 at 1:01 PM
    • Yaskawa Motoman Robot Forum
  • Help setting up our (first) used robot

    • GiroDyno
    • August 10, 2021 at 7:06 PM
    • Fanuc Robot Forum
  • ERC controller, Need Help Alarms 0853, 0963 at Servo power up.

    • danc@rosemetal.com
    • July 20, 2020 at 7:31 PM
    • Yaskawa Motoman Robot Forum
  • sending active alarms to PLC through profibus

    • RKind
    • November 22, 2018 at 7:55 AM
    • Fanuc Robot Forum
  • Remotely clear alarms DX200

    • Crowmagnus
    • November 6, 2018 at 4:50 PM
    • Yaskawa Motoman Robot Forum
  • RJ3 TP alarms

    • stonetech
    • August 7, 2017 at 3:17 PM
    • Fanuc Robot Forum

Tags

  • dx100
  • NX100
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download