Jump to content

Isakovic

Privileged Member
  • Posts

    192
  • Joined

  • Last visited

  • Days Won

    13

Posts posted by Isakovic

  1. That looks like an interesting project. But since it is incomplete not much could be said regarding your questions, maybe a few comments.

    It is good practice to have a safety par of limit switches. Maybe you don't need limit switches for oscillation since you should know the position from the encoders. Did you make an electric scheme?

    14 hours ago, Guest Josh said:

    I pretty much have it, check the vlp file. 

    I opened your project and there is not much code in there. All I can say about it is that you shouldn't use normal contacts for load display function as it will be called in every scan and lock the screen. Also that ESTOP input should power off the outputs.

    A lot of work still, maybe you could start with ladder and post here when you get stuck.

  2. Looking for a piece of advice here. I put safety contact on wire that brings power to outputs, and noticed while testing that sometimes PLC loses serial connection with laptop when safety is activated. This made me wonder is any circuitry in controller powered from this side and is this good practice or should I change it?

    Jazz controller is on the picture but I also noticed this on Vision.

    Izlazi.PNG

  3. You can use Modbus for Vision-Jazz communication. Jazz has only one Ethernet port but it can be configured for both Modbus and PC connection (only one active at a time).

    7 hours ago, Ljuba said:

    Also, is there something that I should make on my Jazz, or V130 in order to get faster communicating with SCADA?

    Put memory segments you need to read in sequence (MI0, MI1, MI2...).

    Contact support for additional help to make SCADA work with all PLCs, it must be something trivial that you overlooked. I always received fast and useful advice Unitronics support.

    • Upvote 1
  4. I did have performance issues with UniOPC, it would overload CPU when large number of tags is being sampled, for this I switched to ModbusTCP. But it would work just fine with small number of tags.

    I never worked with ZView, what are communication settings for this SCADA? Like "Query pause" or com settings for channels (if you can switch communication to different channels they would run in parallel, while PLCs on single channel get pooled in sequence which tends to be slow). Are there any settings for tags like "store values" (for remembering historic values for graphs), I noticed those values get less omitted than those that are not keeping a record.

    Anyway, having instant response for SCADA with less than 1 second delay is not realistic. Like your 0,5 second flashing bit. You need different type of communication protocol to catch such a change.

    • Upvote 1
  5. Hi Alex,

    Thanks for the suggestions. Yes, I am using a  Vison controller. There's this thread I found that deals with what goes "behind" ladder when using transitions, that I think answers my original question:

    I'll get my hands on a new controller in a couple of days and experiment to get it clear in my head just when -P- and -N- go high and when they go low.

    17 hours ago, AlexUT said:

    If you have the same transition contacts - replace all by one regular coil, which will be activated by one transition contact.

    I saw this in the manual also, might be a smart thing to do when you are forced to use a lot of transitions.

  6. I have to troubleshoot one program that ended up overbloated and probably far more complex than needed to be because of a lot of crucial changes and irrational functions that I was requested to make. I would like to rewrite it, but unfortunately there's not much room for experimenting at this time.

    This is what's problematic in net 23:

    Sequence goes like this:
    1 - ML0 register is restarted (goes to 0) (also ML0 is linked to high speed input)
    2 - 0.4 seconds delay
    3 - MB 9 is set, MB101 is set
    4 - Net 23 doesn't change value of ML13 (problem)

    After manually changing value of ML13 in info mode it all works fine from that point on, PLC goes through that line of code as expected, it only stutters for the first time. These two registers aren't used much in other parts of program so that they could get overwritten somewhere in the process.

    There are a lot of transition contacts in program and couple of strange bugs that happen "sometimes". Program wouldn't even work until I broke big nets into more simple ones (I learned that this is good practice the hard way). Your example does show that there's something strange with using transition contacts, it also gave me an idea to try.


    I would like to better understand how PLC treats transition contacts. I assume it goes like this:
    - SCAN 1 - MB0 is set
    - SCAN 2 - MB0 transition contacts go high
    - SCAN 3 - MB0 transition contacts go low
    I assume it works like that because transitions can be used in net 1, and SET/RESET coil can be in net 20, for example. I don't have any Vision I could test this on at the moment.

    I'll get around this problem, I am more interested in learning about this strange behavior and why big nets don't work as expected.

  7. You are correct, Vision Controler does have 512 MLs. Excel sheet is just expanded to 4096 for all operands, amount of registers wasn't accounted for.

    I tried to read address 30030 from V350 through Modbus TCP (with function codes 3: and 35:) but didn't get any reading. I don't know if it is a valid address or not.

    Just for clarification, do addresses from Excel read correct values in your case or do they have +30000 offset as Joe said?

    • Upvote 1
  8. What value is stored at the output of your linearization block? It should be value according to device specs (ex cubic meters per minute).

    I'm not sure you'll get correct value by adding every 0.1 second. You could try adding every second and then dividing MI46 (or ML46 if numbers go too high)  by 60 to get cubic meters.

    I just had a glance at data sheet and saw it has e a totalizer. You can easily compare your calculation with real value.

  9. 22 hours ago, vamalgise said:

    As i understood you do not use end switches in your valve, so it is very important to have correct PID output range (according to valve actuating time as you mentioned before).

    The thing is that if PID out goes to 0 and virtual position will follow it very fast, it still doesnt guarantee that the valve is in the right place.

    And one more question. Why is it important to use pulse output with a gap between the pulses? is it better for the valve mechanism? I only use output as long as it needed without pulses.

    Thank you

    In standard 3 point valves end switches are internal mechanism of stopping the valve, when it comes to end position it will stop moving. They usually don't have connection to external circuits, at least those I used so far don't.

    Normal outputs are used for open/close, as you said it gets command to open/close as long as it is needed. Nets 14 and 15 from the picture are used for correction of virtual position because of the valve inertia. Let's say your virtual position goes to 0 but valve has 2mm yet to close, your system maybe won't be able to reach set point. Did you include this possibility in your program, looking at your problem it seems you didn't? If you check U90 example they activate close output for 2 minutes when PID reaches 0 to make sure it is closed, logic I use will send 1 second pulse every 20 seconds (or any other rhythm you see suitable) and the valve will get to 0 position, I find this method more stable (note this function activates when PID output is 0 and virtual position is 1-2%). Valve won't mind getting orders to close if it is already closed. The same goes for fully opened valve.

    Do you have certain dead band for valve movement?

    If it is possible you could measure the time it takes to open and the times it takes to close as Ausman suggested and modify your logic, but the difference shouldn't be that drastic that basic idea discussed couldn't correct it.

    I don't know for better alternative to virtual position if you use valve without analog feedback. This is method other PLC manufacturers that have three step control function blocks use. Before this solution I used pulses where gap between them depended on the difference between SP and PV, but PID is more stable.

    On 6.2.2017. at 9:52 AM, vamalgise said:

    The problem i faced was the difference between nominal actuating time (8mm/s, with 40mm nominal stroke=320s)

    Do you have valve data sheet. What does it say for the units s/mm or mm/s? Check if you calculated moving time right.

  10. 21 hours ago, vamalgise said:

    3 months ago i had finally launched 3 way valve 3 point control as was recommended by Isakovic, implementing virtual position.

    Oh boy.

    Ok, this is how I deal with it. Nevermind the language.

    MI210 - PID output
    MI263 - Virtual position
    MB206 - bit which tells output control subroutine valve is in end position

    58996588ca0bd_0Position.PNG.a417beb77319b4de3ff6bcf62f491a69.PNG

    When PID is 0 and Virtual position is less than 11, use TD17 to close valve for 1 second every 20 seconds. I have a similar one for 100% PID output.

  11. Hello,

    Are there any rules that are considered "good practice" when stacking expansion modules, or is it only esthetics that doesn't effect functionality. To be specific I have five PT400 modules connected to EX-D16 and had to add one AI4-AO2 module on the end. This question came to my mind when I was checking current consumption that EX-D16 can supply and saw that modules that require 24V supply have "sandwiched" temperature modules that don't.

  12. 13 hours ago, denci said:

    I am using Unitronic Samba SM35-J-RA22 and pt100 temperature sensor. I confugered sensor as pt100 analog input on MI0 and when i want to read temperature from sensor i alwayg get value 32767, what i am doing wrong with temp reading??

    When you measure Pt100 resistance it should be around 120 ohms or so. 32767 means you are out of range and you have open circuit between points where PLC measures resistance. Either your probe is faulty or it is a wiring error, which is more probable.

×
×
  • Create New...