Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 09/16/2020 in Posts

  1. Actually, there is a way to have a psuedo-popup window. It's done using a little-known and poorly documented system bit - SB 25 - "Do not draw display background". I used this for the PID tuning window on an oven project. I used a V1210. Here's the display with all the loops called "Setup" called from another screen. Pressing any one of the "Tune" buttons set a different bit in an array: I have code that watches for one of bits to go on and call this rung: You will notice that the description from Unitronics for this bit is flat-out wrong. The actual operation can be found in the Help if you search for "SB 25" (include quotes). Which pops this display without drawing the background- Giving this- Note the PID Tune is now the active window and is modal - nothing on the Setup screen will respond because it's not active. I have code that uses pointers to interact with the variables on the Tuning display that is not important for this discussion, but leaving the tuning display is simple: By calling the Setup display again without SB 25 set it just blows out whatever display is there, which is normal behavior. @Patrick - I would not call this "simple" in UnitronicsLand and the suggestion of others to just call another nearly identical display is what I would normally do. I used it in this application because I needed a way to indirectly interact with a window instead of creating 22 slightly different instances of the same thing. Joe T.
    3 points
  2. Sadly not my joke....... My wife asked me why I was whispering in the house. "Because Mark Zuckerberg's listening," I whispered. She laughed. Alexa laughed. Siri laughed. 🙈 cheers, Aus
    2 points
  3. There's a reason I knew to look there first. Welcome to the "Gah! I am such an idiot!" club. Been there. Joe T.
    2 points
  4. Just for fun I wrote the program for the above.
    2 points
  5. Hi all, thought I'd start a new topic where anyone can post a small snippet of a method they use and are happy to share. Just initially a screenshot or link that will get the brain cells of forum participants working hard as to what it might be used for. If it ultimately gets lots of different things submitted, it might become a little clunky and need "linked numbering" here in the first post. To this end I suggest that the time turnaround is a maximum of 4 days between submission and telling the answer, unless it is already figured out by someone. The answer is then given and a new one submitted. We'll see how it evolves. I'll start the ball rolling with the next post, which I think is an easy one. 🤔 cheers, Aus
    2 points
  6. Hi all, to start explore I suggest to check HTTP REST APIs for your WhatsApp (meaning some server you address via REST calls on HTTP and it send a WhatsApp message) . For example: https://github.com/sinch/docs/tree/master/docs/whatsapp/whatsapp-http-rest https://www.twilio.com/go/whatsapp-api-90-access-1?utm_source=google&utm_medium=cpc&utm_campaign=G_S_NB_EMEA_Whatsapp_ROE_Emerging_EX&utm_adgroup=&device=c&network=g&keyword=whatsapp integrator&creative=494025116831&placement=&gclsrc=aw.ds&gclid=Cj0KCQjw38-DBhDpARIsADJ3kjkFQR_Wbmbx9w6-1AjPTuwt35VN4vhB2FmhoVPHBl-doubeTtK6WaAaAqR0EALw_wcB It possible (no guaranty, we did not saw such API yet) the UniStream REST feature could trigger it. There are HTTP REST APIs free trials you can check out to do "proof of concept". (again, no guaranty, but worth to invest a few hours to check it)
    2 points
  7. Kratmel's card.......I'm still gobsmacked when I see a TIF card with 512GB. I point out to blase youngies how much separate stuff is actually crammed into that tiny space, and they still don't really seem that amazed. How times change. And let's all remember this is the stuff that's available off the shelf, not hidden away in some development lab. John's sliderule....There was a fantastic episode of "Utopia" here in Aus a while back. An older guy was brought into the office and was checking out project costs he thought hugely excessive, in no time at all. Did it all with a sliderule, much to the amazement of all the resident experts who would normally take months to do it. If you haven't seen Utopia, it's a satirical look at Govt bureaucracy's fascination with meaningless crap, whilst actually achieving little work. So much variation in concepts episode to episode, they have to have info from actual offices in the first place! And the imitation of govt project promotional material is so spot-on. https://en.wikipedia.org/wiki/Utopia_(Australian_TV_series) cheers, Aus
    2 points
  8. I remember seeing a memory device similar to this at my first mentors workshop back in the mid '70's It was an archaic thing at that point, but I seem to remember that the memory bank included inductor/cap/resistor circuits that "remembered" their last logic state, and transferred that with some sort of FIFO logic. Crazy thinking back in those days, but we wouldn't be where we are without it.... 😵 Now, what happens when you throw one of these in front of a young'un? I still have my first TI-35 scientific calculator that I bought in the '70's....
    2 points
  9. I ran face-on into an application where I wanted to concatenate the time and date into one string. The RTC to ASCII function in the examples considers every permutation of Date OR Time, but not both. I tried following my own advice and using the Insert String function but it didn't work the way I thought it did. I studied the RTC to ASCII example and realized the best way to manipulate strings is to make use of buffers, controlling exactly where characters land using the Copy Tag to Buffer, Fill Buffer, and Copy Buffer to tag functions. The thing that worked best for me was to start from scratch and write a generic Concatenate function that takes two strings as arguments as well as the number of spaces wanted between the strings. I only need one space, but this could easily be modified to pass the separating character to it. I'll leave that as an exercise to another. Enjoy. Joe T. Concat.ulle
    2 points
  10. Re the Help page woes, you all need to have a 95 year old Parent. You would have solved it in a flash. I am forever fixing computer issues he creates by having clunky fingers that click buttons as he moves the mouse around. To compound things, he "reads" with the mouse . The end result is that all sorts of internal edges and other things appear/disappear and I need another remote fix session to figure out what he's done this time. "Damn computer's broken!" "Welllll...no it's not. Just the user has stuffed something up again". I admire him persisting with using it, but it sometimes takes me ages to figure out how he's actually done stuff in the first place! The internal margins issue is very familiar to me! If you haven't noticed, in the Help window there are Show/Hide buttons directly above the pane's normal location. It is amazing how often I completely miss something as simple as this. I guess it is a case of familiarity breeds 'don't even look at what's there' with regards to menu items. But a pet parent is also a great teacher, albeit indirectly. 👴 cheers, Aus
    2 points
  11. @Cara Bereck Levy Take a look at this post, especially near the bottom- If you look at the post reference chain within thus post you'll see that the question of reading floating point values from energy meters is a very recurring theme. It's a common occurrence for word order is always backwards from what Unitronics is expecting. Ask the Creators how hard it would be to add a new type of Operation to the Registers tabs for function 3 and function 4 - "Read Holding Registers Swap Words". If you look at the Official Modbus Protocol Specification- https://modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf Search for the word "float" you will find no references. This means the byte order of an IEEE 754 floating point value is not specified anywhere and repeated questions on the forum point to the fact that it's kind of the Wild West out there as to how various manufacturers decide to implement it. Unitronics would benefit from making this easier for the end user, as many of them are unaware of this issue. This dovetails with the release of the new UniClould product as we've seen energy meters are a common addition to a UniStream system and that data will certainly be desired on a UniCloud dashboard. Just my 2 cents. Joe T.
    2 points
  12. So, the answer is no then? I noticed that if I do "Show structed text" in ladder I get a _op_op version of the tag. If I use this code, for example System: "RTC time.Seconds" in the C function I can call and use it and it appears to work. Am I breaking things by calling this code in C function?
    2 points
  13. I think that perhaps my local mower shop is still building their website! cheers, Aus
    2 points
  14. No. Modbus is a handshaking protocol and it will take too long - you're doing good if you can get 10 reads/sec with Modbus. kratmel says this device has CONTINUOUS FAST WEIGHT TRANSMISSION mode. I didn't look in the manual, but this tells me you can put it into a mode where it just sits there and broadcasts data as fast as it can, regardless of whether someone is listening or not. I've worked with scales that do this. The block kratmel is talking about is located under the FB's menu and is called "Protocol". It lets you roll your own communication - do not be afraid of it. In your case you'll set it up to listen to the serial port for whatever is coming in and set a bit when it receives something. For starters take your module and connect it to your computer serial port with a terminal program. Configure it with the CONTINUOUS FAST mode and see if you see a whole bunch of weights on the terminal program. Then you can determine how to make it work with the PLC. Joe T.
    2 points
  15. Thanks for sharing the solution. I never considered that UniApps would have different behavior than the UniLogic setting. Joe T.
    2 points
  16. You can search this on the internet for detailed explanation. It means that Integral component has maxed out over time and is contributing 100% to PID output. Maybe integral time is too slow or system cannot reach setpoint fast enough. If this makes oscillations or any other problems you can force Integral component to take some other value, there is a function block for that in PID menu.
    2 points
  17. Swervo, there are so many different styles of schematics you'll have to decide in the first place which way you want to go. To me it is personal preference. There are different names world wide for different style types. I actually hate modern style "line diagrams", "riser style" as I find them counter-intuitive and hard to understand at a glance, as you need to constantly reference descriptions. I much prefer older style where the entire layout and connections are visualised. Sometimes these are called pictorial, maintenance, schematic. This link https://www.nrc.gov/docs/ML1025/ML102530301.pdf is a good example I quickly found of most standard methods, with actual drawings starting about 1/3 through. cheers, Aus
    2 points
  18. Joe, do you mean like this? cheers, Aus
    2 points
  19. Surprisingly, people of about the same age in different parts of the world show the same habits and behavior. The same was demonstrated by my grandmother when she came to us after overcoming more than 2 km. However, she always thought of the reason why she came. One of these reasons is special to me. She said: I came to you because you will take me home by car. 🚗
    2 points
  20. I'd turn attention to the message format. You have a message length of 20 characters in the protocol scan, but the message is only 3 characters, including the CR (0D hex). Reduce your message template to 3 characters and you should see something better. In terms of decoding, you have at least 3 options: 1. Read the raw message then use logic to pull out the 2nd character as the data. As Aus suggests, you can use the "P" and "R" messages as a redundancy measure. Set the steam variable to put one character per integer. that way the second integer in the vector will hold the ascii value of the key that was pressed. 2. Create a variation of the template where the first and last characters are fixed text, and the centre character is linked to an MI. You would need two templates, one for the "P" messages and one for the "R" messages. 3. Do the "brute force" method and create 24 individual messages and use the "Index of received message" to tell you which key was pressed or released. Example below for the digits 0...3
    1 point
  21. You've got the polarity on the outputs wired as sinkers, not sourcers. The T2 outputs are PNP type. Your wiring would work if you had a -TR20, where the outputs are NPN type. Don't forget to connect power on the output connector as well. Hook it up like this for a -T2: If you've got 2K resistors that's fine - all you're trying to do is limit the current through the optocoupler. We use 2.2K resistors. If you want to go all OCD and calculate the current through the optocouplers go right ahead. You may not be happy with this setup, as the max frequency in the spec sheet on the -T2 is 500 Hz. I have put a scope on this and the waveform gets triangle shaped the faster you go and becomes unusable at about 1200 Hz. Your results may vary. The -TR20 board using the dedicated HSO NPN outputs is MUCH faster, with a maximum speed of 200 kHz. I've been down this road and the PNP outputs are horribly slow for a stepper. There are other models that have the NPN HSO outputs as well. Just not the -T2. Joe T.
    1 point
  22. Please read PID section in HELP. In your program no PID RUN fb present. Some add net needed in ladder.
    1 point
  23. 1. Test with SD card you already used. Does it works? 2. If you make full format for new (problematic) SD card - does format finish with no errors? 3. Find at Internet software to test SD card capacity and run test. What does test show?
    1 point
  24. No. These are for the Unitronics native protocol called PCOM and don't require any additional program changes in the PLC program. Using the PCOM protocol, you can go directly into the V120's memory. Modbus is a totally different protocol that Unitronics supports. It requires Modbus function blocks and configuration be added to the PLC program. The next comment is my opinion only based on my experience- If you don't have a large investment in V120's already, go to the V130. The V120's RS485 port is sketchy - the V130's is much more robust. Plus you can add an Ethernet port. I had a customer having problems with V120 RS485 communications and I wound up dragging my oscilloscope out and looking at the signal. I found the amplitude of the signal attenuated significantly if only three PLCs were connected together. The V120 program can be converted to a V130 program, so I did that and connected V130s together (being a distributor has its advantages). The signal was much stronger and the problem went away with V130 units. If you've already got a bunch of V120's, you may want to seriously consider adding RS485 repeaters to boost the signal as needed. Joe T.
    1 point
  25. I can just imagine an audiophile with the most expensive valve amps and super duper turntable sitting back with their $10K headphones on, listening time and again to Ding.wav, savouring every moment. 🎵 🎧 Kratmel, you've really hit the "I don't believe someone actually made this" jackpot this time. Is it from M$oft? cheers, Aus
    1 point
  26. Nothing to do with controllers or odd misinterpretations of binary digits, but one of the funniest things I've seen in a while. Put down your coffee. You have been warned!
    1 point
  27. That's actually a program crash within the PID server. It's been a long time since that module has been updated. What happens if you Auto Tune the loop without it? Joe T.
    1 point
  28. I'm assuming you're reading the same tag from UniCloud as you have mapped to the the display that the VNC client is showing. If so, send this one to support@unitronics.com. Joe T.
    1 point
  29. SB 350 description will be added to Help. Request sent to Help writer. B.R.
    1 point
  30. Seversean is correct that this System Bit is not mentioned anywhere in the Help file that I can find. @Cara Bereck Levy, can you address this?
    1 point
  31. Well I figured it out. If you access the plc with VNC via remote... You can hold the screen in the top right corner just like you are standing in front of it. After there you can go to plc properties and reset password to default
    1 point
  32. You build your UDFB to contain all your room arguments Then you pass it which room/device you want it to handle and trigger the UDFB with rising P in your global or main program. Using a conditional statement like equal, only the desired sections of the UDFB runs. In the picture "LoadActuator" is my UDFB and the top 2 rungs are inside the UDFB. The bottom is a call showing how I pass it A) SelectedPostion (pointName)and B)Actuator Number. -Swervo
    1 point
  33. I moved this thread to the correct forum. For coils, the DECIMAL address should be the same as the MB number, with the proviso that Unitronics addressing starts at zero whereas the MODBUS standard (and Siemens iirc) starts addressing at one. Therefore when addressing from the Siemens Master, add 1 to the MB number to get the correct decimal addressing for the master.
    1 point
  34. Wooo, it worked. You're a legend. Thank you very much Joe. Odd thing, i had gone online with the plc a number of times, and the little blue numbers above the MI0 were all set to 620? It was like they were stuck there. I had no idea what those numbers meant at the time. Once i'd ticked the small box next to the plug, the blue numbers reset to 0 and everything started working. It makes much more sense for the final equation ( >= )when you can see the numbers increment with each button push. Thanks again.
    1 point
  35. Rikki, please send your request direct to support@unitronics.com This forum is mostly users who are volunteers solving other's issues. "Support" is the people who make the units and they can easily provide the older version. You may have a delay in response, due to them being in Israel and the social customs in place there on certain days of the week. cheers, Aus
    1 point
  36. Hi, What Excel version do you have? 32bit or 64bit? What Windows version do you use? XP, 7, 8.x, 10? 32bit Excel support 64K rows, so you have to use 64bit Excel version which on XP 64bit supporting near 1000000 rows. Other recommendation is to use daily/weekly/monthly files to have relatively small files - number of MB. Large files make access time wery long. When there is a failure when big file used, then data may be not recoverable. Take care that maximum number of SD stored files in folder is 64/60 files. Store more files will lead to SD catalog corruption. B.R.
    1 point
  37. I've said this before, but here it is again..... Don't do anything PLC wise until you've done lots of preliminary work using your PC. The best method to start with anything Modbus that you don't really know, is to use one of the various (free) modbus programs available to get your PC communicating correctly with the device. You then learn all the registers you want to use and how to go about it. Doing this via the PC is far, far easier than mucking around with the PLC trying to get an unfamiliar device to work. With that knowledge you then transfer the relevant details to the PLC, and if done correctly it will work first go. Remember the addressing differences of 1 that the Vision's do. As mentioned by others there are numerous examples in the various Help files within Visilogic. Also understand that the Help files are where many questions can be answered during your learning curve, and if you look for MODBUS using the Help Index you'll find lots of info that you need to thoroughly understand. For actual examples, go to Help/Examples/Version 900/ Project examples/Communications/Modbus. cheers, Aus
    1 point
  38. Please post sensor nameplate or model. If sensor protocol is standard modbus - it is simple solution. If non standard protocol used - you must setup FB Protocol TX sender and RX scanner. In Visilogic you can find Example project with Communication configuration.
    1 point
  39. Not sure why you need the timer(s), but if you don't need the delay, you could use the Toggle Coil instruction, triggered by a rising edge on your push-button input. If you do need the delay, then just use one timer and trigger the Toggle Coil instruction on the rising edge of the timer.out bit....makes for less rungs and easier to follow logic.
    1 point
  40. Yep, I gave the simplest example to solve the stated problem. What Aus says is really what most people do, such as adjusting the time on a digital clock, etc. This example increments the value with each press, but after holding for 3 sec, it will increment about 3 times per sec.
    1 point
  41. Oops, forgot a step. Need to do the Store Timer/Counter Preset after the addition.
    1 point
  42. Hello, The observed delay is due to the fact that DTI file is now digitally signed. Starting from next UniLogic version (1.31), the "Store DTI to file" will include a new input controlling whether or not the file should be signed, which will give you a way to suppress that delay. Have a good day!
    1 point
  43. The input from the PT100 sensor will be placed in the operand you select in the HW Configuration. It will have a resolution of tenths of a degree (you can select either C or F). The value will have an implied decimal (i.e., 102.6 degrees will have the value 1026 in the integer operand you select). You can then display that on the HMI screen using the HMI Numeric function and selecting 1 decimal place in the configuration box for the numeric variable display.
    1 point
  44. Hello Ricardo, A good and safe way to have internet remote access via Webserver or VNC is to use a VPN router with integrated cloud service. There are various options available such as Ewon, Tosibox and MBconnectLine products.
    1 point
×
×
  • Create New...