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

Pages: [1]
1
Bug report

Tools:
for application development I am using: RSLogix Emulate 5000 to emulate PLC, RSLinx Classic as OPC server and wanted to try AdvancedHMI v3.97a.

Bug:
I open a new basic AdvancedHMI project, add communication driver OPCDaCom and set its all neccessary parameters then add any HMI controls like BasicLabel for example and set a PLCAddressValue and build and run application. Main Forms opens but the BasicLabel is not updated with the PLC read value, nothing happens, no any faults. I try the previous version 3.7 of AdvancedHMI and follow the same pattern. Result: works great, I try the newest relase v3.97c and the same: no updates, nothing happends on the screen.

Some troubleshooting:
When this happends I can see in RSLinx Classic: OPC Group Diagnosctics that groups are added properly and Subscription Packets are flowing. Also Active DDE/OPC Topic/Item List shows that desired tag is being read from a PLC. So subscriptions work there is sth wrong with callbacks

Possible root cause:
After studing the code for a little I have found the following conditional in SubscriptionHandler.vb in SubscibedDataReturned sub

Code: [Select]
Private Sub SubscribedDataReturned(ByVal sender As Object, ByVal e As MfgControl.AdvancedHMI.Drivers.Common.PlcComEventArgs)
        For Each Subscript In SubscriptionList
            Dim address As String = Subscript.PLCAddress
            If Subscript.Invert Then
                address = Subscript.PLCAddress.Substring(4)
            End If

            If (e.PlcAddress Is Nothing) OrElse (String.Compare(address, e.PlcAddress, True) = 0) Then
 
[and so on until control update]
the second part of the last conditional compares two strings but when using OpcDaCom driver the address variable is in the form:
address=PLCtag
while e.PlcAddress=[OPCTopic]PLCtag what may cause the problem
so even when everything os OK the condition fails and the control is never updated on the screen. When I change the condition everything works, controls are updated but this is not a solution for the problem

Best Regards

Pages: [1]