Jump to content

Joe Tauser

MVP 2017
  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by Joe Tauser

  1. You need to close the loop. It sounds like you want to enter a new pressure setpoint. You have no guarantee that adjusting the analog output by a certain amount will result in the pressure you want. Rather, you need some code that will adjust the analog output accordingly until the pressure is equal (or close to) the number entered on the HMI. This could be done with a PID block or some simple compare blocks. Post the PLC ladder program (the .vlp file) that you've worked on so far so we can see the hardware you're dealing with the the scaling you've done. Joe T.
  2. Joe Tauser

    How many 485 serial ports can be installed?

    You didn't say which UniStream model, so I'm looking at the 10" unit with the separate CPU. You get one RS485 port on the CPU. According to the specification guide for the USC-P-B10 CPU-for-Panel - The UAC-02RSC has one RS232 port and one RS485 port. I fired up UniLogic and started dropping them on the back of the panel. I was able to drop four modules. So the answer is five RS485 ports. Joe T.
  3. You've presented us with a dark cave and very little to go on to help. We need illumination. 1. Post a link of the modbus documentation for the soft starters, and anything else that may be helpful. 2. Post your code that you've done so far. Joe T.
  4. Joe Tauser

    I/O Specification Equivalents

    UniStream does not have isolated differential analog inputs or outputs, and the resolution is not quite as high. You need to determine if this is important. I'm betting the UniStream I/O is a lot lower cost. Are all the sensors powered from the same supply? Are they 0-10V, 4/20mA, or something else? Joe T.
  5. Unitronics does not currently have something in place to interface with Google Cloud. I'd start digging here: https://cloud.google.com/iot/partners/ It looks like there are prototyping kits you can get to make your challenge easier. Joe t.
  6. When all else fails, rip out Visilogic by the roots- https://www.revouninstaller.com/revo_uninstaller_free_download.html Install it again and see what happens. Joe T.
  7. First question - where in the "cloud" is it going? You have to have something to catch or transfer the data for people to connect to. Usually a server your devices talk to that other users can access. The Internet itself is not smart. It is a collection of smart things connected together. A UniStream can serve data over the Internet, but it has to have at a minimum a static public IP address that users can reference. And/or a domain name registered to it. Joe T.
  8. I hate when they do that. Bas***ds. Look in the Help under "Licensing". Joe T.
  9. It sounds like the processes are different, if the same settings don't give the same results. Anything different in the process could cause this. That condition is called "drooping". Turn your Integral value up. Joe T.
  10. Joe Tauser

    Alias name array in input cards

    That's two questions. I typed in a general alias, "Hello", which it did accept: Then I dropped a compare block and typed in "Hello". It gave me a dropdown of the elements in the alias- If I'm not understanding your problem and commentary correctly please add screenshots of what you are experiencing. Joe T.
  11. Joe Tauser

    Concat two INT16 to single int32

    UniStream doesn't have pre-defined arrays so the functions are necessarily different. You're showing that you want Int 2 in the upper bytes and Int 1 in the lower bytes. I would do this old school with combination of a bit shifter on int 2 into a long buffer register and then add int 1. Tags: Int_1 - INT16 Int_2 - INT 16 Result - UINT32 Joe T.
  12. Translated- Thanks Joe, the MI16 is an analog reference that measures the value of 1238 (12.38v) and ML7 should save this value. But it always saves the value 28688. This operation is repeated from the ML1, ML2 ... ML40. The program worked well, download a modification and started this problem. The MI0 is always 0. I don't think you're using this block properly. If you want to save the value in MI 16 to ML 7 you should just use a STORE block- Is there a reason the MAX block was used? Upload your program if you have more questions. Joe T.
  13. Translated- Dear, I have a problem with memories, when an action is performed (track Max) I always get a fixed value (28688) download several programs and the same thing happens. please your support. According to your picture the block will be looking for the maximum value in the vector ranging from MI 13 to MI 1250. The bottom "B" value is the vector size, not the vector end. If all you want to do is look at MI 13..16 then enter a Constant of 4 in the bottom (D#4). Joe T.
  14. Don't feel bad. TCP communications confuses me too sometimes. Thanks for posting your code! Remember that the port number assigned to a socket is a local thing. The remote device doesn't care about whichever master's port numbers, but it has it's own socket and port number that you have to keep track of. You don't need anything in front of the SCAN_EX block other than a normally closed of SB2. It's just there to listen. You've got a bit re-initializing the Modbus config blocks every time the socket disconnects. Don't do this, as it makes the communications hiccup. You're also triggering MB 60 "Request to Send" here. Trigger it with MB 509 and SB 2 instead. You have a ton of Modbus Read and Write blocks in the Master. This is an excellent application for the Unitronics special Modbus Mixed Read/Write function block. It works quite well - look into it and your code will be much simpler. So here's what you have: The slave addresses in the config block are different. You may just have a typo. Master 1 - (.200) - talking to slave (.208) on Socket 3(M) assigned local port 502. slave port 502. Master 2 - (.124) - talking to slave (.108) on Socket 2(M) assigned local port 2000, slave port 2000. Slave - (.208) - Socket 3(S) local port 502, Socket 2(S) local port 2000. I changed the slave address on the programs I uploaded. So this may very well work as modified. I always make a communication map like this on paper when more than one device is involved. Remembering TCP details is hard. Joe T.
  15. You probably need to enter a CR into one of your delimiter fields. Look at the posting suggestions- http://forum.unitronics.com/topic/5366-how-to-get-help-with-unitronics-products-dos-donts/ Your questions require us to see inside the blocks to determine their configuration. Upload your program. Joe T.
  16. Is it possible the 32 bit registers are longs and not floats? Try reading holding registers in blocks of two and pointing the output of the block at MLS. Joe T.
  17. Check out the string tools - Remember that Unitronics stores both numbers and strings in MI registers. If you have the string "export" stored in hex form in MI 3000.. 3002, you can use the Num To ASCII function to covert your numbers to string blocks. If you point the output of the block at MI 3003 you will inherently concatenate it. You can check your work with a little-known feature of Visilogic - the the bottom there is the Memory tab. It can be set up to view strings in real time, although each line is limited to 32 registers. You can concatenate other strings by using the Vector copy block to move them into different locations in a continuous register block. This is low-level compared to other programming languages, but PLCs never were designed to be string manipulators. Just know it can be done. If you post your code with specific questions we can help. Joe T.
  18. Actually, more like 446 bytes wasted. If you want to be more efficient you can pack more data into your block before you write it. But the 512 bytes per write number is hard coded in the operating system. If you have a 4 GB card, that's something like 7.8 million writes. Does it really matter? How often are you writing the data? Joe T.
  19. You have to tell us the configuration of the modules connected to your RC1 for us to be of more help. CANbus is basically a way to transfer blocks of integers between controllers. For starters, look at Help->Examples->Version 900->Project Examples->Communications->UniCAN for CANbus between masters->V570_UniCAN 1.vlp. It shows the basics in the ladder logic - the PLC type doesn't matter at this level. Give it a try and post your code with specific questions. Joe T.
  20. I was working with a V570 at my desk, which is running Win 10. I've had no problems with Win 7. I threw this link out there because it's a slightly newer version than what the Unitronics website has and Silicon Labs lists it to be Win 10 compatible. @Cara Bereck Levy- you may want to have R&D take a look at it. Joe T.
  21. Update... Had this problem again with the newest Win10. The driver on the Unitronics website doesn't work. Here's the driver- https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers Joe T.
  22. I'm assuming you have a good connection to the PLC. Does this work: Connection->Communication & OS->Get OPLC Information If you can't download an empty project then something is wrong on the computer side. Try re-installing Visilogic - http://forum.unitronics.com/applications/core/interface/file/attachment.php?id=345 Joe T.
  23. Translated- hello ... I have a problem with my plc v130 and I can not recover the operating system I try to download but it appears that the conxion had a problem Please list more details - are you trying to use a USB converter? Joe T.
  24. Joe Tauser

    U90 Ladder - JZ20-J-T18

    Did you install the USB driver before you plugged in? Joe T.
  25. I looked at your .vlp file and ran a Build->Compile. It came back with "Illegal Number of Rise/Fall elements in ladder - 260". You're only allowed 256 transitionals in a V230. I don't know why the download was allowed before. In the Main routine starting at net 19, you're using transitionals after a Display Loaded bit to trigger another display. This is unnecessary, as this same logic can be embedded in the Links & Jumps tab of each display. If you look at that tab on the Start-Up Display you'll see what I mean. I recommend modifying the displays called by nets 19 .. 47 and moving the function keys to them. Then delete these nets with all the transitionals in them. Joe T.