panic mode

MrPLC Admin
  • Content count

    2663
  • Joined

  • Last visited

Community Reputation

140 Excellent

About panic mode

  • Rank
    Mitsubishi Moderator
  • Birthday 12/15/69

Contact Methods

  • Website URL http://www.google.com
  • ICQ 0

Profile Information

  • Gender Male
  • Location Mississauga, ON
  • Country Canada
  • Interests many...

Recent Profile Visitors

13048 profile views
  1. finally... this took long time but at least it works again 
  2. communication

    both devices need to support same network type to exchange data. if that is not possible, you can add gateway between the two. gateway need to be selected of course so that it supports both networks
  3. communication

    you can but do not need to communicate. it is possible to control VFD using I/O.
  4. Sensor issues

    that will show the rate too...
  5. Sensor issues

    what is the shape and size of the tablets? what is the exact stack order in which they are "aligned all together"? if they are cylindrical, there is a big difference between grouping on same axis (one axis aligned with cylinder axis) and grouping side to side (cylinder axis are parallel but not the same axis). later one allows sensor to be moved off enter and look at the perimeter.
  6. Sensor issues

    sensor is sensing and not counting... counting is done in the PLC logic. for dusty environment i would prefer to not use optical sensor...capacitive or ultrasound or something else would be better... and if for some reason it had to be an optical sensor, i would definitely not go for a diffuse sensor, specially not one that responds to amount of reflected light and does not even have a background suppression. bean-through or polarized-reflective would perform better in such environment. also why not automate sensor cleaning? different options come to mind, perhaps simply occasionally blowing some air at it. 
  7. ACD File to pdf conversion

    unfortunately site seem to be experiencing problems with attachments. for the time being, the only workaround is place file elsewhere and post link...
  8. how to print the program into pdf?

    as mentioned newer Windows version come with PDF printer. IF for whatever reason it is missing, you can install your own. CutePDF or any of 200 or so others. this allows you to create PDF from any software, just choose to "print" to a PDF.  
  9. Float Value FX2N Problem

    your code is not modifying D500, it is modifying D72 the other thing is that no sane person would do this in 32-bit floats. problem with it is that due to obvious way the floating type of REAL numbers are represented. they can cover wide range of values (big and mall, positive and negative) but there are limitations. one of them is that you cannot add two values  if they are too different (one is big and other is small). at some point the smaller value simply no longer contributes to the sum due to size of register. and 32-bit is really not that much, specially when you consider how those bits are used. this is why totalizers, position counters etc are implemented with integers.  to put it in layman's term, you get 6 or maybe at most 7 good significant figures (digits) from a 32-bit real. so your value 8192.000 requires 7 digits. in reality you may get only 8192.00 adding 0.0003 should produce result that is 8192.0003 which is 8 digits and obiously that is not going to work, result will be rounded to 6 (maybe 7) digits and you will loose the last digit(s) such as "3"      
  10. RSlogix 5000, odd or even?

    any way you like... but you did not explain what you want to program... do you want to CHECK if some integer variable is odd? or do you want to MAKE some variable odd? also bit ".1" is not the LSB, that is the second bit and it's weight is 2... you want to check LSB which is first bit (Variable.0 instead of Variable.1) so normally check would be XIC VARIABLE.0 OTE IT_IS_ODD or XIO VARIABLE.0 OTE IT_IS_EVEN or you can use mask etc. to make it even you could reset the LSB somehow... either by using OTU Variable.0 or by masking: AND Variable -2 Variable to make some variable odd, you would set LSB somehow... either by using OTL Variable.0 or by masking: OR Variable 1 Variable check binary representation of values 1 and -2    
  11. Timer IC

    for most people IC stands for "Integrated Circuit" or chip. 555 is a type of timer chip but and mentioned it will need few external components, one of them could be trimmer potentiometer so you can adjust the time. https://en.wikipedia.org/wiki/555_timer_IC   if this is not to your liking (perhaps need even smaller IC and without external components, or different way of changing preset) then consider something like PIC10F http://ww1.microchip.com/downloads/en/DeviceDoc/40001239F.pdf but ... it will need to be programmed. 555 was "programmed" through values of external components. if you are using PLC, every PLC will have some timer function(s) allowing you to create same functionality in the PLC using PLC programming software.  
  12. Simens

    hmmm... this does not make much sense, could you please try google translate? what do you mean you have Siemens? is it PLC or HMI or both? what kind? then you ask about scaling but then somehow button got involved. button has nothing to do with scaling. it may have to something with sampling - for example when doing calibration.
  13. RsLogix 5 execution times

    in my opinion the most efficient way is to not move data in array, just overwrite ONE element (ring buffer). optionally this also allows you to easily get instant average any time (even when averaging just started and has few elements). but to answer your question... why sum all 200-300 elements again and again every time new sample is obtained? if your array is 200 element. your current average already contains sum of 199 correct values and we know exactly which value is to be updated (the oldest one) and since we now know both the new sample value as well as the oldest one that is about to be discarded, we can compute average in just 2-3 simple operations. no need for fancy instructions and processing entire array. basically average is simply: Avg = (A1 + A2+ A3 + .... An)/N but it can also be written as Avg = (A1/N  + A2/N + A3/N ... An/N) and you know the value of N suppose element that is to be updated right now is A2 (index is i=2) then new average is simply Avg = (A1/N  + A2/N + A3/N ... An/N) - (A2/N) + (NewValue/N)    or in a program, that would simply be Avg = Avg + (newValue-A(i))/N another nice thing about this is that it is platform independent since it only uses basic instructions that every controller has.
  14. Servo motor - vibration issue

    seem that is not matched to load or tuning is incorrect.