Sleepy Wombat

MrPLC Admin
  • Content count

    2003
  • Joined

  • Last visited

Posts posted by Sleepy Wombat


  1. This is a citect - ab question. Background. I have a PLC system consisting of around 12 AB PLC's. ( 2 x CLX, 5x SLC/505, 5 x micrologix) all are currently communicating via ethernet comms to the PC. I believe that the PLC's are then communicating to CITECT via RSLinx OPC. This current system is fine, however, there is no automated backup for the system in place and they are concerned that the Citect PC might be on the way out. Therefore, I am tasked with transferring everything to a new PC. I do not want to have to configure everything again, i don;t believe in upsetting the apple cart so to speak... SO... I am curious as to what files (especially the OPC stuff under RSLinx) are required to be copied from the old computer to the new computer to make life easy. Installing RSLinx, RSNetWorx, RSLogix, RSLogix 5000 has been done and I will transfer the Lic when I finalise the transfer. Checking the RSLinx, DDE.OPC tab there seem to be a number of "topics" in place on the old machine, can some one give me the quick and easy low down on this - or just point me to the appropriate manual thanks

  2. The article claimed to have paid for the system in 8 hours of production. It took a month to do the job also according to the article. So... by my reckoning and with the hind sight of 20-20, putting on a business hat here, I wonder if we all get caught up and excited with the prospect of solving a problem, getting paid for it and walking away, whereas the entrepreneur would possibly look at the job and the costs, and analyze the possible savings that the end user might benefit and then offer the proposal to either ask for a minimal amount upfront and then take a % of the savings over a 2-3 year period or rent the solution based on the savings as well. Just a thought....

  3. As the job title suggests - junior engineer... Do not lie, or try to up sell a skill set that you do no already have. However, i would suggest that you read about: the different plcs out there ladder logic ( a fantastic start would be to read Jay Hughs book - link on home page) Be generally interested in the automation of things and how they work - ie a willingness to understand the overall process and goals... What are your own interests / hobbies that could penchant indicate an interest in technology ? How do you learn / study something new ? Would you self teach yourself in your own time or do you believe that the company should cover all time on a subject (ie would you take home PLC literature to read at home and learn) What interests / fascinates you about the automation ? How would you tackle an automation task ? Logical steps etc.. I am not going to give you the answers, research them, But be true to your self and your answers you give.

  4. So why would combo 4 be set at the same time as combo 1 ? The fault with your logic prior to the simple logic above, is that your control logic enables more then one state to exist at a time. Are you doing sequence programming, ie one state, then a condition or timer triggers the next state ? Might i suggest that you do a search on traffic light programs. From this you will be able to learn how to sequence things. then come back. I am going to stop there b4 I type something bad...

  5. simple solution..... program internal coils for each state (combination), then use the contact of these coils to fire the output coils. If more then one state is required for the output then simply place these states in parallel to fire the coil. Programming Class 1. ----[combo 1]-----+---------( out 1 ) | | ----[combo 4]-----+

  6. You seem to be a little green around the ears regarding Modbus etc, so may i suggest that you break the project down into small bits, understand those and implement and put together. Ie You know nothing about modbus.... there is a plethora of information on the web regarding the make up the protocol of modbus, have a read to understand what modbus is, what is a typical comm's frame in modbus, what is the CRC etc. This will give you good understanding of what to expect when debugging comm;s problems. Second, as the previous post explained, if you have a serial comm;s card (SCU....) then a modbus protocol macro can be used to simplify the modbus comm;s programming. Read about protocol macros, and how to use them. Third. To understand the comm;s first you can download a very useful tool called Multiway. This tool will allow you to connect from your PC to a drive talking modbus, as long as you have the wiring correct. BTW, you said that you have 3 x drives, so obviously you are using RS485 comm;s, arn;t you. Break the overall task into smaller tasks, then the problem aint that big

  7. Hey there ElJimbo, glad you worked it out. Yes.. what you have done is placed the PLC into Monitor Mode. This allows external devices to change/communicate with the outside world. Run Mode is a protected mode where outside world changes cannot happen, but you can monitor. good luck with the rest of the work.

  8. I second what Jay says in addition.... Paul, Omron is a foundation member of ODVA and an active member on the board of ODVA and technical review board for ODVA. Add to that, that the Omron implementation of the communications setup for Device Net is a lot easier then an the AB and less troublesome. I have configured both, Omron is way easier to do. Its good to see AB caught up to Omron on the Compactlogix Auto discovery Device net as well. Mabey AB might be able to download Rung comments to the PLC no just the Symbols(Tags) in the future as well, Omron has for a number of years. (Disclaimer, I might be wrong on this one but i aint found a way to do it with AB yet)... just a little moody today.... teaching myself Seimens.... I am sure you understand. On topic... I would tend down the DeviceNet path also on this one. although Ethernet/IP would be an interesting path to peruse also however, I do not know how the SLC would achieve this.

  9. AJZ, Just a little curious as to why you do this (or what process should warrent it) as i have never had the need to do so. In the past, if I wanted the timer contact to be bypassed due to a certain condition then I would simply create another internal coil and place the contact in parallel with the timer done bit so to speak. Just curious ;)

  10. Since all you have done is ask for the code directly and not even bothered to explain the least sqaures method that you are trying to calculate then I offer the following. This sounds like a uni sturdent problem/task. is it ? I am assuming you mean a straight line least square method. Searching the web you can find some layman term descriptions on how to represent/calculate it. you should be able to extrapolate a method from the coding examples. For the line of best fit Y = M * X + B: M = (n *Sxy - Sx * Sy) / (n * Sx2 - Sx * Sx) B = (Sy - M * Sx) / n Where: n = number of points Sx = the SUM of all the X coordinates Sy = the SUM of all the Y coordinates Sxy = the SUM of all (x * y) Sx2 = the SUM of all (x * x) OR Look at the following c# code snipet, n=input("Enter number of points:")sum_x=0sum_y=0sum_xx=0sum_xy=0for i in range(1,n+1): print "For point %s"%i x=input("Enter x:") y=input("Enter y:") sum_x=sum_x+x sum_y=sum_y+y xx=pow(x,2) sum_xx=sum_xx+xx xy=x*y sum_xy=sum_xy+xy#Calculating the coefficientsa=(-sum_x*sum_xy+sum_xx*sum_y)/(n*sum_xx-sum_x*sum_x)b=(-sum_x*sum_y+n*sum_xy)/(n*sum_xx-sum_x*sum_x)print "The required straight line is Y=%sX+(%s)"%(b,a) If some one is able to give you the code then great, but show some more effort instead of just asking for it. Earn your stripes..... don;t expect them to be just handed to you. Simple, really when a little effort is shown.

  11. I know that GX Dev is a bit old hat now, however, since I do not extensively use it these days i cannot justify the cost to upgrade to the latest and greatest offering at the moment. I have Version 8.28, however, I need to mod a machine that has come from over seas and the PLC is a FX3G-60MR/ES-A. My software will not support this model. and it appears that on the surface that they have programmed this with a version V8.91. So my question is, "Is there an easy upgrade option to this version that can be downloaded from some where ? " I can upgrade Omron software free, only pay for major revsions etc, is this the case with Mitsu ? Thanks

  12. Your code for the scl function is still wrong. You have the parameters in your statement above. To totalise the flow ie total gallons, simlpy sample the scaled value every second, divided that figure by 60 (ie min -> seconds) and write logic that will represent total = x + total. At least have a go at trying to work this out. A lot of people have led you in the right direction, show a bit more effort on your behalf.

  13. Having never used the Micro logix 1400 - just to clarify, is the input max really 5000 ? in the past with SLC it was I believe 16384 for 20mA ... just curious... OR were you miss using the SCL function because your eng unit is 20..... (so were you really trying to scale the analogue from 4-20mA = 0 - 5000 gallons ? Then once you have your scaling worked out correctly, for example 4-20mA (signal) = (xxxx - xxxxx PLC values unscaled) = 0 - 10 gal / sec scaled, think of how you could totalise something. Ie if you had a jar and were adding candy one at a time... jar_total = jar_total + 1. the same can be said for flow every one second, ie do the following calc on a positive edge of a 1 sec pulse flow_period_total = flow_period_total + X gal/sec. You can work out the logic.

  14. My point again - why force me to use STL as Siemens seems to prefer over ladder. Regarding history, I have in the past written and compiled Assembly routines and integrated them into a TurboPascal programme to handle comm's over the parallel port of a computer to create an oscilloscope view from the DMM I designed for my thesis. this was done in the days of dos and also incorporated the use of the mouse. Ie I understand this low level programming, i just don;t like it. hence my disdane for the Siemens STL push. Also, I have not been able to find a quick way to search for an address, besides the clunky cross reference address method.- yes the siemens cross ref tab is clunky is sux. How do you do a global search for an address without the cross reference tab. Ie I know an address and i want to type this into a search and for it to show me all of the other locations it is used across all code. - the cross ref tab simply shows the search for the current addresses in the current network. On that issue, how can you get a print out/display of the available addresses to use and there usage ? thanks
    1 person likes this

  15. Thanks for the feedback... While Siemens has some merits in the use of FC's blah blah blah reusable code... I find the programming not to be intuitive at all I am afraid. I have also seen other comments on forums how a user has been using them for two years after previously using AB et.al and believes they are better... but hello... it has taken him two years to pick it up properly... the editing/adding of branching etc and having to use a mouse (while edititing in ladder, and lets face it a picture is worth a thousand words) for every thing is slow and painful also. Mabey I need to take some PILZ and have a lie down. the logo is good, The direction of the 1200 is good (albiet no real online editing) 300 / 400, PLC's and programming software should not be this anal and troublesome in this day and age, I feel like i am programming in a polished DOS enviroment and I don;t want to be forced to program like Fortran etc... I must rant, if i don't then i become a very cranky wombat.
    1 person likes this

  16. I am currently painfully modding an existing Siemens PLC program on an S7 300 with step 7 5.4. I would like a quick couple of pointers thanks. If I wanted to set a dbxx.dbdxx real number to 0.0 can I use the MOVE function or do I need to do a multiply by 0.0 etc, the reason I ask is in the program they have previously used the MOVE function to move a Real to a Real so I was wondering if I could use the same to set the val to 0.0. secondly, I found out the hard way if you don;t download the DB and an OBI Kenobi accesses this area then the PLC faults and crashes. Won;t do that again. So my question is simply, I create an initial value for the dbxx.dbdxx and then download the db file. Initially the values i load into the addresses are downloaded to the PLC as I have used a couple in the OBI and can see their value. I then ""offline" change the inital vals in the same db file and proceed to download it, however when I monitor the OB1 the values of the dbxx.dbdxx are still the same as previously.. WTF.... Could some one please explain to me how to change the values while online, for testing.... I am going to have citect address these locations to change them and I wanted to debug to test first. Also, how could you change the SV of a timer from Citect ? In omron i would simply make the addrees of the timer sv look at a data memory location rather then a integer value. Citect could then also look at the timer to get the PV value. or Ab .ACC etc... Also, is there a limitation on the number of addressable timers in a s300 ladder logic program, i tried a timer value of t130 and the programmed crashed, yet a timer value of t41 or t42, or t43 were ok. Appreciate the help.. Regards a frustrated sleepy wombat.
    1 person likes this

  17. Maybe, he is still pi$$ed about the World Cup... opp's did I just bring that up... Bitsy is has been trying to help, and the best way is to try and understand the what you are trying to achieve to come up with a suitable solution. And his little Jibe about FIAT, well he did forget about the super cars Ferarri, Lambo etc, the point being we all throw in a little line to get a rise sometimes as it can lighten the situation up. Another way might be to have an MR bit (master relay bit that has to be enable to allow code to run)

  18. Have you looked at the KEEP instruction also ? Grab a programming manual for the PLC model you are using, sit on the dunny and have a good read. Is this an actual project or class assignment ?

  19. Why are you trying to convert to a DWORD. The easiest way if you insist on going down this path would be to simple MOV the WORD value to a memory location where the next word is always &0000. Ie move to D100 and D101 should always have &0000 in it. (always move &0 into D101 to make sure if you are worried about something else writing of D101) I am perplexed as to what the difficulty is. I think that you might need to do a bit more reading on understanding the basic memory structure of the PLC.