7/12/2009 2:30 PM | |
Joined: 10/7/2005 Last visit: 3/15/2025 Posts: 3042 Rating:
|
Excellent point Phantom75 and the same can be said for the following words from lalit:
Let's also not forget that people tend to like what they know (or have experience with). A/B PLC’s and their programming software are perceived by A/B fans to be “easier”, “more powerful” and more “user friendly” than Siemens PLC’s and I can see where this (WRONG) perception comes from. For one, ControlLogix PLC’s have a wealth of inbuilt instructions (e.g. Array (file) shift/compare/search/sort instructions, FIFO buffer handling, the hideous “compute” instruction etc.etc.) which far exceeds what you’ll find in the “normal” Step7 instruction set. There is of course a wealth of SFC’s/SFB’s available to begin with and a considerable amount of IEC blocks, knowing that they exist can of course be a challenge. I don’t mean to be sarcastic here and its good that these questions are asked, but even in this forum we have questions like “Is there a way to set all values to zero in a DB”, the simple answer is of course “Yes, have a look at SFC21”, but people simple aren't "naturally" aware of these. And you can of course always develop your own blocks to do what you want to do and neatly put them into libraries (or use blocks created by others such as www.oscat.de). Secondly, programming of a ControlLogix PLC takes a lot of the thinking effort away from you. For example, essentially all math and compare instructions exist only as one instruction, whereas Step7 has as set of INT, DINT and REAL for these. And yes, you can compare an INT with a REAL via the A/B compare instruction (you can even compare STRINGS with the same instruction!). The compiler will in runtime convert and match the data types and spit out the result. You can also for example add an INT with a DINT and have the result delivered as a REAL (in one common ADD instruction). People (who don’t know better) like this nonsense, it does however lead to “sloppy” programming techniques and can cause unforeseen results (note that even the manual actually states that every instruction has so called “optimal” data types which makes the instruction execute faster and requires less memory and these are typically DINT or REAL. There is additionally a long section at the end in the instruction set manual that describes what rules govern the conversion of one data type to another if mixed data types are used). Anyway, I’ve seen a colleague during commissioning scratching his head why his comparison didn’t deliver the results he thought it should, until he realised that he fell prey to the usage of mixed data types. To sum this yet again way to drawn out entry up: Siemens PLC’s are more logical, more strictand don’t hide anything from you. Human nature unfortunately favors being a bit lazy and being able to quickly program something without the need to fully understand what you are doing and in this case (and this case alone)A/B programming wins against Siemens programming (and for the record, A/B PLC’s are Toys, I am after all entitled to my narrow-minded point of view Lastely dear lalit, there are twomore points to add to your main list, which are: 1.)Controllogix PLC's don't have a process image available. If you want to ensure that Inputs stay the same throughout the scan you need to create an input buffer via programming. 2.) NO STL available in A/B PLC's (and if this not the clear winner than I don't know what is, I can't belive I didn't think of this straight away) Keep up the good work guys |
Last edited by: fritz at: 7/12/2009 2:54 PMLast edited by: fritz at: 7/12/2009 2:38 PMLast edited by: fritz at: 7/12/2009 2:37 PMCheers |
|
This contribution was helpful to
4 thankful Users |
7/12/2009 11:30 PM | |
Joined: 12/20/2008 Last visit: 8/12/2024 Posts: 556 Rating:
|
Hi Fritz & Phantom, Its nice to have you guys on the forum, as you explained the things nicely, I have added the points mentioned by you on the features page. I will keep it updated as and when I will find something. Thanks. |
7/13/2009 7:33 AM | |
Posts: 118 Rating:
|
Hello All, In AB we have "TAG DATA MONITOR TOOL", its same as Variable Table. but when we compare both, Variable table is the best one. Just to share. |
This contribution was helpful to
1 thankful Users |
7/13/2009 5:14 PM | |
Posts: 2661 Rating:
|
How true! Fritz, I believe you have hit the nail on the head! Regards |
This contribution was helpful to
2 thankful Users |
7/14/2009 7:40 AM | |
Joined: 12/20/2008 Last visit: 8/12/2024 Posts: 556 Rating:
|
Hi Fritz, I can't stop myself from keep giving you 5 Star rating for the efforts you have done to explain this thing so much clearly. Fritz> It is really the people like you and Phantom who makes the things different. You guys are the real expert on this forum, I hope our moderator will recoginze your efforts to keep this forum so lively, so interesting, so much knowledgeable and so much active. Keep it up Guys! And Fritz the below word is absolutely from you. Cheers! |
This contribution was helpful to
4 thankful Users |
8/12/2009 3:21 PM | |
Posts: 487 Rating:
|
I think this comes from the way American PLC Market (or for that matter any product) is. In US the first and most important requirement is user friendliness, not the power and feature of product. In most of the rest of the world engineers program PLC. In US, mostly technicians program PLCs, and the background of these technicians can be mechanical or whatever. They may not have gone to any technical school. I have met people in plants who started in plant as an machine operator or something and later became maintenance technicians. For such people, it is difficult to get the concept of accumulator/Boolean operation etc. So they love AB because that's what they can work with. (I think this may be the reason Siemens has less market share in US) I always believed Siemens is an engineer's PLC. (That is how a PLC should be). It has excellent features, very flexible, very structured and more over extremely powerful. I have not seen any other PLC that has so many module spectrums. I think this is one point that was missed in this discussion. You can find a module for almost every application. Another area where Siemens wins hands down is communication. First of all the TIA concept makes it so easy to configure communication. (I have to confess, inS5 days, communications was difficult to configure/program for many). Profibus is miles ahead of ControlNet and DeviceNet. Though, Ethernet/IP is easier that other A/B supported networks, it has been proved by Univ. of Michigan that Profinet is far more reliable communication for I/O. I still rememberthe days we changed PLCproduct usedby the biggest Tobacco Company inthecountry I worked then from AB to Siemens just by comparing Profibus& ASiVS ControlNet & DeviceNet. Being an Ex-Siemens guy and a fan of Siemens products, I suream biased, butthere are few things I like about ControlLogix. And I have to sayRSLogix ladder editor (being their bread and butter language) is much easier than Siemens. Drag and drop and drawing "rungs"is much easier. I guess I had to say something good about AB. After all, being in USA now, sometimes I am forced to work with AB. |
Last edited by: JMJ at: 8/12/2009 3:27 PMLast edited by: JMJ at: 8/12/2009 3:23 PM |
|
This contribution was helpful to
3 thankful Users |
9/17/2009 3:39 AM | |
Posts: 37 Rating:
|
One thing that always strikes me about Siemens is that the documentation is huge. Sometimes you download a manual to look for something in what you expect to be a basic search and understand, you open the pdf and it is a 400+ page manual. It puts you off reading them sometimes and this is why this forum is a great help. |
9/23/2009 6:52 PM | |
Posts: 261 Rating:
|
You are absolutely right. It seems like a big family and we all are the members. One word I want to share that, it’s one of the best ways to learn and gather Knowledge. With best regards ddg |
10/30/2009 9:08 PM | |
Posts: 3 Rating:
|
Lucky123 (and others), Pardon me here because I'm a *** on this site. I have worked with A-B for years and now have a job where I will be working with Siemens exclusively. I have been using Siemens for a little over six months now and, sorry, I can't let Lucky's comments go unanswered. To be fair, Siemens has some good points. In response: - "Download Individual Routine/OB" You can make edits to individual routines in A-B then commit the changes, so yes A-B does this. A-B also lets you test the edits before you commit them, which is an advantage over Siemens and something Siemens can't do. Being able to download an individual block is actually a disadvantage as it too easily allows situations to happen where two or more people have the latest code for certain blocks, but no one person has the complete program. This is why A-B is like this. You can also have to or more people editing A-B at the same time and the edits will transfer to the other's PC. Siemens can't do that. - "Easy Symbol/Description Copy/Paste from Excel" so it takes about 30 seconds to convert the file. Big deal. The .csv file also lets you do plain text editing and also lets you exclude unnecessary columns. - "Byte Structure" This is no big deal. Just group the bools together in UDTs. Siemens does the same thing, except with bytes and with a few megs of memory, it is superfluous. - "STL/Ladder/FBD Switch over" since all of Siemen's code in the processor is primitive, assembly-like STL, all it is doing is making the code easier to understand. A-B actually downloads in ladder or ST. I do understand this point and can somewhat agree, though. - "Variable Table" A-B does have these, they are just called something else (I don't have a PC w/A-B software to confirm). A-B also has a feature where you can record tag values like a scope. Siemens has this as a separate package. - "FC’s & FB" A-B v17 has this. They have had this since the inception of ControlLogix, but you have not been able to monitor individual instances. - "Online Block Monitoring" Siemens will actually read the value of the tags at the point in the logic that you are viewing, which is somewhat of an advantage, however, if the logic is not being executed because of a jump, it will never read it. A-B just reads the value of the tag. I have found Siemens monitoring to be buggy. For instance, tags below a certain point on the screen will not refresh in the logic editor or the VAT table (pain in the rear!). So I have to scroll just to see a tag's value! Also, Siemens CANNOT monitor more than one FC or FB at the same time. If you want to monitor another block, you have to stop monitoring the previous block at the same time. Also, to have more than one person trying to monitoring a PLC at the same time almost cannot be done because you get a "resource event trigger" error or something. With A-B, youCAN monitor as many routines at a time as you like and CAN have more than one person monitoring the same PLC. - "Data Block" A-B does not have data blocks. It just has tags. Why do you need data blocks? They are an archaic throwback to the S5, like STL, OBs and a lot of other S7 items (A-B actually started with a clean slate when they designed ControlLogix). There is no advantage to data blocks over tags. These tags are addresses-less. So you don't EVER have to worry about tag addressing! It has UDTs that are WAY easier to create than Siemens. You create a UDT, then you can create a tag with a datatype of that UDT. The documentation you place in the UDT then goes with every tag of that UDT so you only have to document once. With Siemens, the UDTs are antiquated with the byte, word and double-word addressing, etc. If you need to add some interface stuff to A-B for a sub-routine, you just add it. You don't have to worry about addressing and the size of the interface. With Siemens, you have to always remember to go to the calling routines (good luck finding them all) and click "File", then "Check and Update Accesses" and all the other crap so that it doesn't crash the PLC. If you need to update a UDT in A-B, just update it and it does the error-checking, etc. - "Process Image" this is because A-B CLX does not have the traditional scan cycle (read inputs, scan logic, write outputs) like traditional PLCs. Instead it can have multiple programs, each running either continuously or at specified intervals. It takes a few minutes to write a routine to buffer the inputs; a small trade-off for the flexibility. With that said, let me make my oen list of things A-B can do that Siemens can't: - Search: this is a BIG FEATURE that Siemens CAN'T do! In a routine in A-B, I just press CTRL-F and I can find ANY text ANYwhere in the program! It will find that text in tags, comments orinstructions ANYWHERE in the PLC program or in that routine only. Siemens doesn't do that. Siemens CAN'T find comments. Want to find a tag that may be addressed as either DB100.DBX10.1 or as "MyDB".mybit? Good luck because the search for the address for one will not find the symbol and vice versa. - Indexing: in Siemens, you can't do array indexing in ladder. In A-B, it is as easy as MyArray[myinex].mytag. In Siemens, you CAN'T do this. You have to use the primitive, archaic, antiquated, difficult STL language to create a pointer. This is almost no better than an S5. - Single file save: A-B saves the program as an .ACD file. With Siemens, if you want to give someone the latest program, you have to archive it then they have to retrieve it. What a pain. -- A-B also save as .L5K, a text-based xml-like file that can be manipulated by programs like Excel using script to rapidly create PLC programs. - The reason Siemens has so many programming options like C, etc. is because, unlike A-B, you can't do everything in ladder. I have done some pretty complicated stuff in A-B and it can all easilybe done in ladder. If you want to program using 4 or 5 different languages, then compile them, then write FCs to call and interface them and glue them together and crash the PLC when it lets you download separate FBs and FCs that are mismatched, then try to find out why it crashed, be my guest. - Monitor multiple routines: you CAN'T monitor more than one FC or FB in Siemens. A-B - no problem; monitor as many as you like! - Monitoring by multiple people: you CAN'T have more than one person monitoring a PLC at a time. A-B no problem! - Automatically update from changes made by another person: if two people are online making changes at a time in A-B, the changes made by one person will be uploaded automatically by the other person's software. Siemens CAN'T do that! Also, good luck making sure you have the complete latest code in this case with Siemens! - There's more, but I am tired of typing! |
This contribution was helpful to
1 thankful Users |
10/30/2009 9:59 PM | |
Posts: 3 Rating:
|
Sorry, Lucky, a few more points to reply to: "2.) NO STL available in A/B PLC's (and if this not the clear winner than I don't know what is, I can't belive I didn't think of this straight away)" To say that a PLC has to have something like STL is to say that Microsoft Visual C# needs to have a direct assembly language programming tool. STL is akin to assembly language (I believe that's what it actually is). The reason that A-B does not have STL is that this is the 21st century! Languages are moving to a higher level. Why would anyone, except out of old-fashioned codger stubborness "the hideous “compute” instruction" this instruction is here to make things easier. Yes it has some overhead, but if you just want to play with a formula or algorithm, it is there to just enter a formula, not spend hours trying to get the PLC to properly do acalculation in STL. That's what it's about - convenience. If someone is trying to get a calculation right to control a process, they want to work on the formula and NOT worry about the PLC language. Then, when they are sure about their formula, they can break the instruction down to something more efficient if scan time is a factor. The point here is to save time. If I spend a few hours struggling with converting INTs to DINTs, loading and transferring accumulators and having to make pointers to arrays in STL, that time is money. Programs are faster to write in A-B because it is a higher level language and you don't have to think about every detail. "Secondly, a half decent size program can easily have a few thousands tags in it. With Controllogix, the only distinguishing factor between each tagis their name (remember, no addresses anymore), or in other words, that Tag database easily becomes a gigantic mess as far as I’m concerned." (from fritz) With A-B, if you have a group of tags that you want to keep in a group, you can just create a UDT for them. If you have a conveyor that has a motor, sensors, timers, counters, etc, you can group all these into a UDT and then make a tag, tags or or an array of that UDT, as many as you like with the UDT for a template. This is a very easy way to keep it structured and provides a great deal of flexibility in the way you can structure it. You can even nest UDTs. If you have 50 conveyors and each conveyor has one, two or more motors, you can make a UDT for the motors, then nest the motor UDT in the conveyor UDT. I have written dozens of PLC programs in A-B CLX and there has never been a problem with too many tags. You say that A-B takes a lot of thought away, but it just lets you put the thought where it belongs - in thinking about the structure of the PLC program. All of the PLC programs I have written have been structured, but it takes less time to write them. "This concept simply doesn't exist in a ControlLogix PLC. While you can create structures and the likes in the "flat" memory of a ControlLogix, it just doesn't cut it for me and isn't the same as being able to do what you can do with DB's." If you really want something like a DB, then just create a UDT. The A-B UDT is more flexible than the DB. |
This contribution was helpful to
1 thankful Users |
Follow us on