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 - scott.clark

Pages: 1 [2] 3
16
Support Questions / Template form for similar screens
« on: October 20, 2015, 02:35:59 PM »
VS2013   AdvHMI 3.99a

As I am creating my different form screens, the screens are all very similar.  Is there a way I can make a template form screen that can be duplicated easily?

17
Is there a performance difference on placing all controls on the MainForm subgrouped on Tabs in a TabControl vs. placing the subgroups of controls on separate forms and using the FormChangeButton control?

18
Visual Studio Express 2013,  AdvancedHMI v3.99a

If I create a BasicButton(BasicButton1) on a form, I can change the BackColor.   But then if I copy that button, creating a new instance(BasicButton2) , and then change the BackColor of the new  instance(BasicButton2), then the new  instance(BasicButton2) reverts back to the originally created (BasicButton1) BackColor after a build or test run.

 But then if I close the solution and visual studio, then start visual studio and the solution, the Backcolor for BasicButton2 returns to the last BackColor I set.

What could be going on?.  It slows down the programming process?.

19
Support Questions / FormchangeButton Passcode property
« on: October 16, 2015, 04:22:11 PM »
How do you use the passcode property for the FormChangeButton control?

20
I am starting a new application and and thinking about how to define my tags to keep the HMI responsive.   There will be many pushbuttons and discrete indicators with some integer and floating point value indicators.  I am supposing that rather than having a bunch of unique names for the tags, it would be better to group them into arrays.  Or am I overthinking this thing?

For instance, for the property PLCAddressHighLight, we might use a Tag: HMI_ButtonHighlight[0].0
so for 64 buttons, all the highlights could be handled by a 4 dint tag array, HMI_ButtonHighlight[0] ..  HMI_ButtonHighlight[3]
These are tags that are read are the polling rate, correct?

So in the case of tags that are written, is it relevant?  When Advanced HMI writes to a bit of a dint in the PLC, is it addressing the dint bit directly, or writing the whole Dint?

thanks for the great support!

21
Support Questions / ModbusRTU Send Que Full
« on: March 05, 2015, 11:05:11 AM »
I have a Modbus device that gets powered off and back on, so when I want to communicate, I poll with a read instruction and have been using the exception "No Reponse from PLC. Ensure driver settings are correct." as an indication that  the modbus device is not powered on. 

I am guessing "Send Que Full" exception is a result of taking too long for the Modbus device to power up.  How can I Poll the modbus device while waiting for it to power up without filling up the send Que?

Thanks for the help!


Code: [Select]
Private Sub ModbusRTU_Control()
        Dim n_strMessage As String
        Dim n_strValueRead As String = Nothing
        Dim n_strValue5(4) As String
       
        Dim ModbusRTUComMainForm As New ModbusRTUCom
        ModbusRTUComMainForm.PortName = g_INIFIleSettings.ModbusRTUPortName
        ModbusRTUComMainForm.BaudRate = g_INIFIleSettings.ModbusRTUBaudRate

        Try
            Do While (g_ModbusRTURequestConnection)
                '******************************************
                '* Attempt to read values to validate ModbusRTU Connection
                '* Success indicates That ModbusRTU connection is established
                '* We read these particular registers because we need them anyway
                '******************************************

                Try
                    n_strValue5 = ModbusRTUComMainForm.Read("44120", 5)
                    g_ModbusRTU_Connnected = True

                Catch ex As Exception
                    g_ModbusRTU_Connnected = False
                    If ex.Message = "No Reponse from PLC. Ensure driver settings are correct." Then
                        n_strMessage = "Procedure MainForm:ModbusRTU_Control() failed with error" & vbCrLf & "XCM25D is not connnected or not powered"
                        ShowMessageBox(n_strMessage)

                    ElseIf ex.Message = "Unknown error code -1" Then
                        'I believe this error code is a result of DLL232_SerialCom not disposing quick enough before ModbusRTUComMainForm is used
                        g_ModbusRTURequestConnection = false

                    Else
                n_strMessage = ex.Message & "While Testing Connection"
                        ShowMessageBox(n_strMessage)
                    End If
                End Try

                Thread.Sleep(100)
               
          Loop

           
        Catch ex As Exception
            n_strMessage = ex.Message & " in Procedure ModbusRTU_Control()"
            ShowMessageBox(n_strMessage)
        End Try

        ModbusRTUComMainForm.Dispose()
    End Sub


22
Using AdvancedHMI v3.97d with Visual Studio 2013

In my application, I created an instance of a driver component ModbusRTUCom on the Form[design].  I don't have any objects on my design form that poll or use the ModbusRTUCom.

In my form.vb, I  use  ModbusRTUCom.read and ModbusRTUCom.Write commands, which works fine. 

Then I have another ModbusDLL that I need to execute some commands from that needs to use the same serial port.

So I execute,

ModbusRTUCom.Dispose(), which allows me to exectute the ModbusDLL procedures.   Once completed I execute the ModbusDLL.Dispose()

But then when I try to  ModbusRTUCom.read , I get the exception" Cannot access a disposed object."

What do I need to do to work around this?

23
I would like to read a .ini file on startup and set the IP address of the EthernetIPforCLXCom driver.  How would I go about doing this?

Thanks!

24
I have noticed that as I am debugging and stop at a break point, when I resume, EthernetIPforCLXCom communications don't resume.  So as I am debugging, I have to do a complete restart after pausing.  I don't remember having to do this with previous versions.

Should it be resuming EthernetIPforCLXCom comms?

Thanks,
Scott

25
Support Questions / Solution Tree structure - MainForm
« on: January 27, 2015, 10:14:39 AM »
This is something odd that I have seen in my solution and I don't know why it happens, what if means if anything.  Maybe someone can shed some light on it.

