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 - Archie

Pages: [1] 2 3 ... 7
Additional Components / TCP Client Socket
« on: January 21, 2018, 12:45:54 PM »
The attached component is a group of files that will add a generic TCP client. After adding the files and building the solution, you will get a new component in the Toolbox. Add this to your form, set the IPAddress and port number, then double click the component to get back to the code that will receive the data from the server.

An example of its use would be an Serial to Ethernet converter with a barcode scanner hooked up to the serial port. This component will receive the data from the scanner.

Installation and use:

- Download and unzip the files
- Open your AdvancedHMI solution in Visual Studio
- In Solution Explorer, expand down the AdvancedHMIControls project
- Right click the PurchasedControls folder and select Add-Existing Items
- Browse to the extracted files and select all 4 files
- Build the solution
- Open the Mainform
- From the ToolBox, add a GenericTCPClient to your form
- Set the IPAddress and port to that of your TCP server
- Double click the GenericTcpClient1 component which will take you back to the code
- Enter this code:

MsgBox ("Received: " & e.DataAsString)

- Run the application and have your server send data

It also has the capability to send data back to the server like this:


Support Questions / TwinCAT 3
« on: December 17, 2017, 07:51:42 PM »
On a few occasions the question came up about the compatibility of AdvancedHMI with TwinCAT 3. Previously I did not have a good answer because I only tested it with TwinCAT 2. I finally had the opportunity to test it and found out that it does work. The main difference is the TargetAMSPort will start at 851 by default.

Support Questions / Various OPC Server Names
« on: October 27, 2017, 01:01:01 PM »
Setting up an OPC server for the first time to work with AdvancedHMI is very often problematic. Since the OpcDaCom does not have a browse feature, it can sometimes be difficult to figure out the exact name to put in OPCServerName. I want to consolidate the names to use for various servers and any other helpful information. If anyone has successfully used an OPC server with OpcDaCom, can you post the server name you used?

These are a couple that I am aware of:

RSLinx  = RSLinx OPC Server
Bosch Rexroth = OPC.IwSCP

Additional Components / Color Picker
« on: September 16, 2017, 02:52:50 PM »
This is a color picker that uses the same picker used by the properties window.

Tips & Tricks / EthernetIPforCLXCom - Reading Complete UDT
« on: September 15, 2017, 08:04:35 AM »
It is frequently asked about reading complete UDTs since reading each element individually is slow and inefficient. A page has been added to the documentation wiki that will help shed some light on this.

Open Discussion / Anyone going to Pack Expo Las Vegas?
« on: August 17, 2017, 09:55:10 AM »
I'll be at the Pack Expo in September and was wondering if anyone else will be there also?

Open Discussion / AdvancedHMI on the Road
« on: August 16, 2017, 12:22:11 PM »
Over the next six months I will be travelling to various places in the eastern US. I will have one of the new panel PCs with me to be able to demo the hardware and software.

If you are East of the Mississippi river and interested in me stopping by, either send me a message or post here your location and I will try to work it in my travel schedule to stop by. Whether you want to see a demo, just to meet and discuss the software, or even show projects you have done with AdvancedHMI, I will be interested in stopping by for any reason.

Open Discussion / Memphis, TN area users?
« on: August 02, 2017, 09:46:17 AM »
I want to check to see if anyone here is close to the Memphis area. A presentation on PLCs and HMIs will be given in Memphis in a few weeks and I wanted to see if anyone in the area is interested. If my schedule works out, I do plan to be there myself and I am always interested in meeting AdvancedHMI users.

Open Discussion / New Version 3.99x Now Available
« on: July 17, 2017, 09:45:39 AM »
BarLevel - Added ShowValue property
EthernetIPforCLXCom - fixed problem with writing UDINT
Keypad - Was throwing exception if limits were set and Enter was clicked with nothing
Modbus - Fixed problem when writing "FALSE" to a bit
PLCAddressItem - did not support the ListSeparator for globalization
EthernetIPforCLXCom - Added BeginWriteRaw and WriteRaw for writing complete UDTs using byte array
GraphicIndicator - Added Flash1 property
EthernetIPforCLXCom - Added WriteCustomString for user defined strings
EthernetIPforCLXCom - Added WriteUDT for writing complete UDT based on Structure or Class
EthernetIPforCLXCom - Added ReadRaw to return the byte array in raw format
Emailer - fixed a problem when using Username and password
IniParser - Made values preserve case, but section and keys remain case insensitive
BarMeter - New control
SelectorSwitch3PosByValue - corrected image alignment with small legend plate
BasicLabel - New numeric keypad

