MrPLC Member
  • Content count

  • Joined

  • Last visited

Community Reputation

3 Neutral

About BE

  • Rank

Profile Information

  • Country Australia
  1. 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 
  2. 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).
  3. Not sure if OP will come back here or not as the post is nearly 2 months old, but is there any reason you need to use a PLC? A lot of my work is with clients who need to control pumping stations in the water and sewage industry here in Australia. And the only reason PLC's are needed for those is because they all have remote feedback and status updates to central control rooms and they have analogue level sensors for water/sewage levels. Any DOL motor circuits just use basic electrical controls. Just create a schematic with the contacts configured in such a way as to do what you need to do. There are only 3 inputs, all have to be true for the pump to run (assuming I interpreted your post correctly), so normally closed series contacts before the contactor coil would work fine (depending on the sensors you might need some relay's to 'convert' normally open to normally closed). Auto position of the selector switch goes before those contacts, and the manual position bypasses all 3 contacts. The exact schematic will depend on several factors, including client requirements (do they have specific control voltages in a specification), size of the motor, local rules and regulations, and the sensors you are using. Incorporating a basic fault circuit into that is also fairly straightforward, and typically goes in series with the 3 contacts previously mentioned. Any electrician who has experience with DOL motor starter controls should be able to work something out to run the whole system. Judging by what you have mentioned in your post, you don't need a PLC. It will just complicate the system and make it more expensive than it needs to be. 
  4. 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:
  5. 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.
  6. 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 )
  7. 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.
  8. 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).
  9. 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 
  10. 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.
  11. 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 
  12. 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?
  13. Sysmac Studio Improvement Request

    Would be nice if there was a way to modify IAG variable values when simulating in the IAG project prior to publishing. Putting the relevant variables in the watch tab and modifying their them there doesn't seem to work for some reason. Buttons can be pressed, data entry fields can be used etc, but the watch tab doesn't seem to work. This would allow text formatting to be checked, and also quickly check that bit lamps, pushbuttons, slider etc are configured to the right variable before publishing. Currently I publish my IAG's, import them into a test HMI project with the relevant structured datatypes, and then test them in the simulator there.
  14. You said that the 2028 was Slave 1, and that the 2610 was slave 2. Then you said that you set the nodes in Sysmac Studio to be 2610 as 1 and 2028 as 2. Bit of a long shot here, but have you physically connected the devices together in the same way as you have set it up in Sysmac Studio? Also, are there any EtherCAT hubs or does the network just run from the controller to the first device, and then loop to the 2nd device? In what order are the devices are the devices physically connected (ie. PLC to 2610 to 2810 or PLC to 2810 to 2610)? Last time I had a problem similar to this, it was because someone had connected a couple of devices the wrong way round. That said, the network I was working on had about 20 devices, not 2.
  15. In addition to photvotaic's question, are there any other devices on this EtherCAT network or is it just the one device?