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] 4 5 ... 8
31
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:

https://github.com/AdvancedHMI/AdvancedHMICodeSamples

32
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
        Else
            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

33
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.

34
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

35
Support Questions / Using Visual Studio 2017 /2019
« 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.

36
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

37
Open Discussion / New Version 3.99w Now Available
« on: March 12, 2017, 09:45:17 PM »
V3.99w
BasicButton - Catch a more general exception when the PLc driver faults
PCCCDrivers - Subscriptions to more than 1 element was not working
Modbus - Fixed a SwapByte issue when writing
Omron Drivers - Was very slow if a bad address subscribed to. Also was not reporting error back to subscription
SoundPlayer - Added Enabled
Stacklight - Added Blue color and increased contrast between Off and On
BasicButton - Added ForecolorAlternate property
AlphaKeyboard - reworked for more compatibility With Mono
AnalogValueDisplay - Added ValueUpper and Lower limit value changed events
EthernetIPforCLX - Fixed a problem with reading bits from larger elements when in a UDT

38
Additional Components / Stack Light
« on: March 11, 2017, 06:02:33 PM »
This is essentially a revised version of the stack light. The original stack light depended on fixed images for the various colors both on and off. This stack light uses a grayscale image and modifies the image for each color. This will allow more flexibility in colors.

This is only the base control. It will be necessary to use the StackLight.vb within the standard AdvancedHMI project and change its inheritance to point to this stack light.

The images will need to be added to the project Resources.

39
Tips & Tricks / Adding Keypad Popup to any control
« on: March 06, 2017, 08:32:24 PM »
The code that makes a control pop up a keypad for data entry is encapsulated in a region which makes it easy to add to any control:

- In Solution Explorer, expand down the AdvancedHMIControls project
- Expand down the Controls folder
- Right click DigitalPanelMeter.vb and select view code
- Scroll down looking for  #Region "Keypad popup for data entry"
- Select the code form the line all the way down to #End Region
- Copy that code
- Open the control you want to add the keypad pop up to
- Scroll down to the bottom of the code and insert the copied code just above End Class
- Build the project

You may have to exit Visual Studio and re-open because sometimes it does not like controls modified especially if they exist on a form.

40
Open Discussion / New Version 3.99v Now Available
« on: February 23, 2017, 08:29:17 PM »
Release Notes for V3.99v

Meter2 (AnalogMeterBase) - Fixed a problem that was causing flicker
Omron Drivers - Added ReadAsString and WriteAsString
MessageDisplayByBit - Fixed a problem when PLCAddressValues is left blank
MessageDisplayByBit, MessageDisplayByValue - Fixed a problem when not setting Colors for each message
Meter2 - Fixed a problem when using PLCAddressText and ValueScaleFactor
LinearMeterV, LinearMeterH - Fixed PLCAddressTolerance*** when using CenterTarget=True
AnimatingPictureBox - Added PLCAddressLocationOffsetX and PLCAddressLocationOffsetY properties
Modbus - SwapBytes and SwapWords was not working with writing
EthernetIPForCLX.GetTagList - Added an overload to allow specifying the timeout period
SerialPort Drivers - Removed ReceivedBytesThreshold for compatibility with Mono
PLC5 - Added for extended addressing above element 255
PilotLight3Color - Corrected property naming discrepancies of the colors
OmronEthernetFINSCom - fixed a problem when using INI and default IP address
RecipeButton - New Control. Uses INI file to setup recipes for the button to send
EthernetIPForCLXCom - Added ListIdentity function call for broadcast search of devices
SelectorSwitch3Pos - fixed problem with ValueLeft/ValueRight properties
ChartBySampling - When X-Axis set to time, it would not adjust X-Axis scale automatically
BasicLabel - Added ValueToSubtractFrom and InterpretValueAsBCD properties
ModbusTCPCom, ModbusRTUCom - Implemented IBindableComponent to allow settings to work with driver properties
EthernetIPforCLXCom, EthernetIPforSLCMicroCom - Implemented IBindableComponent to allow settings to work with driver properties

41
Open Discussion / Velocio PLC and AdvancedHMI
« on: February 01, 2017, 08:52:35 AM »
I was given an opportunity to try out a Velocio PLC:

http://velocio.net/

This PLC sits somewhere between an Arduino and a Micro PLC such as a Click or AB MicroLogix. It offers options of programming in ladder or flow chart. It was quite easy to get up and running. I made a video showing the programming software and using the Modbus mapping in order to create an AdvancedHMI application to communicate with it:

https://www.youtube.com/watch?v=RqwJq3Xtf6U

42
Additional Components / Gauge Compact in Version 3.99t
« on: January 08, 2017, 09:00:44 PM »
Two new visual controls were added to version 3.99t, the GaugeCompact and the MeterCompact. These controls allow the use of a BackgroundImage for changing the appearance. Attached is a picture showing 3 variations using different background images. These images are also attached for your use.

A key property to using different images is TickMarkInset which allows you to shrink the marks and needle to fit the image.

43
Open Discussion / New Version 3.99t Now Available
« on: January 08, 2017, 08:49:37 PM »
V3.99t
BasicLabel - Added OneZero as a Boolean display option
AB PCCC Drivers - implemented PD data table access
EthernetIPviaDHRIO - Added DHRIOChannel property
AnalogValueDisplay - Added KeypadPasscode property
BasicLabel - Was not updating the BackColor if the value=""
LinearMeterH - TargetValue band was working in reverse
LinearMeterH,V - Added CenterTargetValue Property. Uses tolerance*4 to calc min and max
LinearMeterH,V - Allow 0 BorderWidth
LinearMeterV - Added same properties and fixed sizing issue with border
LinearMeterH,V - Improved transparency and backgound image
Gauge - Added region for corner clipping problem
AlphaKeyboard - was growing in size and causing problem on 800x600 resolution
Meter2 - Scaling was wrong when zero centered
MeterCompact, GageCompact - New controls
EthernetIPtoDHRIOforSLCMicroPLC5 - fixed to allow multiple DHRIO cards in same rack
RotationalPositionIndicator - changed to let work with transparent background and BackgroundImage
EthernetIP Drivers- fixed a problem with SerialNumber overflow not allowing reconnect
StackLight - Added Events for light value changed
ModbusRTU - Fixed problem with multiple devices on network

44
Additional Components / Label with Rotatable Text
« on: December 27, 2016, 07:01:16 PM »
This is merely a modified version taken from here:

http://stackoverflow.com/questions/416897/how-do-i-rotate-a-label-in-c

- Download the attached file
- Open AdvancedHMI in Visual Studio
- In Solution Explorer expand down the AdvancedHMIControls project
- Right click the Support folder and select Add->Existing
- Browse to the file you downloaded from this thread
- Rebuild the solution
- you will now have an OrientedTextLabel in the Toolbox

IMPORTANT NOTE: If you change the rotation, you will also have to change the AutoSize property to False

45
Additional Components / Digital Panel Meter without Code
« on: December 22, 2016, 08:25:27 AM »
The digital panel meter shown in the attached picture was created using existing tools and not writing any code. This is how it was done:

- Download the fonts from this web site:
http://www.keshikan.net/fonts-e.html
- Extract and install the 7 segment fonts by double clicking on the ttf files
- Download and save the second image attached to this post to be used as the meter fame
- In Visual Studio with the AdvancedHMI project open, double click MainForm in Solution Explorer
- From the Toolbox, add a Panel to the form from the Container group
- Set the Size to 294, 130
- Set the Backcolor to 0, 32, 0
- Set BackgroundImageLayout to Stretch
- Click in the BackgroundImage property and click the ellipsis button to open the Select Resource window
- Select the Project Resource file radio button
- Click the Import button
- Browse to the frame image downloaded from this post
- From the Toolbox, add an AnalogValueDisplay into the Panel with the frame image
- Set Autosize to False
- Set the Location to 28, 39
- Set the Size to 232, 51
- Click in the font property and click the ellipsis button to open the Font window
- Select the DSEG7 Classic font
- Set to Bold Italic and a size of 38
- Set TextAlign to MiddleRight
- Set Forecolor to 0, 192, 0

You should now have the digital panel meter as shown in the attached picture. If you want to control the number of decimal places, you can use NumericFormat, for example set it to 0.0

Pages: 1 2 [3] 4 5 ... 8