Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Jesse

Pages: [1] 2
1
Support Questions / UDTs?
« on: July 04, 2017, 10:18:20 PM »
Will the current AdvancedHMI Controllogix driver read UDT Tag values? For example if I have a Motor AOI Named "P_2201" will it read:

P_2201.Running (Boolean)
P_2201.Status (String)
P_2201.Mode (Dint)
P_2201.FeedbackTime (Real)

2
Support Questions / Opto22
« on: July 24, 2014, 12:18:16 PM »
I have a Snap-Pac Opto22 system connected to my computer and as far as i know the ethernet protocol on it is just TCP/IP is there a driver on here that will work for OPTOs?

3
Support Questions / Siemens S7-1500
« on: July 23, 2014, 11:05:00 AM »
Does anyone know if any of the drivers in advanced hmi will work with siemens s7-1200 or 1500s? I've recently been considering switch from AB to Siemens.

4
Support Questions / Subscribing Data question
« on: May 02, 2014, 05:31:35 PM »
I noticed on this topic - ( http://advancedhmi.com/forum/index.php?topic=238.0 ) thats subscribing data instead of reading data on a timer is a much better way to go because its mores responsive due to running on a background thread. But in the example of the subscription code Archie responded that you need to save of the subsciption IDs so you can unsubscribe to them when the form closes.

So my question...
If I have a tag in my controllogix called Furnace_Name  (the tag would be in the controller scope)

How would the code look to subscribe the String data in that tag and put it in a variable, then when the form closes unsubscribe that?

5
Application Showcase / Heat Treat Batching
« on: April 28, 2014, 08:27:19 PM »
A program for operators to create recipes for heat treating furnaces, these recipes are made in steps and each step has a value, there can be up to 40 steps. Its also stores the recipes to a data base on our server and allows users to print their recipes as well. There is also a lot of code in the background for catching operator mistakes. Such as if any step is heat the value can not be over 2000 degrees, or if carbon potential is above 0.01 the last step before it with a heat instruction must have a value of 1400 degrees or more, and many others as well. That way we don't have a bomb on our hands :p.

This hmi is outside of our furnace room and it talks to 5 of our main heat treating furnaces. Furnace 'A' has a SLC 500, and furnaces 'B' through 'E' are controllogix. It is talking to all of them via Ethernet on our plant network.

Thanks for the great product Archie! Even though I mostly only used the drivers, I'll try to use more of your controls on my next project!

6
Feature Request / Idea for a new somewhat complicated control
« on: January 13, 2014, 06:21:49 PM »
Hey Archie,

Before I start I'd just like to point out this isn't an idea for logging data so much, I can write the code to log data to a database but what I'm looking for is more of a visual instrument.
I'm attaching with this a photo of a chart recorder from an EZ HMI panel that graphs lines of your setpoints and actual process values in real time.

My idea for you was to make a control that is a graph that the user has properties for a Time span and then also a property of how many increments to break that timespan into on the graph. Also properties for the left side of the graph such as your actual process value like 0 to 2500 degrees etc., and options to set a certain color line to a specific tag your polling information from. Now im not interested in keeping this information, it would just be a nice troubleshooting tool to be able to see what my process values have been for the last hour prior to me being called out to that machine, So what I'm saying is a scrolling graph that once the oldest information has past it is lost. I'd try to make this control myself but I know nothing of how to use graphics in Vb.net.

It be pretty cool if this control is possible to make without logging data but I'm not sure if it is, What do you think?

7
Support Questions / Possible problem with EthernetSLC Driver
« on: January 03, 2014, 09:08:15 AM »
Ok, HMI communicates with 5 PLCS 4 of which are CLX and 1 5/05 slc.
When the user selects a machine with a CLX it changes IP and enables subsciptions for that driver and disables for the SLC driver, Vise Versa with selecting the machine with the SLC then CLX driver subscriptions are disabled.

On a side note both drivers are set to subscriptions disabled when the program loads
here is the code for sending my info from my Labels.
Code: [Select]
Private Sub SendProgramToFunaceToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SendProgramToFunaceToolStripMenuItem.Click

        Dim CodeLabels = {CodeLabel1, CodeLabel2, CodeLabel3, CodeLabel4, CodeLabel5, CodeLabel6, CodeLabel7, CodeLabel8, CodeLabel9, CodeLabel10, CodeLabel11, CodeLabel12, CodeLabel13, CodeLabel14, CodeLabel15, CodeLabel16, CodeLabel17, CodeLabel18, CodeLabel19, CodeLabel20, CodeLabel21, CodeLabel22, CodeLabel23, CodeLabel24, CodeLabel25, CodeLabel26, CodeLabel27, CodeLabel28, CodeLabel29, CodeLabel30, CodeLabel31, CodeLabel32, CodeLabel33, CodeLabel34, CodeLabel35, CodeLabel36, CodeLabel37, CodeLabel38, CodeLabel39, CodeLabel40, CodeLabel40}
        Dim CodeValueLabels = {CodeValueLabel1, CodeValueLabel2, CodeValueLabel3, CodeValueLabel4, CodeValueLabel5, CodeValueLabel6, CodeValueLabel7, CodeValueLabel8, CodeValueLabel9, CodeValueLabel10, CodeValueLabel11, CodeValueLabel12, CodeValueLabel13, CodeValueLabel14, CodeValueLabel15, CodeValueLabel16, CodeValueLabel17, CodeValueLabel18, CodeValueLabel19, CodeValueLabel20, CodeValueLabel21, CodeValueLabel22, CodeValueLabel23, CodeValueLabel24, CodeValueLabel25, CodeValueLabel26, CodeValueLabel27, CodeValueLabel28, CodeValueLabel29, CodeValueLabel30, CodeValueLabel31, CodeValueLabel32, CodeValueLabel33, CodeValueLabel34, CodeValueLabel35, CodeValueLabel36, CodeValueLabel37, CodeValueLabel38, CodeValueLabel39, CodeValueLabel40, CodeValueLabel40}
        Dim StepLabels = {Label1, Label2, Label3, Label4, Label5, Label6, Label7, Label8, Label9, Label10, Label11, Label12, Label13, Label14, Label15, Label16, Label17, Label18, Label19, Label20, Label21, Label22, Label23, Label24, Label25, Label26, Label27, Label28, Label29, Label30, Label31, Label32, Label33, Label34, Label35, Label36, Label37, Label38, Label39, Label40, Label40}
        Dim BatchNumber As String

        OkToSend = True

        CodeValueLabelValidation()

        If OkToSend = True Then

            If ConnToSLC = False And ConnToCLX = True Then

                BatchNumber = InputBox("Enter Batch Number: ", "Batch Number")

                Dim C As Integer
                C = 0

                Try

                    If BatchNumber <> "" Then
                        EthernetIPforCLXCom1.Write("HMI_BATCH_NUMBER_IN_BUFFER", BatchNumber)
                        EthernetIPforCLXCom1.Write("HMI_CODE[0]", inc + 1)
                    Else
                        MsgBox("You Did Not Enter A Batch Number!")
                        Exit Try
                    End If

                    ProgBarForm.Show()

                    For C = 0 To 39
                        ProgBarForm.ProgressLabel.Text = C + 1
                        ProgBarForm.ProgressBar1.PerformStep()
                        EthernetIPforCLXCom1.Write("HMI_CODE[" & C + 41 & "]", CInt(d(CodeLabels(C).Text)))
                        EthernetIPforCLXCom1.Write("HMI_CODE_VALUE[" & C + 41 & "]", CodeValueLabels(C).Text)
                        System.Threading.Thread.Sleep(25)
                    Next

                    ProgBarForm.Close()

                Catch ex As Exception
                    MsgBox(ex)
                    ProgBarForm.Close()
                End Try

            ElseIf ConnToSLC = True And ConnToCLX = False Then

                BatchNumber = InputBox("Enter Batch Number: ", "Batch Number")

                Dim C As Integer
                C = 0

                Try

                    If BatchNumber <> "" Then
                        EthernetIPforPLCSLCMicroCom1.Write("ST10:0", BatchNumber)
                        EthernetIPforPLCSLCMicroCom1.Write("N7:40", inc + 1)
                    Else
                        MsgBox("You Did Not Enter A Batch Number!")
                        Exit Try
                    End If

                    ProgBarForm.Show()

                    For C = 0 To 39
                        ProgBarForm.ProgressLabel.Text = C + 1
                        ProgBarForm.ProgressBar1.PerformStep()
                        EthernetIPforPLCSLCMicroCom1.Write("N7:" & C + 41 & "", CInt(d(CodeLabels(C).Text)))
                        EthernetIPforPLCSLCMicroCom1.Write("F8:" & C + 41 & "", CSng(CodeValueLabels(C).Text))
                        System.Threading.Thread.Sleep(25)
                    Next

                    ProgBarForm.Close()

                Catch ex As Exception
                    MsgBox(ex)
                    ProgBarForm.Close()
                End Try

            End If

        Else
            MsgBox("Did not send program due to bad Opcode or Values! Please Try Again.")
        End If

    End Sub

Here is the code for enabling and disabling subscriptions, the Boolean variables are changed when a machine is selected and then runs this sub right after:
Code: [Select]
Sub ConnState()
        If ConnToCLX = False Then
            EthernetIPforCLXCom1.DisableSubscriptions = True
        ElseIf ConnToCLX = True Then
            EthernetIPforCLXCom1.DisableSubscriptions = False
        End If

        If ConnToSLC = False Then
            EthernetIPforPLCSLCMicroCom1.DisableSubscriptions = True
        ElseIf ConnToSLC = True Then
            EthernetIPforPLCSLCMicroCom1.DisableSubscriptions = True
        End If
    End Sub


Sending info to any 4 of the CLX works fine but once i send to the SCL the loop usually gets hung up around step 28 and at catch ex As Exception it says "Argument 'Prompt' cannot be converted to type string". Also at startup it continually throws "A first chance exception of type 'MfgControl.AdvancedHMI.Drivers.Common.PLCDriverException' occurred in AdvancedHMIDrivers.dll

Is there something wrong somewhere in my code or did I just find a fluke? Also sometime the code works for sending the info to the SLC but after the send my BasicLabels no longer updat themselves.

8
Support Questions / Errors on VB 2013
« on: December 18, 2013, 05:00:27 PM »
hey archie I was building a program on my own personal computer using VB 2010 but now my company has supplied me with a company computer to build this project on, so I install VB 2013 express to continue my work, but now when opening my project in 2013 im getting these errors(in the attached picture). Any ideas? Can I use AdvancedHMI in 2013?

9
Support Questions / Testing Connection on form
« on: December 17, 2013, 07:36:29 PM »
So I'm using 1 driver to communicate with several IPs by just changing IP in the code and its working just fine but theres one problem. When I change the IP to a plc thats not even connected and try to send info to it there are no errors thrown. This could be a problem if an operator ever sends info to a PLC thats not connected. I'm using a CLXIP driver, is there a way that when I change IP address it will test if its successfully communicating?

10
Support Questions / Array Question
« on: November 19, 2013, 04:25:05 PM »
Still working on figuring out VB code.. is it possible in VB 2010 to make an array of comboboxes and if so what would that look like code wise

11
Support Questions / Driver Question
« on: November 14, 2013, 04:53:01 PM »
So I was just writing a test program in VB to get some things working before I wrote the program with all of the advanced HMI extras in the project.

Well, I pretty much finish the program and everything is working but instead of remaking the whole thing in a form with all the Advanced HMI extras, is there a way that I could just Import the driver for a Controllogix Ethernet.

And if so what would those steps be?

12
Support Questions / Storing Info
« on: October 23, 2013, 10:28:50 AM »
Hey Archie, I have a database built in Microsoft sql and I have linked the table to my data-source, and so on etc. But here is my question I have a combo box with items added from the dictionary that sends its value to my clx and I would like to store what the last item was in there when the user clicks save, do u possibly know the code to say save combo box selected item in this row and column, I've tried a few things I've found researching databases but I can't get any to work.

13
Support Questions / IP Address change in code?
« on: October 22, 2013, 10:23:35 AM »
Ok so I'm building a pretty large program and im almost done the only thing is in the future I may want to add more CLX to my program ( so it might be interacting with as many as 5 plcs at a time) I have a lot of code written to write to my ethernetdriver so i was wondering instead of adding more drivers and copying alot of the code, is there a piece of code that I could write to change my drivers ip address.  Like if I were to have a combo box or list box with the 5 plcs listed on it and depending on which was selected it wrote a certain IP address to that driver?

14
Support Questions / Using Standard VB objects with HMI
« on: September 11, 2013, 09:29:31 AM »
Is it possible to use a standard combo box and have it send values to different locations such as different N files depending on what option the operator selects, and I'm pretty new to coding so if it is what would that look like?

15
Support Questions / CLXEthernet Driver trouble
« on: August 23, 2013, 08:05:22 PM »
Hi I'm trying to use the Ethernet Driver on VB2010 version 3.57 and using a 1756-ENBT A Ethernet card with an L61 cpu.

I just can't seem to communicate. I've tried Setting my own IP address on my computer to (10.12.19.126) with a subnet mask (255.255.255.0) when the the card is configured with IP address (10.12.19.29). Because thats how I connect my rs5000 program to the card normally to download/program. But when I put in hmi properties IP (10.12.19.29) it doesnt work.

Ive also tried configuring the card to a private network with IP (192.168.1.1) and it still doesn't work on HMI program.

What are the correct settings on HMI and my computer for this driver to communicate?

Pages: [1] 2