sbeekman Posted February 12, 2013 Report Share Posted February 12, 2013 I've downloaded and have messing around with the Unitronics ComDriver. I've managed to be able to read and write MI, MB, etc. The only problem I'm having is being able to write or change the value of the inputs. I can read them using OperandTypes.Input, but can not write. I was thinking that it acts the same way as the MB, that any value over 0 will give you a 1 but it won't change. I then tried to change the MB assigned to the input but since it was connected it also wouldn't let me change the value. Doing some digging I spotted a forcedparams under the Unitronics.ComDriver, but was unsure of what that initially does. I was hopeing it would force the input either on or off like the info mode would do. I was looking at both the VB and C# examples. Any help would be greatly appreciated. Link to comment Share on other sites More sharing options...
Saragani Posted February 12, 2013 Report Share Posted February 12, 2013 Forced Params under the Unitronics.ComDriver (I belive that you are talking about the .Net communication driver, not the ActiveX driver) is not for forcing an input (But for forcing some comunication parameters). Forcing an Input or an Output is possible with the ActiveX DLL, but unfortunatelly, it is not supported out of the box in the .Net communication driver. You can try using Plc.SendString where the string is in the format of (As explained in the PCOM: http://www.unitronics.com/Data/Uploads/communication/Unitronics%20PCOM%20Protocol.pdf) : <CC><ADDRESS><LENGTH><VALUES> There CC is the Command Code (SE for Force Output, SD for force Input Address (4 characters) is the address of the output in HEX Length is the number of bits to write (2 characters, Number is in Hex) Values is the values (Also in HEX, but for bits 0 and 1 remain the same) For example, force input 32 to value 1: SD0020011 I have not tested the string, but I think it should work. Link to comment Share on other sites More sharing options...
sbeekman Posted February 12, 2013 Author Report Share Posted February 12, 2013 I've tried using the plc.sendstring and I get 'SD' is a type and cannot be used as an expression. I've tried calling it at in addition to the Imports Unitronics.ComDriver (ex.Imports Unitronics.ComDriver.SD) but that didn't seem to help. Would it be better to use the C# example as opposed to the VB? Here's just a small snippet of what I have Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click plc.SendString(SD, 0, 1, 1) { I also tried (SD0000011) but it didn't like that format without the comma's} End Sub Link to comment Share on other sites More sharing options...
Saragani Posted February 12, 2013 Report Share Posted February 12, 2013 Send string accepts string and Unit ID, therefore you need to give it a string, meaning: (assuming the PLC is connected to your PLC with no CANBus in the middle, then the Unit ID is 0) plc.SendString("SD0000011", 0) Off course plc.SendString(SD0000011) will not work, because it is missing the Unit ID, and also because SD0000011 is not surrounded with ", then the compiler thinks it is a variable or a class and not a string. plc.SendString(SD, 0, 1, 1) will not work either because again, the number of arguments is wrong, and in this case SD is a type of a class (the SD class is used for reading and writing files from the SD Card of the PLC, it if has one) Link to comment Share on other sites More sharing options...
sbeekman Posted February 13, 2013 Author Report Share Posted February 13, 2013 Thanks that worked perfectly. Here's an example of what I'm trying to accomplish. We do a lot of trucks that use either the v130 or v570, and we usually don't get a lot of time to troubleshoot progams. It's usually put the program in the truck as they are testing it and getting ready to ship. Our test rig is a big board of switches and output lights that is a mangled mess to hook up. So I figured I'd write up a vb program that would be a virtual test rig that I can run side by side with visilogic and the plc. This is the basic setup, and from testing works as planned right now. I plan on adding more funcionality. Overall I want to be able to add a drag and drop inputs and outputs. Link to comment Share on other sites More sharing options...
sbeekman Posted March 11, 2013 Author Report Share Posted March 11, 2013 Just wanted to update with progress. Program features: - Ability to save and open files, setup and text - Outputs update real time from PLC and Input buttons - LED lights automatically update according to 1 or 0, on or off - Ultrasonic Slider feature control (Controls tank level, 4-20ma) I'm planning on adding more inputs to use with expansion modules. Button to open or close another window with a visual of the expansion modules. And the ability to choose which COM port to use. I'm running into a bit of a wall with the COM issue and the Unitronics code. Suggestions are greatly appreciated. Link to comment Share on other sites More sharing options...
Saragani Posted March 12, 2013 Report Share Posted March 12, 2013 What kind of a wall? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now