MikeSmith

MrPLC Member
  • Content count

    23
  • Joined

  • Last visited

Community Reputation

0 Neutral

About MikeSmith

  • Rank
    Sparky

Profile Information

  • Country Sweden
  1. I'm interested, I will send you a message.
  2. PID timer trigger

    Hi Conor, -When you say "trigger" do you mean the PID block is in a routine that only gets called every X seconds. -Is it PID or PIDE? -Can you please give me the configuration parameters of the block? -[time constant estimate] If you hand the combustion chamber at full power from minimum to maximum PV.. how long would it take? -Have you checked the tuning of the P,I,D parameters by using something like Zeigler-Nichols or some other tuning procedure? Thanks, Mike
  3. NODE

    Your scada package probably wont care about the name your processor calls itself, rather the IP address you give it. If any name is important it's the alias you give the processor in the scada configuration which doesn't have to be the same as the processors project name (but call them the same anyway).
  4. MCR

    Safety and security are the same word in a lot of european languages... and québécois in this case.
  5. RSlogix 5000 and PIDE

    Is the PLC output going logicly 0 and the electronics are not shutting off? 1/ Check wiring, particularly pull up/down resistors if needed Is the output of the PIDE staying high when you hit high temperatures? 1/ Check tuning 2/ Try enabling PIDE block with PV = SP for the first scan it's enabled (just use SEL blocks to put zeros in for the first scan it's enabled).. it stops the PIDE overshooting due to the starting conditions (PIDE does this, PID doesn't due to different algorithms)
  6. RSlogix 5000 and PIDE

    No problem if you can cycle the contactors quick enough so that the temperature doesn't change too much just by switching off-on-off. Think of the CV output of the PIDE as the percentage of time the contactor should be closed.. then either use some logic or a specialty card to cycle the contactor to realise this percentage. eg. CV = 0.6 means (picking 10 seconds just for example) a 10 second cycle with the contactor closed for 6 seconds Further reading: http://en.wikipedia.org/wiki/Pulse-width_modulation
  7. I've had a reasonable look into it.. the answer isn't as simple as language alone. It also has a fair bit to do with what you're programming. LAD might be faster in some respects but mostly people don't use conditional execution with it (jumps, ends etc). When your program has a significant amount of conditional execution (state machines, different code executing depending on what's happening) then ST starts to look really good because things like the CASE construct limit unnecessarily executing logic. I wrote a few test programs where ST ended up faster than LAD to do the same thing. SFC is slower and more memory hungry comparatively but it does give you a lot for free as it removes a lot of the effort required to build/modify state machines. It depends how much performance you need.. I've seen it quite happily run high speed motion applications. For heavy maths, I would suggest ST for your own sanity.. it's much nicer to write maths in especially if you're working with cases, loops and arrays.
  8. Potentiometer VS Encoder

    Salut, I'm not following 100% what you're proposing, do you wish to replace the potentiometer with 1/ An incremental encoder wired to an encoder card in the plc (1746-HSCE at http://www.ab.com/en/epub/catalogs/12762/2...4063/tab6.html) 2/ An absolute encoder (resolver) wired to an encoder card in the plc (http://www.amci.com/plc-modules/plcmodules-slc500-resolver-interface.asp) 3/ Networked encoder with digital communication back to the PLC (eg. http://www.amci.com/rotary-encoders/absolu...ary-encoder.asp or http://www.amci.com/rotary-encoders/absolu...ry-encoder.asp) 4/ Networked encoder card with digital communication back to the PLC (http://www.ab.com/en/epub/catalogs/12762/2181376/104830/2416243/2877322/tab8.html) 5/ Motion controller with digital communication back to the PLC. 6/ Motion card in the PLC (1746HSRV at (http://www.ab.com/en/epub/catalogs/12762/2181376/2416247/1239758/2554063/tab6.html)
  9. My project

    For the Rockwell products try http://www.rockwellautomation.com/distributor/uscanada.html Make sure they include the necessary MSSQL licences for the database. Oh, also, one downside of Metrics is that (when i last touched it) it didn't have the ability to change records after (and definitely not while) they had happened. If you need this, ask for a .net web application to do it, there's a few versions floating around Rockwell (one of which I wrote). Also, I'm thinking ahead a little bit here but keep it in the back of your mind, I would suggest not (from painful experience) to embed ActiveX's to either report or talk to the database in any HMI. the reason is that single threaded HMI/SCADA's hang while the database either replies or times out (the HMI freezes if the database is not accessible for the time-out period of the database).
  10. My project

    I think you could do it with VB or a programming language. FTMetrics only uses 2-3 tables and pretty simple logic, you should be able to implement the same sort of thing technically (no claims made by me to the legality of this) The quickest(/dirtiest) way would be using MS Excel, get the data from the PLC via RSLinx and DDE (really quick and easy) and then insert sets of these values to a table in MS SQL. Then use a bit of T-SQL to format, compress, present the data etc. Do your reports in SQL Reporting Services. I won't even pretend to guarantee the reliability of building on top of Excel but you should be able to get something like the above out in about a week or two if you know all the products involved pretty well.
  11. My project

    Hi, This application is very similar to some FTMetrics jobs I've done, you may wish to have a look at that. Be careful with the amount of traffic going over the network though, it's quite easy to overload with any data logging. ~Mike
  12. Rockwell and C++

    G'day, The .net framework (http://en.wikipedia.org/wiki/.NET_Framework) is a common set of libraries that .net languages can all use and a runtime environment that once a .net application is compiled it can run on. >It is the new way to program in C? hmmm... the .net framework is not restricted to one language (vb.net and c# both use the same framework).. but yeah, if you like, c# is an evolution of C/C++ >- It is possible to communicate with plc for get some data (thru serial or ethernet). Yeah, to save a lot of hassle, build yourself something with an OPC client in it with source from here http://www.opcconnect.com/source.php > Do I need driver or soft package? Yeah, don't try and build your own drivers, get an OPC server like RSLinx or Kepware.. >I know VB is more userfriendly but I earing C++ is more powerfull. I don't like to be too subjective on forums so I'll limit myself to this: VB is the devil. The new languages do take a little learning but you can do amazing things quickly... especially by taking the tutorials/labs/videos on msdn. ~Mike
  13. Staying with one vendor does have a huge advantage in holding vendors accountable and getting support when things inevitably go wrong. RSView32 has a web server (http://www.rockwellautomation.com/rockwellsoftware/performance/view32/webserver.html) or if you are thinking of converting your install and project to RSView SE there's a cooler web interface to it (http://www.rockwellautomation.com/rockwellsoftware/performance/viewpoint/).
  14. Ultra/Kinetix Accelerator Toolkit

    Ok, in sercos you want to configure the axis as "position servo" rather than velocity if you want it to maintain position. Velocity servo disables the position loop.
  15. Without getting too into too much maths (http://en.wikipedia.org/wiki/Digital_filter), the simplest way to implement a filter is to average the last N samples... so you do something like this... On start-up or reset: initialise the array so that every element is either zero (will mean that the system ramps up from zero to the actual feedback value) or the current feedback value (no ramp time but if you have a bad value on initialisation it can upset the system a bit). On IO update or periodically: move every element in the array down one except the last element move the current feedback value into the first element of the array average the elements of the array (sum of the samples divided by the number of samples) and store the result as the filtered signal value somewhere. You may wish to consider what this dip in the signal actually is though, normally interferance is not a 10 second thing.. seems curious.