Jump to content


Popular Content

Showing content with the highest reputation since 08/05/2010 in all areas

  1. 5 points
    You can create a struct that contains the information structure that you want to pass to the UDFB. It is more logical to pass a struct with 50 members other than passing 50 inputs. Think of how the ladder element that accepts the 50 inputs will look like. it will start at the benining of the screen, and you would have to scroll few pages down in order to see its end.
  2. 4 points
    The USB in the UniStream acts as an Ethernet card (while in Vision PLC, it acts as a serial port). The USB of the UniStream is an RNDIS device, and for getting // assigning the IP address of the PLC over the USB-Ethernet an uPnP protocol is used. If the firewall blocks the uPnP handshake between windows and the PLC, then UniLogic will not be able to get the IP Address and communicate with the PLC.
  3. 4 points
    This is a UDFB for linear ramp output with rise and fall time. The program detects change in the target value and ramps the output until it reaches the set point. If the new target value is greater than the current value, it makes a rising ramp. If the new target value is less than the current value, it makes a falling ramp. Calculates the relative ramp time according to maximum ramp and fall time given by the user. Function Inputs: Target value Rise time (This is the maximum rise time from the minimum output value to the maximum in msec) Fall time (This is the maximum fall time from the Maximum output value to the Minimum in msec) Maximum value of output Minimum value of output Function Output: Ramped output register Application: I wrote this UDFB to control hydraulic pressure using proportional valve via analog output. It could also be used to drive a stepper motor with acc/dec using pulse width modulation.
  4. 3 points
    I've had a lot of local requests for help on getting email working. There are a lot of pieces needed to make it work right and it has to be done in the right order. A PLC was never invented to send emails, and the fact the Unitronics can do this is a pretty awesome feature. I'm posting a sample program we wrote to hopefully show everything needed and some tricks to make it cool. Joe T. Sample Email Program V570 5-6-15.vlp
  5. 3 points
    Great news, but twice as tall (or 50% taller) is what I need more. I have regular need for 12 contacts in parallel and constantly breaking them into two sets of six is a pain.
  6. 3 points
    What is the answer to this math problem: 7-1x0+3/3=? If you understand the PEMDAS rule you will get the correct answer of 8. However, if you just run the operations from left to right, you'll get 1. Every ladder rung in your program must be compiled to machine language before the PLC can execute the code. Do you know all the rules the compiler will use when you have a very large net? I certainly don't. Remember, like all computers, the PLC can only do one thing at a time and a large net can provide ambiguity (to humans) so the result can sometimes be unpredictable. To avoid this potential problem, always make your nets reasonably simple and break them into functional parts. It's also easier to troubleshoot and for another programmer to understand what you're doing.
  7. 3 points
    Ohh no, the old usb issues! 1 Perhaps Win 7 is now doing the W10 trick of updating drivers to whatever Msoft deems best, regardless of what the user wants/knows. I'm still on 7 and haven't encountered this yet, but I very carefully look at every update that is offered and find what it is doing. The immediate suggestion is if you have System Restore on, you should roll back to before the updates and see what happens. 2 I have had instances where a usb cable has suddenly broken a line internally. I'm assuming you have tried another known good cable in your attempts? In my instances the error messages you're getting were similar..."unknown but I know something has been plugged in." Murphy's law says that this failure is going to happen just after an update that will appear to be the culprit! 3 Have a good read of this entire discussion: In particular note the program I recommend: http://www.pro-it-education.de/software/deviceremover/ Edit: I have discovered this link doesn't work anymore. Can now be found here: http://www.softpedia.com/get/System/System-Miscellaneous/Device-Remover.shtml I have found it incredibly useful for removing dud drivers Windows squirrels away. If you haven't had luck doing 1 & 2, try getting rid of everything using it and start again from known good drivers. ONLY install them. 4 I am finding more and more devices that used to be serial connections, but are now usb in the same looking body. But lo and behold they have just added a prolific/fake chip onto the pcb so that it "looks" like the unit is usb to the user. It is essentially still serial and the onboard chip lets them get into it if they don't have serial connections available, like modern stuff infuriatingly doesn't. I have been exceptionally careful about what I allow to happen during the first insertion of any device that likely falls into this description. It is a minefield. Tread carefully! cheers, Aus
  8. 3 points
    This problem dates back to when the USB to serial adapters were first introduced. It is not a Unitronics-only problem, it's a Windows thing. I have experienced multiple instances of the same driver trying to access the same COM port when it comes to the USB interface. It is a royal pain in the butt and you have to rip them all out and start with a clean slate. The problem is you can't see them all, even if you check "show non-present devices" in the Device manager. There is an environment variable you have to set to truly "Display All Non-Present Devices". This article describes the process to get all your defined COM ports to light up- https://technet.microsoft.com/en-us/library/ff184583.aspx You probably have a bunch of stuff defined that you didn't even know about. Uninstall all the COM ports. Then plug your PLC in and see what happens. Joe T.
  9. 3 points
    Set the Border Thickness to 0, and the Background Fill to transparent (by either choosing the transparent color, at the bottom left corner of the Stardard color, or by entering 00FFFFFF in the Advanced Color)
  10. 3 points
    Hello, I currenlty busy with a project Unistream 7" + 2x 8DI/DO and a EX-RC1 + 3xPT4x, 2x4AI2AO + 2xAO6. Followed the instruction on the webinar. What took me some time was that you have to upload a ladder programm with Visilogic to the EX-RC1. They don't show it in the webinar - because standard the EX-RC1 is pre loaded with a program - which has an auto configuration for digital inut and output. But when you want to use it for analogue input/output you should change it - by uploading the program in Visilogic withe the serial (9 pins) cable and RJ11 connector. When you follow the webinar - the example is shown for maximum of 16MI. In my case it exceeds 16MI - so I had to change the program. After a lot of 'trial and error' I came to a simple sollution by stripping most of rungs out - and only used the minimum of code. To get the second set of 16MI - you have to change the start adresse by adding 16 (so 1016=start adres first vector, 1032=start adres second vector), and bassicly follow the instruction in the webinar. When the first vector is sent/receive through the canbus MB0 and MB1 blocks the sent/receive off the second vector. I attached the visilogic file - feel free to use it - or comment on it - I'm not an experienced programmer so constructive criticism is welcome. EX-RC1 - example more than 16MI.vlp
  11. 3 points
    Hello Active Just did a simple test with Kepserver and selected the ”Modbus tcp/ip driver” Channel properties=>Ethernet settings selected port 502 and ip protocol tcp/ip. Added a device and named it device1 and for the model selected “modbus”. ID <>20 The V570 has this ip address and 20 is the slave number in my test situation. In the V570 socket init in my case socket 3 port number 502 and server(slave) followed by A Modbus ipconfig,selected in this function block socket 3 and gave it network id 20,time out 100 and retries 3 and assigned a function in progress mb. The indexes with slaves can be deleted using the clear link button. The next network has to have a “Modbus ip scanex” block and for the name in this block select the name of the Modbus ip config block. TCP card init was already done somewhere else in the program but you could follow the example explained in the visilogic helpfile and it’s called “configuring a modbus slave device”. In this example for the gateway you have to choose the ip address of the master unitronics plc but this is only needed I think if communication is between Unitronics plcs so leave the TCP settings in this block as they should be four your local network. For addresses see the example in the visilogic helpfile called “slave addressing” under Modbus ip. To test this all I started kepware opc quick client and added here an item “channel1.device1.40032” and here I can see the actual value from MI31 So kepware acts as a Modbus client and the V570 as a Modbus slave device in this situation. Did no projects with kepware and Unitronics but in our plant we have some Unitronics plc,s besides TI(CTI) PLC,s connected to Control Maestro(Wizcon) scada using Kepserver so this is why I could quickly made a simple test. Hope it will help you Regards Henny
  12. 3 points
    Receiving BMP file thru RS232 from fingerprint scanner and drawing it on the dispay: [media=] [/media]
  13. 3 points
    Big time thanks to Joe for his support, even thuogh sometimes I bug him when I am in a crunch, he always comes thru with an answer.
  14. 2 points
    I've never done it, but I thought you could run a full-blown webserver off the SD card in the Vision line. No question though that UniStream is more powerful in that regard.
  15. 2 points
    Thank you for posting. We appreciate it! The problem is you are calling the all the Modbus reads with the same trigger and you're not checking to see if the Modbus task is busy. When you call a Modbus read block it actually spins off a separate process that takes a while to complete. It also really helps to put a little breathing room via timer between reads. I've modified your code to make a state machine cycle through the reads in order and slow it down to let the read function reset. I know the examples show chaining read blocks one after another, but my experience has been this doesn't work. You're probably going to have to update your version of Visilogic to open my file. You can fiddle with the delay times to make it go faster. You'll find that when you set them too low the blocks will hang up. Let us know how it works. Joe T. Thermofisher JT.vlp
  16. 2 points
    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.
  17. 2 points
    On Region & Language settings, click on "Additional date, time & regional settings" On Region, click on "Change location" , Then on the window that was opened, click on the "Administrative" tab. Then click on the "Change system locale". You should set the Language for non-Unicode programs to Hebrew
  18. 2 points
    Ok--I get it We have a version release coming up quite soon. At this point, the product and the Help are quite mature. The pdf manuals are actually the same material that is in the Help, just arranged in the hierarchy that is traditional to print - and I do know that many people do prefer to sit down with a manual. I will make this a priority, right after the release. and they will be accessible in the site. BTW - here is the Timers document, if anyone is interested, which I just sent to Andrew. In addition, we have an overhaul of the Youtube channel planned, so that material will be easier to find for those that prefer a video. Happy weekend, people--yup, it's the weekend over here! UnLogic Timers.pdf
  19. 2 points
    Gonna have to add my thanks to Joe. I still pull up that Help section on timers regularly to check what I'm doing. It is very well done.
  20. 2 points
    Hi Jon1711, Attached is an example for sending file from Vision PLC to FTP Server. Using SD card suite - SD card Explorer you can copy files from the PC to the Vision PLC. V570_FTP_client.vlp
  21. 2 points
    OK. Still confusion. I'm assuming you are talking about having your push button "1" connected to Digital Input (DI) 1. Then your button 2 on DI 2 and so on. This will use many of the inputs, which is OK if you have them to spare. You saying "port" in some ways means the serial connection socket, hence my question. There are other ways of doing this, but......... Before I go any further, have you considered using a cheap touch screen computer running Remote Operator, directly linked to the PLC? In some ways this will be the easiest method of the lot as you can use the inbuilt number entry methods in Visilogic etc, but via a touch screen instead of the membrane keys. You may end in similar costs by the time you cost out keypads etc doing it the other way. You can find RO here to trial it: http://unitronicsplc.com/Download/SoftwareUtilities/Remote Operator V1.0.67.zip In the same thinking, maybe go up a PLC model to one that has a touchscreen as standard? cheers, Aus
  22. 2 points
    That description is subject to Israeli trademark number 049 115 116 032 065 112 114 105 108 033, and you need special permission to use it! ho ho. cheers, Aus
  23. 2 points
    OK. 1 Have you tried another type of usb device in the same socket on the PC? Anything at all that previously worked ok. 2 In the same vein, have you tried using another socket on the PC? 3 Re the broken core, yes...it makes no sense that the system still recognises a plug insertion with one line down, but that's what happened, and happened a few times. I don't know the mechanics of the usb process enough. A new cable and away it went. I am not at all hard on cables, but I do know there are many different construction qualities out there! 4 Go back even further on system restore....as far as you can? Maybe it wasn't the update? It still reeks of driver issue. cheers, Aus
  24. 2 points
    But the tag is not a structure. It's not like in c# where everything derives from Object. It's c++, so a INT8 consumes 1 byte exactly. converting the tag name to a string could be done on compile time, so we know which tags are passed to the " magic function", and we compile their name as a const, but it cannot be done in run-time, whereas you pass a different argument to a UDFB each time. The reason why you can't see the actual in/out/locals of a function is because each time you enter the function, it is called with different parameters, and the local tags are not allocated in the global area, but in the stack. When a function exists, the stack is used for the call of another function. However, we are currently working on a solution for watching locals inside a function.
  25. 2 points
    OK, Fixed. On next version, when you import a table from Excel, if the struct contains only strings, then UniLogic will consider empty rows as data. Now if your table has 10 rows and the Excel file has 2 rows of data, then UniLogic will import 10 rows, where the last 8 rows are empty. If the Excel file contains for example 12 rows of data, then it will only take the first 10. When the struct contains any non-string members , then UniLogic will take the num of non-empty rows. If for example, the excel has 2 rows of data (and the data table has 10), then only the first 2 rows will be overwritten. If the excel file has 12 rows of data, then only the first 10 rows will be taken. If you are converting an excel file to UDTF, then UniLogic would detect if the struct contains only string members, and if so, it will open a dialog for asking how many rows to convert to udtf.
  26. 2 points
    andrew39, have you uploaded files on this forum previously? If so, the upload limit is cumulative. Go and delete the files you previously uploaded and your upload limit will increase.
  27. 2 points
    Here is how I ended up solving it. This application changes the display brightness by touching and sliding the Bar Graph left or right. The ladder logic would need to be adjusted for the actual coordinates of the slider bar. Note that I check to make sure the correct screen is being displayed and that the PLC is not in INFO Mode.
  28. 2 points
    Nice idea, like a logic analyser chart. I have been asked about this before as well. The workaround is to put in some logic to set an MI value as 0 or 1 based on the value of the digital input. Then add that MI to the trend.
  29. 2 points
    OK. Some tips- 1. Always use a positive transitional with an HMI button. You don't want the PLC to keep setting the Reset. 2. You can only use a regular coil once in your program. You've got the two outputs in question assigned twice - the status of the output will be whatever it was in the last place it was used, which can be very confusing. 3. A timer consists of two parts - the timer coil, and then contacts referenced to it. It is a common mistake to think that a coil acts like a contact. 4. I'm guessing from your logic that O1 and O3 are on as long as I1 Anti-tiedown is on. Do you want them on after that? 5. It's a good idea to keep individual output control separated, even if you use redundant logic. 6. Notice the reset of MB 8 and MB 11 when the operator releases I1 with a negative transitional if they were on. If you don't know about transitionals, check the Help. Code attached. Joe T. 1311-1 JT.vlp
  30. 2 points
    Hi Fabio, I was a little busy so just reading all new posts for me. I finished a big project and I can tell you now that communications with Unistream is really a big advantage over Vision series. In the system I have: 12 slaves Reading more than 800 coils Writing more than 1,800 coils Reading more than 160 Int16 Writing more than 70 int16 Reading more than 464 int32 Writing more than 360 int 32 each 1,000 ms the Unistream 15 is making the work perfectly. The system is working 24 x 7 since December 2015.
  31. 2 points
    I need to interface a Unistream with an Omron PLC. Specifically, the OMRON SYSMAC CJ2M CPU31. Omron requires an EDS file for all Ethernet/IP connections and a generic EDS file we found does not seem to work. The Unistream is configured as an adapter and the Omron is configured as the scanner. During testing, I did attempt to switch roles and have the Unistream as the Scanner and the Omron as the adapter, but neither configuration seemed to work. The error message in the Omron indicates a byte count issue; however, with the assistance of an Omron integrator, we confirmed that the number of bytes in and out of the Omron is correct.
  32. 2 points
    I would like to start with many compliments on the Unistream Product. Yes it is a huge cost savings from other comparable products out there, but the horsepower really comes to light when using the data tables, FTP interface and the USB DOK tools. Not only can you accomplish a lot of traditional tasks with these units, but you can work with data and share this data so easily. Thanks. There are (2) enhancements that I think go together that would put the icing on the cake. 1st, we need at least (2) dimensional arrays. You have sort functions for arrays, but with only a single dimension, I typically need to have another field that is associated with the sort field. 2nd, having a sort function for data tables would be so powerful. Being able to run a Min/Max sort on a column so the data table can be organized based on a column sort would provide more capabilities with data tables. As a note, I cleaned up the Num to String UDFB to eliminate the space allocated for the +/- sign when neither are used, finished the 0 fill feature and increased the number of digits so double integers can be converted. Again, nice product and this only looks like the beginning.
  33. 2 points
    You can find a manual under the function F1, but this one is very poor. A lot of things are not available. Like how to correct the clock in the PLC. Maybe this is why no one from Unitronics has answered you till now, I have the same problem and I don't like it this way.
  34. 2 points
    Hi, The Arrays in UniLogic works in a way that you can give a name to items inside an array. Given that, assume the following situation: Array_Int with Member: Hello // index 0 World // Index 1 Now, the lexer let you access a cell in the array by either: Array_Int[0] or Array_Int[Hello] UniLogic prevents the existance of 2 tags with the same name, on the same scope (You can have 2 local tags, each on a different function with the same name, but having a global tag with that name would create a conflict, because the compilier will not know to which tag you actually refer). Now, consider the following scenario: I also have a tag called Hello.... So if I write Array_Int[Hello], then I want to access index 0, or the index with the value of the Hello Tag? This is one of the resons why we don't allow indirect access to array cells in the way ou have mentioned. About the error you got. The Compiler/Lexer looks for a member called Integer_Tag (or what ever your tag is named), but since it can't find any array member with that name, then it gives you that error (which is in this case, not clear and not accurate). So wait, that means that you can't access an array cell indirectly?? Well, you can, but not in the way you've tried. Try using "Load from Array" for getting a value indirectly from an array, and "Store in Array" for setting a value indirectly to an array. :-)
  35. 2 points
    If you convert from BMP to PNG then no alfa channel is define. So first you need to use the command color to alfa. I recommend the software GIMP (it´s a free software and very powerful). You can find a lot of YouTube tutorial about adding transparency to a PNG using GIMP. If you need more help please send me an email to : ober.yela@Imapsa.com I can send the links.
  36. 2 points
    Hello, UniLogic able to support PNG images and VisiLogic doesn't support PNG properly as it converted into a bitmap in Vision PLC. PNG originally can be transparent so UniLogic don't need any dedicated tool. I hope it helps..
  37. 2 points
    Hi Michal, If you are getting wrong values for the R.F.R command, there is a good chance that your device sends a swapped message (the bytes order is reversed). In that case, you can use the Swap Single Tag Bytes ladder function block found in the Logic tab. change the swap type to ABCD_CDAB. Please let me know if that solved the problem.
  38. 2 points
    I have watched this post for a couple of weeks hoping magic would strike because I have multiple V570 units that behave very much in the same way. I have a single customer with 100+ V570 units. The mix is approximately 49 units installed in a common cabinet with a VFD running the motor application. Exactly 51 of the units are on soft starts running their motor applications. All PLCs are the same exact hardware, same program, same power supplies, but VFD installed units are ALL ok and I have 11 soft start units stopping at different intervals for unknown reasons. (stopping is not stopping by the way it is the PLC frozen with whatever it was doing last and is only correctable by power cycling) Facts: All 100 units: V570-57-T20B V200-18-E6B Installed outside in either NEMA 3R or NEMA 4/12 enclosures About 20 of the units were created when Visilogic was before version 9.7.9 was in effect The rest are either version 9.7.9 or 9.7.24 Now those of you that work with the Unitronics brand a lot may have noticed that version 9.7.9 had (has) some serious bugs, however 9.7.24 seems to be pretty solid with all defects from 9.7.9 correct (or fixed enough I can't find anything particularly wrong) So let’s go through the rest of it. What are the major differences between a soft start and a VFD panel. The obvious difference is noise, however all of the VFD units are fine and VFDs are dramatically more noisy than a soft start. How about the installation? I had a tech that works for me go to 6 sites and at the first site the installation looks like it was done by 3 year olds. So aha we think its just bad installations. However, after the other 5 sites are visited they are text book installations with good grounding, no shortcuts taken on shielded cable, clean connections with no stranded wire flaring out......NEC would be proud. What is the other major difference between a VFD panel and a soft start panel.....heat! VFDs make heat and soft starts do not. So the big difference between the multiple installations is that the VFD the boxes are almost always warmer than ambient temperatures and soft start boxes are not. This leads me to what I believe could be the cause of all the problems and that is not noise but is condensation. If you look a dew point charts relative to humidity it does not take cold temperatures to create condensation, but just a large enough temperature differential (at low enough overall temperatures) between the outside ambient temperature and the internal box temperature. I should mention that all of my soft start panels are installed in NEMA 4/12 enclosures with no venting or cooling fans (soft starts don’t need them) all of the VFD panels have cooling fan systems that allow outside air to be used to cool off the heat created from the VFDs. So I don’t have a final answer yet, but we have installed different solutions on 4 of the affected panels. Installed AC and DC noise suppression on all outputs and a heater to the enclosure Installed a 120VAC noise filter just ahead of the DC power supply and a heater Installed both AC and DC surge suppression , 120VAC noise suppression and a heater to the enclosure Installed only a heater and nothing else. I will report back after I hopefully have a conclusion, but my gut is telling me that condensation is the cause and not noise (Unitronics does not formalin coat anything), however, since I am not in the business of guessing I decided to alter 4 sites with different solution possibilities to the multiple test sites to come to what will be the real answer. I have been pressed to give a solution before I actually find an answer so I will be installing external watchdog timers on the remaining 45 units by programming an output of the PLC to do nothing but pulse back and forth every 5 seconds. If the PLC freezes in either position the watchdog will reset the 24 VDC power to the PLC. Please do not respond to this post by asking me if I have replaced hardware, firmware, shielding, VFD carrier frequencies…….I have literally done everything that I know can be done at least twice over the last 7 months. I started out thinking this was a hardware problem, then a firmware problem, grounding problem, shielding problem and nothing has worked. The only thing I had not tried is adding heat to the enclosures so that is where I am at now with the 4 units. If anyone thinks of something other than what I have mentioned here please post. Wish me luck …I need it Keith
  39. 2 points
    It seems that the Help file released with the last VisiLogic version had missing topics, most notably Timers. In order to get a brand new, shiny Help file, click Help Menu > Check for Updates> Help. The file will download and automatically install. Hat tip to forum member Flex727 for contacting us regarding the missing topics, and apologies to all for any inconvenience
  40. 2 points
    Hi guys!!!! We have posted UniLogic training videos on our Youtube channel. We suggest you start with these two: Introduction to UniLogic http://www.youtube.com/watch?v=BV30MkDQYPk&feature=c4-overview-vl&list=PLFBq_OH6_be7snAZAycZzQMvAWjHkX9Pz Getting Started with UniLogic http://www.youtube.com/watch?v=T5LCoB1WsTo&feature=c4-overview-vl&list=PLFBq_OH6_be7snAZAycZzQMvAWjHkX9Pz Enjoy--and we are looking forward to your comments and questions
  41. 2 points
    Hi Flex: I understand you are going to send MIs between 2 V570 (or Unitronics PLC´s). You can send the 160 registers in one action (but only if the 2 PLC´S are Unitronics). You need to use the Read/Write Mixed Data (you can send a max of 240 MI´s) in a single action command. I only use the Read/Write Mixed Data if working with Unitronics PLC´s. If you need to communicate with 3rd party then use the standard commands.
  42. 2 points
    The Creators are not going to give up the .vlx file format. The problem of multiple copies of nearly identical code is addressed in the new UniStream product with user-defined function blocks. If it makes you feel any better, I've done the copy-and-hope-you-get-all-the-replacements-right dance more than once and you just have to plow through it. If you haven't looked into the Search and Replace feature of Visilogic you need to. It can work on the subroutine level and does make things easier. Joe T.
  43. 2 points
    Hi, first of all, thank you for your feedback. A password element has been implemented and it will be in version 1.4 of UniLogic, so that saves you the trouble of comparing strings just for password. (The new HMI password element lets you define a set of actions for Fail and/or success of password entry). As for comparing strings in ladder, you are right, there is no built in function for comparing 2 strings (So I'll ask for this feature), but it does not mean that you can't do it... Assuming that you have 2 strings then there are 2 solution: Solution 1: * Compare strings length * if lengths are equal then use "Find Substring" of 1 string on another. If the result is 0 (meaning string1 was found on index 0 on string2) then both strings are equal.... I don't see any option that this number will be possitive. It can only be 0 or -1 (meaning not found), since boths strings has the same length Solution 2: * Use Find Substring of String1 on String2, and then use Find Sonstring of String2 on String1.... If both results are 0, then strings are equal. (If the first result gives you a negative number, or any number greater than 0 then strings are not equal, and you don't need to do the second comparison).
  44. 2 points
    The disable color is just an overlay on the element, so if you put a transparent overlay on the element, then you won't see any change. In order to write multi-line text, don't click enter, but Shift+Enter (like in facebook and other websites). I'll suggest making the Enter to do Line-Feed instead of submiting. Custom Colors: In version 1.2.R5 the Color selection has been upgraded. The advanced color picker allows you to copy and paste (and also type) text to the "New Color" text box
  45. 2 points
    This machine was designed and built by an appliance manufacturer for heat soak testing of one of their products. E Power's task was to develop the control software that the client's own engineers were having great difficulty with. Installation of the electrical equipment was undertaken by another contractor in conjunction with the client's engineering team. 80 appliances can be tested at once. The test for any individual unit can be started or stopped at any time without affecting the testing of the other units. The Vision OPLC runs the whole process. A great deal of multiplexing is used within the code to save having to repeat the same code 80 times for each test station. PLC I/O modules are mounted on the insides of the doors to make good use of space. The number of modules mean that some are treated as remote, via a CANbus, rather than a direct extension of the PLC.
  46. 2 points
    I think the thought that is giving you trouble is that the load cell is giving you an actual weight value. It is not. The load cell is giving the load cell modual's resistance data off of the load cell bridge deflecting when weight is placed on the cell. These values allways stay the same at the same weight, but you do not manipulate these values, they just are what they are. So if what I said is true how do you get weight?? A load cell is not like a pressure transducer or temperature sensor. a pressure sensor has a difinative range. lets say that the sensor os a 0 to 10 BAR sensor you would have to define in your programming for a 0-10VDC output that 0 volts =0 Bar and 10V = 10 BAR. Load cell ranging does not work this way. Youir load cell has a maximum weight it has been rated for before the loac cell is damaged or breaks. You need this information to be sure that the weight of the mixer filled with the max aggregate product plus shock load does not exceed the maximum capability of the load cell(s) you are using. Beyond this that is all you care about. So back to scaling. You scale the load cell or group of load cells automatically when you run the calibration that was talked about in the earlier post. The whole point of the calibration is for you to calibrate the load cell(s) you have to the input module (IO-LC1 in this case) you have. Overt time the load cell values may change so recalibration may be necessary periodically. In this case you want cailbration point zero to be 0KG (even though you already have 200KG of mixer parts on top of the laod cell) so with everything that will normally be on the load cell when the mixer is empty is your first calibration point and you will tell the system that this is 0KG. Then you run your second calibration point with lets say a 10.0 KG weight you tell the system that the wieght you are applying is 10.0 KG (in you rladder you wil be telling that you are putting on a weight os 100 (10 + an extra zero to account for the decimal place). If you run a third calibratiion point at les say 50.0KG then you will tell the system that what you are putting on is 500 (50 + the extra zero for the decimal place). By telling the system that these values are what to expect the system will record and save that at this resistance I should poulate ML0 with a value off 100 (when 10KG is on/in the mixer) aty the same time it will use the change in resistance (because you cailbrated it for these values) that a different resistance equals a value of 500 in ML0 when 50KG is in/on the mixer. The system is smart enough to auto fill in any other values because of your calibration efforts. So for example if you were to put your self in the mixer and you weigh 88.5KG (195 LB) then the sytem will populate a value into ML0 with 885. In my world I would want pounds and not KG so for your exact test weights I would have cailbrated to: Calibration first point 0 Calibration second point 220 (10KB = 22.0 US pounds) Calibration third point 1102 (50KG = 110.2 pounds) At this point by my having told the system that the calibration points were my values and not yours I will have automatically changed the on screen readings from KG to LB. I hope this helps Im not sure how else to put it so it make sense. I would recomend just trying it and seeing for yourself it will make more sense faster than 50 conversations about it.n Playing with the calibration values is a great teacher as well. Good luck Keith
  47. 2 points
    Hi Damian, How transition contact works? Behind the transition "contact", in fact there are 3 more internal bit registers - one for P contact, one for N contact and one for "buffer". That's why the number of transition contacts is limited. When the scan comes to specific transition contact (P or N), it compares the value of the linked to this contact bit (let's say MB0) with the value of the buffer. If: 1. bit = 0 & buffer = 0 -> P = 0 and N = 0 no transition detected 2. bit = 1 & buffer = 0 -> P = 1 and N = 0 3. bit = 0 & buffer = 1 -> P = 0 and N = 1 4. bit = 1 & buffer = 1 -> P = 0 and N = 0 no transition detected After updating P & N contacts, controller copy the value of the bit to the buffer and con tinue the scan. As result - if in previous scan we had case 2 and P = 1; in the current scan we will have case 4 and P contact will be reset back to 1. This way transition contact by definition are active only one scan. Important note: proceeding the transition contact in the way described above is when the scan is comming to this specific contact in the application. If, for ecample specific subroutine is not scanned for some time and the transition contact is inside, it will be activated only when the subroutine is scanned again. I hope this makes sense. Let me know if you need any additional info.
  48. 2 points
    Can we please get a functional chart of the PID process along with the equations involved so that we can better understand what is happening behind the scenes. ALL other PLC/Motion Control manufacturers publish this information so that a clear understanding of the structure can be had. The auto tune feature rarely provides satisfactory operation and there was no means given to favor steady state response or step response depending on the needs of the application.
  49. 2 points
    Hi Perry, No, for sure it will not work with 5V. You can make simple converter (see attached) or you need ot find encoder with 24V PNP or NPN interface.
  50. 2 points
    A shepherd was herding his flock in a remote pasture when suddenly a brand-new BMW advanced out of the dust cloud towards him. The driver, a young man in a Broni suit, Gucci shoes, Ray Ban sunglasses and YSL tie, leaned out the window and asked the shepherd... "If I tell you exactly how many sheep you have in your flock, will you give me one?" The shepherd looked at the man, then looked at his peacefully grazing flock and calmly answered "sure". The man parked his car, whipped out his IBM ThinkPad and connected it to a cell phone, then he surfed to a NASA page on the internet where he called up a GPS satellite navigation system, scanned the area, and then opened up a database and an Excel spreadsheet with complex formulas. He sent an email on his Blackberry and, after a few minutes, received a response. Finally, he prints out a 130-page report on his miniaturized printer then turns to the shepherd and says, "You have exactly 1586 sheep. "That is correct; take one of the sheep." said the shepherd. He watches the young man select one of the animals and bundle it into his car. Then the shepherd says: "If I can tell you exactly what your business is, will you give me back my animal?", "OK, why not." answered the young man. "Clearly, you are a consultant." said the shepherd. "That's correct." says the man, "but how did you guess that?" "No guessing required." answers the shepherd. "You turned up here although nobody called you. You want to get paid for an answer I already knew, to a question I never asked, and you know very little about my business...... Now give me back my dog."