Jump to content

hotwires

Members
  • Posts

    203
  • Joined

  • Last visited

  • Days Won

    19

Posts posted by hotwires

  1. At random times sockets 0 and 1, 20255 and 20256, server (slave) on V430 and SM43 are freezing up. Usually not both.... thinking it's more port 20255. I've played with the SI for timeouts. SB168 is set to power up at "1". it will still email, web server (V430) will still work, and usually port 20256 will work to let me connect and remote REBOOT the PLC, then the frozen port comes back to life. Any ideas!? I worked a long time on getting a reliable "EMAIL" logical construct; I believe I got that whipped and have had no issues lately. This STICKY PORT issue has plagued me for sometime. Any suggestions/solutions would be greatly appreciated. 

  2. General.VNC Number Of Connections INT32 on a Unistream 15.6" is linked to an HMI numerical display and the "connection counter" seems to be cumulative instead of real time. Right now it is showing "D#6" and there is absolutely NO WAY there are  six active sessions at this instant in time. UniL version 1.19 rev 19. Have noticed this for about a year. This in no way inhibits crucial functionality of the process control, just a nuisance to me. In short the VNC connection counter seems to get STUCK. A reboot will zero it back out. Sometimes it works as expected; ie showing zero, then 1 when I connect VNC and back to zero when I disconnect.

  3. wow, that's a comprehensive list. I'm still petitioning for: alarm suppression per alarm instead of per group, MODBUS mixed R/W function compatibility with Vision, and I miss the drum sequencer found in Vision. I agree the Unistream line is amazing, just find it odd that it wouldn't/ couldn't replicate all the features found in Visilogic plus all the "not possible in Vision series features". Yes I know the Unistream platform is Linux based and I'm sure this presents some significant differences from how Vision does all it's stuff. Linux platform has a lot of modules preconstructed like VNC and MODBUSlib which I'm sure equated to developmental time savings. And yes: I know there is potential to self construct all types of custom functionality with UDFB's etc... but as a ladder programmer (no C+ code knowledge) I am looking for time savings with FB's (which Vision is loaded with). Now we find ourselves with wishlists. All in due time hopefully :-)

    Just having our input reviewed directly by the R&D team is awesome. With most other brands these things aren't even open for disscussion. 

  4. Good advice Flex. If the "float_start_command" bit has a reset coil somewhere else in the program it will interfere. One instance of a coil (RLO or S&R) per tag, per program! 

    Is there any special reason you put float switch latching logic into a UDFB? Is it something you are reusing in the program for multiple tanks? I was not aware function in tags would not allow transitional contacts. 

  5. Try making float_lower contact in rung one a positive transition contact  and the NC (XIC) in rung 2 to a negative transition contact (NTC).  See if that gives the logical behavior you were expecting. As it stands right now you're float_start coil will (unconditionally) go false as soon as  "float_lower"  NC contact goes false.

  6. I recall the old simplex school clocks synchonizing from a master clock that sent out a 19kHz signal over the AC building wiring.  It controlled the bells also. Maybe some BASIC STAMPS and DTMF codes (master send, slaves selectivly or collectively receiving). would be easier if devices were DC powered, a bias tee to inject signalling AC. Just thinking cheap.  Not off the shelf :( 

    there are protocols out there for such: https://en.m.wikipedia.org/wiki/Power-line_communication however unknown on compact, low cost hardware.

    Sounds like something an audrino, raspberry pi, or parallax basic stamp could be programmed to do. I generally loath anything that is "trendy". 

  7. I have had the same issue with socket getting stuck open after remote operator app users do a clean disconnect. Had to keep an alternate socket and reboot PLC periodically. Most prominent case of that issue was on a V1210 with very poor quality DSL internet service. 

    Item two: I have observed two V430's (different sites and unique programs) go into black screen/STOP MODE  pressumably when trying to send an email.  My substainsiation for this theory: first V430 I ever used ran  over a year with ZERO problems, the trouble began when I put it on the internet and started using email. Also have had poor reliability on success of email transmissions. 

    I think I finally got the bugs out with changes in how the emails are sequenced and triggered. I had to construct logic to command the SMTP socket connect a second time if not connected after 10 seconds at one of my sites. It sends a test text message to me everyday at noon as a primative 24 hour periodical watchdog.  So far there have been no BSOD's or failed emails on the two V430's, only after a major overhaul of email trigger and socket logic. 

    I beleive the frozen Sockets with remote operator app usage had NOTHING to do with firewall or ISP.  tweaked the SI's for timeouts and retries. ended up putting in unistream before i ever definatively resolved the frozen socket issue on V1210. Did have one instance where the Unistream stopped sending emails but could still be reached by VNC and online mode, meaning it had WAN connectivity but something went wrong with email sends for about two weeks. PLC reboot resolved issue. moral of the story: don't put to much faith in email to text alerts. I've thought of using a Raspberry Pi as a secondary email sender. I never get the time to,sit down and do some R&D on it. would get you SSL email capability. I have done some stand alone RPI email alerters (temperature vs. setpoint and discrete input triggers). would have to get the communication interface between PLC and RPI figured out. Hope to do some experiments with an RPI as a TCP MODBUS slave soon. 

    Are you using any XB's in your code?

  8. I tried ladder snippet in photo on a V430 (online mode). Using an MI as "C" result only shows a "D#2", I had to use an ML to get 2300 (derived from -0.0023). If you need MI just drop a STORE block with A=ML202, B=MI202. This will give you a baseline MI that will go up or down proportionally to the MF. If you want to preserve the negative sign then omit the ABS function block.

    The middle FB is found in MATH, FLOAT, CONVERT, INV (A+B/n). Hope this helps!

    MFtoMI-ladder.JPG

  9. I did get photo of screen, to big to upload here. I have Nvidia Quadro K2000D video card, core i3 intel, 8GB, HP factory MoBo. MS updates where caught up. I tried several uninstalls and reinstalls of UniL. VisiL installed and ran okay. Perhaps a dependency issue like Saragani suggested. 

  10. 5 hours ago, oobretenov said:

    Hi thank you for the replay.

    By the way we have checked with UIA-0402N and it works perfect

    may be the problem is hardware issue with UIS-WCB1

     

    Report your findings to Unitronics support. Success with 0402N would prove it's not a coding problem.  i don't have a WBC1 to try with. 

  11. The toggle bits  change at the end of each polling cycle and transport via serial MODBUS to toggle O9 in the slave (an MB could also be used), PTC/NTC contacts keeps TE3 alive, O9 loops back to an input on the slave the is read by the master (call it a hairpin or loopback), the same scheme is used again in the master to monitor the echo of the toggle bits. it's fairly fool proof. If the toggle bit gets stuck in either state for longer than the timers preset then a bit will go true on both the master and the slave.

    MasterToggle.JPG

    MasterEchoWatchdog.JPG

    SlaveWatchdog.JPG

  12. oo,

    I don't have time tonight to load this into my Unistream with UIA-0006, drag the scope out, and live test this. Going from your results here is what I would try:

    1- Change the frequency.frequency100mS contact in Rung one to a PTC "-[P]-" contact

    2- Change the frequency.frequency100mS contact in Rung two to a NTC "-[N]-" contact

    3-Tag the B side of the two STORE blocks directly to the AO register. UniL will allow it, I tried. Unless you have a reason you need to intermediate the values.

    4- disable rung 3

    5-Download and test

    Should work as follows: ON rising edge of 50% duty cycle 100mS time base #7000 will load in the AO's register, on the falling edge #700 will load to AO reg.

    You're over doing it by reloading the same value every scan for each 50 mS, It's a retentive register not a charge pump. Rung 3 seems redundant in the context of the rungs displayed. I'm not seeing your entire program. Please share the results of this simple logical alteration. IF this still gives erratic results as seen on scope THEN post and I'll try to recreate. Have you contacted Unitronics support team yet? Hopefully this post will get some more exposure and suggestions soon.

    dB

     

     

  13. Peter,

     

    I have implemented a fairly basic com fail detection scheme I used in serial MODBUS RTU's. As Joe T. stated this is a heartbeat the master sends to the slave (and also can be echoed back for loss detection at the master). Toggle bit each time the MODBUS master's R/W function is called, that bit is sent to slave (in write coil), branch PTC and NTC contacts (HB bit) to a TOF timer in the slave ladder. Each time the heartbeat bit changes states in slave, the timer OFF delay is kept from expiring. set TOF time base according to how many cycles you want to allow it to miss before expiring, Use an inverted contact linked to TOF.out, that can drive an MB coil that is your com failure signalling bit (which in turn can zeroize outputs or whatever you want to happen). I use SB2 branched in with PTC and NTC of heartbeat bit, this prevents the TOF from being expired at power up (depending on where the master is in the polling cycle the slave may not see an HB bit transition  at the slaves POWER UP.  Hope this helps. If it's still clear as mud I can try to dig up a redacted code example for you.

     

    Hotwires

  14. I've never lost a program during an OS update. If everything goes by the book, no worries. Anything can happen. Always have 3 backups of complex PLC program that took anything over a day to develop. Preferably on three different media types and in three unique physical locations not under the same roof.

    • Like 1
  15. Mark S.

    Thanks you, the screen shot you provided helps bring the picture of the third party hardware into focus. Still intrigued by the 300,001 and 400,001 decimal MODBUS address. I'll have to process this for a while. I'm sure the addition info you posted will accelerate an answer to your troubles. 

    Please clarify:

    "When I read the analog Inputs I use the read input registers (4)  and use a value of 0 and I get back the value that is in register 300001. The offset because the module uses one as the first register."

    where you say "value of 0" do you mean address of 0?

    have you tried registers periodic, write, (16), address 40001? Or 40000 accounting for offset. 

    Unilogic's  valid MODBUS address range is 0 to 65535, so the 400001 is out of the question.

    Modscan is great idea. It's referenced in the automation direct manual (see photo). 

     

    IMG_4428.PNG

    This is an @Joe Tauser question. My best battles are fought and won with gear that is at my fingertips. Or someone lifetime of real world experience.... which I'm still working on. 

    ch3.pdf

    appxf.pdf

     

     

    • Like 1
×
×
  • Create New...