Search the Community

Showing results for tags 'ladder logic'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 82 results

  1. 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!!
  2. 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.
  3. 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!
  4. RSLOGIx 500

    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 
  5. 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.
  6. 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
  7. 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 .
  8. 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 
  9. Hi, Could anyone help me out on how to extract the digits present in a string in sysmac studio... Thanks in advance !!!
  10. 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
  11. 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
  12. 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.
  13. 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
  14. 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.
  15. PLC Programming Language

    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?
  16. 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:
  17. 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)
  18. 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
  19. 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.            
  20. Hi there! I recently discovered this forum and I find it pretty useful for sharing and learning about PLCs. The thing is I'm trying to make a Stack using the SSET(630) instruction in a CJ2M PLC. Reading Omron's W340 manual I saw that PLC memory address for the different stack channels is represented as "00010000" to "0001000F". So, in order to set the last stack word address as well as the pointer's address, how do you know those values? Or am I just misunderstanding something? Thanks in advance!   Edit: Solved, the definition of the stack was wrong!    
  21. How do you test PLC logic?

    We have been working with PLCs for long time. We used to develop PLC logic, partly test it on an emulator and test the rest on the partly energised equipment. From time to time working with computer software development (C# and JavaScript) I was always looking for something similar to unit testing in the PLC world. As I couldn't find anything at that time I've started developing own automated testing tool. Now we use this tool, which basically simulates PLC inputs in defined actions and checks expected behaviour of internal tags or/and PLC outputs. If it behaved the way we expected, it's PASS, otherwise it's FAIL. We break complex logic into small parts and create unit tests for it. By creating more of these unit tests we can test PLC logic of any complexity. The software called PLC Logic Prover and it's free at https://www.controlx.io Recently, I've been told that there is no point to develop anything new if there are already great tools on the market. Honestly, I didn't do proper research earlier, so I'm here asking the experts. What do you use to test PLC logic? What automated testing tools do you use? Is it using IO simulation or it can test logic by other means? Your replies are appreciated. Thanks, Alex
  22. Hi guys, since this is a forum for people starting out with TIA Portal, I would like to share with you my course that I developed for the last 6 months.  This course uses a real-life sample application and translates it into a fully functional TIA Portal PLC application.  This course of 2,5 hours consists mainly of video explanations with practical programming assignments to put your newly gained knowledge straight to work.  As a controls engineer, I have over 10 years of hands-on experience with TIA Portal ranging from software development, commissioning and troubleshooting. At the end of this course, you´ll be able to: Structure and program a real-life user application in TIA Portal Download and Troubleshoot a TIA PLC application Program function blocks (FB) using ladder logic Build global data structures using user-defined-data-types (UDT) and data blocks (DB) With the coupon link below, you can enrol for only $12.99 (might vary depending on the country you live in).  The course is normally $99.99, so you get an amazing all-round programming package for almost no money.  So go and check it out  Take me to the Course Now!      
  23. Did you always wanted to get started with Siemens TIA Portal programming, but you were never sure where to start or how to get the best performance out of the platform? Eager to upgrade your TIA skillset from an instructor with over 10 years of TIA experience in the field?   -> Then this course might be just for you! My course "Siemens TIA Portal - PLC Programming Basics" will take you through the steps of creating your very first TIA application - from structuring (very important!) and programming your application, to downloading and troubleshooting your application online.  The course is based on video lectures and is around 2.5 hours long, and consists of 40 lectures divided over 6 main chapters. The enrolment fee is offered at a huge discount at the moment, so take action while it lasts! Take me to the TIA Portal course, I´d like to check it out...   Thank you, and I hope to see you inside the course! Hans
  24. AVE instruction Error

    A little background information here, I am trying to create a moving average so I accomplished it with the code (imaged attached) The problem i am having is the AVE instruction error bit goes true. it leaved me with a result of 1.#QAN  I did some googling and it said this is typically done when dividing by zero?? so i added a NEQ to 0 prior to loading the array. then it happened again. so i put the error bit in front of the FFL so it will stop loading the array when i get the error bit so i can see what values are in the array when it errors out. Has anyone else had this issue and what could you do to resolve it? I haven't had any luck find something that points me in the right direction. Thanks in advance for your help.