When I open up my solution and expand the solution tree for MainForm, it lists

Mainform.vb
     >MainForm.Designer.vb
                  >MainForm.vb
       MainForm.resx
     >MainForm.vb

After after opening Mainform.vb[Design] and performing a rebuild the tree changes to:

Mainform.vb
     >MainForm.Designer.vb
           >MainForm.vb
      MainForm.resx

The "MainForm.vb" dissappears from the tree.

If I then close Mainform.vb[Design] then the tree changes to:

Mainform.vb
     >MainForm.Designer.vb
           >MainForm.vb
      MainForm.resx
     >MainForm.vb


The question is, Why does the "MainForm.vb" dissappear from the Solution Tree?  Where did it go?


26
Support Questions / v3.97d EthernetIPforCLXCom_MainForm.Read performance
« on: January 23, 2015, 05:21:59 PM »
I just updated an application from v3.97 to v3.97d

I was very pleased to see on my delvelopement computer that the read time for 35 tags went from 750ms down to 250ms using 35 consecutive EthernetIPforCLXCom_MainForm.Read("TAGName") statements.

I am wondering the source of the performance improvement?

However, when running the same on the target machine control PC, the read performance went from 1100ms to 900ms.  First of all the target machine is slower to begin with but also the performance gain was not as much.

Any suggestions on improving the performance on the target machine?

Development machine:  i7-2760 CPU  2.4GHZ, 8GB Ram, 64Bit, Windows7 PRO
Target Machine:  i7-3517UE CPU  1.7GHZ, 4GB Ram, 64Bit, Windows7 PRO




 

27
I just updated an application from version 3.97 to v3.97d

In my MainForm.vb,  I have a "EthernetIPforCLX_MainForm" instance of EthernetIPforCLX running.  From the MainForm.vb I open another form, frmPLCManualMode.vb that has a "EthernetIPforCLXCom_frmPLCManualMode" instance of EthernetIPforCLX.   Both forms update the PLC objects at this point.  I then close this form with the following code:

Code: [Select]
    Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click
        EthernetIPforCLXCom_frmPLCManualMode.CloseConnection()
        EthernetIPforCLXCom_frmPLCManualMode.Dispose()
        Me.Close()
    End Sub

This closes the frmPLCManualMode.vb form causes the "EthernetIPforCLX_MainForm" instance of EthernetIPforCLX to stop updating.

I also tried commented out the the close and dispose lines from the above code, but same result.


This worked before in in an older version of AdvancedHMI.  Any suggestions?
Thanks!

28
Support Questions / EthernetIPforCLXCom control disappeared from Mainform
« on: January 21, 2015, 06:58:49 PM »
AdvancedHMI v3.97 , Visual Studio 2013

Hopefully someone can help me on this one.

I had a one and only instance of control EthernetIPforCLXCom on my MainForm named "EthernetIPforCLXCom_MainForm"  and it disappeared.

I had just started a debug run and the PLC tags were not updating. I closed down my application and Visual studio, backed up my AdvancedHMI and then opened it back up in visual studio.  I noticed there were now two instances of EthernetIPforCLXCom on my MainForm, named "EthernetIPforCLXCom1"  and "EthernetIPforCLXCom2", both with the default IP address.  My original "EthernetIPforCLXCom_MainForm"  is missing.  So I deleted the "EthernetIPforCLXCom2" and tried to rename the "EthernetIPforCLXCom1" my original name of  "EthernetIPforCLXCom_MainForm". 

I received the message:  " Property value is not valid"  There is already a component named 'EthernetIPforCLXCom_MainForm'.  Components must have unique names, and names must be case-insensitive.  A name also cannot conflict with the name of any component in an inherited class.

So apparently is still exists, but doesn't work anymore and doesn't show up on the MainForm.vb[design]

How can I fix this?

Thanks!

29
Support Questions / Cannot find or open the PDB file
« on: January 21, 2015, 11:04:37 AM »
Version 3.97c using Visual Studio 13

What is this PDB file that it can't find or open?

Is it an issue?


below is what is displayed in the debug output window when starting AdvancedHMI 3.97c

Code: [Select]
The thread 0x3874 has exited with code 259 (0x103).
'AdvancedHMI.vshost.exe' (CLR v4.0.30319: AdvancedHMI.vshost.exe): Loaded 'C:\Data\124-18X\AdvancedHMIBetaV397c - Cannot find PDB\AdvancedHMI\bin\Debug\AdvancedHMI.exe'. Symbols loaded.
'AdvancedHMI.vshost.exe' (CLR v4.0.30319: AdvancedHMI.vshost.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Remoting\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Remoting.dll'. Cannot find or open the PDB file.
'AdvancedHMI.vshost.exe' (CLR v4.0.30319: AdvancedHMI.vshost.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll'. Cannot find or open the PDB file.
'AdvancedHMI.vshost.exe' (CLR v4.0.30319: AdvancedHMI.vshost.exe): Loaded 'C:\Data\124-18X\AdvancedHMIBetaV397c - Cannot find PDB\AdvancedHMI\bin\Debug\AdvancedHMIDrivers.dll'. Symbols loaded.
The thread 0x3794 has exited with code 0 (0x0).
The thread 0x3590 has exited with code 0 (0x0).
[\code]


30
Support Questions / EthernetIPforCLXCom writing Arrays?
« on: January 16, 2015, 07:50:22 PM »
Is there any method for wiring an array in one packet?

for example:

RealDataType[10]
DintDataType[10]

Thanks!

Pages: 1 [2] 3