MrPLC Member
  • Content count

  • Joined

  • Last visited

Community Reputation

3 Neutral

About BE

  • Rank

Profile Information

  • Country Australia
  1. NA5 screen Crashes

    Sounds good. I had some weird problems come up on my last project due to task execution times being too low. Increasing the time solved my issues, but I didn't have anything like what you are dealing with. Good luck, let us all know how you go. 
  2. NA5 screen Crashes

    The only other thing I would try then is to merge some of your groups together. Maybe do a group "Robots 1-5" etc, and reduce the quantity of groups to about 10 (these 10 groups would include all your alarms). Try uploading these groups and see if you still have the problem. Basically, just trying to determine if it is the large amount of groups that are causing it, or if it is the amount of alarms.
  3. NA5 screen Crashes

    Thanks for confirming those points. One other thing, are you viewing the alarm history or just the active alarms when it crashes? Assuming you are view active alarms, does it crash if nothing is on the alarm screen? I personally can't see anything wrong with how you have set that up, that said I have never used unions for alarm expressions. I have used structures with no issues, so I would assume unions would be fine also, but I will leave that to someone with more experience to comment on.  If you haven't played around with the import/export function for user alarms, I would suggest having a play around with it before doing the following. I would hate to have to enter 800 alarms again . You can export all user alarms into one spread sheet, or do individual groups. Just right click the relevant group and click export to do individual groups. Or right click User Alarms and click export to export all the alarms into one spread sheet. At this point, my thoughts would be to export all your alarms to an excel sheet as I mentioned above. Then delete all the alarms on your HMI program, upload to the NA and see if you still have issue when on the alarm screen. If you still have the problem, then it probably isn't your alarms causing the issue. If you don't have any issues after deleting the alarms, I would be inclined to make a copy of your spread sheet. Then edit the copy, and remove about 80% of the alarms. Import the copy back into the HMI program, re-upload and see if the problem arises again. If all is well, keep adding alarms until the problem shows up again. If you exported all the groups individually, you could just import individual groups back in, instead of editing a large spreadsheet, this might make life easier. If the NA crashes basically as soon as you add some of the union alarms back in, remove them again and see if you can add some alarms in that reference non-union variables (probably just make some up from other booleans in the program), and see if you still have the problem. If the problem still happens with non-union alarms, then again, it's probably not your alarms causing the issue. I know its tedious, time consuming and painful, but basically if I was in your shoes I would be trying to determine the cause based on elimination, and then slowly re-introducing everything until the fault happens again.
  4. NA5 screen Crashes

    Just trying to understand how your system is setup, so bear with me. You have 42 alarm groups on an NA series HMI screen. You say each group varies in size, do you mean the quantity of alarms in each group (ie. 16 bit = 16 alarms)? Each group is 'triggered' by a binary bit. So does this mean that all the alarms in 1 group have a single bit that triggers all of them at once? Or each alarm has it's own trigger? You mention tags and tag array's in your first post, what do you mean by these? Is this like an array of bits for each group (ie. Array A-Bit 0 triggers Group A-Alarm 0, Array A-Bit 1 triggers Group A-Alarm 1 and so on), with you setting the values for these bits elsewhere in Sysmac Studio? Are you able to post a screenshot of one of the Alarm Groups in Sysmac Studio? Roughly how many alarms in total are you working with (easiest way to find this out is export them all to Excel. Right Click "User Alarms" and click export) A project I recently finished uses about 12 different alarm groups, with a combined total of over 250 alarms and I had no issues with it. I don't recall any delay's between screens either (except for the iPad's VNC connection to the HMI, but that is a different matter entirely )
  5. Sysmac Studio Improvement Request

    Not sure if this has been mentioned before, but it would be nice if we could assign a structure member to I/O in the I/O map. Currently it only allows "normal" variables, periods/fullstops are not allowed. The project I am working on has multiple structured datatypes for various equipment, and these structures include Boolean members that indicate the status of reed switches and other sensors (on physical inputs), and trigger run/start signals through physical outputs etc. So I basically have had to create individual variables for all my physical I/O, and then write the values from these variables to structure members (and vice versa for outputs) in an attempt to keep all the data for specific equipment together in the structure. Not hard to do using a few custom function blocks, but it just seems a little counterintuitive to create structures that keep things together and organised, and then have to create individual variables for physical I/O. I assume there is probably a reason Omron hasn't done this, but it would be nice if we could 
  6. I don't have any issues when on my workstation in the office. I do notice a difference when I am programming onsite with my laptop. Even then though, the programming itself is fine, it's only things like build/rebuilds, simulations etc that seem to take a bit longer to perform (or it might just be my perception ). That said, my workstation and laptop are higher end machines by most people's computing standards. Laptop is a lower end gaming laptop (can't recall specs off the top of my head, but it's one of the Asus Tuf Gaming series), and my workstation is designed for the 3D CAD work I typically do when I am not programming (Xeon CPU, 32GB RAM, PCIe SSD).
  7. For NA series HMI's, you can use a data display for this. Your expression (Properties - Behaviour) is the integer variable. The following settings are also under the "behaviour" section of the DataDisplay properties. DataType: Change this to Numeric (if it isn't set to that already) ValueFormat: Custom CustomDisplayFormat: Vessel Level: {0:##0.0} Meters Lets assume that the level in the vessel is 6.5 meters. The data display would display the following (minus the quotes) "Vessel Level: 6.5 Meters". It will show up like this in the simulator too, so if you can see how it will look on the HMI. Data Edit Objects work in the same way. The link below gives a bit more detail on how it works, specifically on the role of 0's and #'s in the CustomDisplayFormat:
  8. Sysmac Studio Improvement Request

    Ah, very possibly. It was probably one of those settings that my Omron tech suggested to change when I did their training course (and have since forgotten about it lol) If that is the case, the setting is located under Tools-Option...-Variables.
  9. Sysmac Studio Improvement Request

    What do you mean by variables don't behave well? If I update the name of a global variable in the global variables table, it automatically updates it in other areas of my program. However if I have 10 variables named Test1, Test2......Test9, Test10 and I wanted to change them to be 2-11 (instead of 1-10), I start by changing 10 to 11 and working my way back down to prevent any variables ever having the same name (which, rightfully so, causes Sysmac Studio to get a bit cranky and tell you off )
  10. I have been successfully using the following function block. Link below. There is a guide for using it in the ZIP file if I recall correctly, really easy to use and works well. In my case I have multiple instances of it, and with a little bit of code in place to prevent them all executing at once, they work great. I did the CONCAT for the filename in some inline structured text (I want a new file to be created every month), wrote the results of that CONCAT to a variable, which was then used as the file name variable in the function block. If the file with that name already exists, then it doesn't create a new file. Otherwise it creates a new file as per the file name variable. There is also a column names input, so the block will make the first row of the CSV file a set of column names when it creates a new file. Very handy . If you decide not to actually use the function block, you can still open it to see how it runs, which might help you to work out why your code isn't creating the CSV file too.
  11. is really plc runs in cycle?

    I don't know to be honest. Like I said, I don't have any experience with PLC servo programming so someone else will need to chime in. I suspect the problem is related to one of your other posts regarding Relative movement, so I would be taking what @scotty134 said in that other post and see what you come up with from that. It looks like the IF statement on line 7 is working, because line 8 is writing the value to IRAxis4_Pos2. And the PLC will be running that IF statement every time it does a cycle (which you said was set at 1ms).
  12. is really plc runs in cycle?

    I have no servo experience, so can't comment specifically regarding the servo side of things. However, looking at that code, I see that the variable bAxis4_Move has a value of "True" written to it at Line 4, again at Line 7 (in the IF statement, which should be true in that screenshot). Yet it is showing its current state as False. If I have read the code correctly, the other spot that that bAxis4_Move has a value written to it is Line 11, however that IF statement would be False in that screenshot. So no value should be written from there. So I have 2 questions: 1. What is the purpose of Line 4, if the same value is written to the variable bAxis4_Move in the IF Statements? Or why is it required in the IF Statements if the value is written at Line 4? 2. Is there somewhere in your code that is writing a value of False to the variable bAxis4_Move? I don't know if that is the cause of your problem, however based on my limited PLC knowledge, that is where I would start the troubleshooting/debugging process. Good Luck 
  13. Stl 4bytes to real

    I have found the help menu in Sysmac Studio to be quite thorough. If you are trying to work out how to code a particular function/function block, find it in the help menu, and have a look at the structured text examples for that function/function block. If you are referring to some sort of reference material for ST coding generally, I haven't found anything comprehensive yet. If I have a specific problem that I can't find in the help menu, I normally check the forums and/or contact my Omron tech.
  14. What are the Link Indicator lights doing on the 2610? Are they indicating that a connection has been established? Or are they off (indicating no connection)? As far as I know, there are 4 states that EtherCAT devices go through during a normal start-up: Init Pre-Operational Safe-Operational Operational For some reason, the 2610 is stopping at Safe-Operational. At this point I have no idea why, but I would be inclined to think that its something in the 2610. Hopefully someone else has some ideas that might help. Could also be worth talking to the company that supplied you with the 2610 to see if they have any form of technical support that might be able to shed some light on the issue (assuming you haven't already done that) Best of luck 
  15. My issue was that 2 of my devices were connected the wrong way around. That is why I asked if you had connected them as per Sysmac Studio.  That fact that you can connect to the 2810 (which is the last device to be patched in) would tell me that the EtherCAT network itself is working (ie. communications are going through the 2610 no worries). Doesn't explain why you can't connect to the 2610 though. Following italicised words copied from the manual: Once the power is connected, the “IN” and “Mode” LEDs should be flash in green. Once the ECAT-2610(-DW)/2611 connected to EtherCAT Master, the “Run” LED should be illuminated in red. Does you device do what is described there? Is the 'Run' LED red? Is the error light on the 2610 lit when you are trying to connect to it?