Jump to content

Joe Tauser

MVP 2023
  • Posts

    2,855
  • Joined

  • Last visited

  • Days Won

    308

Everything posted by Joe Tauser

  1. Ditto on what Ausman says - there's no analog output on the 0808R. If UniLogic says there is then it's a bug. What is your I/O compliment? Joe T.
  2. It could certainly be implemented with the Protocol block, but it won't get any traction from the Creators unless a large user wants it. I have personally not seen an industrial do-dad that supports this protocol, but that's just me. The Internet of Things makes me very nervous and I tend to pooh-pooh it. The sales presentations I've looked at always show a nebulous "application in the cloud" that ties everything together. Having once implemented an internet-based tank monitoring system, I learned that in a corporate/industrial setting the IT department will do almost everything in it's power to block you. You absolutely have to set up a remote server and throw all your data over port 80. Then you have to support it for years for little or no revenue and you may or may not be able to hang on to your internal people who know how it works. Look up the Amazon reviews on the Nest Thermostat, one of the original IoT devices. It has a five star rating of 58%. Which means it mostly works. Mostly. Joe T.
  3. @Flex727- My only excuse for an overloaded network is I wrote it in 2007. A V120 was involved, and we all know how crazy those things are.
  4. It choked when I tried to import it, too. Probably has something to do with the file date being 2009. I opened a program that had it in 9.8.31 and re-exported it. I was successful in importing the new one into a blank project. I have uploaded it again. Give it a try. Joe T.
  5. Put a NC of TD 29 in front of the coil and it will reset itself, giving you a pulse every 0.6 seconds. If you're going for a 60 second pulse, you need to change your formulas to output 6000. Timers work in 0.01 sec units. MI 999 should have increased to 1 when the timer finished. Make sure you're not clamping it to 0 somewhere else in your program. You could also use the INC and the DEC blocks at the top of the Math menu. Joe T.
  6. First off, break that into three networks. Putting a contact referencing a timer and the timer coil in the same network is bad juju. The compiler allows it but is tripping over itself. Put the timer coil in a network before the transitional and the resets. Let us know if expanding the code solves the problem. Joe T.
  7. The rules for Daylight Savings Time vary around the world, so there is no universal function that can be implemented in a standard PLC command set. I had to write one for the US. I've attached the Visilogic export of it, which you can re-create in UniLogic. It's not perfect and the PLC must be powered on when DST occurs. If someone wants to improve it and post what they've done it would be most welcome. Joe T. Daylight Savings Time.vlx
  8. You need a static IP at the location where the PLC is installed and port forwarding set up in the router to access the PLC. If you can't get this, then you need a device such as you describe that sits on the same network as the PLC and handles this for you. None of them are cheap. Joe T.
  9. A V130 will probably always scan in less than 10 ms, so 100 Hz is safe assumption for any digital input. If you use Immediate Inputs in a 1.25 ms Interrupt subroutine you can get 400 Hz response on a V130, with the caveat that it only works on local I/O (not on expansion modules). I've done this with water flow meters myself. It works. Joe T.
  10. Danil, Your P and I parameter conclusions are correct. As far as getting them into the PLC, read the Help on PID and post a program. We can help after that. As for identifying the transfer function, I don't even know where to start. You are so far over our heads it's not even funny! I've never seen PID parameter described to 15 significant digits! Here is where PID control originally started way back in 1942, if you didn't already know. https://en.wikipedia.org/wiki/Ziegler–Nichols_method I haven't looked at a transfer function since I took Control Theory in college 30 years ago. If you ask some simpler leading questions of us we can probably help you figure out what your transfer function needs to be. Nowadays, we run the AutoTune function, which measures the response time to the PLC generating a Step Output (100% On). Then some magic happens and the PID parameters are calculated based on the change in process value and the time required. If that doesn't work (and sometimes it doesn't) we fiddle with the parameters manually until it behaves. Often processes have a nonlinear response based on setpoint. For example, an oven required different PID parameters at 400 degrees than it needs at 800 degrees due to how fast it loses heat to the ambient environment. Joe T.
  11. Individual software packages do not delete Restore points. Windows does that favor for us. Do you have an old school backup of the system? Microsoft has lulled us into a false sense of security with system restore, and that's what this thread has become. This is not a Unitronics issue, but we may be able to help. If you have 40GB configured for Restore then they should still be there. When you were examining the restore points did you check the box "Show more restore points"? Error 1706 is an installer problem indicating files missing. Based on the catastrophic results you've had I would consider a hard drive problem. Do you have a spinning hard disk or a solid state drive? Have you checked the SMART status? Joe T.
  12. Kal, U90 is a VB.Net application - I've never had it tear up a computer and I've been dealing with it as a distributor for a long, long time. What was the error message? Did your registry get corrupted? Where are you located? Joe T.
  13. Thank you for posting your code! I wish everyone who has a programming question would do that. SB 50 (the +/-) is not referenced in the program. Your SHL block is called by SB 49, the #9 key. Also, MI 0 is the source. If you want to see something happen on the display you need to link it to MI 1, which is the output word. Joe T.
  14. PLCs do not do high speed (< 1 ms) motion well, especially if there is analog involved. If you put code in an interrupt routine you can get 1.25 ms. It works with discrete inputs and outputs only and they must be connected to I/O on the main circuit board. What are the details of your I/O? Typically you use an analog output to drive a regulator, and we are limited to the scan time for updating it. Joe T.
  15. Details! Can you list your sensors and what external database you are trying do connect to? Joe T.
  16. Would you post some links to the Red Lion products you are using? I have no problem looking through other vendors manuals, but don't ask us to go find it. Joe T.
  17. I got a call today from a customer having this problem after moving his program to Windows 10. He is using 1.0.0.67 of the .NET driver. What shall we try? Joe T.
  18. Look at the Store block - use it to move MI 3 to MI 29. With any luck your SCADA system will read it as 30030. Post your code if you want us to look at it. Joe T.
  19. The key is to never reset your seconds. A DW will hold 136 years of seconds. Your calculation is not as simple as it sounds, as you want a fractional hour display. Joe T.
  20. JT - I've already had a conversation with Cara regarding the difficulty finding the Slave address table. It has to do with the way the Help software prioritizes keywords and there's nothing that can be done about it. For the record, I open Help and Search tab-> FBs Library (5) -> MODBUS, Serial -> scroll down to Slave Addressing link. Gah. Joe T.
  21. You don't need to write the Modbus data to a Data Table. You can display link it directly to the display with a numeric indicator. The display updates every PLC scan, but the value on the display will only update when it gets new data. You need to post your code - it sounds like you're having trouble configuring HMI display elements. We can help if we have something to look at. Joe T.
  22. Do you have the properties of UniOPC set to "Run as Administrator"? Joe T.
  23. Depending on the endianness that your SCADA system is expecting, you can do a Modbus read of an ML and the combination will be done for you. If you haven't already read the Unitronics Help on "Slave Address Tables" I would suggest you look it over. The ML's can be read but you have to specify an offset. You may have to specify a read length of two words, as the original Modbus spec was written around 16 bit words. How is the variable defined in the SCADA system? Can you give us more specific details of what you are trying to do? Joe T.
  24. Look at these resistance tables- 100 ohm RTD http://www.pyromation.com/Downloads/Data/385_c.pdf You'll note the highest reading is 390 ohms at 850 C 1000 ohm RTD http://www.thermometricscorp.com/PDFs/Platinum-1000-Ohm-385.pdf All the values are increased by a factor of 10. A 100 ohm input will totally barf if you connect a 1000 ohm load to it. Joe T.
×
×
  • Create New...