AdvancedHMI Software

General Category => Open Discussion => Topic started by: Archie on January 08, 2017, 08:49:37 PM

Title: New Version 3.99t Now Available
Post by: Archie 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
Title: Re: New Version 3.99t Now Available
Post by: uthaman on January 26, 2017, 01:03:38 PM
Hi Archie,
I am using the drivers only in my C# project, the new version 3.99t is throwing Timeout Exception for all EthernetIPCLXCom methods (GetTagList(), Read()). The previous version (V3.99r) which we were using works just fine.
Title: Re: New Version 3.99t Now Available
Post by: Archie on January 26, 2017, 01:15:05 PM
Hi Archie,
I am using the drivers only in my C# project, the new version 3.99t is throwing Timeout Exception for all EthernetIPCLXCom methods (GetTagList(), Read()). The previous version (V3.99r) which we were using works just fine.
If you use the default VB project, add a BasicLabel to the form and set PLCAddressValue, does it work?
Title: Re: New Version 3.99t Now Available
Post by: uthaman on January 26, 2017, 01:22:57 PM
Yes, I tried that, it works, but If am using the driver class EthernetIPCLXCom in a simple main program, its timing out.
Title: Re: New Version 3.99t Now Available
Post by: Archie on January 26, 2017, 01:28:08 PM
Can you post the code you are using?
Title: Re: New Version 3.99t Now Available
Post by: uthaman on January 26, 2017, 01:35:23 PM
Below is the code.


using System;
using AdvancedHMIDrivers;
using MfgControl.AdvancedHMI.Drivers;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            EthernetIPforCLXCom comobj = new EthernetIPforCLXCom();

            comobj.IPAddress = "X.X.X.X";
           

            MfgControl.AdvancedHMI.Drivers.CLXTag[] x = comobj.GetTagList();

            Console.WriteLine(comobj.Read("AFI"));

            foreach (CLXTag item in x)
            {
                Console.WriteLine(item.TagName);
            }
            Console.Read();
        }
     
    }
}
Title: Re: New Version 3.99t Now Available
Post by: Archie on January 26, 2017, 01:43:56 PM
The default timeout is 15 seconds. Do you have a large number of tags? You can do a Wireshark capture to see if it is taking more than 15 seconds.
Title: Re: New Version 3.99t Now Available
Post by: Archie on January 26, 2017, 01:53:26 PM
I created a patch that gives the ability to specify the timeout in seconds:

            x=ethernetIPforCLXCom1.GetTagList(30);


https://sourceforge.net/projects/advancedhmi/files/advancedhmi/3.5/Patches/

- Download and extract the driver patch 6
- Open your version 3.99t project in Visual Studio
- In Solution Explorer, expand down the AdvancedHMIDrivers project
- Right click the \support folder and select Add Existing Item
- Browse to and select the extracted patch file
- Rebuild the solution
Title: Re: New Version 3.99t Now Available
Post by: uthaman on January 26, 2017, 02:24:01 PM
Thanks Archie, this helps. I am facing a weird behavior, the old driver which is used to work with PLC A is not working now with the new driver.
The old driver which was not working with PLC B is working with new driver.
Both the PLC's are same model Allen Bradley Compact logix 5380.
Title: Re: New Version 3.99t Now Available
Post by: Archie on January 26, 2017, 02:28:31 PM
If you could do a Wireshark capture of the one not working, I could tell from that what is the problem.
Title: Re: New Version 3.99t Now Available
Post by: uthaman on January 26, 2017, 02:49:04 PM
I have attached the wireshark file, please take a look and let me know.
Title: Re: New Version 3.99t Now Available
Post by: Archie on January 26, 2017, 03:01:13 PM
Are the PLCs both the same firmware? It's only returning Path Destination Unknown when it tries to read the tags. For some reason the Wireshark only recorded the responses and not the request.
Title: Re: New Version 3.99t Now Available
Post by: uthaman on January 26, 2017, 03:06:14 PM
I am not sure about the firmware, I can check on that. I have attached the working PLC wireshark logs, in case you need.

On a side note, One of my team member is able to read the tags in the same PLC using a JAVA API (ethernet-ip https://github.com/EPICSTools/etherip), which is not working using the advancedHMI drivers. I double checked with him :)
Title: Re: New Version 3.99t Now Available
Post by: Archie on January 26, 2017, 03:39:23 PM
This must be a firmware difference. The change in the AdvancedHMI driver could be 1 of 2 things. There was a change in connected/unconnected message and the new version requests less information about the tags.
Title: Re: New Version 3.99t Now Available
Post by: uthaman on January 26, 2017, 03:58:01 PM
Not sure about the firmware here.

When I tried to read a tag value using Read(String tagName) in a main program using the driver, I am getting an error saying "Read Failed. Path Segment error (Invalid Tag name) status code=4",
but when I use the default VB project, add a BasicLabel to the form and set PLCAddressValue to the same PLC and read the same tag, it is displaying the correct tag value.

It is working with the VB form controls and not standalone.
Title: Re: New Version 3.99t Now Available
Post by: Archie on January 26, 2017, 04:02:17 PM
I tried with the c# project and it worked ok:

- Open Mainform.cs in the AdvancedHMIcs project
- From the Toolbox, add a Button to the form
- Add a driver to the form and set the IPAddress property
- Double click the button to get back to the code
- Enter this code:
Code: [Select]
        private void button1_Click(object sender, EventArgs e)
        {
             string MyValue;
            MyValue = ethernetIPforCLXCom1.Read("BQN");
            MessageBox.Show(MyValue);

            MfgControl.AdvancedHMI.Drivers.CLXTag[] x;
            x=ethernetIPforCLXCom1.GetTagList(30);

            Text = x.Count().ToString() ;
         }
    }