A new feature has been added to the EthernetIPforCLXCom driver that has been heavily requested for a long time. This is the ability to write all data to a UDT in a single call. Since this feature takes a little knowledge of code writing and can get complex, there are a couple resources to help with it:

Open Discussion / Github Code Repository
« on: July 15, 2017, 09:09:46 PM »
To provide another resource to assist with using AdvancedHMI, an account has been created on GitHub. This will be used to post code samples on how to use various parts of AdvancedHMI and perform various tasks. It can be found here:

Support Questions / Please Help Test MessageDisplayByValue
« on: June 28, 2017, 01:51:43 AM »
There has been a report of a problem with colors changing in the MessageDisplayByValue. I have tested in every way I know of and it was also tested by another member, but neither of us were able to reproduce. So I would like to see if others would test it to see if they can reproduce the problem. I will give one method of testing, but also try in other ways to see if you can get this problem to occur.

1) Using version 3.99w, add a MessageDisplayByValue to the form
2) Download the attached text file
3) In Solution Explorer right click the AdvancedHMI project and select Add Existing Item
4) Browse to the downloaded file
5) In Solution Explorer click once on the newly added file to select it
6) In the Properties Window change Copy To Output Directory  to  Copy If Newer
7) On the MainForm, click on the MessageDisplayByValue to select it
8 ) In the Properties Window, set IniFileName to Messages.txt

9) From the Toolbox, add a Timer to the MainForm
10) Set the Interval property to 2000
11) Set the Enabled property to True
12) Below the MainForm in the component tray, double click the timer that was added to the form
13) Add this code:

Code: [Select]
       If MessageDisplayByValue1.Value >= 6 Then
            MessageDisplayByValue1.Value = 0
            MessageDisplayByValue1.Value += 1
        End If

14) Run the application

You should see it rotate through the messages listed in the Messages.txt file and change colors accordingly. When it returns to the "Default Colors" message, the BackColor should be black and the ForeColor white

Application Showcase / System Upgrade with AdvancedHMI Panel PC
« on: June 13, 2017, 10:47:18 PM »
Recently upgraded a system that was based on Wonderware and C-More panels. Used the AdvancedHMI panel PC and software to replace a C-More panel and also integrated the WW functionality that spanned across 2 different PCs into the AdvancedHMI panel PC. The system uses a SQL Server backend for recipes and batch history. All database interaction is now handled on the AdvancedHMI panel which integrated the recipe selection that was previously done from one of the PCs. The main controller is a CompactLogix PLC. The response of the HMI probably increased by ten fold when compared to the C-More.

As I get more time, I will post more details including the full application. It shows a lot of principles in the AdvancedHMI software, such as barcode interface, database, main menu driven app, and page control via PLC tag.

Additional Components / ImageSelectByBit that supports animation
« on: April 29, 2017, 12:01:54 PM »
- Add the attached file to AdvancedHMIControls\PurchasedControls
- Copy GraphicIndicator.vb and paste into the same project
- Rename GraphicIndicator Copy.vb to ImageSelectByBitHMI.vb
- View the code of the file you copied.
- Change the class name to ImageSelectByBitHMI
- Change the Inherits to point to ImageSelectByBit

Support Questions / Using Visual Studio 2017
« on: April 24, 2017, 02:30:37 PM »
Version 2017 of Visual Studio has changed to a new style installer that lets you select only the components you want. For AdvancedHMI to work, you must select the .NET Desktop Development option.

After you build the initial project, if you still do not see the components in the Toolbox, check this:

Go to Tools->Options menu

In that window go to Windows Forms Designer->General and make sure AutoToolboxPopulate is set to true.

Tips & Tricks / Popup keypad for General TextBox Use
« on: March 20, 2017, 10:07:00 AM »
This is a very simple method to allow a user to enter a value in a TextBox without a physical keyboard. I used the double click event in order to allow the option of single click for physical keyboard and double click for virtual keyboard.

- In Solution Explorer, double click MainForm.vb to open in design view
- In the Toolbox, under All Windows Forms group, add a TextBox to the form
- With the TextBox selected, go to the Properties Window and at the top click the lightening bolt to see the event list
- Find the DoubleClick and double click in the are to the right of it. This will take you back to the code
- Insert the code shown here:
Code: [Select]
    Private Sub TextBox1_DoubleClick(sender As Object, e As EventArgs) Handles TextBox1.DoubleClick
        Dim kpd As New MfgControl.AdvancedHMI.Controls.AlphaKeyboard
        If kpd.ShowDialog = DialogResult.OK Then
            TextBox1.Text = kpd.Value
        End If
    End Sub

- Run the application and double click on the Textbox

Pages: [1] 2 3 ... 7