Search the Community

Showing results for tags 'timer counter execution mode incorrect'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 108 results

  1. Beckhoff PLC Counter

    Hi everyone, I need some help with my PLC programming. I am currently using a twincat 2 software and a Beckhoff CX 8090. Basically, the gist of my program is to send and receive data and datalog the input data received from the sensors and timestamp the received data for every 1 second. I want to create a boot up counter where it will count the number of times my data logging program has restarted(if it did). This boot up counter serves as a health monitoring check to ensure that my program is running perfectly and thus, not restarting randomly when it shouldn't. I am more familiar with structured text so if you have a solution, kindly post it in structured text form. Your help would be greatly appreciated. Best regards, DeadPool
  2. Hi, everyone, I started learning very recently, and I have been writing this little program in which I communicate through RS-232 with a machine. Every time I send a command from the PLC I wait a couple milliseconds for the machine to send a response (a response must always exist, even if it's a mere acknowledgement response), then I save the response that the machine has sent. I organized my ladder logic by the commands that the PLC has to send to the machine (4 commands total, for example: execute this, give me status on that, etc). I started every ladder with an OSR and an AWA instruction, and when AWA is done I have a timer in the next rung to wait for the machine response, and after timer I have a ABL activated when TON is done. The Ladders are related in the sense that the end of each LAD contains a JSR instruction to the next command/ladder. So the commands/ladder always execute in a predefined sequence (LAD2 -> LAD3 -> LAD4 -> LAD5). The logic inside each ladder is like this (the last rung is a little different for the others, this is LAD2): ] start [ ----------------------------------------- [ OSR ] ] OSR OUTPUT BIT [ -------------------- [ AWA ] ] AWA/DN [ ---------------------------------- [ TON ] ] TON/DN [ ----------------------------------- [ ABL ] ] ABL/FD [ ------------------------------------ [ ARL ] ] test if ARL string is 0 [ ----------------[ JSR ] 1) Since I have to use timers so often in my program (they all last for the same period of time) I wonder if I could use the same timer every time (same Control File R6). But I'm quite lost on WHEN I would have to reset the timer, or if this would not be recommended at all, since the timer is still counting for more than one scan. Although I want to believe that the timer for that Ladder would never be counting after the JSR instruction, I think this is true only for the first time since the next time I turn "start" ON the ARL is not zero, so JSR would occur while the timer is still counting. I tried resetting my timer parallel to JSR and using the same timer in the next ladder, but then the timer only counted up for the first time "start" goes ON (I believe because the timer was constantly being reset at every scan). 2) Also using OSR with AWA was the only way I found of making AWA and TON to "behave" (that is, to make AWA only go ON once per start and the timer to go ON every time AWA is DONE). Would there be a better way to do this or is this acceptable? When I tried connecting "start" to AWA directly the program just didn't behave the way I expected at all, I believe because AWA would always be enabled for more than one scan, although I cannot explain why this would be a problem since AWA should only execute from the transition false to true, no? 3) I never clear my buffers or reset my ASCII instructions... when I try to clear in parallel with JSR some of the ASCII instructions' bit ER goes ON, and when resetting my ASCII instructions sometimes I don't see any before/after difference, but oftentimes I just see an undesirable behavior, and to be honest I'm not even sure where in the code I should do it, so I wonder if I should bother. More specifically, in which situations should I care about doing it when writing a program, and where in the program is it recommended to do it? So far I don't seem to have a problem, so I'm being willingly ignorant about it Any suggestion regarding my code/logic is much appreciated! Thank you!
  3. PLC omron CP1E

    Hi guy ! I have a problem with plc omron cp1e.Please every body help me. I was used high speed counter to count clock of encoder. And I want to count up/down pulse input case.But it not excuted.also if i use pulse + direction them it ok I used CX programmer. Thanks all
  4. Hi! I have my 1756 IF8 wired in high speed differential mode but i can't configure the RTS smaller than 11 ms. What I understand it should be possible to set as low as 5 ms if module filter setting is 1000 Hz. Is there anything else that i have to do?
  5. Hi! I just started with PLC programming. I am trying to get the time between a output signal and a input signal. The problem is that the time is ~200 ms but when i measure it with this code:   TONR(Timer1); IF PosFeedback <= PosFeedback_Min & not Timer1.Reset THEN Timer1.TimerEnable := 0; FullCloseDeltaTime[1] := Timer1.ACC; Timer1.Reset := 1; END_IF; IF (move & not Move_LastScan) THEN //Start timer Timer1.TimerEnable := 1; Timer1.Reset := 0; END_IF; Move_LastScan := move; i only get even values in intervalls of 50 ms like 150, 200 and 250 ms. I have changed the real time sample rate to 11 ms so i don't understand why i don't get a more exact result. And i can see in my trend that the time isn't exactly 150, 200 or 250 each time. I i tried and time my own click on a button and i see the problem is the timer, i only get values in an interval of 50 ms. Is there a way to make the timer more exact?
  6. S7-200 PLC Timer interrupt function program

    LD     I0.0 EU ATCH   INT_0, 21 ENI LDN    M0.0 A      I0.0 TON    T32, +1000 LD     T32 =      M0.0 LD     I0.0 ED DTCH   21 DISI         INT0   LDN    Q0.0 =       Q0.0  
  7. project or PLC mode

    Hi, I keep getting an error that project is in binary mode and plc is in BCD mode.  Wont let me change either. I must be trying in the wrong place...please point me to where i can change this in the PLC.   I am getting an error in my RXDU with a Honeywell barcode reader, on one machine, I am thinking it is related.   thanks for any help. 
  8. FX3U 80m Counter Interrupt

    Hi:        I urgently need a simple sample Counter Interrupt Program to study and implement with my machine. I am using GX Work 2 My Problem is inconsistent start stop of roller conveyor after pulse count (OUT_C_32, with cc235, using CC235 to stop a conveyor.) I have to try interrupt, but the manual sample is suck!   Please help   Tks  
  9. I'm using TM221CE40T PLC with TM3DI16 DI extension. I'm programming it using SoMachine Basic. In the program I implemented a counter (%C0). I've read in the documentation that %Ci.V stores the current count value. I want that to display this value on a Magelis HMIS5T. How could I store the current count value (%Ci.V)? Thanks in advance!
  10. Auto Run Mode after Reboot

    Hi guys! Im new in using PLC and im using CPM1A, is there a way setup the plc to run mode immediately after rebooting it, also even without connecting it to PC or handheld device? I saw in the manual "Startup Operating Module" but i am lost, i dont know how to configure it. Thanks for your advice.
  11. hi:     in Omron that is a command to count how many bit that are in ON state, any similar  instruction in GX Work 2?   Thanks
  12. FC3 Counter Demo

    Version 1.0.0

    208 downloads

    This logic demonstrates the construction and cascading of counters that count from 0 to 9. This logic also illustrates the construction of counters that count from 1 to 10 (not useful for cascading). The difference is mainly in the comparators used to reset the counters. There is one small additional detail. Can you find it?
  13. View File FC3 Counter Demo This logic demonstrates the construction and cascading of counters that count from 0 to 9. This logic also illustrates the construction of counters that count from 1 to 10 (not useful for cascading). The difference is mainly in the comparators used to reset the counters. There is one small additional detail. Can you find it? Submitter pop29684 Submitted 03/24/16 Category PLC Sample Code
  14. PAROCK1 for HMI/SCADA View File Now a software solution is available for your Modbus (MB) needs in Rockwell/Allen-Bradley Control Logix or Compact Logix (Clgx) family processors, instead of a traditional 3rd party hardware like Prosoft MVI-56, Molex SST-SR4-CLX-RLL etc.  It is an Add-on instruction (AOI) for PLC/PAC firmware v16 or later, (other solutions are available for pre v16 systems).  For hardware interface, use PLC’s channel 0 (serial) or TCP/IP Interface module(s) to have as many MB TCP/IP devices or serial devices.  (Some limits apply based on system configurations, Comm. settings depending on HW used.) Connect any MB Client/Master or Server/Slave device(s) to your CLgx PLC, including flow computers, analyzers, VFDs, Power Monitors, Level gauges, Smart I/O, etc.  All the MB public/native function codes are supported.  32-Bit integers/floats as single entity are supported with byte and word level swapping. A separate utility automates the data mapping to your PLC logic.  Features -Serial Master (BASIC required Option); TCP; Slave; Redundancy; More than 5000 accumulative registers; MB CFC (Custom/Private Function Code) Support; Data mapping too – Between PAROCK1 & your PLC logic; Packaged with Rockwell; TCP/IP Interface Module; Volume Discounts; Annual Support Requirements -Rockwell/AB-CLgx processor with v16 or later.  Contact PCI for earlier versions. -If using CPU’s Chan0, you cannot use Chan0 for any other user mode activity. You can use it for non-user mode activities -TCP/IP Interface Modules from Rockwell/AB supported, are: -1756-EN2xx ControlLogix® Ethernet/IP communication modules, firmware revision 5.007 or later -1756-EWEB ControlLogix Ethernet/IP web server module, firmware revision 4.006 or later -1768-EWEB CompactLogix Ethernet/IP web server module, firmware revision 1.002 or later -1769-L30ER, 1769-L30ERM, 1769-L30ER-NSE, 1769-L33ER, 1769-L33ERM, and 1769-L36ERM CompactLogix controllers, firmware revision 20.011 or later -1769-L24ER-QB1B, 1769-L24ER-QBFC1B, 1769-L27ERM-QBFC1B CompactLogix controllers, firmware revision 20.011 or later -1769-L16ER, 1769-L18ER, 1769-L18ERM CompactLogix controllers, firmware revision 20.011 or later Other Related Services/Items -Custom PLC Add-on instructions building -PLC upgrades, troubleshooting, applications -PC Windows, iOS5, Linux, Mobile devices Comm. Drivers -Custom development, Technology Transfer Services  -Other Non-AB communication drivers for serial or TCP  -Full control system integration, training, architecture design This driver can be conviniently used with Visual Studio in development of complete large scale complex HMI/SCADA Systems. It can be used to perform advanced reporting MES, analytics, IoT, Big data type apps. One example is available to download here For More Info Overview of Parijat Drivers: Click here  Additional supporting Info about Parijat Drivers:Click here Complete Related Driver options: Click here     Submitter Scadadoctor Submitted 03/10/16 Category Other PLC Demo Software
  15. Product:             STEP7 Professional V13 Reference:           FB Declaration Static: Data type TON is not allowed here Description: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Hi, I'm using Step7 Prof V13 SP1 upd7 & WinCC Adv V13 SP1 upd7.    In my project I'm using a 312CPU, Article No.: 6ES7 312-1AE14-0AB0, Version: V3.3 & TP1500 Comfort, Article No.:6AV2 124-0QC02-0AX0, Version:13.0.1.0   My Issue: I've taken previously used FB from my Global library and inserted it into my new Project. In this FB I've declared an IEC Timer (TON) in the static section of the FB. When I go to upload to the PLC after TIA carries out the compilation I get error message 'Data type TON is not allowed here'. I've tried creating a new FB to test and had same issue for CTU,CTD,TOF.   See attached pics This is really strange as it has always functioned before! Has anyone seen or heard of this issue before? I'd appreciate any help, Cheers.
  16. Hello, I hope you are all having a great Wednesday.  So I was wondering if this is possible, and if so, how to do it.  What I'm trying to do is get a real time speed of my hydraulic cylinder using a transducer, a 1769-HSC high speed counter module, and a 1769-L36ERM processor.  Kind of like a speedometer in my car.  I would like the number in inches/ second.   We use a hydraulic proportional valve to control a cylinder that we use to pump molten lead into our die cast machines.  Back in the day they used to use limit switched that rest on a tail rod attached to the cylinder shaft to get an approximate stroke length.  It was very crude, but it worked for what it was.  I'll explain  a little more, in case I'm not explaining it very clearly.   So on most of our machines the maximum stroke length of a normal shot is about 11".  We have different "stages" to the shot.  Stage one is typically from 0" (when the shot is all the way returned) until about 1.5", at 1.5" the valve stops and there is a shot delay for 1 second (vacuum draws some lead into the goose neck and into the beginning of the mold), after the delay second stage starts, second stage is from 1.5" to 4", third stage is from 4" to 8" and fourth stage is from 8" to 11.5" or until the shot timer finishes timing, and then another valve switches, and the shot starts it's return.  We have the different stages because we typically shoot the cylinder slower at first, and then delay and then almost maximum velocity.  We control the velocity with an analog output to a solenoid on a hydraulic valve.  For example, for the first stage we may open it up 20%, then 0% during the delay and then 85% during second, third and fourth.  Sometimes we play around with different shot delay times, different shot velocities, sometimes 3rd may be faster than 4th, ect, to get the best die casted parts.   Anyways, so in the past they would use limit switches.  One was a button head style that when the shot cylinder shaft was all the way returned, it made the switch, and we knew the shot was fully returned.  One was set at 1.5", 4", 8" etc.  They all, except for the shot return switch, were roller style limit switches.  They were all made, and once the shot reached that stroke length, they would come off the rod and we would know we were in that next stage.  So it was very crude.  If you wanted to adjust the stages you would have to climb up on top of the very hot molten lead pot, mark where the limit switch currently was (in case you needed to put it back) loosen the bracket, try to make a measurement and guess how far you moved it.  It was crude to say the least.  Some of our older style machines that don't need much tweaking still use the limit switch style positioning system.   Most of our new machines all use a VisiTrak transducer.  The shot cylinder rod that is attached to the cylinder shaft is actually threaded and then has a very thing layer of chrome plating.  The transducer sits against the shaft and counts the threads.  It transfers those counts to a Very High Speed Counter module in our PLC I/O rack.  We have a CompactLogix L36ERM processor and we use a 1769-HSC as the VHS Counter.  Then we just do some math in the PLC program and we are able to get shot stroke in inches.  We set different compare instructions, for example when: Shot_Stroke is greater than or equal to 0 AND Shot_Stroke is less than or equal to 1.5 then 1st_Stage_Bit is active.  We set up different numbers for all the different stages and still use the button head limit switch as a second method to confirm that the stroke is fully returned.   The counter is very fast.  We are able to know what the shaft stroke is at any given point.  We currently do some math using the distance of each stage and using timers to calculate inches per second of each stage.  That way we can have a nice Speed number in inches/second that we can use to make different adjustments to the shot.  Typically the first stage is about 7"/second second is: 24"/second third is: 42"/second and fourth is 2"/second.  But I want a real-time, current speed, not just the speed that it traveled through each of the stages.     Ok, after all of that explaining, I'm finally getting to my question.  How would I logically write a set of instructions that could give me current speed in inches per second.  Like i said, I am able to calculate the speed of each stage, after the shot has completed the stage, I just divide the distance of the stage (in inches) by the time it took to travel through that stage (in seconds).  But I would like to have a real time speed, kind of like a speedometer on a car.  Is this possible?  I know that the scan time on this processor is very fast and the high speed counter module counts very fast as well.  How do I do the math to get a real time speed in inches/ second?   Sorry for the very long post.  I just thought i would give you a background on what we are doing/ would like to do.     Thank you very much.
  17. GX Works2 Timer Example View File OUT_T on of delay timers in GX Works2 Submitter HwT Submitted 12/12/15 Category PLC Sample Code
  18. Version 1.0.0

    652 downloads

    OUT_T on of delay timers in GX Works2
  19. Siemens

    Hi, I am new to the forum and relatively new to PLC's and I am working on a project that controls several pumps and I would like to install a off delay timer that can be adjusted on the HMI for individual pumps, is this possible ? I am using Siemens TIA Portal V13 and I have a KP1200 comfort panel along with a S7-1500 PLC Any help would be greatly appreciated
  20. Panasonic FP0R

    Could anyone tell me that how can we use/recall Q bit of timer in FP0R. As we can use DN/TT in Allen Bradley
  21. ON/OFF Timer for Mitsubishi FX

    FB_TIMER_ON_OFF The FB is a part of RTC library and implements a timer, based on RTC, for ON and OFF a control bit, e.g. to turn ON/OFF a load in the time interval, and can be easily added into your program in desired quantity. The FB is supplied with E (Enable) input, EO (Output to Control Bit), and can operate in one of two modes: HMS = Hours + Minutes + Seconds (daily timer) MDH = Month + Date + Hours (yearly timer) Each setpoint of ON and OFF time settings should be represented as Array of INT [0...2] type and contain a time data according to the chosen mode. Thus, for example: - in HMS mode: a control bit can be turned on at 02:03:14 am and then turned off at 06:04:17 pm, or turned on at 05:12:27 pm and turned off at 07:06:22 am; - in MDH mode: a control bit can be turned on 3th February at 02:00 pm and then turned off 4th June at 05:00 pm, or turned on 12th November at 03:00 pm and turned off 6th March at 10:00 pm. If the values of both time settings are the same, the FB output will not be activated. Supporting PLC CPUs: All FX Program memory: - 34 steps per each FB instance - 4 steps for entire project (reading from RTC) System variables: M - 3 bits (for entire project) The library is compatible with GX IEC Developer and GX Works2 software . https://plus.google.com/105445006108716761629/posts/Z4v4F11s4Bz
  22. Hey, this may be an obvious question, but here goes: I have a CompactLogix L36ERM running RL5000 controlling one of our lead die cast machines. When I make a change to the program offline and need to download I always go and shut the machine down for safety reasons before downloading. One of our techs stopped the machine but left the control power and hydraulic pump on while downloading (something we are not supposed to do) when he finished downloading he switched it back to run mode and the machine closed on it's own and started right back up. This is a safety concern to me. We have a "close enable" tag that is true when all necessary conditions are met, and gets latched on when the machine is running in full auto. Before he downloaded the machine was at idle, meaning that the only way to close the machine would be to press the two dead-man switches to start the process. But, when he downloaded it started up automatically. Now I know the reason why is when the program was last saved, the "close enable" tag had a value of 1, it was latched on, so it bypassed the dead-man switches. A quick fix would be to save the program with that tag un-latched so that it can't start up on it's own after downloading. But, in case somebody saves the program while the machine is running and with that tag latched on, I need a better solution. Is there any tag or bit that goes true when a program is downloaded or when the mode of the PLC is switched from run to download to run? I want to manipulate that tag so that when I download it un-latches the "close enable" tag. I'm sure there is a way to do it, I'm just not even really sure what to search for in the online help. Any help is greatly appreciated. Thanks Howard
  23. I am currently trying to get my program to take distance traveled per pulse, which is based off of the diameter, and convert it into IPM. I am using RS Logic 5000 software. If anyone could help me get over this hump I would really appreciate it!
  24. C40K

    Hi Can anyone help with changing timer values in a C40K using syswin and a host link3G2C7-LK201_EV1. I have tried clicking Editors, Data display editor and then T/C VAL. This then loads all the values into the display window. Double click the required Timer and a new window opens up with the value. Changing that value and then clicking ok and then writing the value to the C40K. This does not appear to change the value because if I then read the values back I still have the original value and not the one I changed it to. Hope this makes sense. I assume that it should be possible to change the values using this method. I can change the values using the hand held console
  25. HMI Transparent Mode

    Hi all. I currently have a scenario where I connect with a SCADA (OPC using virtual com port) to an Controller (A-series) via E300 HMI using transparent mode. This setup works fine, no problems. I have now upgraded the E300 to the E1032 HMI with all the same settings, except the E300 was using an expansion Ethernet card and the E1032 is using the built-in Ethernet port. Now with the E1032 in place the SCADA (OPC) just cannot get healthy comms to the A series PLC. Am I missing something somewhere?