Jump to content


UniStream & UniLogic Beta
  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by Damian

  1. I see this all the time as well. It is easy to duplicate. Should be a quick software fix.
  2. Where are you resetting the value to zero? In the OPLC or in the EX-RC1? If you are simply resetting it in the OPLC you are forgetting that the EX-RC1 is re-writing that value.
  3. I echo Joes suggestions. In addtion, having been involved with the same, I recommend sealing everything very well in enclosures. I would go Nema4X or IP equivalent on everything. The fumes from the cows can get very corrosive to electronics.
  4. Are you talking about physcial port 3 (aka the ethernet port you installed) or "Well-Known" port 3. If it is the former, then that is no necessary. Your "software" sockects will all connection through the same physical hardware port. If you are talking about "Well-Known" port 3, I can't image why you would want to be using that. Please clarify.
  5. Actually TM it was even dumber! That subroutine wasn't scanning based on some "logic" (if you could call it that) in my main routine. You'll notice in my screen shot that I actually ruled out the double coil by showing the search results of MB29.
  6. Hi Shargy, I had a little bit of difficulty understanding your question, but based on what you have said I don't think PID is a good option for this. Your probably better off using good old fashioned limit control. I think you are implying that you have no means of feedback on your motorized valve. Does it at least cut itself off if you move it all the way in one direction? If so, in the crudest method possible, I see you as setting up an ON and OFF thrshold. If the temp falls below the min threshold, you turn on and output and run the valve all the way open (I assume you are controlling Heating and not Cooling). Once the temp gets above the Upper threshold then turn the other output on and run the valve all the way in the other direction. Have the two outputs interlocked so that they do not stay on simulataneously. You should "time" both motions for the max travel time. (ie. If you know that the valve can go from open to close in less than 6 seconds, then put a timer in such that output will only stay on for at max 8 seconds. Without positional feedback or a definitive signal to valve position relationship, I don't see how you can do this any other way. I also don't even think this example I have given you is a very good method either. Hopefully maybe someone here can offer better advise.
  7. The function calls for this driver are not very well documented. They usually try to push everyone off on the .NET version. On the ladder end, all you need is PLC Name FB, a TCP/IP CARD INIT FB, and a TCP/IP Sock INIT FB. I am going to give you some good values you start with. I should stress that you don't necessarily NEED to do it exactly as I have, but it will match well with the example I am giving below. Name the PLC "V130" Init the card to whatever IP address you want. My example used IP: Subn: GTWY: Initialize socket #3 to TCP Port D# 20257 Slave Put all three of these FBs in the first network of you main ladder all in series and triggered by the SB2 contact. That is all you should need to do on the ladder end for base communication. If you leave socket#2 at default, you will be able to also continue to use Visilogic on port 20256 so that you can do both simultaneously. Downloading programs over Ethernet is much faster than RS232, so since you will have an Enet card on this anyway you might as well take full advantage of it. Anyhow, with that being said, here is a sample function in VB to invoke an Ethernet connection. You can ignore the parts that are related to serial comms. Private Function prvOpenPort() As Boolean Dim eComParam As tPC_CommSettings Set mComDriver = New UnCmDrv1.clsCommDriver 'Create a new instance of Unitronics CommDrive DLL 'Configure the connection parameters. With eComParam .Baudrate = eBR_38400 'baud rate .DataBits = eDB_8 'data bits .Parity = eP_None 'parity .StopBits = eSB_1 'stop bits .TimeOut = 500 'communcations timeout .Retries = 3 'number of retries End With With mComDriver .Comm_Autodetect = True .ShowCommMessages = True .Comm_TimeOut = 10000 .Comm_Retries = 3 .Ethernet_Protocol = UnCmDrv1.enEthernetProtocol.eEP_TCP .Ethernet_RemotePort = 20257 .Ethernet_RemoteIP = "" If Not .Ethernet_Connect Then MsgBox ("Com Open = False") End If End With mComDriver.Comm_Autodetect = True mComDriver.ShowCommMessages = True prvOpenPort = mComDriver.Ethernet_Active End Function
  8. Hi Andy, In addition to the great advice Ryan gives you hear it may also help to it might also help us to know more about what your application is. Are you simply trying to send out emails? What kind of setting does you server support? You may want to look through the example programs first. If you haven't already, you will also probably want to use the NAME function block to give you PLC a name. Are you programming the PLC over a serial connection or the Ethernet connection. I assume you are using Socket #2. You may want to setup on a socket other than 2 since Socket #2 has all the default config for easy connection via Visilogic. The help file in Visilogic also does a great job of explaining the IP, Subnet, and Gateway. Judging by what your asking, it will be much to your benefit to spend the time reading through these before you dive in too deep.
  9. Oh sure, even tested it. Attached is the subroutine I exported Dot2Comma.vlp
  10. "Num to String" or "Num to Ascii"? If you are using an MI you could only possibly have 5 digits in your number 00.000 since the max value of an MI is 2^16. Assuming you are using num to Ascii, you could just alter the high byte of the second MI in you ASCii array. So if you went Num to Ascii into for example MI20, since the characters are byte packed your "." will be in the high byte of MI21 assuming you always keep it to three decimal places. First do an AND with MI21 with hex 0F to "erase the "." and then just ADD hex 2C00 to MI21.
  11. Hi Joe, I tried to run your program on my V130, but unfortunately mine does not support the motion blocks. Even though your move is "open loop" it would still be a good idea to use the MB bit for the second move to determine when it has completed sending out the pulse train. This will at least prevent an overshoot from re-invoking another move. I still think it is worth looking at the MI status registers to see if they are giving you some kind of information. You may find for example that at the magic speed that is giving you issues is also giving you some sort of error such as "out of range" or "Currently in Motion". You may find that the registration move is never actually happening at all and that the overshoot is really just the original move coming to completion, since that is setup as an index as well. Damian
  12. He means the OS installed on you V1040. If you go to [Connection > Communication & OS] and click on the fourth tab, which I'm guessing is supposed to look like an eyeball, you will be able to check what version is on the PLC. Under the help menu there is a Check for Updates sub menu. Inside that is an option to check for the most recent OS available. If your not using the most recent one, it is probably best to go ahead and do so.
  13. Hi Cara, There is no description for SB249 yet in the operand table. At least not in my version of Visilogic. That might help as well. But now I must ask, why not let the OS take care of this automatically? I can't see any reason why you wouldn't want SB249 to be set all the time. Thanks, Damian
  14. Hi Cara, SB249 was a big help! I like that a lot better. Thanks, Damian
  15. Hi Joe, I appologize. I did not read your original post very carefully. What you explain does sound a bit puzzling. Have you monitored MI18 and MI10 to see if you get any errors? I don't see where you use MB27 or MB3, how are you detecting the end of the registation move (ie when motion is complete). What happens when you increase the speed by on increment? Are there any speeds above 8649 that work? Is it overshooting a consistent amount or is it all over the place? Do you have the ability to count the pulses? What is your stepping resolution?
  16. Stepper motor/drive systems suffer from natural resonant frequncies at which they do not run very stable at. Usually you have to actively avoid the first two major harmonics. The first harmonic is usually at a low enough speed that it is standard practice to jump directly to a minimum frequency that it above that harmonic. The other one is usually found empirically. So you'll want to program a skip over that frequecy. The code could get complicated.
  17. Are there any plans on making the canned alarm screen pop-ups sized properly for the V1040? Right now, because of the resolution, It even smaller than it is on the V570. This is VERY difficult to explain to customers. And ........... If it is going to stay a small "sub-window" pop up, it really needs to have some sort of border. The background color of the alarm pop-up just happeded to be the same background color I used o each and every one of my screens (the default). Now when the alarm screen pops up it looks bad because it blends in with my background and just blotches out whats behind it. A border would at least give it a sense of being a window.
  18. When will the Numeric keyboard get re-designed? Or, why can't it simply invoke the new fancy looking Alpha-Numeric keypad and simply grey out the Alpha buttons?
  19. I know it has been complained about already, but just to blow some more oxygen on the fire (we really need a zoom for the V1040 HMI development. Seriously, I can't even see what I am doing things are so small. Especially when you are up converting a screen. It would also be very, very nice if you could select how things are scaled instead of stuffing up in the top left corner. It is taking me forver to rebuild screens. Almost as much time as it took to make them in the first place.
  20. I have many of my string displays selected as "center center" justification. On the string the display though, the strings to not appear center justified. I suspect what is happening is that the string is being justified based on the configured string length as opposed to the actual string length. Therefore if I have a list where: orange kiwi pomegranite black raspberry etc. I have to have say a configured 16 character string to account for the largest names. However, that makes the display of the shorter texts like kiwi look a little silly. It would be nice if the string display truncated any consecutive spaces counting from the string length back to the first non-space character. This would help the display look a little less funky. Maybe it could be another option you can select with a check box? This is also true for the units text inside a number field. It causes un-intuitive things to happen with how the justification is displayed.
  21. Hi Simon, Just to clarify. Are you saying that you can duplicate the same issue or are you asking me to confirm again that I have the issue? Sorry, I have a knack for misunderstanding. Thanks, D
  22. I was having similar issues myself running on Win 7 Ult on a core i7. I don't use pictures much so it doesn't have much opportunity to aggravate me. Hopefully the new version will be out soon so that I can either turn that feature off or that it at least works properly. Mozes never did clairfy whether the problem they were fixing was show all the missing folders, or to fix the problem I have with not being able to turn the feature off as you have done.
  • Create New...