Search the Community

Showing results for tags 'ladder logic'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 87 results

  1. Memory Data in FX3S

    Greetings Can someone tell me about a memory that saves the data even when the machine is turn off? I need one for a speed pulse for a driver and all the memorys that I used where not saving the data. The PLC is an FX3S-MT32
  2. Emerson 90-30

    I'm working with Emerson 90-30 on proficy machine edition and I'm trying to use a string variable to display words on a graphical panel in target 2 but withing the code itself on target one I cant seem to understand how the reference address works? can some one explain how string variables function and how to use them?
  3. Problem failed to start ladder engine

    Hello my brother and sister at this forum, please help me, my problem is after i make ladder diagram and iam click button simulation -> Work online simulator ( CTRL + SHIFT + W ) then appear warning  "failed to start ladder engine", what a problem?? thanks before
  4. As the industry of plc and scada softwares continue to integrate more and more programming languages into their IDE, what is the most common language that should be learned by controls engineers (excluding Ladder Logic)?  I mainly use Python and VB for scripting but I am curious what languages other SCADA and PLC programming environments use. Should I be sticking to a specific language and learning it well or just know a little bit of them all? Let me know your thoughts!!
  5. Hi   New here.  Trying to create a cumulative timer with zelio soft 2 for a SR2B201BD So, whenever the plc receives a pulse (coming from a coin acceptor) it adds x amount of time, whenever receives a second pulse, adds x amount of time to the time left on the timer. This is a timer for a self serve car wash. Used to work with Ecostruxture Machine and a TM221, but do to a stock break on the supplier and time sensitive project was forced to change to a sr2.  Can't seem to make the transformation from my program on ecostruxtur to the zelio. Any help? Thank you
  6. I am trying to use Reusable files, but it is greyed out. Is there a setting that needs to be enabled to activate it? I am using CX-Programmer v 9.74 Update 1: Apparently, when you create a data structure this gets greyed out  
  7. Array A INT[32] Array Index B INT Destination C INT I am trying to move an Array (A) Element (A[2]) using a symbol (B) in ladder into a destination symbol (C) C = A [ B ] Result: ERROR: Array Index of Operand 1 out of range at rung 1 ( 6, 0 ).  The documentation suggests that it is possible, but I am unsure if there is something I am doing incorrectly. Note* Fixed indexing works with no errors Is there another method to accomplish this?   PLC : CJ2M CPU31 CX- Programmer: Verion 9.74 Update 1: If I go online to the PLC It does look like the array look up is working. Is the issue with the mov block? Update 2: I changed the memory locations which has caused a different error to appear. This error is clearer but does not explain the manual excerpt I posted further up ERROR: Only the constant can be specified for the index of the array.  at rung 5 ( 6, 0 ).  Update 3: Solution 1 I managed to hack together a proof of concept using pointers and indirect offsets  Update 4: Solution 2 For some strange reason things work as expected inside of the function blocks so I made one where the array is In-Out and with an input and output respectively. Note* External reference to pointers inside of the function block produced an error. Function block Logic     Update 5: Solution 3 Now I feel like I am going crazy, I tried just the original code again and it works... I have no idea why and if it was not for all the documentation I would be lost as to why it works now... Update 6: Conclusion It seems to have array indexing work the array index must exist in the D Memory Block. The reason it did not work above is because I somehow had a MOVR block when I tested after moving all the variables to the D Memory Block. I hope this journey helps someone else :)
  8. Newbie in the field of Automation here! I have a waste water project that requires operating 6 pumps to empty a sump. The water level in the sump is being monitored by an analog ultrasonic sensor. The analog range is divided into 5 levels; level 1 being the lowest and level 5 being the highest. The way the pumps operate is analogous to the water level, i.e., 5 pumps will run at level 5, 4 pumps will run at level 4, 3 at level 3, 2 at level 2, and only 1 pump will run at level 1. The sixth pump is used to run the pumps sequentially and that's where I need help. Basically, the pumps can not be assigned to a certain water level as this would result in the pumps at the lower level run way more as compared to the pumps assigned to higher levels. The pumps need to alternate so as to keep the running hours of each comparable. Another requirement is that say if pump 1 turns on due to water level rise and then turns off due to water level fall, and again if the water level rises, then the next pump should start instead of pump 1, and so on for the rest of the pumps. Also, if one pump goes on some kind of fault, the 6th pump comes in and runs in its stead until the fault is reset. I'm trying to come up with a ladder program to make all this happen but hoped that I could find some help online. I feel like this is a common project and there should be someone that can give me the proper solution. With thanks, Aafaq.
  9. Output polarity selection

    Hello to everyone. Nice to meet you all. How are you? I hope you are doing well. I’m developing a program with the purpose of make something similar to a pulse train in the output. However, sometimes I need the output to be a “positive” pulse and sometimes a “negative” one. By positive and negative I mean the polarity in relation to the pulse train source. I’m trying to use a pair of bits in order to switch between the two choices of polarities. I attach a simplified version of the ladder diagram I’ve made. When I thought about the logic, it seemed logical to me, however, it isn’t working as supposed. SM0.4 is a pulse train source. According to the software manual, it is a pulse train with 50% duty cycle and a cycle time of 2 s. That it to say it says at TRUE for one second and return to FALSE for another second. I assign the value of that variable bit to the M0.0 memory bit. I get the negative version of the pulse train logically negating it in the Network #2.                 I assign the value of two inputs, I0.0 and I0.1, to other two memory bits, M0.1 and M0.2. ·         When both inputs are in a FALSE state, the output stays FALSE, disregarding the state of SM0.4. (Case #1) ·         When I0.0 is TRUE, M0.1 is TRUE. However, Q0.0 stays at FALSE no matter SM0.4 is TRUE or FALSE. I attach a pair of pictures. (Case #2) ·         On the other side, when I0.1 is TRUE, M0.2 is TRUE. In this case, the output shows the correct behavior. It is the negated version of the pulse train source. (Case #3)                 Has any of you experienced something similar? Is there a better way to execute my purpose?                 I’m not executing the program, just simulating it with KincoBuilder from Kinco. However, it has always worked fine for me. Thanks for you attention. I look forward for your responses. Kind regards!
  10. Hello Dear Engineers; I am a PLC beginner learner, so please do not my my question as it sounds little ignorance my question is; how can i insert two output instructions in parallel but from the same input instructions. kindly check the drawing attached, the problem i can not find the right tool in my RSLogix 500 software.  please help me and i do highly appreciate that.   best regards,  Kevin 
  11. What are the types of fuzzy logic syatems and it's applications? Is the fuzzy systems based on the vague value or real values? What are the real time applications of fuzzy logic. I am writing a thesis at best essay writing services on fuzzy logic and it's applications.
  12. Hey, (Programming a M224 with Machine Expert Basic) I'd like to get some input from you guys about a logical task: I have 8 contactors controlled by my PLC outputs, they heat a water boiler. throughout my operation, I require a different amount of heaters (I could move between 1-8 heaters in a single operation) I would like to scramble what contactors I put in use every time I start an operation, in order to not constantly use the same heating elements and wear specific ones out. For example, in the first stage of heating I will use contactor #1, next time I start the operation I would like to use contactor #2 and so on.. How would you approach this problem? SBR? Timers? Thanks
  13. Mitsubishi Fx2n Modbus rtu vfd

    Hello everyone, may you all bless with the best. Can anyone please help me on connecting and programming In Modbus rtu INVT CHF-100A vfd with FX2n having rs485-bd module. I want to connect 11 vfd and one fx2n plc also .
  14. Mitsubishi Fx2n Modbus rtu vfd

    Hello everyone, may you all bless with the best. Can anyone please help me on connecting and programming In Modbus rtu INVT CHF-100A vfd with FX2n having rs485-bd module. I want to connect 11 vfd and one fx2n plc also 
  15. Hi, Could anyone help me out on how to extract the digits present in a string in sysmac studio... Thanks in advance !!!
  16. PLC Scan of Rung

    According to picture 1, ''Piston A moves to the right. After the set time, K = 4, the normally closed timer T450 contacts open and the normally open timer T450 contacts close.'' But according to picture 2 After the power flow from Left power rail to right power rail, it should directly go to 2nd rung and cause the normally open timer T450 contacts to close only right? but why it will go back 1st rung and cause the normally closed timer T450 contacts to open? Anybody can help explain me regarding this. Thank You in advance
  17. Hello Everyone, I am writing one logic and need some help regarding that logic.   CURRENT LOGIC -  -There are two timers TON_1 and TON_2. -TON_1 timer will start as soon as PLC turns on. -After the done bit of TON_1 timer, the TON_2 timer goes on. -After the done bit of TON_2 timer, again the TON_1 timer will start. -This logic cycle will run continuously, both timers will run turn by turn. Code (Codesys/Schneider Eco Structure Machine Expert)- PROGRAM POU_1 VAR      TON_1: TON;     TON_2: TON; END_VAR TON_1(IN:=(NOT(TON_2.Q)) , PT:= T#100S); TON_2(IN:=(TON_1.Q) AND (NOT(TON_2.Q)) , PT:= T#20S);   Actual Requirement -  -There is a BOOL tag. -If the BOOL tag gets high during the TON_1 running, the logic should move to the TON_2 immediately. -If the BOOL tag does not get high during the TON_1 running, the logic should move to the TON_2 after completion of TON_1. -after the completion of TON_2, again restart TON_1. -Logic Runs continuously in a cyclic mode.   Give me your valuable idea to fulfill the logic requirement.
  18. Unconverted Ladder Code?

    Hi All, Please see attached screenshot: Whenever I want to save the ladder program or start simulation, this window pops-up. If I press 'yes' I loose the whole work. I tried to open existing program and modify it, but it did the same. When I clicked 'yes' I lost all modification and just the original program remained. (I made the program in the morning, opened and saved many times but it started popping this window later.) I work with FXCPU series, FX3U/FX3UC type, simple project in ladder. This worked well but now is not anymore. I use Melsoft GX Simulator! Can anyone advise why this is happening? It is very annoying! It is pointless to work on anything now! Many thanks
  19. Crane Positioning

    Hey folksI'm trying to make a Ladder program in Sysmac Studio to control a Crane.The crane gets via a HMI a position that it must drive to, first at high speed then in low speed this is controlled via encoder signal for fine positioning there are several sensors.For all this I have an NX1P2-9B24DT1, NX-EC0222 and 3G3MX2-A4030-ESomeone here who can help me with an example of how this can be done in Ladder.Many thanks in advance for your help.
  20. Hello everyone, I am new to PLC programming and will start working on Allen Bradley PLC. I have an experience in computer programming languages. Will learning ladder logic be a better option or starting with structured text as i have some knowledge about the syntax and programming of structured text?
  21. Hello!   I have a humidity sensor 0-10v and his measurepoints is for 10 to 90 humidity %. Using the Analog Amplifier, I set his measure range but theres a problem... he's only givin me integers numbers, and I need the decimal one's to. On the Analog Amplifier, with that range the program says that the gain on the measure is 0.08 for each number on the analog input, theres a way to see that decimal places? I tried increasing the measure range to 100-900 and set the decimal case to 1 but the gain turns to 0.8, with that I just can take jump number like 10.8->11.6->12.4. How can i do this on the way that I need? It's an LOGO 8! After setting measurement range from 100 to 900:
  22. So I have a plc program where most of the outputs are based on a counter that goes from 0 to 1000. The counter speed is adjustable and is generally set to run through a full cycle (count from 0 to 1000) anywhere between 0.5 to 2 seconds. The problem is, when I try to energize an output by using an EQU instruction, it will almost always skip the count because the scan time is not fast enough. I've been using a LIM instruction which has been working, but its not quite as accurate as it needs to be. I switched the counter logic to be continuous to try to make it faster which made it almost perfectly accurate... But only in the continuous task; it made the other periodic task significantly less accurate. I was curious if any of you had any tips on how to remedy this or just general help. I am still relatively new to PLCs and ladder logic so any advice would be awesome, Thanks in advance! Edit: The purpose of the counter is to cycle through from 0 to 1000 over and over again. My outputs actuate during a certain interval within this cycle (For example I would say actuate from 300 to 800 and it would stop and end once it hit those values via an EQU or LIM instruction). I wrote the logic as follows: First I calculate how many cycles per minute I want to perform, using that value I calculate how many times I want to increment my counter per millisecond. Then a timer is given a preset of the total cycle time. While that timer is running I continuously multiply the timer's accumulated value by the "cycle count per millisecond" that I calculated earlier; the resulting value is the current count that all my outputs are based on... Hopefully that makes sense, I know it's not the best but I could not figure out a better way of doing it and I know rounding is certainly making the accuracy worse. My hardware is: Allen Bradely PLC (5069 l306erms2), 5069-ob16, 5069-ib16, and a Kinetix 5500s2 Driver for my motor(s)
  23. Hi there, I am fairly new to programming serial communications, especially with Mitsubishi PLCs. Can someone walk me through in ladder logic how to bring in ASCII to the PLC, store the data in the data registers. Then send the data out to another PC once an 'X' input is satisfied? ASCII code would go like the following: C2,0,1,123,2,ABC,3,456,CR
  24. Hi guys, I'm new in the forum and I'm quite new also in Sysmac programming, in ladder programming at all, to be honest.   I have some years of experience in programming CNC machines using C, on a owner platform. most of the functions I was using there were developed using "step sequences order". I mean, I had functions continuosly running where I was able to control the steps,  using the switch/case contstruct, and pass to a step to another just changing the reference variable. To be more clear, something like this:   functionStep = 0; switch (functionStep)   case 0:        if !(somethingToDoHereIsDone())                      break;       functionStep = 10;   case 10: .... and so on.   In the Sysmac programs I was able to see, something like this is possible to perform using register and AryShiftReg function. but I find it's quite complicated to manage if I want to insert intermediate steps in a second moment and most of all let an external part of the program to know in which "logical step" I am in my function.   Can you suggest me, in your experience, how can a sequencial function can be defined in Sysmac?   thanks a lot for your help.