Title: Re: New Version 3.99t Now Available
Post by: uthaman on January 27, 2017, 01:22:25 PM
After looking in the component implementation, there are few set methods along with IP address, I used the same and it is working now. Thanks for the help.

This new version, I am not able to use the driver components in a windows service (Error:Missing Components from AdvancedHMI - Please refer to the licensing agreement.), I am creating a windows service to read the tags from PLC and store it locally (Local sql express). I was able to do this with previous version but not with this version. Also not able to package as an .exe as well. Is there anything changed in this version, please let me direct to right resources regarding this.

I need this setup for testing and demo a POC, and later explore other options with this driver.
Title: Re: New Version 3.99t Now Available
Post by: Archie on January 27, 2017, 02:14:22 PM
This new version, I am not able to use the driver components in a windows service (Error:Missing Components from AdvancedHMI - Please refer to the licensing agreement.), I am creating a windows service to read the tags from PLC and store it locally (Local sql express). I was able to do this with previous version but not with this version. Also not able to package as an .exe as well. Is there anything changed in this version, please let me direct to right resources regarding this.

I need this setup for testing and demo a POC, and later explore other options with this driver.
Are you using it outside of the AdvancedHMI solution?
Title: Re: New Version 3.99t Now Available
Post by: uthaman on January 27, 2017, 02:34:54 PM
Yes, I m using the dll's (AdvancedHMIDrivers.dll and MfgControls.AdvancedHMIDrivers.dll) in a differnt solution which has a windows service and a windows application.
Title: Re: New Version 3.99t Now Available
Post by: Archie on January 27, 2017, 02:38:29 PM
Yes, I m using the dll's (AdvancedHMIDrivers.dll and MfgControls.AdvancedHMIDrivers.dll) in a differnt solution which has a windows service and a windows application.
The drivers aren't licensed for use outside of the original solution, so its the license enforcement that is triggering that message. The driver licensed for stand-alone use is the one listed on the main web site.
Title: Re: New Version 3.99t Now Available
Post by: uthaman on January 27, 2017, 03:05:20 PM
Does the stand-alone licensed driver listed on the site covers the following as in the open source version.

Drivers
   Mature
      DF1Comm - Allen Bradley serial
      EthernetIPforSLCMicro - Allen Bradley Ethernet for SLC and Micrologix series (PCCC)
      EthernetIPforCLX - Allen Bradly ControlLogix and CompactLogix series (Tag based)
      EthernetIPforMicro800
      TwinCAT - Beckhoff TwinCAT (only runs on PCs without TwinCAT installed)
      ModbusTCP - Modbus over Ethernet TCP/IP
      
   Alpha (Preliminary)
      OmronEthernetFINSCom - Ethernet for newer controllers such as CP1H with Ethernet module
      OmronSerialFINSCom - Serial (RS232) for newer controller such as CP1H
      OmronSerialHostLinkCom - Serial (RS232) for older controllers such as C200
Title: Re: New Version 3.99t Now Available
Post by: Archie on January 27, 2017, 03:38:43 PM
Does the stand-alone licensed driver listed on the site covers the following as in the open source version.

Drivers
   Mature
      DF1Comm - Allen Bradley serial
      EthernetIPforSLCMicro - Allen Bradley Ethernet for SLC and Micrologix series (PCCC)
      EthernetIPforCLX - Allen Bradly ControlLogix and CompactLogix series (Tag based)
      EthernetIPforMicro800
      TwinCAT - Beckhoff TwinCAT (only runs on PCs without TwinCAT installed)
      ModbusTCP - Modbus over Ethernet TCP/IP
      
   Alpha (Preliminary)
      OmronEthernetFINSCom - Ethernet for newer controllers such as CP1H with Ethernet module
      OmronSerialFINSCom - Serial (RS232) for newer controller such as CP1H
      OmronSerialHostLinkCom - Serial (RS232) for older controllers such as C200
The stand-alone drivers are licensed individually. As of right now, the only driver available for use in stand-alone solutions is for the ControlLogix family.
Title: Re: New Version 3.99t Now Available
Post by: uthaman on January 27, 2017, 05:13:17 PM
This new version, I am not able to use the driver components in a windows service (Error:Missing Components from AdvancedHMI - Please refer to the licensing agreement.), I am creating a windows service to read the tags from PLC and store it locally (Local sql express). I was able to do this with previous version but not with this version. Also not able to package as an .exe as well. Is there anything changed in this version, please let me direct to right resources regarding this.

I need this setup for testing and demo a POC, and later explore other options with this driver.
Are you using it outside of the AdvancedHMI solution?

I am the below approach and still my windows service shows " Please refer to the licensing agreement."

1. Open AdvancedHMIv35 solution in VS 2013
2.  Add new Project and then select Windows Service Type.
3. Add my cs files in the project.
4. Add AdvanceHMIDriver solution as reference to the new Windows Service project and add Mfgcontrols.AdvanceHMIDrivers as reference from AdvanceHMI solution project.
5. Start the windows service, it gives the error " Please refer to the licensing agreement."

Please let me know if you have any documentation on usage within the solution.
Title: Re: New Version 3.99t Now Available
Post by: Archie on January 27, 2017, 05:37:52 PM
Check your reference list against that of the AdvancedHMIcs project